Professional Documents
Culture Documents
LCD Program
LCD Program
#include<p16f877a.inc>
ORG0X000
GOTORESET
;RESETADDRESS
ORG0X007
RESET
BSFSTATUS,RP0
BCFSTATUS,RP1
BSFPCON,0
BSFPCON,1
GOTOSTART
;NOWINBANK1
ORG0X20
START
CALLINITIALISATION
BCFPORTC,0;DATAONPORTDISTAKENASCOMMAND
FORLCD
MOVLW0X3F
CALLSEND
MOVLW0X0E
CALLSEND
;DISPLAYON,CURSERBLINKING
MOVLW0X01
CALLSEND
;DISPLAYCLEAR
MOVLW0X80
;SETDDRAMADDRESSAS0X00H,
MEANSPUTCURSERATFIRSTLINE
CALLSEND
BSFPORTE,0
DATA
MOVLW0X07
CALLLCDDELAY
CALLLCDDELAY
MOVLW'H'
;DATAONPORTDISTAKENAS
CALLSEND
MOVLW'E'
CALLSEND
OVER
GOTOOVER
INITIALISATION:
BCFSTATUS,RP0
;BANK0
CLRFPORTD
;PORTBASDATAPINS
CLRFPORTE
;PROTEASCONTROLPINS
BSFSTATUS,RP0
;BANK1
MOVLW0X00
MOVWFTRISD
;PORTBOUTPUT
MOVWFTRISE
MOVLW0X86
;PORTSPINCONFIG
MOVWFADCON1
NOP
BCFSTATUS,RP0
;BANK0
MOVLW0XFF
MOVWFPORTD
CALLLCDDELAY
CALLLCDDELAY ;POWERUPDELAYOF67msec
RETURN
SEND:
MOVWFPORTD
NOP
BSFPORTE,2
NOP
NOP
NOP
BCFPORTE,2
MOVLW0XA3
CALLLCDDELAY
CALLLCDDELAY
RETURN
LCDDELAY
MOVWF0X25
;600nSdelay
NEST1
MOVLW0XFF
MOVWF0X27
NEST2
DECFSZ0X27
GOTONEST2
DECFSZ0X25
GOTONEST1
RETURN
END