- •Аналоговые и цифровые устройства автоматики
- •Глава 1. Архитектура и устройство
- •1.1. Внутренняя организация мк
- •1.2. Назначение выводов микросхемы мк
- •1.3. Организация памяти в мк
- •1.4. Регистр состояния программы psw
- •1.5. Таймеры/счетчики, регистры tmod и tcon
- •1. 6. Режимы работы таймеров/счетчиков
- •Структура прерываний мк
- •1.8. Блок последовательного интерфейса мк
- •1.8.1. Последовательная передача информации
- •1.8.2. Последовательный порт однокристального мк
- •1.8.3. Регистр управления последовательным портом scon
- •1.8.4. Режимы работы последовательного порта
- •1.8.5. Асинхронный обмен (режимы 1,2,3) данными
- •1.8.6. Скорость приёма/передачи
- •1.8.7. Работа мк в локальной сети
- •1.9. Системный сброс однокристального мк
- •1.10. Режим пониженного энергопотребления мк
- •1.11. Нагрузочная способность портов ввода/вывода
- •1. 12. Расширение портов ввода/вывода
- •Глава 2. Система команд однокристальных мк семейства mcs51
- •Способы адресации операндов
- •2.2. Команды мк
- •2.3. Правила написания программ на языке assembler
- •Метка операция операнд(ы) комментарии
- •2.3.1. Метка
- •2.3.2. Операция
- •2.3.3. Операнды
- •2.3.4. Комментарий
- •2.4. Директивы ассемблера
- •2.4.1. Директивы символических определений
- •Пример:
- •Ozu_org xdata 0800h; Адрес начала области внешнего озу.
- •2.4.2. Директивы резервирования и инициализации памяти
- •2.4.3. Директивы управления состоянием ассемблера
- •Глава 3. Обработка данных в однокристальных микроконтроллерах
- •3.1. Обращение к внутренней, внешней памяти данных и памяти программ
- •3.2. Арифметические операции
- •3.3. Логические операции
- •3.4. Операции с битами
- •Глава 4. Взаимодействие однокристального мк с объектом управления
- •4.1. Программный опрос и ожидание срабатывания позиционных датчиков
- •4.2. Ожидание импульсного сигнала
- •4.3. Программирование таймеров/счетчиков и формирование дискретных управляющих сигналов
- •4.4. Программирование прерываний в микропроцессорном устройстве
- •4.5. Программирование последовательного порта
- •Глава 5. Аппаратные средства
- •5.1. Ввод информации с клавиатуры
- •5.1.1. Прямое подключение клавиш к разрядам порта мк
- •В блоке основной программы происходит инициализация системы, разрешение прерываний, а затем выполняется основная программа.
- •Применение шифратора для организации клавиатуры
- •Шифратора
- •5.1.3. Матричный способ подключения клавиатуры
- •5.1.4. Комбинированный способ организации клавиатуры
- •5.2. Отображение информации в микропроцессорном устройстве
- •5.2.1. Контроллер клавиатуры и дисплея к580вв79 ( intel 8279 )
- •5.2.2. Матричные светодиодные индикаторы
- •5.2.3. Жидкокристаллический дисплей
- •Ввод аналоговых сигналов в микропроцессорный контроллер
- •Ацп с параллельными цифровыми выходами
- •5.3.2. Применение ацп с последовательным выходом
- •5.3.3. Применение таблиц для вычисления функций
- •5.4. Формирование управляющих аналоговых сигналов
- •5.5. Построение ацп с использованием цап
- •5.6. Микропроцессорный контроллер как управляющее устройство в системах автоматического регулирования
- •Согласование дискретных датчиков и исполнительных механизмов с однокристальным мк
- •5.8. Контроль напряжения питания в микропроцессорных системах
- •Глава 6. Отладка программного обеспечения и программирование однокристальных мк
- •6.1. Интегрированная система отладки программного обеспечения для мк ProView
- •6.1.1. Оптимизирующий кросс - компилятор c51
- •6.1.2. Макроассемблер a51
- •6.1.4. Отладчик/симулятор WinSim51
- •6.2. Запуск ProView и создание файла проекта
- •Если в системе задействованы таймеры-счетчики, то удобно промоделировать их работу при разворачивании соответствующих окон Timer (рис.76).
- •В окне указаны источники и адреса векторов прерываний, их состояние и приоритет. Разрешенные прерывания отмечены словом Enable, неразрешенные - Not Enable.
- •Рассмотрим основные пункты раздела debug (отладка), представлены на рис. 84. Эти функции предназначены для выполнения процесса отладки прикладной программы пользователя.
- •6.3. Программирование однокристальных мк
- •Контрольные вопросы для закрепления материала
- •Заключение
- •Библиографический список
- •Глава 1. Архитектура и устройство однокристальных мк семейства mcs51………………………..6
- •Глава 6. Отладка программного обеспечения и программирование однокристальных мк ……….203
- •162600, Г.Череповец , пр. Луначарского, 5
1.4. Регистр состояния программы psw
Этот регистр предназначен для хранения информации о состоянии результата при выполнении текущей команды прикладной программы. Обозначение битов регистра PSW представлено в табл. 2.
Таблица 2
Биты |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
CY |
AC |
F0 |
RS1 |
RS0 |
OV |
- |
Р |
CY – флаг переноса, устанавливается и сбрасывается как аппаратными, так и программными средствами. Флаг устанавливается в единичное состояние, если в результате выполнения операции наступает переполнение байта или осуществляется заем. При выполнении операций умножения и деления флаг CY сбрасывается.
АС – флаг дополнительного переноса. Устанавливается или сбрасывается во время выполнения инструкций сложения или вычитания для указания переноса или заема в третьем бите при образовании младшего полубайта результата (D0-D3).
F0 – флаг пользователя, может быть использован программистом по его усмотрению.
RS1, RS0 – указатели банков рабочих регистров (табл. 3).
Таблица 3
RS1 |
RS0 |
Банк регистров |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
2 |
1 |
1 |
3 |
OV – флаг переполнения, устанавливается аппаратно, если результат операции сложения или вычитания не укладывается в семи битах и старший восьмой бит результата не может быть интерпретирован как знаковый. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на 0 устанавливается. При операции умножения флаг OV аппаратно устанавливается, если результат больше 255.
Р – флаг четности. В девятиразрядном слове, состоящем из 8 разрядов аккумулятора и бита Р, всегда содержится четное число единиц. В случае, если А = 00Н, то Р = 0. Программно флаг доступен только по чтению.
1.5. Таймеры/счетчики, регистры tmod и tcon
Таймеры/счетчики (Т/С) предназначены для подсчета числа внешних событий, для получения программно - управляемых временных задержек и времязадающих функций МК. В состав блока Т/С входят:
два шестнадцатиразрядных регистра T/C0 и T/C1;
восьмиразрядный регистр для настройки режима Т/С –TMOD;
восьмиразрядный регистр управления T/C – TCON;
схема инкремента;
схема фиксации сигналов на входах INT0, INT1, T0, T1;
схема управления флагами;
логика управления таймерами счетчиками.
Рассмотрим все вышеперечисленные устройства. Регистры Т/С выполняют функции хранения содержимого счета. Каждый из регистров состоит из пары восьмиразрядных регистров, которые обозначаются соответственно TH0,TL0 и TH1,TL1 (ТН0 и ТН1 – старшие, а TL0,TL1 – младшие байты). Регистры таймеров/счетчиков могут быть использованы как обычные регистры для хранения переменных, при этом биты управления запуском должны быть сброшены в 0. Код величины начального счета заносится в регистры Т/С программно. В процессе счета содержимое регистров инкрементируется. Признаком окончания счета является переполнение регистров, в результате происходит переход содержимого из состояния FFFFH в 0000H. Все регистры таймеров/счетчиков доступны по чтению.
Регистр режимов Т/С – TMOD предназначен для приема и хранения кода настраивающего:
один из четырех возможных режимов работы каждого Т/С;
режим работы таймером или счетчиком;
управление Т/С от сигналов на входах INT0 и INT1.
Рассмотрим обозначение и назначение разрядов TMOD, представленных в табл. 4.
Таблица 4
Биты |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
GATE1 |
C/T1 |
M1.1 |
M0.1 |
GATE0 |
C/T0 |
M1.0 |
M0.0 |
M1.1, M0.1, M1.0, M0.0 – биты определяют один из четырех режимов работы отдельно для таймеров/счетчиков Т/С1 и Т/С0 соответственно (табл. 5).
Таблица 5
М1 |
М0 |
Режим работы |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
2 |
1 |
1 |
3 |
С/Т1 и С/Т0 - биты, определяющие работу в качестве таймера или счетчика. С/Т1, С/Т0 = 0 – работа в качества таймера, С/Т1, С/Т0 = 1 – работа в качестве счетчика.
GATE1, GATE0 – биты разрешают или запрещают управлять Т/С от сигналов на внешних входах INT0, INT1 (INT0 для Т/С0, INT1 для Т/С1). GATE = 0 – управление запрещено, GATE = 1 – управление разрешено.
При работе в качестве таймера содержимое регистра T/C инкрементируется в каждом машинном цикле. Таким образом, Т/С является счетчиком машинных циклов, частота счета равна fBQ /12.
При работе Т/С в качестве счетчика внешних событий содержимое регистра инкрементируется при переходе внешнего сигнала ( на входе Т0 для Т/С0, на входе Т1 для Т/С1) из состояния “1” в состояние “0”. Максимальная частота счета внешних импульсов в режиме счетчика составляет fBQ/24.
Рассмотрим обозначение и назначение битов регистра TCON, представленных в табл. 6.
Таблица 6
Биты |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Обозначение |
TF1 |
TR1 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
TF1, TF0 – флаги переполнения таймеров/счетчиков Т/С1 и Т/С0 соответственно. Они устанавливаются аппаратно при переходе содержимого регистров из состояния FFFFH в 0000Н. Если разрешено прерывание, то установка флага TF=1 вызовет прерывание в работе процессора. Флаги TF0 и TF1 сбрасываются аппаратно при передаче управления подпрограмме обработки соответствующего прерывания. TF0 и TF1 программно - доступны и установкой их в “1” можно вызвать прерывание либо отменить его в программе.
IE1, IE0 – флаги прерывания от сигналов на входах INT1 и INT0 соответственно. Они устанавливаются аппаратно или программно, вызывая подпрограммы обработки прерывания. Сброс флагов выполняется аппаратно при обслуживании прерывания, если оно было вызвано по фронту входного сигнала. Если же прерывание было вызвано уровнем входного сигнала-запроса, то сброс соответствующего флага должна выполнять подпрограмма обслуживания прерывания.
TR1 и TR0 - биты включения/выключения таймеров/счетчиков. При TR = 0 T/C выключен, при TR =1 T/C включен.
IT1, IT0 – биты, определяющие вид прерывания по входам INT0 и INT1. Если IT = 0 - прерывание по низкому уровню, IT = 1 – прерывание по фронту ( переход из “1” в “0” ).
Схема инкремента предназначена:
для увеличения на 1 содержимого регистров таймеров/счетчиков, для которых установлен режим таймера и счет разрешен;
для увеличения на 1 содержимого регистров таймеров/счетчиков, для которых установлен режим счетчика, счет разрешен и на входах T0 и Т1 зафиксирован счетный импульс.
Схема фиксации INT0, INT1, T0, T1 – представляет собой 4 триггера, в них запоминается информация с выводов INT0, INT1, T0, T1.
Схема управления флагами вырабатывает и снимает флаги переполнения T/C и флаги запросов внешних прерываний.
Логика управления синхронизирует работу регистров T/C0 и T/C1 в соответствии с запрограммированными режимами работы и блока T/C с работой МК.