Поиск по сайту: |
|
По базе: |
|
Главная страница > Прменения > ЖКИ |
|
|||||||||
Применение контроллера T6963C фирмы TOSHIBA для управления графическими модулями.Введение: LCD контроллер T6963C фирмы TOSHIBA является одним из наиболее популярных контроллеров для использования в небольших графических дисплеях. С этой целью он используется в ряде LCD модулей фирмы HANTRONIX с разрешением от 128x128 до 240x128 пикселов. Этот класс модулей наиболее часто используется для отображения текста и графики в малогабаритных устройствах и инструментах. При этом он всегда получает информацию от встроенного 8- битного микропроцессора. Эта статья описывает использование данного контроллера с множеством графических модулей фирмы HANTRONIX. Примеры его использования с 8- битным 8051 микроконтроллером фирмы INTEL легко применимы практически с любыми микроконтроллерами. Описание работы: T6963 использует простую 8- битную шину данных для передачи команд и данных, как на, так и от дисплея. После подачи напряжения питания необходима схеммная подача команды RESET, по которой контроллер инициализируется серией команд начальной установки в определённый режим по желанию пользователя. После инициализации контроллер готов к приёму и отображению информации. Информация должна быть в соответствующем виде, либо бит матрица графических данных, либо текстовые данные в псевдо ASCll формате. Внутренний знакогенератор имеет смещение кода –20h. что означает необходимость вычитания числа 20h из ASCll кода перед посылкой знака для отображения на дисплее. В графическом режиме бит-матрицы каждому байту данных ставится в соответствие 8 пикселов на дисплее, как показано на рис.1.
Текстовая информация может быть записана в псевдо ASCll формате и отображается знаком с матрицей 5x7. Графика и текст пишутся раздельно, пользователь разделяет зоны или страницы в памяти встроенной RAM. Затем пользователь выбирает один из трёх путей объединения текстовых и графических страниц на дисплее, или единый режим отображения, графический или текстовый. Схемы применения: В предложенной статье на рис.2 8051 микропроцессор соединён с контроллером LCD через параллельный порт входов/выходов. Он может так же соединяться с шиной данных микропроцессора и проецироваться в зону памяти данных. Программы: Пример программы для микропроцессора 8051 написан на ассемблере и работает по схеме приведённой на рис.2. Программа разработана для дисплея 240x64 но применима для любых графических дисплеев HANTRONIX с контроллером T6963C. Программа сначала подаёт сигнал RESET. Этот сигнал должен длиться не менее 2 мкСек. Затем на LCD контроллер посылаются серия командных байтов для его инициализации. T6963C требует чтобы в случае передачи параметров в режиме данных, они предварялись командным байтом передаваемым в командном режиме. Контроллер инициализируется с графической страницы по адресам 0000-077fh. Эти 1920 байтов содержат данные полного экрана. В данном примере текстовая информация не отображается но контроллер инициализируется и в текстовом режиме для иллюстрации процесса. Текстовая страница начинается непосредственно за графической по адресу 0780h. Все графические дисплеи HANTRONICS имеющие встроенный контроллер T6963C ещё содержат 8К дисплейной памяти RAM. В данном примере вход выбора матрицы (Font Select) установлен в логический 0 и формирует знаки матрицей 5x7 пикселов, что позволяет отображать 30 знаков в строке при 8 строках на экране. Полное число знаков отображаемых в данном режиме составляет 240 штук. При логической единице на линии выбора матрицы формируется поле знака из 6x8 пикселов. После инициализации контроллер устанавливается в режим автозаписи а дисплей заполняется графическими данными. Пример кода программы не преследовал цели высокой эффективности, но должен обеспечить максимальную простоту и наглядность. Приведённые алгоритмы позволяют точнее разобраться с функционированием T6963C. Инициализация: Прежде чем LCD контроллер станет доступен процессору для отображения данных или текста, он должен быть инициализирован. Инициализация должна завершиться сразу после включения питания системы. Следующая таблица показывает последовательные команды и параметры с пояснанием функций каждой. Команды инициализации: Формат адреса [LSB, MSB] Выводимое изображение. Программа: $mod51 ; ***************************************** ; * * ; * Применение T6983 V1.0 * ; * * ; ***************************************** ; Тактовая частота процессора 16 МГц. ; Время выполнения цикла .750 мсек. ; Демонстрационная программа формирования ; изображения на 240x64 точечном графическом ; дисплее с помощью контроллера T6963C. org 000h ljmp start ; начало программы org 100h start : ; Инициализация T6963C clr p3.3 ; схемный сброс nop nop setb p3.3 mov dptr, #msgil ; байты инициализации lcall msgc ; Начало основной программы ; Отображение графики mov dptr , #msgi2 ; установка режима авто. lcall msgc mov dptr , #msg1 ; отображение графики sjmp $ ; *********************************************** ; Подпрограммы ; MSGC передаёт данные регистрируемые DPTR ; в графический модуль как серию команд ; с двумя параметрами каждую. msgc: mov r0 , #2 ; # байтов данных msgc2: clr a movc a , ?a+dptr ; получение байта cjne a , #0a1h , msgc3 ; выполнено ret msgc3: mov rl , a lcall writed ; отправить его ink dptr вотя r0 б msgc2 clr a movc a , ?a+dptr ; получить команду mov r1 , a lcall writec ; отправить команду sjmp msgc ; следующая команда ; MSGD отправляет данные отмеченные DPTR ; в графический модуль. msgd: clr a movc a , ?a+dptr ; получить байт. cjne a , #0a1h , msgd1 ; выполнено ret msgd1: mov r1, a lcall writed ; отправить данные inc dptr sjmp msgd ; WRITEC отправляет байт в R1 графического ; модуля как команду. writec : lcall status ; запрос готовности дисплея setb p3.2 ; с/d = 1 writec1: mov p1 , r1 ; получить данные clr p3 ,0 ; отметить set p3 ,0 ret ; WRITED отправляет данные в R1 графического модуля ; как данные. writed: lcall status ; запрос готовности дисплея clr p3 ,0 ; с/d = 0 sjmp writec1 ; STATUS подтверждает готовность дисплея. ; Из данного состояния дисплей сам не выходит. status: setb p3.2 ; c/d = 1 mov p1 , #0ffh ; p1 на вход mov r3 ,#0bh ; маскировка битов статуса stat1: clr p3.1 ; прочитать mov a , p1 setb p3.1 anl a , r3 ; запрос статуса clr с subb a , r3 jnz stat1 ret ; ****************************************************** ; ТАБЛИЦЫ и ДАННЫЕ ; Байты инициализации для модуля 240x64 msgi1: db 80h, 07h, 40h ; начальный адрес текста db 1eh, 00, 41h ; область текста db 00, 00, 42h ; начальный адрес графики db 1eh, 00, 43h ; область графики db 00, 00, 81h ; установка режима db 00, 00, 24h ; установка счётчика адреса db 00, 00, 98h ; установка режима модуля db 0a1h msgi2: db 00, 00, 0b0h ; режим авто db 0a1h ; 240x64 матрица графических данных ; показаны первые 8 байтов, реально ; матрица содержит 1920 байтов бинарных данных msg1: db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 0a1h end Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|