;89Cxxxx單片機(jī) sdin bit p1.1 ;數(shù)據(jù) sclk bit p1.0 ;時(shí)鐘 dc bit p1.2 ;1寫數(shù)據(jù),0寫指令 sce bit p1.3 ;片選 res bit p1.4 ;復(fù)位,0復(fù)位
xadd data 30h ;0-83 yadd data 31h ;0-5
org 0000h LJMP start
start: clr res ;復(fù)位顯示屏 nop nop setb res MOV a,#00100001b ;功能設(shè)定,使用擴(kuò)充指令 lcall enable ;寫指令 MOV a,#10011001b ;設(shè)定液晶偏置電壓 lcall enable ;寫指令 MOV a,#00100000b ;使用基本指令 lcall enable ;寫指令 MOV a,#00001100b ;設(shè)定顯示模式,正常顯示 lcall enable ;寫指令 lcall deldisp ;清屏 MOV xadd,#00h ; MOV yadd,#00h ; lcall setadd ;設(shè)定顯示地址
;從這里開始,你想顯示什么,把數(shù)據(jù)放到A,調(diào)用write就可以了
;比如 MOV a,#0ffh lcall write ;顯示上顯示高度為8點(diǎn)的豎條
setadd: MOV a,#20h ;設(shè)定地址子程序 lcall enable MOV a,yadd clr acc.7 setb acc.6 clr acc.5 clr acc.4 clr acc.3 lcall enable MOV a,xadd setb acc.7 lcall enable ret
deldisp:MOV r0,#07 ;清屏子程序 deld1: MOV r1,#84 deld2: MOV a,#00h lcall write djnz r1,deld2 djnz r0,deld1 ret enable: clr dc ;寫指令 write: clr sce ;寫數(shù)據(jù) MOV lcdd,#08h toto: clr sclk rlc a MOV sdin,c setb sclk djnz lcdd,toto setb dc setb sce ret
end
|
|