ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.06.2025
Просмотров: 1048
Скачиваний: 1
23
BTFSC STATUS ,3 |
|
Z = 0 |
|
GOTO M1 |
|
В команде анализируется третий бит регистра STATUS признак нулевого результата Z. При этом команда перехода GOTO будет выполняться (не пропускаться), если анализируемый бит Z=1 (т.е. получен нулевой результат).
BTFSC STATUS ,0 |
|
GOTO M1 |
|
команда перехода, если перенос C и т.д.
2.10.3. Команды передачи управления и работы с константами
Битовый формат этих команд имеет вид:
КОП |
k |
|||||||||||||||||
к– константа или адрес перехода, используемый в команде исключение |
||||||||||||||||||
составляет лишь одна команда GOTO. |
||||||||||||||||||
Ее формат имеет вид: |
||||||||||||||||||
а) MOVLW k ; W←k |
||||||||||||||||||
загрузка в W константы k. |
||||||||||||||||||
б) GOTO |
k; безусловный переход на команду с девятиразрядным адресом в |
|||||||||||||||||
k, в текущей странице памяти программ. |
||||||||||||||||||
в) CALL |
k; команда вызова подпрограмм по восьмиразрядному адресу k, |
|||||||||||||||||
в текущей странице памяти программ. Действия, выполняемые по команде CALL:
–в стек загружается одиннадцатиразрядный адрес команды следующей за командой CALL (адрес возврата).
–Осуществляется переход в текущей странице на адрес k, но при этом девятый бит адреса подпрограммы устанавливается в ноль. PC.8=0.
г) RETLW k– возврат из подпрограммы с загрузкой константы k в рабочий регистр W.
Действия по команде:
КОП k-адрес перехода
1 0 1
–в регистр W загружается k.
–из стека читается одиннадцатиразрядный адрес возврата и
осуществляется переход по этому адресу.
Команду RETLW k, удобно использовать для организации таблиц значений памяти программ контроллера.
24
2.10.4. Команды управления режимами работы контроллера PIC16C58
К ним относятся:
CLRWDT–команда обнуления сторожевого таймера. SLEEP–команда перевода контроллера в режим пониженного
электропотреблением (спящий режим). В этом режиме:
–останавливается работа основного тактового генератора контроллера с частотой fosc;
–останавливается работа процессора;
–на всех выводах портов А и В сохраняется текущее значение;
–электропотребление снижается в 1000 раз Iпотр.≈1мкА.
Режим используется в случаях, когда контроллер ожидает внешнего события. Для выхода из режима SLEEP необходимо:
–ибо сгенерировать внешний сигнал «сброс» (вход MCLR);
–либо сгенерировать «сброс» с помощью сторожевого таймера WDT.
TRIS K – команда загрузки управляющего слова в регистры управления порта А и В .
OPTION – загрузка управляющего слова из W в регистр управления таймером OPTION .
NOP – пустая операция (задержка на один машинный цикл).
2.11.Влияние команд контроллера на битыпризнаки результата (в регистре STATUS)
1)На все признаки результата Z,C,DC влияют только две команды:
–сложение ADD WF
–вычитание SUB WF
2)влияют на признак переноса С (только на него!) команды сдвигов RLF, RRF.
3)Не влияют ни на один из признаков следующие команды:
MOV WF, DECFSZ, INCFSZ все битовые команды; команды передачи
управления.
4)Все оставшиеся команды влияют только на один признак Z (нулевого результата).
Пример. Составить программу заполнения константой 0ААН области ОЗУ
садресами: 50H…5FH (второй банк).
2.12.Разработка простейшего устройства на основе PIC-контроллера.
Рассмотрим разработку кодового замка на основе PICконтроллера. Принципиальная схема, которого следующая :
25
Пусть замок открывается (срабатывает реле РР), если нажата комбинация клавиш 567.
Напишем программу управления кодовым замком:
При удерживании клавиш 5,6,7 замок будет открыт, иначе–закрыт.
Тема 4.- 14 часов (у.з.-3). Особенности архитектуры универсальных однокристальных 8-разрядных микроконтроллеров (ОМК). Построение МПУ на базе универсальных ОМК.
Особенности архитектуры и технические характеристики ОМК серии 1816 (MCS-51). Структура, назначение выводов и основные режимы работы ОМК
К1816ВЕ51. Организация памяти данных и программ ОМК. Особенности работы портов ввода/вывода ОМК, понятие квазидвунаправленности. Система команд и основы языка ассемблера ОМК К1816ВЕ51. Способы адресации операндов.
Построение микропроцессорного модуля на базе ОМК серии 1816. Особенности подключения внешней памяти программ и данных, а также дополнительных
портов ввода/вывода. Расширение ввода-вывода с помощью интерфейсных БИС.
3.Проектирование МПУ на основе универсальных восьмиразрядных ОМК семейства MSC–51
3.1.Основные технические характеристики и структура ОМК К1816ВЕ51
Контроллер К1816ВЕ51 является функциональным аналогом ОМК I8051(Intel), выполненного по Н-МОП технологии (n-MOS). Существует аналог К1830ВЕ51, который представляет собой тот же контроллер, но выполненный по К-МОП технологии (I80C51).
Замечание: ОМК, выполненные по н-МОП технологии обладают большим быстродействием, а по к-МОП минимальным электропотреблением.
Контроллер представляет собой БИС с 40 выводами. Структурная схема контроллера К1816ВЕ51 имеет вид:
Основными функциональными модулями ОМК К1816ВЕ51 являются:
1)быстродействующее восьмиразрядное АЛУ с УУ;
2)встроенный генератор тактовых импульсов (ГТИ), к входам которого подключен внешний кварцевый резонатор;
3)два многофункциональных 16-разрядных таймер-счетчика Т0 и Т1;
4)резидентная память данных РПД (внутреннее ОЗУ) объемом 128 байт;
5)резидентная память программ РПП (внутреннее ПЗУ) объемом
4Кх8;
26
6)встроенный контроллер прерываний К Пр., позволяющий одновременно обрабатывать запросы прерывания от восьми источников;
7)универсальный адаптер последовательного интерфейса, типа RS 232 (УАПИ);
8)четыре 8-разрядных двунаправленных порта ввода/вывода. Р0, Р1,Р2, Р3. Направление передачи информации по линиям портов программируется.
Замечание: отличие универсальных ОМК от PIC контроллеров в основном состоит в возможности универсальных ОМК расширять номенклатуру устройств путем подключения внешних ИС с использованием внешней системной магистрали.
Например, ОЗУ ОМК может расширяться до 64 кбайт путем подключения внешних ИС, аналогично можно расширять и ПЗУ до 64кбайт.
Быстродействие ОМК К1816ВЕ51 составляет 0,5÷1 MIPS, при тактовой
частоте fosc=3.5÷12 МГц.
Частота машинных циклов ОМК определяется по формуле: fмц=fosc/12, а частота машинных тактов: fмт=fosc/2.
Система команд состоит из 111 базовых операций представляемых в виде 1, 2 и 3-байтовых команд. Большинство команд выполняется за 1-2 машинных цикла, исключение составляют лишь две команды: умножения (MUL) и деление (DIV), выполняемые за четыре машинных цикла.
Система команд ориентирована на эффективную обработку как логической информации (имеются битовые операции), так и на выполнение сложных арифметических вычислений (аппаратно реализованы команды
MUL и DIV).
3.2.Назначение основных выводов БИС ОМК К1816ВЕ51
На принципиальных схемах ОМК ВЕ-51 изображают в виде:
АД7 |
P0.7 |
MCS |
х1 |
||||
АД6 |
P0.6 |
х2 |
|||||
АД5 |
P0.5 |
P2.0 |
A8 |
||||
P2.1 |
A9 |
||||||
P2.2 |
A10 |
||||||
АД0 |
P0.0 |
P2.3 |
A11 |
||||
RST |
P2.6 |
A14 |
|||||
EA |
P2.7 |
A15 |
|||||
RD |
P3.7 |
PSEN |
|||||
WR |
P3.6 |
ALE |
|||||
T1 |
P3.5 |
||||||
P1.0 |
|||||||
T0 |
P3.4 |
P1.1 |
|||||
INT1 |
P3.3 |
P1.2 |
|||||
INT0 |
P3.2 |
P1.3 |
|||||
TxD |
P3.1 |
К1816ВЕ51 |
|||||
RxD |
P3.0 |
P1.7 |
|||||
27
RST– входной сигнал начальной установки на этот вход должен быть
подан сигнал «1» в течении 20мс. |
||||||||||||||
Схема начальной установки |
по включению питания и |
по |
кнопке |
|||||||||||
”сброс” имеет вид: |
||||||||||||||
+Uп = 5В |
10мкФ |
По сигналу |
«сброс» |
в |
ОМК |
|||||||||
осуществляется: |
||||||||||||||
"сброс" |
–перевод всех портов ввода/вывода |
|||||||||||||
RST |
на ввод информации; |
|||||||||||||
VD |
–запрещаются |
все |
прерывания |
|||||||||||
8,2К |
||||||||||||||
контроллера; |
||||||||||||||
КД520 |
||||||||||||||
–информация во внутреннем и |
||||||||||||||
внешнем ОЗУ сохраняется; |
||||||||||||||
–осуществляется переход на программу, начинающую с адреса 0Н.
Х1 и х2-выводы для подключения, внешнего кварцевого резонатора с частотой fosc (fosc может лежать в пределах 3,5÷12 МГц или, если
используются аналогичные фирмы Atmel, то 0÷24 МГц). |
|||||||||
Схема |
подключения |
кварцевого |
|||||||
fosc=12МГц |
резонатора: |
||||||||
QZ |
х1 |
С1 и С2–запускающие емкости. |
|||||||
C1 |
х2 |
Контроллер ВЕ51 имеет четыре 8- |
|||||||
C2 |
разрядных порта ввода/вывода Р0, Р1, Р2, Р3; |
||||||||
большинство из них могут работать в двух |
|||||||||
режимах: |
|||||||||
–в режиме обычного порта ввода/вывода информации;
–в режиме ввода или вывода управляющих сигналов (альтернативный режим).
Р0.0…Р0.7–выводы двунаправленного 8-разрядного порта Р0. В альтернативном режиме эти выводы могут использоваться для выдачи и приема сигнала адреса/данных (АД0…АД7), т.е. эти линии используются для обмена данными Д0…Д7 или передачи адреса А0…А7 во внешние
устройства или внешнюю память. Передача адреса при этом по |
||||||
данным линиям подтверждается отрицательным |
фронтом |
на |
1 |
0 |
||
выводе ALE. |
||||||
адреса). Он |
||||||
ALE (Address Latch Enable–разрешение |
фиксации |
|||||
обязательно генерируется в каждом машинном цикле, поэтому на выходе ALE всегда присутствует сигнал, изменяющийся с частотой машинных циклов fosc/12.
Р2.0…Р2.7–линии 8-разрядного квазидвунаправленного порта Р2.
Замечание: квазидвунаправленным портом называется порт вывода информации, которая при определенном исполнении может применяться и для ввода информации. Например, для ввода информации по линии Р2 изначально в эту линию необходимо выдать «1».
В альтернативном режиме Р20…Р27 используется для выдачи старшего байта адреса А8-А15 во внешнюю память или внешнее устройство.
28
Передача адреса сопровождается отрицательным фронтом ALE. P3.0…P3.7–линии 8-разрядного квазидвунаправленного порта Р3. В
альтернативном режиме эти линии используются для передачи сигналов управления:
–RD,WR-сигнал чтения и записи внешней памяти данных (внешнее ОЗУ). По этим сигналам осуществляется передача данных во внешнюю память через линии Р0.0…Р0.7;
–Т1, Т0-входы для подачи внешних импульсов на таймеры счетчики контроллера Т1 и Т0.
–INT1, INT0-входы запроса прерываний от внешних источников. –TxD, RxD-выходной сигнал передатчика и входной сигнал приемника
встроенного последовательного интерфейса ОМК.
Для перевода любой линии порта Р3 в альтернативный режим необходимо в соответствующую линию порта вывести «1».
Пример: MOV P3,#3H ;P3=3H (линии TxD и RxD выдаются в младшие разряды порта Р3).
–PSEN-выходной сигнал чтения информации из внешней памяти программы (внешнее ПЗУ).
Вконтроллере ВЕ51 реализовано гарвардская архитектура памяти,
т.е. память программ (ПП) и память данных (ПД) разделены физически и логически.
Физическое разделение означает, что для обращения к каждой из них используются свои сигналы управления:
–RD, WR-для обращения к памяти данных; –PSEN-для обращения к памяти программ.
Логическое разделение означает, что для обращения к каждой из них используются разные команды:
–MOV, MOVX-для обращения к ПД; –MOVC-для обращения к ПП.
Внекоторых случаях при отладке программ удобно совмещать в едином устройстве ПП и ПД (в виде единого ОЗУ). В этом случае
формируют единый сигнал чтения RD2. |
|||||||||
RD |
В случае такого объединения памяти организуется |
||||||||
& |
RD2 |
||||||||
архитектура Фон-Неймана. |
|||||||||
PSEN |
Р1.7÷Р1.0 |
- |
линии |
8-разрядного |
|||||
квазидвунаправленного порта ввода/вывода Р1. |
|||||||||
Линии данного порта не имеют альтернативных функций. |
|||||||||
3.3.Организация памяти данных контроллера ВЕ51
Память данных (ПД) разделяют на:
–резидентную ПД (РПД)-встроенную, объемом 128 байт, адресами
0÷7FH;
–внешнюю ПД (ВПД), объемом до 64 кбайт, с адресами (0÷0FFFFH).