Использование LCD2004A 4х20 с I2C модулем.

Программа для LCD2004A 4х20 с I2C модулем на Bascom-AVR 
с использованием библиотеки lcd_i2c_pcf8574.lib
$Regfile="attiny13a.dat"   '!Программа занимает почти всю память
$hwstack=32
$swstack=8
$framesize=16
$lib "lcd_i2c_pcf8574.lib"
Config Pinb.5 = Input
Set Portb.'включить внутренний подтягивающий резистор
Config Portb.2 = Output
Config Portb.0 = Output
Config Pinb.1 =  Output
Waitms
100
'конфигурация I2C
Config Scl = PortB.3                         'линия тактовых импульсов
Config Sda = PortB.4                         'линия данных
CONFIG  I2CDELAY = 10                        'скорость - 100 кГц
I2cinit
Config
Lcd = 20 * 4
Dim _out_rw As Byte
Dim _out_e2 As Byte
Dim _lcd_e As Byte
Const
Pcf8574_lcd = &H4E                                    ' Defines the address of the I/O expander for LCD
Const Pcf_e2_is_output = 1                                  ' festlegen das E2 ein Ausgang ist
Const Pcf_rw_is_output = 1                                  ' festlegen das RW ein Ausgang ist
Const Pcf_rs = 0
Const Pcf_rw = 1
Const Pcf_e1 = 2                                            '2
Const Pcf_e2 = 3                                            '3
Const Pcf_d4 = 4
Const Pcf_d5 = 5
Const Pcf_d6 = 6
Const Pcf_d7 = 7
_lcd_e
= 128                                                ' 64=E2 128=E1 192=E1+E2
_out_rw
= 1                                                 ' Ausgang ein schalten
_out_e2
= 1
Cursor Off
Cls
Toggle
_out_rw
Do

  
Cls
  
Lcd "    Temp: "
  
Lowerline
  
Lcd "Humidity: "
  
Thirdline
  
Lcd "    Date: "
  
Fourthline
  
Lcd "    Time: "
  
Locate 1 , 19
  
Lcd "." : Wait 1
  
Locate 1 , 19
  
Lcd "o" : Wait 1
  
Locate 1 , 19
  
Lcd "O" : Wait 1
  
Locate 1 , 19
  
Lcd "o" : Wait 1

Loop
End

lcd_i2c_pcf8574.lib с другим примером здесь

Фьюзы


Таблица кодов предназначена для не библиотечного программирования и для написания собственной библиотеки. Показывает процесс отправки кодов по I2C. В таблице не только инициализация LCD2004A_ I2C, но способ вывода слов и цифр. 

Если сразу послать коды 0x4E 0x3С 0x38 то LCD2004A сразу переключится 
с 2х линейного режима в 4х линейный.  

Практически


2 комментария:

  1. Приветствую! возможно ли подключение двух дисплеев по i2c в bascom? толком ни где не могу найти примеры.

    ОтветитьУдалить