Современная электроника №2/2022
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 54 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 2 2022 e ( ); PORTD=0b01110000; //стар- ший полубайт 0111 кода 01110101 e ( ); PORTD=0b01010000; //млад- ший полубайт 0101 кода 01110101 //запись двоичного кода символа s 01110011 e ( ); PORTD=0b01110000; //стар- ший полубайт 0111 кода 01110011 e ( ); PORTD=0b00110000; //млад- ший полубайт 0011 кода 01110011 }} После запуска симуляции схемы про- грамма инициализации микроконтрол- лера выводит на линию PC4 логический ноль, который поступает на вывод RS микросхемы LM044L. В результате шина D0…D7 переходит в режим при- ёма команд, первая из которых пере- водит микросхему LM044L в 4-разряд- ный режим работы. После этого через линии D4…D7 выполняется приём команд включения дисплея, очистки дисплея и установки курсора в нуле- вую позицию. Запись байта команды в регистр команд выполняется в два эта- па: сначала на выводы D4…D7 подаёт- ся старший полубайт команды, затем младший. Далее программа инициали- зации микроконтроллера выводит на линию PC4 логическую единицу, что переводит линии D4…D7 микросхе- мы LM044L в режим приёма данных, запись которых выполняется в цикле следующим образом: сначала на выво- дыD4…D7 подаётся старший полубайт данных, затем младший. При этом на вывод Е непрерыв- но подаётся тактовый сигнал, по заднему фронту которого микросхе- ма LM044L считывает информацию (команды/данные). Таким образом, на экран дисплея посимвольно выводит- ся строка, двоичные коды символов которой были поданы на шину D4…D7 (рис. 12б). Символы строки «Proteus» в двоич- ном коде: P 01010000 r 01110010 o 01101111 t 01110100 e 01100101 u 01110101 s 01110011 В CodeVisionAVR есть инструменты, с помощью которых написание про- граммного кода значительно упрощает- ся, а многие операции могут быть авто- матизированы. Например, с помощью функции lcd_puts(char *str) библиоте- ки alcd.h можно заменить представ- ленный выше фрагмент кода вывода на экран буквенно-цифрового дис- плея строки Proteus одной командой lcd_puts(«Proteus»). Применение CodeWizardAVR для формирования кода управления LCD-дисплеем Воспользуемся для формирования программного кода управления бук- венно-цифровым дисплеем генерато- ром кода CodeWizardAVR, окно кото- рого открывается в процессе создания командой основного меню File/New/ Project нового проекта в CodeVisionAVR после нажатия кнопки Yes в окне Confirm (рис. 7). Перед запуском гене- ратора будет предложено выбрать тип микроконтроллера (AT90, ATtiny, ATmega или XMEGA), что выполняют установкой переключателя в соответ- ствующую позицию (рис. 13). В CodeWizardAVR задают параметры микроконтроллера, его внутренних ресурсов и используемых в схеме пери- ферийных устройств. В нашем при- мере это тип и частота работы микро- Рис. 13. Выбор типа микроконтроллера AVR Рис. 14. Настройка в окне CodeWizardAVR параметров: (а) микроконтроллера, (б) портов ввода/ вывода микроконтроллера, (в) буквенно-цифрового дисплея и подключения его выводов к микроконтроллеру а б в
RkJQdWJsaXNoZXIy MTQ4NjUy