PDA

Просмотр полной версии : Компьютер - устройство. Как согласовать?



zeliksan
15.04.2008, 13:36
Есть устройство, в котором информация о результатах измерения напряжения выводится на индикатор, т.е. в виде семисегментного кода. Всего три индикатора и запятая. Т.е. числа могут быть от 0,00 до 99,9. Данная информация однократная, выводится на экран один раз, например, число 6.37. Это же число необходимо в автоматическом режиме занести в карточку учета в компьютере, расположенного в той же комнате, что и устройство. Кроме этого, в устройстве имеется преобразователь семисегментного кода в двоично-десятичный, выполненный на микросхемах КР559ИП1, разъем выхода, 14 выходов с этих микросхем и питание +5В. Самого этого устройства в наличии нет, но имеется "в железе" устройство на микросхеме MAX232, подключаемое к СОМ-порту, с него выходы RXD, TXD, а также микроконтроллер Мега8 и его программатор. Задача пока учебная, но желательно ее решение "прокатать" в каком-нибудь симуляторе, а еще лучше "в железе". Пока ничего не могу придумать. Перерыл 70% Гугла по различным запросам. Готового решения не нарыл. Видимо, необходимо думать головой, которая уже от количества полученной информации ничего не соображает. Из опытов по "терминалу" есть эхо, при соединении RXD и TXD. Может кто знает как этот код можно всунуть в компьютер... Загвоздка в том, что я не очень представляю себе этот двоично-десятичный код. Ну, с семисегментным понятнее, встречаются его расшифровки. А про этот двоично-десятичный код я так понял: одна микросхема КР559ИП1 имеет четыре выхода и, вероятно, формирует на выходах какое-то сочетание, например 0110 - соответствующее первой цифре, отображенной на табло. Вторая микросхема КР559ИП1 тоже имеет четыре выхода и, вероятно, формирует на выходах какое-то другое сочетание, например 1010 - соответствующее цифре, отображенной на табло. Третья - третье, а четвертая - выдает информацию о положении запятой. Если это так, то как собрать их в один сигнал?

Adlex
15.04.2008, 22:00
Всуньте все в Вашу Мегу, а из нее по УАРТу уже в комп

zeliksan
16.04.2008, 08:09
Как? В чем и вопрос - линий связи не хватает, где найти прошивку, как преобразовать код из параллельного в последовательный? Может кто готовое решение подобной задачи встречал? Можно варианты и без МК.

Adlex
16.04.2008, 12:45
Начнем с другого края. Как я понимаю, Вы сами программу для контроллера не напишите. Значит Вам нужна помощь программиста для контроллера и еще нужно будет писать "верхнюю" программу для обработки принятой информации в ПК. Вот это программист и поймет как мультиплексировать порт (нужны будут несколько дополнительных корпусов типа 244, 573 или им подобные) и организовать ввод информации в МК и оттуда по УАРТ в ПК

zeliksan
16.04.2008, 18:54
ввод информации в МК и оттуда по УАРТ в ПК
Почему же я и "схватился" за Мегу, что на ней это можно осуществить. И ищу готовые решения, так как по совершенно справедливому замечанию
сами программу для контроллера не напишите
Так как входное напряжение ("1") не превышает 5 вольт возможно подключение напрямую, хотя 244 не помешают.
Для большей ясности прилагаю файл. Но, возможно, не на всех машинах он откроется... Во всяком случае у меня на подопытном компике с Win98 не раскрывается, на этом - без проблем.

Adlex
16.04.2008, 20:25
244-я нужна не для согласовангия уровней, Вам же нужно на 1 порта подать 4 полубайтовых (как я понял) слова. Они нужны для организации поочередного ввода их на Мегу. А сделать это можно и не только на меге

zeliksan
05.05.2008, 15:34
Добрый день всем! А он действительно добрый, так как задача решена! И за ее решение спасибо огромное коллеге по форуму Сerg_PRQ, который поистине гениально сделал прошивку на Мегу8, позволяющую МК считать по запросу с компьютера "мой" параллельный код и передать его по UART в ПК в виде (как и предлагал Adlex) двух байт информации (четыре полубайтовых слова). Спасибо, Adlex, за участие в обсуждении.