Versuch mal. Der Bascom hat bei SRAM-LCD die Register vernudelt.
Das erste Zeichen hätte er aber eigentlich noch zeigen müssen, dann aber Schrott
Code:
copyright = Guenter Gerold
www = www.gerold-online.de/cms
email = tv@gerold-online.de
comment = I2C LCD Treiber
libversion = 1.00
date = 07.07.2008
statement = Wer was zu verbessern hat kann sich bei mir melden...
statement =
history = Final.
[_Init_LCD]
_Init_LCD:
*BASIC: waitms 20
*BASIC: i2cstart
*BASIC: i2cwbyte gg_Displayport
*BASIC: i2cwbyte &H06
*BASIC: i2cwbyte &H00
*BASIC: i2cwbyte &HE8
*BASIC: i2cstop
Ldi _temp2, &H3c
rCall _gg_i2c_config
Ldi _temp2, &H0f
rCall _gg_i2c_config
_gg_i2c_config:
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H02
*BASIC: I2cwbyte _temp2
*BASIC: I2cwbyte &H01
*BASIC: I2cstop
*BASIC: Waitms 2
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H03
*BASIC: I2cwbyte &H00
*BASIC: I2cstop
ret
[end]
[_CLS]
_CLS:
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H02
*BASIC: I2cwbyte &H01
*BASIC: I2cwbyte &H01
*BASIC: I2cstop
*BASIC: Waitms 2
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H03
*BASIC: I2cwbyte &H00
*BASIC: I2cstop
ret
[end]
[_Write_lcd]
_Write_lcd:
Ldi _temp2, &H05
rjmp _Write_lcd_Byte
_Lcd_control:
Ldi _temp2, &H01
_Write_lcd_Byte:
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H02
MOV r17, _temp1
RCALL _i2c_write
MOV r17, _temp2
RCALL _i2c_write
*BASIC: I2cstop
rcall LCD_Write_Enable
ret
LCD_Write_Enable:
*BASIC: I2cstart
*BASIC: I2cwbyte gg_Displayport
*BASIC: I2cwbyte &H03
*BASIC: I2cwbyte &H04
*BASIC: I2cstop
ret
[end]
Lesezeichen