ФУНКЦИОНИРОВАНИЕ МК51
Для включения микроконтроллера в работу необходимо выполнить подключение обязательных внешних электрических цепей питания и управления, как это показано на рис.49: - к выводам 40, 20 присоединяется источник стабилизированного напряжения +5 В; - к выводам 18,19 присоединяется кварцевый резонатор ZQ и конденсаторы С2, С3 емкостью от 20 до 30 пФ; - к выводу 9 присоединяется RC-цепь, для создания импульса сброса МК51 в исходное состояние (RESET); - вывод 31 присоединяется в зависимости от использования памяти программ либо к +Uп (работа с РПД и ВПД совместно), либо к общей точке (работа только с ВПД); - выводы портов присоединяются к соответствующим цепям и устройствам в зависимости от реализуемой задачи управления. Режим работы устанавливается комбина-цией входных и выходных сигналов. Инициализация (сброс) микросхемы осуществляется сигналом RST (активный высокий уровень напряжения) при условии подачи на микросхему внешнего сигнала синхронизации или при подключенном кварце. Вход RST является входом внутреннего триггера Шмитта. Для того чтобы сброс микросхемы гарантированно произошел, длительность сигнала высокого уровня на входе RST должна быть не менее двух машинных циклов МК51 (24 периода частоты синхронизации fclk). При поступлении внешнего сигнала сброса на вход RST МК51 формирует внутренний сигнал сброса. Внешний сигнал сброса является асинхронным по отноше-нию к внутренней синхронизации МК51. Для п-МОП микроконтроллера автоматический сброс при включении питания Ucc может быть реализован подключением входа RST к Ucc через конденсатор С3 емкостью 10 мкФ и к шине 0 В через резистор R1 8,2 К (рис.49). Для КМОП микроконтроллера этот резистор не требуется, однако его наличие не принесет вреда. КМОП микросхемы содержат внутренний резистор, включенный между RST и выводом О В. Если использовать только внутренний резистор, емкость конденсатора может быть уменьшена до 1 мкФ. Чтобы при включении питания сброс был гарантированно выполнен, вывод RST должен удерживаться в состоянии высокого уровня в течение времени, достаточного для запуска тактового генератора МК51 плюс еще минимум два машинных цикла. Время запуска тактового генератора зависит от его частоты работы и для 10 мГц кварцевого резонатора составляет в среднем 1 мс, а для 1 мГц кварцевого резонатора – 10 мс. Состояние вывода RST проверяется в фазе S5P2 каждого машинного цикла. При подаче сигнала сброса на вход RST внутренний алгоритм сброса МК51 производит следующие действия: - устанавливает счетчик команд PC и все регистры специальных функций, кроме защелок портов Р0-Р3, указателя стека SP и регистра SBUF, в ноль; - указатель стека принимает значение равное 07Н; - запрещает все источники прерываний, работу таймеров-счетчиков и последовательного порта; - выбирает банк RB0 ОЗУ, подготавливает порты Р0-Р3 для приема данных и определяет выводы ALE и как выходы для внешней синхронизации; - в регистрах специальных функций PCON, IP и IE резервные биты принимают случайные значения, а все остальные биты сбрасываются в ноль; - в регистрах SBUF устанавливаются случайные значения; - устанавливает фиксаторы-защелки портов Р0-Р3 в состояние «1». Сигнал сброса на входе RST не влияет на внутреннее ОЗУ данных. После включения питания содержимое ячеек внутреннего ОЗУ данных принимает случайные значения. Выводы портов находятся в случайном состоянии до момента запуска тактового генератора МК51 и только после, этого внутренний сигнал сброса записывает «1» в фиксаторы-защелки портов, настраивая их на ввод. Включение питания без обеспечения гарантированного сброса может привести к тому, что микроконтроллер начнет выполнение программы с некоторого случайного адреса. Это объясняется тем, что счетчик команд PC не будет сброшен в 0000Н.
|