Alcatel BE4 lcd interface schematics. Click picture for details
Download the zip code.
Alcatel BE4 lcd library:
;kslib.inc
;====== LCD_Alcatel 311 driver library ============28/11/03==
; driver SED1565 / KS0723
; rb6,rb7 sclock,sdata
; ra0,ra1,ra2,ra3 d/C,Reset,Vccmd,SCE
; internal clock
; standard crystal 4.000 MHz XT - 1us pe instructiune
; Program realizat de Ing. Bergthaller Iulian
;------------------------------------------------------------
;------------------------------------------------------------
count1 equ 0x0C
count2 equ 0x0D
count3 equ 0x0E
count4 equ 0x0F
afisaj equ 0x10
linie equ 0x11
#DEFINE sclk PORTB,6
#DEFINE sdta PORTB,7
#DEFINE dorc PORTA,0
#DEFINE rset PORTA,1
#DEFINE enab PORTA,3
;------------------------------------------------------------
lcd_ini
call halte
call lcres ;resetare
movlw 0xA6 ; lcd in mod normal (0xA7 pt. negativ)
call lccmd
movlw 0xA2 ; bias
call lccmd
movlw 0xA0 ; corespondenta adrese DRAM coloane
call lccmd
movlw 0xC8 ; mod directie, adresare linii invers
call lccmd
movlw 0x22 ; setare tensiune V5
call lccmd
movlw 0x81 ; mod setare volum electric
call lccmd
movlw 0x2E ; mod booster+stabilizator tensiune on
call lccmd
movlw 0x2F ; mod circuit "urmarire" on
call lccmd
movlw 0xE3 ; nop
call lccmd
movlw 0x40 ; setare adresa linie de start
call lccmd
movlw 0xAF ; lcd on (0xAE pt. lcd off)
call lccmd
movlw 0xA5 ; lcd all on
call lccmd
call halte
call halte
movlw 0xA4 ; lcd normal
call lccmd
retlw 00
;------------------------------------------------------------
lcdta bsf dorc
bcf enab ;activare chip si start date
call varsa
bsf enab
retlw 00
;------------------------------------------------------------
lccmd bcf dorc
bcf enab ;activare chip si start date
call varsa
bsf enab
retlw 00
;------------------------------------------------------------
lcres bsf enab
call halte
bsf rset ;resetare
call halte
retlw 00
;------------------------------------------------------------
varsa movwf afisaj
movlw 0x08
movwf count4
vbit bcf sclk
bcf sdta
btfsc afisaj,7
bsf sdta
bsf sclk
rlf afisaj,F
decfsz count4,F
goto vbit
retlw 00
;------------------------------------------------------------
cbild movlw 0xB0
movwf linie ; adresa linie
movlw 0x09 ; ultima linie face parte din pagina 9
movwf count3
cline movf linie,0
call lccmd
movlw 0x11 ; doar 96 din 132 coloane conectate la driver 18+96+18= 132
call lccmd
movlw 0x02 ; 18 coloane in stanga si dreapta ecranului nefolosite
call lccmd
bcf sdta
movlw 0x60 ; 96 de coloane
movwf count1
c1 movlw 0x08 ; 8 biti latime pagina
movwf count2
bsf dorc
bcf enab
c2 bcf sclk
bsf sclk
decfsz count2,F
goto c2
bsf enab
decfsz count1,F
goto c1
incf linie,F
decfsz count3,F
goto cline
retlw 00
;------------------------------------------------------------
halte movlw 0x07
movwf count3
d3 movlw 0x32
movwf count1
d1 movlw 0xF0
movwf count2
d2 decfsz count2,F
goto d2
decfsz count1,F
goto d1
decfsz count3,F
goto d3
retlw 00
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
usaex bsf STATUS,RP0 ;switch to bank 1
movlw 0x00 ; PORTA set to out/inputs
movwf TRISA
bcf STATUS,RP0 ;switch back to bank 0
return
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
usbex bsf STATUS,RP0 ;switch to bank 1
movlw 0x00 ; PORTB set to out/inputs
movwf TRISB
bcf STATUS,RP0 ;switch back to bank 0
return
;main.asm ;=======LCD_Alcatel 311 =================================28/11/03== ; driver SED1565 / KS0723 ; internal clock ; standard crystal 4.000 MHz XT - 1us pe instructiune ; Program realizat de Ing. Bergthaller Iulian ;------------------------------------------------------------ ; configure programmer list p=16f84;f=inhx8m __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;------------------------------------------------------------ ;------------------------------------------------------------ org 0x00 goto init org 0x04 ;------------------------------------------------------------ #INCLUDE P16F84.INC #INCLUDE kslib.INC ;------------------------------------------------------------ init call usaex call usbex movlw 0x00 movwf PORTA movwf PORTB ;------------------------------------------------------------ call lcd_ini call cbild movlw 0xB0 ; scrie pe prima linie call lccmd movlw 0x13 ; (18+33+30+33+18= 132) call lccmd movlw 0x03 ; scrie icepand cu a 33-a coloana (33+18) call lccmd movlw 0x7F ;E call lcdta movlw 0x49 call lcdta movlw 0x49 call lcdta movlw 0x49 call lcdta movlw 0x49 call lcdta movlw 0x00 call lcdta movlw 0x7F ;P call lcdta movlw 0x09 call lcdta movlw 0x09 call lcdta movlw 0x09 call lcdta movlw 0x06 call lcdta movlw 0x00 call lcdta movlw 0x26 ;S call lcdta movlw 0x49 call lcdta movlw 0x49 call lcdta movlw 0x49 call lcdta movlw 0x32 call lcdta movlw 0x00 call lcdta movlw 0x3E ;O call lcdta movlw 0x41 call lcdta movlw 0x41 call lcdta movlw 0x41 call lcdta movlw 0x3E call lcdta movlw 0x00 call lcdta movlw 0x7F ;N call lcdta movlw 0x06 call lcdta movlw 0x08 call lcdta movlw 0x30 call lcdta movlw 0x7F call lcdta movlw 0x00 call lcdta sleep ;------------------------------------------------------------ end ;============================================================
Back to my home page