Устройство последовательного СОМ–порта
СОМ1 порт имеет адреса с 3F8h – 3FFh. Они выведены в 9 проводный разъем (Рис.13). Адреса порта имеют уровни лог.1 величиной +12 Вольт и лог.0 величиной –12 Вольт. Эти уровни больше чем у ТТЛ микросхем и это нужно учитывать при их подключении к СОМ1 порту.
Рис.13
Адреса ячеек СОМ1 порта выведенных на разъем и доступные для программирования показаны на Рис.14
Рис.14
Адреса 3FB и 3FC являются выходными, а 3FE входным.
Адрес 3FB имеет один выходной бит D6 с весом 64. В скобках на рис.14 показаны номера выводов разъема СОМ порта, при этом вывод 5 является общим.
Программа
10 out &h3fb, 64 на выход 3 разъема подается + 12 вольт
20 sleep 1 выдержка 1 сек.
30 out &h3fb, 0 на выход 3 разъема подается – 12 вольт
40 sleep 1 выдержка 1 сек.
50 goto 10
Программа генерирования прямоугольных импульсов с амплитудой +12, –12 вольт и периодом Т=2 сек. позволяет выводить в выходной порт на 3-й вывод разъема электрический сигнал. Вывод 5 разъема является общим (gnd).
Выходной порт 3FC имеет два выходных бита D0 и D1 (Рис.14). Пример подключения светодиодов разного цвета показан на Рис.15
Рис.15
Программа
10 out &h3fc,1 светодиод зеленый зажегся
20 sleep 1 1 сек. зеленый светодиод горит
30 out &h3fc ”0” светодиод погашен
40 sleep 1 1 сек. светодиод погашен
50 out&h3fc, 2 светодиод красный зажегся
60 sleep 1 1 сек. красный светодиод горит
70 out &h3fc,0 светодиод погашен
80 sleep 1 1 сек. светодиоды погашены
90 goto 10
Максимальный ток выходного порта может быть 10 мА, для чего необходимо последоватеьно с диодом стабилитрона включить резистор R=1Ком.
Рис.16
Чтобы подключить ТТЛ микросхемы к выходу СОМ порта нужно подключить полупроводниковый стабилитрон на 5 вольт, который на выходе обеспечивает ТТЛ сигнал.
Входной порт 3FE имеет четыре бита D4,D5,D6,D7. При чтении порта 3FE, если к нему ничего не подключено, в переменную будет записано А=0
Программа
A=inp(&h3FE)
Print A
Если на все биты входного порта подать +12 вольт, то в переменную будет записано А=240.
Совместное использование портов при чтении многоразрядной входных портов. Рис.17.
5 out &h378, 1 сброс счетчиков
10 out&h378, 0 начало счета
20 sleep 1 счет в течение 1 сек.
30 a=inp(&h379) запись младшего полубайта
40 b=inp(&h201) запись старшего полубайта
50 c=(a-7)/8 + b суммирование младшего и старшего полубайта
60 d=d+c накопитель счетчика
70 print c, d печать
80 goto 5
Дата добавления: 2020-10-25; просмотров: 421;