Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Мирский Владислав. Программа-драйвер для ЖКИ на базе контроллера HD44780


      Довольно-таки часто приходится разрабатывать проекты с выводом информации на ЖКИ, а так как требования всегда разные, то практически каждый раз приходится заново переписывать программу управления ЖКИ. В связи с этим возникла идея написания универсальной программы-драйвера, с помощью которой можно было бы легко, и, главное быстро, выводить данные в требуемом формате на ЖКИ. Программисту даже не обязательно вникать во все тонкости управления ЖКИ на базе контроллера HD44780, достаточно лишь подключить 2 файла с расширением .inc и вызывать нужные подпрограммы отображения. Таких подпрограмм всего 4: LCD, LCD_INCPLACE, LCD_DECPLACE, LCD_BYTE.

      При вызове программы LCD происходит индикация символа, код которого находится в аккумуляторе. Местоположение индицируемого символа задается в регистре PLACE, причем в старшей тетраде находится номер строки (1-4), а в младшей – положение символа (0-F). Т.е. если PLACE=H’10’, то символ будем отображен в первой строке крайне левым, а если PLACE=H’3E’, то символ будем отображен в третьей строке 15 слева. При вызове подпрограммы LCD_INCPLACE происходит запись находящегося в аккумуляторе символа в следующее справа знакоместо от последней записи. При вызове подпрограммы LCD_DECPLACE происходит запись символа в следующее слева знакоместо от последней записи. Для индикации байта, находящегося в аккумуляторе, служит подпрограмма LCD_BYTE. Местоположение также определяется в регистре PLACE, причем сначала будет выведена старшая тетрада, а справа от нее младшая.
      В начале следует инициализировать индикатор, для чего служит подпрограмма LCD_INIT. Перед ее запуском следует определить разрядность шины и наличие курсоров. Разрядности шины задается с помощью флага BUS8. При BUS8=1 будет 8-ми разрядная шина данных (рис. а), а при BUS8=0 - 4-х разрядная шина данных (рис. б). Следует помнить, что для 4-х разрядной шины используется старшая тетрада. В качестве шины данных у микроконтроллера используется PORTD, а в качестве управляющих сигналов – 3 вывода PORTE, но все они вынесены в EQU и могут быть легко заменены.


      Когда флаг LCD_C=1, то включен курсор в виде подчерка, а при LCD_В=1 включен курсор в виде мигающего знакоместа. Если в дальнейшем потребуется включать/выключать курсоры, то достаточно будет установить соответствующий флаг и вызвать подпрограмму LCD_SETUP.
      Программа состоит их двух файлов: lcd.inc – файл непосредственно с драйвером и lcd_symbols.inc – файл, содержащий коды символов (включается в часть программы, где прописаны все EQU). Для индикации русских букв, как прописных так и заглавных, достаточно загрузить их в аккумулятор и вызвать одну из вышеперечисленных подпрограмм отображения (movlw б; movlw Ф ). Для индикации английских букв следует загружать их в аккумулятор с подчеркиванием (movlw _Z; movlw _v). Вообще, файл lcd_symbols.inc может быть переписан любым образом по желанию программиста.
      На моем сайте www.picro.narod.ru в разделе ПРОГРАММЫ Вы можете взять файл архива lcd.rar c этими файлами

Автор проекта Мирский Владислав, E-mail: picro@list.ru.


 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100