有沒有老師可以給我講講這個(gè)程序中的B的代碼是怎么定義下來的?
小弟看了16X2的LCD的說明書還是沒明白,還望有老師可以給小弟講講.
;1602液晶第二行顯示一個(gè)B
;**************************************************************************
;* Date : 2004.4.20 *
;* Support Mb:0735-2197559 E-mail:c51cn@163.com *
;* Create by :鄧德武 www.c51.cn www.china-mcu.cn 更多例程請(qǐng)登陸網(wǎng)站 *
;* 網(wǎng)站單片機(jī)學(xué)習(xí)資料同步更新,敬請(qǐng)新老朋友隨時(shí)關(guān)注 *
;*注意:因ISP下載口與液晶數(shù)據(jù)口重復(fù),所以用ISP下載時(shí),請(qǐng)先將液晶撥下,燒寫好后再插上液晶;
;**************************************************************************
RS BIT P3.0
RW BIT P3.1
E BIT P3.2
DB0_DB7 DATA P0
ORG 00H
AJMP START
ORG 000BH
AJMP INSE
ORG 50H
START:MOV TMOD,#0
MOV TL0,#0
MOV TH0,#0
SETB EA
SETB ET0
SETB TR0
MOV R5,#50
MOV SP,#60H
ACALL INIT
MOV A,#0C3H ;寫入顯示地址為第二行第三位.
ACALL Write
MOV A,#42H ;字母B的代碼.
ACALL WriteDDR
LOOP: AJMP LOOP
INSE: MOV TL0,#0 ;中斷服務(wù)子程序.
MOV TH0,#0
DJNZ R5,NO
MOV R5,#50
NO: RETI
INIT:
MOV A,#38H ;使用8Bits匯流排,顯示兩行,使用5*7的字型.
LCALL Write
MOV A,#0EH ;顯示器開,光標(biāo)開,光標(biāo)閃爍.
LCALL Write
MOV A,#06H ;字符不動(dòng),光標(biāo)自動(dòng)右移一格.
LCALL Write
RET
CheckBusy: ;檢查忙碌子程序.
PUSH ACC
CB_Loop: CLR RS
SETB RW
CLR E
SETB E
MOV A,DB0_DB7
CLR E
JB ACC.7,CB_Loop
POP ACC
ACALL DELAY
RET
Write: ;寫入IR寄存器子程序.
ACALL CheckBusy
CLR E
CLR RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
WriteDDR: ;寫入DR寄存器子程序.
ACALL CheckBusy
CLR E
SETB RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
DELAY: ;延時(shí)子程序.
MOV R6,#5
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
關(guān)于單片機(jī)中的LCD顯示入門
全部回復(fù)(4)
正序查看
倒序查看