Предлагаемая разработка
предназначена для демонстрации работы последовательного порта контроллера
PIC16F877 с одной стороны и компьютерного порта с другой. Программа состоит из
друх частей: программы контроллера для схемы, приведенной на рис.1, и
компьютерной программы, написанной для C++ Builer 6. Окно компьютерной программы
приведено на рис.2. Обе этих программы позволяют обмениваться заданными
пользователем байтами между компьютером и контроллером.
Компьютер соединяетя с контроллером
через гальваническую развязку, выполненную на оптроне D2. К нему так же
подключены шестнадцатикнопочная клавиатура и четырехразрядный семисегментный
светодиодный индикатор, позволяющие задавать передаваемый байт и показывать
принятый. Работой индикатора управляет драйвер MC14489.
Функциональное описание
алгоритма: По включению устройства на
индикаторе будет показано три нуля, а старший его разряд погашен. Клавишами 1...
10 производится набор цифр 0... 9. Во время набора в левом разряде индикатора
появляется значок "п". Передача в компьютер производится нажатием клавиши 12.
При этом переданное число запомнится (в регистре, обозначенном в тексте
программы как TxByte), а значок "п" исчезнет. Если во время набора нажать
клавишу 11, то вместо набираемого числа появится ранее переданное число и значок
"п" исчезнет (т.е. произойдет отмена набора числа). Если нажать и держать
клавишу 13, то будет производиться декремент ранее переданного значения (которое
хранится в TxByte) с одновременной передачей его в компьютердо тех пор, пока
клавиша не будет опущена. Нажатием и удержанием клавиши 16 аналогично
производится инкремент TxByte. Нажатием клавиш 14 и 15 производится разовый
декремент и инкремент TxByte с передачей в компьютер. Клавиши пронумерованы
согласно схеме. Принятый байт высветится на индикаторе. Так же по принятую байта
в левом индикаторе появится значок "с". Прием осуществляется по прерыванию.
 РИС.1
 РИС.2
Здесь Вы можете загрузить: исходник программы для
контроллера: com232.zip (5,6кб) проект
компьютерной программы для C++ Builder 6: bld232.zip (7,5кб)
|