Начинает выполняться целевая программа и зеленый светодиод плавно
меняет яркость свечения. Этот
первый результат покажите преподавателю.
Остановите выполнение программы кнопкой “Reset”
. Так как в
нашей программе не предусмотрена работа с COM портом, то появится
следующее сообщение (рис. 2.38), в котором можно либо “сбросить”
микроконтроллер в исходное состояние (Reset), либо выйти из отладчика
(Halt). Если нет нужды в повторном запуске программы, то выйдите из
отладчика.
Рис. 2.38. Диагностическое сообщение
10.2.4 ПРОГРАММИРОВАНИЕ ЖК ДИСПЛЕЯ (LCD)
Теперь необходимо записать процедуры для работы с LCD дисплеем,
т.к. все остальные модули программы выводят в него данные. Интерфейс
обмена данными между МК и ЖКД четырехбитный, поэтому в первой
процедуре LCDNibble(...) в соответствии со схемой на рис.2.1 передача
полубайта (ниббла, тетрады) в ЖКД будет производиться через четыре
младших бита порта С. Управляющие работой LCD сигналы передаются по
старшим линиям порта С. Операнды 0xF0(11110000) и 0x0F(00001111)
являются масками для обнуления/ выделения требуемой тетрады с помощью
поразрядных логических команд (И - &) и (ИЛИ - |).
Далее понадобятся две процедуры записи в ЖКД кода отображаемого
символа и управляющего байта в соответствии с таблицами 2.10 и 2.11.
Процедура инициализации дисплея переводит его в 4-х битный режим,
очищает дисплей и производит некоторые другие стандартные действия, как
это видно из комментариев.
Подпрограммы LCDNstrn(), LCDNclr() и LCDNxy() осуществляют
запись строки, очистку, позиционирование курсора и являются полезными
дополнениями. Также нам понадобится вспомогательная подпрограмма
90