ФУНКЦИОНИРОВАНИЕ МК51
Для включения микроконтроллера в работу необходимо выполнить подключение обязательных внешних электрических цепей питания и управления, как это показано на рис.49: - к выводам 40, 20 присоединяется источник стабилизированного напряжения +5 В; - к выводам 18,19 присоединяется кварцевый резонатор ZQ и конденсаторы С2, С3 емкостью от 20 до 30 пФ; - к выводу 9 присоединяется RC-цепь, для создания импульса сброса МК51 в исходное состояние (RESET); - вывод 31 присоединяется в зависимости от использования памяти программ либо к +Uп (работа с РПД и ВПД совместно), либо к общей точке (работа только с ВПД); - выводы портов присоединяются к соответствующим цепям и устройствам в зависимости от реализуемой задачи управления.
Для КМОП микроконтроллера этот резистор не требуется, однако его наличие не принесет вреда. КМОП микросхемы содержат внутренний резистор, включенный между 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Н.
|