TEV-LB0
На плате TEV-LB0 расположена чёрно-белая LCD-панель WINSTAR WG12864A, 128x64. Панель построена на контроллере SAMSUNG S6B0108 (на одной панели два контроллера). У WG12864A нет регулировки контрастности, поэтому схема регулировки контрастности добавлена снаружи. Кроме того, есть линия управления подсветкой LCD-панели. Пока подсветка не включена, изображение на панели не видно.
Соединение между EM1000 и панелью, схемой регулировки контрастности и подсветкой
| Контакт №(1) | Линия ввода-вывода EM1000 | Панель |
| 5 | GPIO48 | CTRST_SET(2) |
| 6 | GPIO47 | BL(3) |
| 7 | GPIO46 | EN |
| 8 | GPIO39/P4.7 | D7 |
| 9 | GPIO38/P4.6 | D6 |
| 10 | GPIO37/P4.5 | D5 |
| 11 | GPIO36/P4.4 | D4 |
| 12 | GPIO35/P4.3 | D3, CTRST3(2) |
| 13 | GPIO34/P4.2 | D2, CTRST2(2) |
| 14 | GPIO33/P4.1 | D1, CTRST1(2) |
| 15 | GPIO32/P4.0 | D0, CTRST0(2) |
| 16 | GPIO44 | RST |
| 17 | GPIO43 | D/I |
| 18 | GPIO42 | R/W |
| 19 | GPIO41 | CS2 |
| 20 | GPIO40 | CS1 |
- Номер контакта на разъёме TEV-LB0.
- Линия схемы регулировки контрастности, а не самой LCD-панели.
- Линия управления подсветкой.
Необходимый код инициализации на 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