|
Рассмотрим отдельные действия алгоритма в виде подпрограмм.
1. Подпрограмма определения наличия адаптера и выбора рабочего.
При включении ПК все системные ресурсы идентифицируются в системной области памяти. Для СОМ-портов это $40:$00 должна содержать слово (16-разрядов) 03F8h – наличие СОМ1; $40:$02 – слово 02F8h – наличие СОМ2.
Procedure COM1_2;
Begin
if (memw[$40:00]=$03F8) then writeln(‘COM1 OK!’)
else writeln(‘COM1 ERROR!’);
if (memw[$40:02]=$02F8) then writeln(‘COM2 OK!’)
else writeln(‘COM2 ERROR!’);
writeln(‘Выберите COM1 -> 1 или COM2 -> 2 ’);
readln(n1);
case:
1: Vd_m:=$03F8;
2: Vd_m:=$02F8;
end;
writeln(‘выбран СОМ-порт’, Vd_m);
End.
2. Подпрограмма установки скорости.
Алгоритм:
1. Открыть делитель скорости;
2. Установить коэффициент деления в делителе (16-розрядном);
3. Выполнить задержку минимум 1мсек;
4. Вывести контрольное сообщение о величине установленной скорости.
5. Закрыть делитель.
Procedure COM1_2;
Begin
port[Vd_m+3]:= port[Vd_m+3] or $80;
{$80=1000 0000h -> единица в старшем бите порта открывает делитель скорости}
portw[Vd_m]:=115200 div (значение скорости); {установка 16- разрядного делителя скорости}
delay(5); {задержка 5мсек}
writeln(‘выставили скорость=’, 115200 div portw[Vd_m]);
port[Vd_m+3]:= port[Vd_m+3] and $7F; {закрытие делителя}
End.
3. Подпрограмма установки длины передаваемого слова
: port[Vd_m+3]:= port[Vd_m+3] and $FC; {FC->1111 1100}
6: port[Vd_m+3]:= (port[Vd_m+3] and $FC) or $01;
7: port[Vd_m+3]:= (port[Vd_m+3] and $FC) or $02;
8: port[Vd_m+3]:= port[Vd_m+3] or $03;
writeln(‘вывод портов’);
4. Подпрограмма установки типа контроля.
1. Для паритета четности установить единицы в 3-м и 4-м битах порта: Vd_m+3=11;
2. Для паритета нечетности в 3-м и 4-м битах порта установить 01 соответственно;
3. Для установки отсутствия контроля в 3-й и 4-й биты заносят нули;
Для проверки значения 3-го и 4-го битов выводят на экран.
5. Установка стоп-битов без аппаратных прерываний и с сигналами модема.
port[Vd_m+3] and $1C – предполагает установку стоп-битов.
port[Vd_m+4]:=$00 – запрет аппаратных прерываний.
port[Vd_m+1]:=$00 – адаптер не выдает аппаратных прерываний.
port[Vd_m+4] or $03 – RTS (сигнал модема), DTR=1.
Контрольные выводы.
6. Программное соединение выхода СОМ-порта со входом.
port[Vd_m+4] or $10 – необходимо установить в единицу 4-й бит регистра модема.
7. Подпрограмма передачи байта.
Procedure Tr_bt;
var
t: Boolean;
begin
t:=false;
{признаком возможности передавать служит установка 5-го бита Vd_m в единицу}
repeat
if(port[Vd_m+5] and $20)<>0 then
begin
t:=true;
port[Vd_m]:=bt; { bt – передаваемый байт}
end;
until t
end
8. Подпрограмма приема байта.
Для приема информации 1-й бит порта устанавливается в единицу. Прием выполняет port[Vd_m+5].
Procedure rest_bt;
var
t: boolean;
begin
t:=false;
repeat
if (port[Vd_m+5] and $01)<>0 then
begin
t:=true;
bt:=port[Vd_m]; {прием байт}
end;
until t;
end.
УДК 681.58:681.32
Рецензенти: В. В. Калугін, к. т. н., гол. інж., "Протон"
О. М. Рисований, к. т. н., доц., ХВУ
В.В. Скородєлов. Проектування пристроїв на однокристалевих мік-роконтролерах з RISC-архітектурою. В 2 кн. Кн. 1. Особливості проектування МКП та архітектура мікроконтролерів PIC: Навчальн. посібник. – Харків: ХДПУ, 1999. – 120 с. – Рос. мовою.
ISBN 966-593-106-7
Учбовий посібник містить основні принципи та методику проектування технічних систем та пристроїв на однокристалевих мікроконтролерах (ОМК). Розглянуті структурна організація ОМК з RISC-архітектурою сімейства PIC, а також технологія розробки та відлагодження програм для ОМК. Наведені приклади розробки мікроконтролерних пристроїв (МКП) та їх програм. У додатках наведені контрольні запитання та завдання, а також довідкові матеріали, необхідні для практичної роботи.
Для студентів технічних вузів, розробників мікроконтролерних пристроїв та систем (інженерів та підготованих радіоаматорів).
Учебное пособие содержит основные принципы и методику проектирования технических систем и устройств на однокристальных микроконтроллерах (ОМК). Рассмотрены структурная организация ОМК с RISC-архитектурой семейства PIC, а также технология разработки и отладки программ для ОМК. Приведены примеры разработки микроконтроллерных устройств (МКУ) и их программ. В приложениях приведены контрольные вопросы и задачи, а также справочные материалы, необходимые для практической работы.
Для студентов технических вузов, разработчиков микроконтроллерных устройств и систем (инженеров и подготовленных радиолюбителей).
Іл. 27. Табл. 36. Бібліограф. 8 назв.
ISBN 966-593-106-7 Ó В.В. Скороделов, 1999
ISBN 966-593-087-7
Дата добавления: 2014-12-18; просмотров: 26 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Проэктирование тестирующей программы. | | | Выбор рабочей директории |