Проектирование автоматизированнь2х станков и комплексов (830798), страница 35
Текст из файла (страница 35)
е. проводить дискретный контроль или программно выводить логические «О» илидискретное управление. Из36«1», а значит, непосредственно формировать40 выводов микроконтроллера семейства MCS-51организованы как четыре 8-разрядных порта РО-Р3, каждый бит которыхпрограммно может быть проконтролирован либо изменен.За портами РО и Р2 закреплена функция организации внешних шин адресов и данных, если возможностей микроконтроллера проводить контроль иуправление непосредственно через выводы портов не хватает.
Специализирован и порт Р3. По двум из его восьми выводов можно фиксировать два внешних автовекторных прерыванияINTOтатьзанимаявнешниеимпульсы,устройство. Два выводанеRxDиTxDиINTl,приа по выводам ТО иэтомTl -счиарифметико-логическоеявляются соответственно входом и выходом интегрированного на кристалле универсального синхронно-асинхронного приемопередатчика. Альтернативной функцией оставшихся двух выводовRDиWRявляется организация обращения к внешней памяти данных, еслиинтегрированной на кристалле оперативной памяти не хватает.Память микро1<.онтроллеров семействаны: резидентное ОЗУ объемом64 Кбайт;256MCS-51резидентная память программ объемомпрограмм, расширяемая доразделена на четыре зобайт; внешнее ОЗУ, расширяемое до4Кбайт и внешняя память64 Кбайт.Нижняя часть резидентного ОЗУ с адресами от О до128может использоваться программистом для хранения данных (память пользователя).
В нейразмещено четыре банка регистров общего назначения, выбор того или иногобанка определяется двумя битами слова состояния процессораPSW.Этоудобно использовать при переходах к подпрограммам и при обработке прерываний, поскольку освобождает программиста от необходимости сохранения регистров общего назначения в стеке.В зоне адресов от32до48возможна адресация и обработка отдельныхбитов. В системе команд микроконтроллера предусмотрены специальные команды битового процессора. Они позволяют устанавливать и сбрасывать отдельные биты, проверять различные условия и делать переходы, что удобнопри написании УП.В верхних128 байтах резидентного ОЗУ расположены регистры специSFR, управляющие ресурсами микроконтроллера (портаальных функцийми, таймерами, приемопередатчиком, прерываниями и др.). РезидентноеОЗУ при необходимости может быть дополнено внешним ОЗУ объемом до64 Кбайт.В памяти программ, представляющей собой РПЗУ, хранятся инструкции,исполняемые микроконтроллером.
В нижней части РПЗУ расположены век-13.3. ОднокрисmШlьные микроконтроллеры в станках и станочных комплексахторы двух внешних прерыванийINTOиINT 1 и трех169прерываний от ресурсовмикроконтроллера (двух таймеров-счетчиков и приемопередатчика).Таймеры-счетчики предназначены для счета времени (машинных цикловмикроконтроллера) либо внешних импульсов через выводы ТО иTlпорта РЗ.Микроконтроллер содержит два 16-разрядных таймера-счетчика (нулевойТ/СО и первыйT/Cl).Они способны автономно работать в четырех режимах.С таймерами-счетчиками связано шесть регистров специальных функций:четыре счетных, образующих два 16-разрядных счетчика, регистр режимовработыTMOD и регистр управления TCON.Таймеры-счетчики могут отмерять заданные временные промежутки ивызывать прерывания при их завершении, измерять длительность или числовнешних импульсов, задавать частоту работы встроенного приемопередатчика ит.
п.На рис.ме1.В13.26показана схема работы нулевого таймера счетчика в режипрямоугольныхрамкахздесьприведеныаппаратные(устройства) микроконтроллера, в рамках со скругленными краямиресурсы-битыуправляющих регистров, ТО иINTO - выводы порта РЗ. Импульсы от внешнего кварцевого резонатора OSC после деления на 12 (машинные циклы длительностью 1 мкс) поступают на 16-битный счетчик TLO- ТНО и инкрементируют его. Как только он переполнится, установится бит TFO флаг прерываний нулевого таймера-счетчика.Наступит прерывание, если оно былоразрешено, и будет запущена подпрограмма его обслуживания.
Период возникновения таких прерываний составит65 535мкс, но если предварительнозаписать в счетчик значение, с которого начнется счет, период прерыванийможно уменьшить. Установка бита С/ТО в «О» задает счет внешних импульсов, поступающих на вывод ТО.БитыTRO регистров TMOD и TCON позволяют управлять счетомINTO. Если оба бита установлены в «1», высокий уровень на выводе INTO разрешает счет, а низкий запрещает.
Таким образомможно измерять длительность положительного импульса, поданного на INTOС ТОЧНОСТЬЮ ДО 1 МКС.GateOиот внешнего выводаПриемопередатчик независимо от вычислительного ядра побитно выставляет или считывает информацию с линии связи и обеспечивает работуoscС/ТО/ 12TLO~ТО8биттно8битTFOGateOINTOРис.13.26. Схема работы нулевого таймера-счетчика в режиме 117013.Микроэлектронные устройства в станках и станочных комплексахмикроконтроллера в составе управляющей сети (см. рис.13.4).
Всесовременные микроконтроллеры оснащены, по крайне мере, одним универсальнымсинхронно-асинхронным приемопередатчиком (УСАПП), у некоторых такихустройств бывает до четырех и более.Линии связи бывают синхронными или асинхронными. В синхронной линии есть выделенная линия синхронизации, по фронту или спаду сигнала накоторой передатчик должен выставлять очередной бит на линию данных, априемник-принимать его. При асинхронной организации связи выделенной линии синхронизации нет, скорость обмена и длина передаваемых словоговорены заранее между всеми абонентами сети. Слово начинается со стартбита. Приняв его, приемник побитно считывает слово и заполняет свой приемный буфер .
Заканчивается слово стоп-битом. За это время приемник должен передать содержимое буфера вычислительному ядру и приготовиться кприему следующего слова.УСАПП микроконтроллера семейства МСS-51способен работать в четырех режимах и имеет два связанных с ним регистра специальных функций:регистр управленияSCONвыводакоторые предназначены для обмена по последовательноRxDиTxD,и буферный регистрSBUF.У порта РЗ есть дваму каналу. Информация после записи в буферный регистр автоматически побитно выдается на линию связи в соответствии с протоколом выбранного режима. В буфере приемника также автоматически записывается информация,и после его заполнения наступает прерывание, при обработке которого следует считывать буфер приемника.В синхронном режиме буфер приемника или передатчика передает и принимает информацию через выводRxD,а через выводTxDведущим устройством выдаются импульсы синхронизации.Остальные три режима обмена УСАПП являются асинхронными.
Информация передается через вывода принимается через выводФормат слова может бытьстарт-бит,1ОилиTxD,11 бит:8RxD.бит данных, дополнительный бит и стоп-бит. Частота приема и передачи может быть кратнойчастоте резонатора или задаваться первым таймером-счетчикомT/Cl.Девятый бит используют или как бит четности для проверки достоверности передаваемой информации, или для организации магистральных линий связи(см. рис.13.4).В составе регистра управленияSCONесть специальный битSM2 -разрешение многопроцессорной работы. Если он установлен, прерывание приемника наступает только в том случае, если девятый бит слова равен«1».Когда ведущий сети намерен передать блок данных одному из ведомых микроконтроллеров, он выдает на линию слово с адресом ведомого.
Адресноеслово отличается от слова данных тем, что в нем девятый бит данных всегдаравен«1»,а в слове данных-«О». Таким образом, приSM2 = 1ни один изведомых микроконтроллеров не будет реагировать на слово данных, но все13.3.ОднокрисmШlьные микроконтроллеры в станках и станочных комплексах171среагируют на адресное слово. Проанализировав полученный адрес, адресуемый микроконтроллер сбрасывает свой битSM2,а остальные оставляют егобез изменения. После этого ведущий микроконтроллер может начинать выдачу на линию блока слов с «О» в девятом бите, на что будет реагироватьтолько адресуемый микроконтроллер.Система прерываний микроконтроллера является автовекторной с двумявнешними (выводыINТl порта РЗ) и тремя внутренними (два таймераINTO,и приемопередатчик) источниками.
Система прерываний, как и остальныересурсы, управляется регистрами специальных функций. Используя регистрразрешения прерываний, можно запретить все прерывания либо индивидуально разрешить их от отдельных источников. Регистр приоритетов устанавливает приоритеты прерываний.Система обеспечения надежности работы также интегрирована в современных микроконтроллерах. Основные причины сбоев в работе микроконтроллерапомехи по линиям связи с объектом управления и по цепям-питания.
Если напряжение питания упадет ниже установленного предела (дляMCS-51это4,6В при норме в5В), в счетчике команд микроконтроллеравозможен сбой, т. е. он не перейдет к выполнению следующей предписаннойкоманды, а считает из памяти программ неверный код или даже ссьшку наоперанд. Адекватной реакции на программный код не будет и микроконтроллер «подвиснет».
Вернуть его к нормальной работе можно, только активизировав вывод сбросаReset.При этом в счетчике команд записывается «О» имикроконтроллер начинает правильно интерпретировать программное обеспечение.Одно из средств предотвращения таких сбоев(см. рис.13.12,-компаратор напряженияд), который при падении напряжения ниже определенногопредела подключает резервный источник питания, а если напряжение падаетниже4,6 В, -сбрасывает микроконтроллер.Сторожевой таймерWDтакже относится к системе обеспечения надежности и призван обнаруживать программные сбои, наблюдая за исполнениемпрограммного обеспечения.
Через определенные периоды времени сторожевой таймер пытается активизировать выводResetи сбросить микроконтроллер. В программное обеспечение микроконтроллера должна быть включенапроцедура, которая сама регулярно перезапускает сторожевой таймер . Кактолько работа программы будет нарушена, процедура сброса сторожевоготаймера вовремя не запустится и микроконтроллер будет перезагружен.13.3.3. Системакоманд и программирование микроконтроллераВ основе программного обеспечения, на каком бы языке его не разрабатывали, лежит система команд. Система команд микроконтроллеров семействаMCS-51включает111команд, содержащих один, два или три байта и17213.Микроэлектронные устройства в станках и станочных комплексахвыполняемых за один, два или четыре (умножение, деление) машинных цикла.
Длительность машинного цикла -1 мкс.Язык ассемблера описывает систему команд микроконтроллера. Синтаксис его команд состоит из мнемонического обозначения предписанного действия, вслед за которым идут операнды или их адреса. Например, мнемоническое обозначениеMOV(переместить) используется18 различными командами для обработки трех типов данных (битов, байтов, адресов) в различныхадресных пространствах.