Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программирование n -МОП микроконтроллера семейства MCS -51



Программирование осуществляется на частоте задающего генератора 4-6 МГц. Генератор необходим для работы внутренней шины MCS-51, по которой происходят пересылки адреса и данных в соответствующие внутренние регистры. В табл. 1.14. приведены режимы работы MCS-51 при программировании внутреннего ППЗУ.

           Таблица 1.14. Режимы работы микроконтроллера семейства MCS-51

 

Режим   RST     ALE     Р2.7   Р2.6   Р2.5   Р2.4  
Программирование 1   0   0   UPR   1   0   X   X  
Проверка 1   0   1   1   0   0   X   X  
Программирование бита защиты памяти 1 0 0 UPR   1 1 X X

 

В режиме программирования адрес ячейки ППЗУ, в которую необходимо записать информацию, подается на выводы портов Р1 и Р2: младшие разряды адреса А0 ... А7 подаются соответственно на выводы MCS-51 Р1.0 ... Р1.7, а старшие разряды адреса A8-A11- соответственно на выводы Р2 .0 ... Р2 .3.

Байт данных, который необходимо записать в адресуемую ячейку ППЗУ, подается на выводы порта Р0.

На остальные выводы порта Р2, а также на выводы MCS-51 RST,  и подаются уровни напряжения, приведенные для режима "Программирование" в табл. 12. Программирование ячейки ППЗУ происходит при подаче импульса низкого уровня ALE длительностью 50 мс ± 5 мс в соответствии с рис. 1.36. удерживается в состоянии логической 1 до подачи импульса ALE. Затем напряжение на выводе повышается до

 21В ± 0,5В, подается импульс ALE и  вновь возвращается к уровню логической 1.

Необходимо особо подчеркнуть, что даже кратковременное импульсное превышение напряжения на выводе  уровня 21,5В может вызвать необратимый отказ микросхемы. Поэтому источник программируемого напряжения UPR должен быть хорошо отрегулирован.

 

                                              

                       Рис. 1.36. Программирование MCS-51.

 

Режим проверки содержимого внутренней памяти программ возможен только в том случае, если не запрограммирован бит защиты памяти. В данном режиме возможно чтение внешней по отношению к MCS-51 аппаратурой содержимого внутренней памяти программ MCS-51. Чтение возможно либо во время, либо после программирования микросхемы.

Включение микросхемы в режим проверки содержимого внутренней памяти программ показано на рис. 1.37.

            

      Рис. 1.37. Проверка содержимого внутренней памяти программ

                                                                                                                        Адрес ячейки памяти программ, содержимое которой необходимо прочитать, подается на выводы портов Р1 и Р2 аналогично режиму программирования. Другие выводы MCS-51 должны поддерживаться в состояниях, приведенных для режима "Проверка" в табл. 2.16а и на рис. 2.16в. Содержимое адресуемой ячейки памяти считывается с выводов порта Р0 при подаче низкого логического уровня на вывод Р2.7. При чтении вывод Р2.7 может либо постоянно поддерживаться в состоянии "0", либо использоваться в качестве строб - сигнала чтения с активным низким уровнем.

Для работы в данном режиме необходимо использовать подтягивающие резисторы, включенные между выводами порта Р0 и напряжением питания.

Свойство защиты памяти заключается в наличии в составе ППЗУ специального бита, который, будучи запрограммирован, запрещает доступ к внутренней памяти программ любыми внешними по отношению к MCS-51 средствами. Включение микросхемы в режим программирования бита защиты памяти показано на рис. 1.38.

Процедура программирования в данном случае аналогична обычному программированию ППЗУ MCS-51 за исключением того, что вывод Р2.6 удерживается в состоянии логической 1. Порты Р0, Р1 и выводы Р2.0-Р2. 3 могут находиться в произвольном состоянии.

 

Рис. 1.38. Программирование бита защиты памяти.

 

 

Остальные выводы MCS-51 должны удерживаться в состояниях, приведенных в табл.12 для режима "Программирование бита защиты памяти".

Если бит защиты памяти запрограммирован, его можно очистить только полным стиранием всего ППЗУ. При запрограммированном бите защиты памяти внутренняя память программ не может быть прочитана внешними по отношению к MCS-51 средствами, дальнейшее программирование ПП3У становится невозможным и MCS-51 теряет возможность работы с внешней памятью программ. Стирание ППЗУ очищает бит защиты памяти и микросхема полностью восстанавливает свои функциональные возможности: может быть перепрограммирована и может работать с внешней памятью программ.

Стирание ППЗУ выполняется ультрафиолетовым излучением с длиной волны, меньшей 4000 ангстрем. Т.к. солнечный свет, а также лампы дневного света излучают волны в указанном диапазоне, они могут являться причиной порчи содержащейся в ППЗУ MCS-51 информации (критическая продолжительность облучения – 1 неделя на солнце или 3 года в комнате с лампами дневного света).

    Рекомендуется стирание ППЗУ ультрафиолетовым излучением (длина волны 2537 ангстрем) с интегральной дозой как минимум 15 Вт-сек/см2 . При этом для стирания должно быть достаточным помещение микросхемы под ультрафиолетовую лампу с потоком 12000 мкВт/см2 на время 20-30 минут и на расстояние около 2,5см от лампы до кварцевого окошка микросхемы. После стирания все ячейки ППЗУ находятся в состоянии логической единицы.   

                 2.3. Состав типовой микроконтроллерной системы

В состав типовой микроконтроллерной системы управления входит микроконтроллер и аппаратура его сопряжения с объектом управления

Микроконтроллер производит периодический опрос сигналов состояния объекта и в соответствии с заложенным алгоритмом генерирует последовательности сигналов управления (рис.2.4).

 

 

Рис.2.4.Типовая микроконтроллерная система

 

Микроконтроллер производит периодический опрос сигналов состояния объекта и в соответствии с заложенным алгоритмом генерирует последовательности сигналов управления.

Сигналы состояния характеризуют текущие параметры объекта управления. Они формируются путем преобразования выходных сигналов датчиков (Д) с помощью аналого-цифровых преобразователей или формирователей сигналов состояния (ФСС); последние чаще всего выполняют функции гальванической развязки и формирования уровней.

Сигналы управления, выработанные микроконтроллером, подвергаются преобразованию с помощью цифро-аналоговых преобразователей или формирователей сигналов управления (ФСУ), в качестве которых применяются усилители мощности, оптроны, транзисторные или тиристорные ключи и т.д. Выходные сигналы ЦАП и ФСУ представляют собой соответственно аналоговые и дискретные управляющие воздействия

которые поступают на исполнительные устройства (ИУ).

 

             

          2.3.1. Устройство сопряжения с объектом управления

Устройство сопряжения с объектом (УСО), собственно, не является принадлежностью микроконтроллера, но его конкретная техническая реализация определяет, какими видами сигналов МК может обмениваться с ОУ. Конечно, конструкция ОУ и цель управления им накладывают определенные требования на конструкцию УСО. Поэтому конструкции УСО не поддаются унификации и в каждом конкретном случае, возможно, то или иное техническое решение. На рис. 2.5 изображена структура УСО применительно к гипотетическому объекту управления, который характеризуется различными сигналами на выходе и входе. УСО обеспечивает связь объекта управления с шиной данных МК с использованием интерфейсных схем Ин. Вв. Технологические параметры

объекта (температура, давление, перемещение, влажность и пр.) в первичных преобразователях (ПП) - термопарах, термометрах сопротивления, индуктивных датчиках - преобразуются в электрические сигналы

 

               Рис. 2.5. Структура устройства сопряжения с объектом

 

 (постоянное напряжение или частоту). Пройдя через блок нормирующих преобразователей БНП, обеспечивающий стандартный уровень сигнала (обычно 0-И О В), контролируемые параметры поступают на мультиплексор (МС), который коммутирует один из входных сигналов на единственный выход. Коммутация обеспечивается подачей цифрового кода через интерфейс вывода (Ин.Выв.) посредством программы. Скоммутированный канал подается на схему выборки и хранения (УВХ) и далее на аналого-цифровой преобразователь (АЦП), на выходе которого формируется цифровой код, пропорциональный величине контролируемого параметра. Затем цифровой код может быть считан в МП через интерфейс ввода (Ин.Вв.) и шину данных системы. Считанный цифровой код подвергается дальнейшей цифровой обработке в МП по определенному алгоритму. Если необходима индикация результата измерений, то через Ин.Выв результирующая информация может быть подана на цифровой индикатор. Если по результатам измерения необходимо воздействовать на объект, то Ин.Выв может быть использован для передачи через схему управления (Сх.У) и исполнительное устройство (ИУ) управляющего воздействия на объект. Конструкция схемы управления существенно зависит от типа исполнительного устройства. Если исполнительное устройство представляет собой, например, бесконтактное релейное устройство, обеспечивающее полное включение или выключение управляющего воздействия, то для управления на его вход достаточно подать сигнал, принимающий только два состояния: низкого или высокого уровня. Схема управления в этом случае должна выполнять функции усилителя мощности, работающего в ключевом режиме. Если же управляющее воздействие должно изменяться непрерывно, то схема управления должна преобразовать цифровой код, подступающий на ее вход из шины данных микроконтроллера через интерфейс вывода, в непрерывный аналоговый сигнал необходимой мощности. Такие схемы управления обычно строятся на базе цифро-аналоговых преобразователей (ЦАП).

В случае, когда контролируемый параметр преобразуется в частоту, процедура его ввода в микропроцессор значительно упрощается и после формирования в блоке формирования сигнала (БФС) и коммутирования в микропроцессоре сводится к подаче на вход таймера. Все остальные преобразования, связанные с расчетом величины контролируемого параметра, обеспечиваются за счет управляющей программы. В этом случае таймер может быть использован и для формирования в «Сх.У» управляющего воздействия, например, за счет управления углом открывания тиристора.

Следует заметить, что такие звенья УСО, как мультиплексор, схема выборки и хранения, АЦП и Сх.У, нуждаются в управляющих воздействиях всякий раз, когда требуется обращение к ним. Управление этими устройствами осуществляется программно-цифровым кодом, поступающим из ШД системы через интерфейс вывода.

Взаимодействие микроконтроллера с внешними устройствами может строиться по трем основным схемам:

---программно-управляемый обмен;

---обмен по готовности внешнего устройства;

---обмен по прерыванию.

 В первом случае микроконтроллер при возникновении необходимости обращается к ВУ и производит обмен информацией. Однако при этом программа МК должна быть составлена таким образом, чтобы к моменту обмена внешнее устройство было, безусловно, к нему готово.

Второй механизм обмена предполагает перед началом обмена проверку готовности внешнего устройства. Обмен производится лишь при положительном результате такой проверки. Этот способ используется, в основном, в тех случаях, когда микроконтроллер не занят выполнением каких-либо иных задач и его работа строится по циклу “считывание показаний датчика - обработка - выдача управляющих воздействий - считывание показаний датчика ...”.

Обмен по прерыванию предусматривает прерывание естественного порядка выполнения программы в случае запроса на обмен от внешнего устройства, который может поступить на МК в любой момент асинхронно по отношению к работе самого микроконтроллера. Появление запроса ведет к передаче управления специальной программе - обработчику прерывания, которая и выполняет все необходимые для обмена действия, после чего возвращает управление основной программе. Такой способ обмена может быть использован в тех случаях, когда запросы от внешних устройств поступают относительно редко, требуют быстрой реакции на них и, в то же время, на микроконтроллер возложено решение ряда дополнительных задач, выполнение которых может проходить не в реальном масштабе времени (“фоновые задачи”).

 Микроконтроллер считывает информацию от одного или не­скольких датчиков. В первом случае датчик должен подключаться непосредственно к входу АЦП, выходы которого подключаются к одному из портов МК. При этом цикл обработки включает несколько обращений к датчику. Во втором случае датчики подключаются к АЦП через аналоговый мультиплексор, что требует от микроконтроллера управления и этой схемой.

При работе МК с датчиками, имеющими механические или электромеханические контакты (кнопки, клавиши, реле и клавиатуры), возникает явление, называемое дребезгом. Это явление заключается в том, что при замыкании контактов возможно появление отскока (BOUNCE) контактов, которое приводит к переходному процессу. При этом сигнал с контакта может быть прочитан МК как случайная последовательность нулей и единиц.

 Причиной дребезга является упругость самих контактов. При нажатии на кнопку или при срабатывании какого-либо датчика контакты испы­тывают механическое импульсное воздействие. Обладая некоторой упру­гостью и массой, они начинают совершать колебательное движение: один контакт ударяется о другой (замыкание) и снова отходит (размы­кание). Колебательный процесс продолжается некоторое время. При этом количество замыканий и размыканий контактов случайно и зависит от механических свойств контактов и механической силы, воздействую­щей на эти контакты. Обычно этот процесс длится от одной до восьми миллисекунд (рис. 2.6).

 

Рис.2.6. Временные диаграммы напряжения на контактах кнопки и сигнала, введенного в микроконтроллер

 

На временной оси этого рисунка моменты считывания сигна­лов показаны рисками. Внизу рисунка обозначены номера временных слотов. На приведенной временной диаграмме четко просматривается зона дребезга контактов.

Для иллюстрации эффекта подавления дребезга контактов за счет ввода информации в строго определенные моменты времени на этой временной диаграмме выбран наихудший случай момента взятия отсчета. Этот мо­мент совпадает с зоной дребезга контактов. При этом на выводе порта микроконтроллера может быть считан сигнал логического нуля или логической единицы. В случае считывания в момент дребезга контактов логического нуля сигнал, введенный в микроконтроллер, будет выглядеть, как показано на     рис. 2.6 сплошной линией, а в случае считывания логической единицы — пунктиром. Однако вне зависимости итого, какое значение сигнала мы считаем — нулевое или единичное, переход будет только один.

Дребезг контактов приводит только к неопределенности обнаружения момента нажатия кнопки, которая не превышает периода опроса клавиа­туры. Время дребез­га контактов обычно не превышает 8 мс, поэтому можно производить опрос портов, к которым подключены механические контакты, с периодом, который не­сколько больше, например, 10 мс. Это время и будет временем реакции системы.

Подавить это нежелательное явление можно схемотехническими средствами с использованием буферного триггера (рис. 2.7), но чаще это делается

программным путем.

                  Рис. 2.7. Схема подавления дребезга контактов

 

Наибольшее распространение получили два программных способа ожидания установившегося значения:

1) подсчет заданного числа совпадающих значений сигнала;

2) временная задержка.

Блок-схемы процедур подавления помех от дребезга контактов (DEBONCE) при вводе сигнала 0 показаны на рис. 2.8. Суть первого способа состоит в многократном считывании сигнала с контакта. Подсчет удачных опросов (т.е. опросов, обнаруживших, что контакт устойчиво замкнут) ведется программным счетчиком. Если после серии удачных опросов встречается неудачный, то подсчет начинается сначала. Контакт считается устойчиво замкнутым (дребезг устранен), если последовало N удачных опросов. Число N подбирается экспериментально для каждого типа используемых датчиков и лежит в пределах от 5 до 50.

Пример программного подавления дребезга контакта приводится для случая, когда датчик импульсного сигнала подключен к входу Т0, счет удачных опросов ведется в регистре RЗ, N=20:

DBNC: MOV R3, #20                       ;инициализация счетчика.

DBNC1: JB P3.4, DBNC                   ;если контакт разомкнут, то начать
                                                           ;отсчет опросов сначала.

 DJNZ R3,DBNC1                            ;повторять, пока R3 не станет равным 0.

                                    

 

Рис. 2.8. Блок-схемы процедур подавления дребезга контактов путем многократного считывания (а) и с использованием временной задержки (б)

 

Устранение дребезга контакта путем введения временной задержки заключается в следующем. Программа, обнаружив замыкание контакта К, запрещает опрос состояния этого контакта на время, заведомо большее длительности переходного процесса.

Временная задержка (в пределах 1-10 мс) подбирается экспериментально для каждого типа датчиков и реализуется подпрограммой DELAY.

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 289; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.034 с.)
Главная | Случайная страница | Обратная связь