Преамбула
Если в момент сброса не нажата ни кнопка УСТ., ни кнопка ДИАГ., то управление переходит к основной программе, обозначенной меткой MAIN_PROC. В этой секции осуществляется считывание значения отсчитываемого периода из ячейки EEPROM с адресом h’00’ и инициализация счетных регистров. Зеленый СИД включается, а остальные световые индикаторы и звуковой излучатель выключаются.
Обратный отсчет
В фазе обратного отсчета осуществляется периодический ВЫВОД на дисплей значения счетчика минут — обновление дисплея осуществляется в прерывании. Зеленый СИД остается во включенном состоянии до тех пор, пока на дисплее не появится число
Всегда, за исключением времени обработки нажатия кнопки СТОП, на дисплей выводится значение счетчика минут. В секции REPEAT проверяется значение счетчика секунд, и, если он равен нулю, цикл повторяется, т. е. период повторения равен одной минуте. Использование более простого решения, заключающегося в непрерывном обновлении 7-сегментных индикаторов, привело бы к ухудшению изображения, поскольку данные, постоянно передаваемые по последовательному интерфейсу, могли бы вызывать кратковременную засветку лишних сегментов, которые должны быть выключены. Кроме того, период повторения цикла, равный одной минуте, упрощает кратковременное включение звукового излучателя при равенстве счетчика минут двум и единице.
Две минуты до конца
Когда на дисплее появляется число
Одна минута до конца
Когда на дисплее высвечивается
Тайм-аут
Когда счетчик минут становится равным нулю, на дисплей выводится
После ассемблирования исходного кода программы и, быть может, даже после симуляции (см. Рис. 8.7 на стр. 265) полученный шестнадцатеричный код можно загрузить в память программ. На первом этапе достаточно реализовать только программу диагностики и связанные с ней подпрограммы, чтобы проверить правильность монтажа устройства. Подробности процесса программирования в значительной степени зависят от используемого программатора и его программного обеспечения.
На снимке экрана, показанном на Рис. 17.4, изображено окно ИСР MPLAB при работе с программатором PICSTART Plus® компании Microchip (см. Рис. 17.5). К персональному компьютеру программатор подключается через последовательный порт RS-232, а установление соединения осуществляется из пункта меню Pic
На среднем окне отображается состояние процесса программирования или верификации. В данном случае сообщается, что была запрограммирована память программ до ячейки с адресом h’03FF’ и что верификация прошла успешно. Весь этот процесс занимает меньше минуты, а размер нашей программы оказался равен 254 словам памяти программ.
При использовании микроконтроллеров PIC, имеющих в обозначении букву «F», процесс программирования можно повторить несколько тысяч раз без ухудшения параметров FLASH-памяти программ. Микроконтроллеры с индексом «С»[197], такие как PIC16C74, имеют память программ EPROM-типа. Если в корпусе микросхемы имеется кварцевое окошко (см. фотографию на стр. 15), то перед повторным программированием содержимое памяти программ необходимо стереть, подвергая кристалл действию ультрафиолетового излучения в течение примерно 20 мин. Хотя модели с кварцевым окошком необходимы для разработки устройств на базе микроконтроллеров С-серии, они все-таки достаточно дороги.