Файл: Курс лекций по микроконтроллерам.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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).