8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 40 41 42 43 44 45 46 ... 55

loop i=l to LEND+8lВывод массива

do OUTBYTE!b ADUC.

type CM[i]) type(1 )

i=l

do INBYTE!Прием ответа АСК или NAC от ADUC.

if (Ml[l]=7) OR (Ml[l]<>6) type С1 Ошибка...1);goto Ml

!type С<177>)

if ADR=N*k*16 then type(<178>1);k=k+l.

[Конец цикла.

i - . -

loop i=l to 17-k ! type(<178>{5}) type(1<178>)

MtypeC Ok)

Mltype(<0dh,Oah>)

type(1Конец программирования1)

• beep(0, 500)

goto E

WYKL show(23,26,Для выхода нажми ESC) loop until keyboard() ask

if keycode0=256 then break.!esc

Eout(3fch,YOOh) !Сброс микроконтроллера

return

!#############################################

!Подпрограммы

i »

! П/п инициализации RS232 и микроконтроллера.


INITroutine

! Инициализация COM-порта, i

outC3fbh,Y80h)!DLAB=1 для установки делителя.

out(3f8h,Y12)!Установить мл.б. скор.:YOlh-115200 6ofl,Y12-9600 бод.

out(3 f 9h, YOOh)!Установить ст.б. скор.=0.

out(3fbh,Y03h)!DLAB=0,Режим: 8 бит данных,1 стоп,нет пар.,сброс TxD.

out(3f9h,YOOh)!Запрет всех прерываний по порту 3f8h.

! Инициализация микроконтроллера.

out(3fch,YOOh)!RTS=DTR=0: PSEN=1,RST=1 - сброс микроконтроллера,

beep (0,30)!Задержка 0.2 сек.

in(3f8h,B)!Холостой ввод - для сброса бита 0(DR) в 3fdh (в "0").

out(3fch,Y02h)!RTS=1,DTR=0: PSEN=0,RST=1 - условия для загрузки,

beep (0,30)!Задержка 0.2 сек.

out(3fch,Y03h)!RTS=DTR=1: PSEN=0,RST=0 - загрузка микроконтроллера,

i

! П/п ввода байта (байт в Ml[i] ) t

INBYTEroutine

loop;in(3fdh,В);if band(В,1)о0;break. !Ожидание конца прихода байта(бит "DR"-data ready) in(3f8h,Ml[i])!Чтение байта данных

! П/п вывода байта (байт в M[i] )

j

OUTBYTEroutine

loop;in(3fdh,B);if band(В,20h)<>0;break.!Ожидание готовности передатчика

!(transmitter empty). out (3f8h,M[i] )!Вывод байта

loop;in(3fdh,В);if band(B,40h)<>0;break.. [Ожидание выхода байта из PC(trasmitter holding

Iregister empty.OK to send).

!exit


8. Особенности проектирования систем сбора на базе микроконтроллеров, имеющих связь с компьютером по интерфейсу RS232

8.1. Выбор и подключение к микроконтроллерам кварцевых резонаторов и настройка их частоты

Обмен информацией между микроконтроллером и компьютером по интерфейсу RS232 на высоких скоростях вплоть до П5200 бод требует использования "качественных" кварцевых резонаторов. Здесь под словом "качественный" подразумевается, с одной стороны, достаточно близкое совпадение частоты, реально генерируемой резонатором, с той, которая от него требуется, с другой -малый дрейф этой частоты в зависимости от внешних факторов (температуры, времени и т.п.).

Стабильность работы выпускаемых промышленностью резонаторов достаточно высока. Как правило, уход частоты современных кварцевых резонаторов в зависимости от внешних факторов очень мал и не оказывает существенного влияния на надежность обмена по интерфейсу RS232.

Что касается значения частоты, которая генерируется микроконтроллером при подключении к нему конкретного кварцевого резонатора, то здесь возникают некоторые проблемы. Дело в том, что каждый кварцевый резонатор предназначен для конкретной электрической схемы его возбуждения. Схема возбуждения резонатора может быть "последовательной" (рис. 8.1, б) либо "параллельной" (рис. 8.1, в). Не рассматривая детально принципы работы кварцевых резонаторов, отметим один непреложный факт: кварцевый резонатор, предназначенный для работы, например, в параллельной схеме, будет давать другую частоту в последовательной, и наоборот. Во многих случаях это расхождение частот может достичь таких больших значений, что обмен информации по интерфейсу RS232 будет невозможен не только на скорости 115200 бод, но и на более низкой — вплоть до 9600 бод. В связи с этим многие фирмы-производители микроконтроллеров указывают не только конкретную марку кварцевого резонатора, который необходимо подключать к его выводам XTAL1 и XTAL2, но даже фирму-производитель резонатора. Как правило, кварцевые резонаторы, предназначенные 134



0 ... 40 41 42 43 44 45 46 ... 55