Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МСУзаочники2013 / Аппаратная база и программирование микропроцессорных систем управления.doc
Скачиваний:
37
Добавлен:
10.06.2015
Размер:
1.51 Mб
Скачать

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.

Рис. 8. Аналого-цифровой преобразователь К1113ПВ1А

Пример: пусть вход АЦП 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).

Аналогичным образом при соответствующем сканирующем коде будут опрашиваться кнопки во втором, третьем и четвертом ряду.

Рис. 9. Клавиатура

Для исключения влияния дребезга контактов на идентификацию состояния кнопок в каждую вертикальную линию клавиатуры подключается антидребезговая схема (рис.10а).

Рис. 10а. Антидребезговая схема

Рис. 10б. Срабатывание антидребезговой схемы

При изменении состояния клавиши (нажатии) с клавиатуры вместо логической единицы «1» начинает поступать низкое напряжение ( «грязный» 0, рис. 10б ). На выходе схемы в это время пока еще присутствует логическая единица («1»). Возникает разность потенциалов, ёмкость С1 начинает заряжаться, тем самым не давая срабатывать инверторам DD1.1 и DD1.2 и не пропуская неустойчивый сигнал на вход микроконтроллера. Когда ёмкость зарядится полностью, инверторы сработают и пропустят сигнал на выход.Если постоянная времени R1C1 выбрана достаточно большой (рис. 10б ), напряжение достигает порога переключения элемента DD1.1 после прекращения дребезга. При размыкании кнопки переключение происходит аналогично.

Положительная обратная связь обеспечивает крутые фронты выходного сигнала. В результате на выходе формируется импульс, длительность которого соответствует времени замыкания контактов, а фронт и спад импульса несколько задержаны относительно моментов замыкания и размыкания контактов.

Замечание. При опросе клавиатуры нельзя одновременно подключать корпус на несколько линий, поскольку невозможно будет идентифицировать, какая именно кнопка нажата.

Пример: клавиатура подключена к порту Р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).

Рис.11. Схема подключения переключателя

Пример. Переключатели К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.

Рис.12. Схема подключения светодиодного индикатора

Пример. Светодиоды 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

Рис.13. Схема подключения семисегментного индикатора

Блок реле. Блок исполнительных устройств включает в свой состав буферные усилители и реле, контакты которых могут управлять мощными объектами (например, контакторами электродвигателей и т.п.). В качестве буферных усилителей можно использовать микросхемы К155ЛП9, обеспечивающие ток до 300 мА. Реле включается при подаче на вход блока логического нуля (рис. 14). При этом ток от источника питания протекает через катушку реле РК1, буферный усилитель DD1.А на землю через выходной транзистор микроконтроллера. Замыкается контакт реле, замыкая внешнюю цепь Х1 – Х2.

Рис.14. Схема подключения реле

Пример. Реле 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. Мультиплексоры позволяют создавать системы сбора информации с большим количеством датчиков.

Рис.15. Схема подключения цифрового мультиплексора

Пример. Управление преключением входа мультиплексора АBC осуществляется через порт Р3, разряды 5-7. Состояние сигнала Y подается на порт Р3, разряд 0. Проверить состояние датчика 6.

MOV P3,#A0H ;подключить датчик 6 (A0H=10100000)

JB P3.0, Met ;если с датчика 6 поступает 1,

; перейти на метку Меt.

Аналоговый мультиплексор (рис. 16). Работает аналогично цифровому, но предназначен для коммутации аналогового сигнала.

Рис.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

Рис.17. Схема подключения цифро-аналогового преобразователя

Буфер последовательного порта. Связь по последовательному каналу осуществляется через буферную микросхему DS232 (рис. 18).

Рис.18. Схема подключения буфера DS232 последовательного канала

На представленном рисунке МК-микроконтроллер, ПУ- периферийное устройство Линия TxD микроконтроллера через микросхему DS232 соединена с линией RxD периферийного устройства, линия RxD микроконтроллера с линией TxD ПУ. По линии TxD информация выставляется на передачу, по линии RxD принимается.