TEV-LB0

На плате TEV-LB0 расположена чёрно-белая LCD-панель WINSTAR WG12864A, 128x64. Панель построена на контроллере SAMSUNG S6B0108 (на одной панели два контроллера). У WG12864A нет регулировки контрастности, поэтому схема регулировки контрастности добавлена снаружи. Кроме того, есть линия управления подсветкой LCD-панели. Пока подсветка не включена, изображение на панели не видно.

Соединение между EM1000 и панелью, схемой регулировки контрастности и подсветкой

Контакт №(1)Линия ввода-вывода EM1000Панель
5GPIO48CTRST_SET(2)
6GPIO47BL(3)
7GPIO46EN
8GPIO39/P4.7D7
9GPIO38/P4.6D6
10GPIO37/P4.5D5
11GPIO36/P4.4D4
12GPIO35/P4.3D3, CTRST3(2)
13GPIO34/P4.2D2, CTRST2(2)
14GPIO33/P4.1D1, CTRST1(2)
15GPIO32/P4.0D0, CTRST0(2)
16GPIO44RST
17GPIO43D/I
18GPIO42R/W
19GPIO41CS2
20GPIO40CS1
  1. Номер контакта на разъёме TEV-LB0.
  2. Линия схемы регулировки контрастности, а не самой LCD-панели.
  3. Линия управления подсветкой.

Необходимый код инициализации на Tibbo BASIC/C

Предполагается, что вы знакомы с Tibbo BASIC/C и Tibbo IDE (TIDE).

Для правильной работы панели выберите Project-> Settings и укажите платформу EM1000 или EM1000G . Затем нажмите Customize, чтобы открыть диалог Customize Project. В нём дважды щёлкните строку Display Panel Type и выберите Samsung S6B0108 (Winstar WG12864A).

В проект также нужно добавить следующий код инициализации:

lcd.iomapping="44,46,40,41,43,42,4" 'RST,EN,CS1,CS2,DI,RW,data_bus
io.num=PL_IO_NUM_46
io.enabled=YES
io.num=PL_IO_NUM_44
io.enabled=YES
io.num=PL_IO_NUM_40
io.enabled=YES
io.num=PL_IO_NUM_41
io.enabled=YES
io.num=PL_IO_NUM_42
io.enabled=YES
io.num=PL_IO_NUM_43
io.enabled=YES
lcd.width=128
lcd.height=64
lcd.rotated=NO
lcd.inverted=NO
lcd.enabled=YES
set_lcd_contrast(11)

Процедуру set_lcd_contrast() нужно вызывать после инициализации панели. Она задаёт уровень контрастности в 16 шагов - в схеме регулировки контрастности всего четыре линии данных. Поэтому уровень контрастности 16 равен уровню 0.

Предлагаемый код этой функции:

Sub Set_lcd_contrast(level As Byte)
'Contrast control shares the data bus with the LCD. Initialize LCD first,
'then set the contrast (before LCD initialization the bus may be driven
'by the LCD)
   'enable port, output data
   io.portnum=PL_IO_PORT_NUM_4
   io.portenabled=255
   io.portstate=level
   'generate strobe for the data register (on the LCD PCB)
   io.num=PL_IO_NUM_48
   io.enabled=YES
   io.state=HIGH
   io.state=LOW
   'disable port
   io.portenabled=0
End Sub

Чтобы включить подсветку, используйте такой код:

io.num=PL_IO_NUM_47 'backlight
io.enabled=YES
io.state=LOW
Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке