Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Isp_EVM_7_3_10_2.doc
Скачиваний:
11
Добавлен:
27.08.2019
Размер:
3.25 Mб
Скачать

Системные часы компьютера

В компьютере имеются системные часы с автономным питанием от дисковой батарейки напряжением 3В. Задающий генератор вырабатывает частоту 18.2 Гц. В качестве счетчика используются четыре 8–разрядные ячейки 46F, 46E, 46D, 46C (Рис.15), которые доступны программисту.

Рис.15

Младшая ячейка 46С обнуляется через 256/18,2 = 14,065 сек. Сигнал передается в ячейку 46D, которая в свою очередь переполнится через 256 х 14,065 = 3600,64 (один час). В ячейки 46E и 46F записываюся сутки, дни, месяцы и годы. Точность счета системных часов составляет 1/18,2 = 0,05 сек.

Программно можно прочитать общее время в секундах системных часов:

10 cls

20 def seg=0

30 a=peek (&h46c) обнуляются через 14 сек.

40 b=peek (&h46d) обнуляется через один час

50 с=peek (&h46e) обнуляется через 256 часов

60 d=peek (&h46f)

70 e=(a+256*b+256*256*c+256*256*256*d)/18,2–общее время в секундах

Оператор e=timer проводит запись в переменную E общее время в секундах.

Игровой порт.

201h – адрес игрового порта. Он доступен по входу и выходу Рис.16. Четыре младших разряда входного порта выполнены по МОП технологии и являются инверсными. К ним подключены конденсаторы емкостью 500 пф и резисторы 500 кОм для позиционирования координат на экране монитора.

Рис.16

П рограмма опроса порта:

10 out &h201, 0 обнуление по всем битам

20 a=inp (&h201)

30 print a напечатает число 255

Программа оценки числа циклов, необходимых для зарядки конденсатора

10 out &h201,0 разрядка конденсатора

20 for a=0 to 500 начало зарядки конденсатора

30 b=inp (&h201)

40 if b=253 then goto 60 если зарядился конденсатор (D1)

50 next a

60 print a

70 goto 10

Программа для измерения времени зарядки конденсатора

10 out &h 201, 0 разрядка конденсатора

15 to = timer t0 начальное время зарядки конденсатора

20. for a=0 to 20000

30. b=inp (&h2d) опрос порта

40. if b=253 then goto 60 если конденсатор зарядился идти на 60

50. next a

60. t1=timer t1 время окончания зарядки конденсатора

80. print t1–t0 печатать время зарядки конденсатора

Со встроенным конден

Устройство последовательного сом–порта

СОМ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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]