Магазин  LCD-Сайт  О проекте

  • ЖК-модули
  • Контроллеры
  • ИС поддержки
  • Применения
  • Технологии

    Ссылки
  • Поставщики
  • Производители

  • Купи CD-ROM



    Имя
    E-mail

    Поставщики электронных компонентов

  • Главная страница > ЖКИ > Прменения



    Применение контроллера T6963C фирмы TOSHIBA для управления графическими модулями.

    Введение:

    LCD контроллер T6963C фирмы TOSHIBA является одним из наиболее популярных контроллеров для использования в небольших графических дисплеях. С этой целью он используется в ряде LCD модулей фирмы HANTRONIX с разрешением от 128x128 до 240x128 пикселов. Этот класс модулей наиболее часто используется для отображения текста и графики в малогабаритных устройствах и инструментах. При этом он всегда получает информацию от встроенного 8- битного микропроцессора. Эта статья описывает использование данного контроллера с множеством графических модулей фирмы HANTRONIX. Примеры его использования с 8- битным 8051 микроконтроллером фирмы INTEL легко применимы практически с любыми микроконтроллерами.

    Описание работы:

    T6963 использует простую 8- битную шину данных для передачи команд и данных, как на, так и от дисплея. После подачи напряжения питания необходима схеммная подача команды RESET, по которой контроллер инициализируется серией команд начальной установки в определённый режим по желанию пользователя. После инициализации контроллер готов к приёму и отображению информации. Информация должна быть в соответствующем виде, либо бит матрица графических данных, либо текстовые данные в псевдо ASCll формате. Внутренний знакогенератор имеет смещение кода –20h.что означает необходимость вычитания числа 20h из

    ASCll кода перед посылкой знака для отображения на дисплее.

    В графическом режиме бит-матрицы каждому байту данных ставится в соответствие 8 пикселов на дисплее, как показано на рис.1.


    Рис.1. Карта памяти дисплея 128x128.

    Текстовая информация может быть записана в псевдо 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
    






    Тел.: (495) 514 4110
    Факс: (495) 326 8618

    © 2001 GAW.RU
    Разработка сайта: GAW.RU
    return_links(); ?>