Метод указания на КР (заочники). Учебнометодическое пособие для студентов заочного обучения по специальности 18. 04. 04 Эксплуатация электрооборудования и средств автоматики
Скачать 492.6 Kb.
|
Система команд Для описания системы команд используются следующие обозначения: A - аккумулятор; Rn - регистр общего назначения с номером n; Direct - любой регистр специального назначения или ячейка внутреннего ОЗУ; #Data - байт данных, содержащийся во втором байте кода команды. Met - метка в командах переходов, указывающая какая команда будет выполняться следующей. Bit – имя прямоадресуемого бита (например: A.1, P2.3) Наиболее часто используемые команды: 1.Сложение содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор. ADD A,Rn ; A+Rn A - прибавить к содержимому аккумулятора содержимое регистра общего назначения с номером n ADD A,Direct ; A+Direct A - прибавить к содержимому аккумулятора содержимое ячейки внутреннего ОЗУ или регистра специального назначения ADD A,#Data ; A+Data A - прибавить к содержимому аккумулятора данные, содержащиеся во втором байте команды 2.Вычитание из содержимого аккумулятора содержимого второго операнда, результат записывается в аккумулятор. SUBB A,Rn ; A-Rn A SUBB A,Direct ; A-Direct A SUBB A,#Data ; A-Data A 3.Увеличение содержимого указанного операнда на 1. INC A ; A+1 A INC Direct ; Direct+1 Direct INC Rn ; Rn+1 Rn 4.Уменьшение содержимого указанного операнда на 1. DEC A ; A-1 A DEC Direct ; Direct-1 Direct DEC Rn ; Rn-1 Rn 5.Логическое умножение («И») содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор. ANL A,Rn ; A AND Rn A ANL A,Direct ; A AND Direct A ADD A,#Data ; A AND Data A 6.Логическое сложение («ИЛИ») содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор. ORL A,Rn ; A OR Rn A ORL A,Direct ; A OR Direct A ORL A,#Data ; A OR Data A 7.”Исключающее или” содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор. XRL A,Rn ; A XOR Rn A XRL A,Direct ; A XOR Direct A XRL A,#Data ; A XOR Data A 8.Очистка аккумулятора – содержимое всех разрядов аккумулятора сбрасывается в ноль. CLR A ; 0 А 9. Переслать содержимое второго операнда в первый. MOV A,Rn ; Rn A MOV A,Direct ;Direct A MOV A,#Data ;Data A MOV Rn,A ; A Rn MOV Rn,Direct ;Direct Rn MOV Rn,#Data ;Data Rn MOV Direct,Rn ; Rn Direct MOV Direct,A ;A Direct MOV Direct,#Data ;Data Direct 10.Безусловный (обязательный) переход на команду, обозначенную указанной в команде меткой. LJMP Met 11.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое аккумулятора равно 0: JZ Met не равно 0: JNZ Met 12.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое операнда не равно заданным в команде данным. CJNE A,#Data,Met ;перейти на метку Met, если A ≠ Data CJNE Rn,#Data,Met ;перейти на метку Met, если Rn≠Data 13.Уменьшить на единицу содержимое указанного регистра Rn и, если содержимое Rn не ноль, - переход на метку, указанную в команде. DJNZ Rn,Met 14.Установка в «1» прямоадресуемого бита. SETB Bit ; 1 Bit 15.Сброс в «0» прямоадресуемого бита. CLR Bit ; 0 bit 16.Инвертирование содержимого прямоадресуемого бита. CPL Bit ; /Bit Bit 11.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое прямоадресуемого бита равно 0: JNB Bit,Met не равно 0: JB Bit,Met Замечание: при использовании команд переходов необходимо учитывать, что при невыполнении заданного в команде условия будет выполняться следующая за ней команда. При задании метки перед командой, после метки ставится двоеточие. С другими функциональными возможностями ОМЭВМ и полным перечнем команд можно ознакомиться в [2]. 2.2.Типовые периферийные устройства Аналого-цифровой преобразователь (К1113ПВ1А). Функционально завершенный 10-разрядный АЦП предназначен для применения в электронной аппаратуре в составе блоков аналогового ввода. Выходные каскады с 3-мя состояниями позволяют подключать АЦП непосредственно к шине данных МП. Для эксплуатации микросхемы необходимы два источника питания. Аналоговый сигнал, напряжением 0-10,5В, подается на вход IN (нога 13).Запуск АЦП производится внешним сигналом ЗАПУСК (на входе АЦП RUN (вывод 11) формируется падающий фронт - переход из состояния 1 в состояние 0). При подаче сигнала ЗАПУСК АЦП начинает преобразование поступающего на вход IN напряжения в цифровой код, по окончании преобразования АЦП выдает двоичный код на выходы D0-D9 (выводы 18, 1-9), сопровождая его сигналом ГОТОВНОСТЬ ДАННЫХ GOT=0 (вывод 17). Обозначение выводов АЦП приведено на рис.8.
X Пример: пусть вход АЦП RUN подключен к выходу порта Р2.0, а выход GOT соединен с P2.1. Из преобразованного кода используются старшие 8 разрядов, подключенные к порту Р0. Тогда обслуживание АЦП осуществляется следующим образом: CLR P2.0 ; запуск АЦП – формирование ; падающего фронта GOT: JB P2.1, GOT ; ожидание готовности (0) MOV A,P0 ; чтение преобразованного кода ; в аккумулятор SETB P2.0 ;перевод входа RUN в1, чтобы вновь ;сформировать падающий фронт Клавиатура. Схема клавиатуры представлена на рис. 9. Клавиатура имеет 16 клавиш (4*4). Со сканирующего порта на входы С3-С0 последовательно подаются коды 1110, 1101, 1011, 0111, тем самым поочередно к каждой горизонтальной линии подключается корпус. После выдачи кода, читаются старшие разряды С7-С4. Для сканирования первого ряда на входы С3-С0 выдается код 1110 (корпус подключен к первому горизонтальному ряду). Если не нажата ни одна из кнопок в этом ряду, то при чтении разрядов С7-С4 будет получен код 1111 (все линии под напряжением, тока нет). При нажатии кнопки “1”, через эту кнопку от источника на корпус будет идти ток, напряжение упадет и будет прочитан код 1110 (низкое напряжение на линии С4), кнопки “2” – 1101(низкое напряжение на линии С5), кнопки “3” – 1011(низкое напряжение на линии С6), кнопки “А” – 0111(низкое напряжение на линии С7). Аналогичным образом при соответствующем сканирующем коде будут опрашиваться кнопки во втором, третьем и четвертом ряду.
Для исключения влияния дребезга контактов на идентификацию состояния кнопок в каждую вертикальную линию клавиатуры подключается антидребезговая схема (рис.10а).
Положительная обратная связь обеспечивает крутые фронты выходного сигнала. В результате на выходе формируется импульс, длительность которого соответствует времени замыкания контактов, а фронт и спад импульса несколько задержаны относительно моментов замыкания и размыкания контактов. Замечание. При опросе клавиатуры нельзя одновременно подключать корпус на несколько линий, поскольку невозможно будет идентифицировать, какая именно кнопка нажата. Пример: клавиатура подключена к порту Р0, разряды Р0.0-Р0.3 используются для выдачи сканирующего кода, разряды P0.4-P0.7 для ввода кода клавиши. Осуществить опрос и анализ нажатия клавиш 0-3. MOV P0,#FEH ; выдать сканирующий код ; 11111110 OPROS: MOV A,P0 ; прочитать код с линии JNB A.4,MET1 ; перейти на метку МЕТ1, ; если нажата кнопка 0 JNB A.5,MET2 ; перейти на метку МЕТ2, ; если нажата кнопка 1 JNB A.6,MET3 ; перейти на метку МЕТ3, ; если нажата кнопка 2 JNB A.7,MET4 ; перейти на метку МЕТ4, ; если нажата кнопка 3 LJMP OPROS ; если не нажата ни одна клавиша, ; то повторить опрос клавиатуры MET1: ………… ; команды, выполняемые при ; нажатии кнопки 0 MET2: ………… ; команды, выполняемые при ; нажатии кнопки 1 MET3: ………… ; команды, выполняемые при ; нажатии кнопки 2 MET4: ………… ; команды, выполняемые при ; нажатии кнопки 3 Переключатели. Схема подключения переключателя представлена на рис. 11. К любому порту микроконтроллера можно подключить до восьми переключателей. Если ключ К1 разомкнут, в цепи тока нет, на вход микроконтроллера поступает напряжение 5В (логическая 1), если ключ замкнут, ток через ключ пойдет на землю. Поскольку сопротивление ключа стремится к нулю, падение напряжения на нем будет равно 0 (т.е. на входе микроконтроллера появится логический 0).
Пример. Переключатели К1-К8 подключены на входы порта Р1.0-Р1.7. Проанализировать состояние К1 и К5. MOV A, P1 ;прочитать состояние переключателей ; в аккумулятор JNB A.0,M1 ; если замкнут ключ 1, перейти ; на метку М1 JNB A.5,M1 ; если замкнут ключ 6, перейти ; на метку М2 ……………… M1: …………… ; команды, выполняемые при ; замыкании ключа К1 M2: ……………… ; команды, выполняемые при ; замыкании ключа К6 Светодиодный индикатор. Схема включения светодиода, представленная на рис. 12, позволяет создать простейшие устройства отображения информациии. Для зажигания светодиода на соответствующий выход микроконтроллера нужно подать логический нуль (подключить корпус). Буфер DD1.1 необходим для обеспечения нужного тока через светодиод и является одним из шести равнозначных элементов в корпусе микросхемы К155ЛП9. Остальные элементы обозначаются соответственно DD1.2, DD1.3, DD1.4, DD1.5, DD1.6.
Пример. Светодиоды VD1-VD8 подключены к выходам порта Р2.0-Р2.7. Погасить все светодиоды, затем включить VD3 и VD7. MOV P2,#FFH ; погасить светодиоды (FFh=11111111) CLR P2.2 ; включить VD3 CLR P2.6 ; включить VD7 Семисегментный индикатор.Семисегментный индикатор (рис. 13) позволяет отображать цифры и некоторые буквы. Для отображения нужного символа подготавливается комбинация из восьми нулей и единиц, затем отправляется в порт, к которому подключен семисегментный индикатор. Для включения сегмента на соответствующий выход микроконтроллера нужно подать логический 0. Например, для отображения цифры 6 необходимо подать код 10000010 (82H – в шестнадцатеричной системе). Буферы DD1, DD2 необходимы для обеспечения нужного тока через светодиодные сегменты. Пример. Семисегментный индикатор подключен к порту Р0. Проиндицировать цифру «6». Формируем двоичную комбинацию 10000010B и отправляем в порт с помощью команды MOV P0, #10000010B Можно перевести в шестнадцатеричный код 82H и также записать в порт MOV P0, #82H
Блок реле. Блок исполнительных устройств включает в свой состав буферные усилители и реле, контакты которых могут управлять мощными объектами (например, контакторами электродвигателей и т.п.). В качестве буферных усилителей можно использовать микросхемы К155ЛП9, обеспечивающие ток до 300 мА. Реле включается при подаче на вход блока логического нуля (рис. 14). При этом ток от источника питания протекает через катушку реле РК1, буферный усилитель DD1.А на землю через выходной транзистор микроконтроллера. Замыкается контакт реле, замыкая внешнюю цепь Х1 – Х2.
X Пример. Реле PK1-PK8 подключены к входам порта Р1.0-Р1.7. Выключить реле PK4, затем включить PK2 и PK5. SETB P1.3 ; выключить реле РК4 CLR P1.1 ; включить реле РК2 CLR P1.4 ; включить реле РК5 Цифровой мультиплексор. Подключает один из восьми информационных входов D0-D7 на выход Y и W. Выбор входа осуществляется с помощью адресных входов А,В,С (рис. 15). При подаче на адресные входы кода 000 к выходу Y подключается вход D0, кода 001 – вход D1 и т.д., кода 111 – вход D7. Мультиплексоры позволяют создавать системы сбора информации с большим количеством датчиков.
Пример. Управление преключением входа мультиплексора АBC осуществляется через порт Р3, разряды 5-7. Состояние сигнала Y подается на порт Р3, разряд 0. Проверить состояние датчика 6. MOV P3,#A0H ;подключить датчик 6 (A0H=10100000) JB P3.0, Met ;если с датчика 6 поступает 1, ; перейти на метку Меt. Аналоговый мультиплексор (рис. 16). Работает аналогично цифровому, но предназначен для коммутации аналогового сигнала.
Пример. Управление переключением входа мультиплексора (контакты 1,2,3) осуществляется через порт Р2, разряды 0-2. Состояние сигнала Y подается на АЦП. Подключить к АЦП аналоговый датчик 3. MOV P2, #02H ;подключить датчик 3 (02H=00000010) Цифро-аналоговый преобразователь (рис. 17). ЦАП предназначен для преобразования цифрового кода в аналоговый сигнал. В данном пособии описано подключение 10 разрядного ЦАП К572ПА1. При подключении к 8 разрядной шине следует использовать входы D3-D10. Пример. Входы ЦАП D10-D3 подключены к выходам порта Р1 разряды 7-0. Выдать на ЦАП код 55Н. MOV P1,#55H
Буфер последовательного порта. Связь по последовательному каналу осуществляется через буферную микросхему DS232 (рис. 18).
На представленном рисунке МК-микроконтроллер, ПУ- периферийное устройство Линия TxD микроконтроллера через микросхему DS232 соединена с линией RxD периферийного устройства, линия RxD микроконтроллера с линией TxD ПУ. По линии TxD информация выставляется на передачу, по линии RxD принимается. 3. Задание для контрольной работы На рис. 19 представлена одна из множества возможных структур МП модуля распределенной системы для управления и сбора информации на базе ОМЭВМ. 8 аналоговых датчиков подключены к АЦП через аналоговый мультиплексор. Информация с АЦП по восьми линиям поступает в порт Р1. В ОМЭВМ информация обрабатывается (например, производится усреднение сигналов, сравнение с заданными уставками, хранение измеренных значений и т.п., подготовка информации для передачи на верхний уровень управления). Управление мультиплексором и АЦП осуществляется по 5 линиям порта Р3 (три линии необходимы для выбора датчика с помощью мультиплексора, две линии – для управления АЦП). Две линии порта Р3 (TxD и RxD) задействованы на организацию последовательного канала связи с другими модулями системы. К порту Р0 подключены 8 переключателей, которые позволяют с местного пульта изменять, например, режимы работы МП модуля. Порт Р2 обслуживает семисегментный индикатор, на котором может отражаться, например, номер выбранного режима работы.
Вам следует разработать принципиальную схему МП модуля, структура которого выбирается из таблицы 9 в соответствии с двумя последними цифрами вашей зачетки. Верхняя строка таблицы – образец. Здесь описана структура МП модуля, приведенного на рис. 19. Таблица 9
В таблице приняты следующие обозначения: АМ - аналоговый мультиплексор; ДМ - дискретный мультиплексор; БП - блок из 8 переключателей; АЦП - аналого-цифровой преобразователь; ЦАП - цифро-аналоговый преобразователь; КЛ - клавиатура на 16 клавиш; БС - блок из 8 светодиодов; БР - блок из 8 реле; ИНД - семисегментный индикатор; ПК - последовательный канал. Для разработанной принципиальной схемы МП модуля требуется создать управляющую программу, функции которой заданы в таблице 2. Задание выбирается по двум последним цифрам номера зачетки. В заданиях N – последняя цифра, а К - предпоследняя цифра номера зачетки. Если К=0, то взять К=5, а если К=9, то К=7. Таблица 10
Отчет по работе должен содержать: 1.Задание для вашего варианта. 2.Принципиальную схему МП модуля. 3.Спецификацию (перечень элементов) для принципиальной схемы. 4.Блок-схему программы. 5.Текст программы на ассемблере. 4. Пример выполнения контрольной работы Пример принципиальной схемы для модуля "Образец" приведен на рис.19, спецификация к схеме в таблице 11.
Таблица 11
Пример управляющей программы для модуля (рис.19) по заданию «образец» (смотри таблицы 9 и 10). Пусть номер зачетки (2 последние цифры ) равен 25, тогда К=2, N=5. Для управления аналоговым мультиплексором использованы разряды Р3.2-Р3.4 , разряд Р3.5 – запуск АЦП, а разряд Р3.6 – готовность АЦП. Блок-схема управляющей программы приведена на рис. 20.
Текст программы на ассемблере: M0: MOV A,P0 ;прочитать состояние переключателей JNB A.1,M1 ;проанализировать состояние ключа 2 ;если ключ замкнут, перейти на метку М1 MOV P3,#EFh ;подключить датчик 4 (11101111) LJMP M2 M1: MOV P3,#Ebh ;подключить датчик 3(11101011) M2: CLR P3.5 ;запустить АЦП GT: JB P3.6,GT ;ожидать завершения преобразования MOV A,P1 ;прочитать код с АЦП SETB P3.5 ;снять запуск АЦП CJNE A,#69h,M3 ;если код не равен 69, перейти на М3 MOV P2,#92h ;выдать на индикатор цифру 5 LJMP M0 M3: MOV P2,#82h ;выдать на индикатор цифру 6 LJMP M0 ; продолжить управление Литература 1.Однокристальные микроЭВМ. М.: МИКАП, 1994,-400 с. 2.Интегральные микросхемы: Микросхемы для аналого-цифрового преобразования и средств мультимедиа. Выпуск 1 – М. ДОДЕКА, 1996, 384с. |