日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

關(guān)于單片機(jī)中的LCD顯示入門

有沒有老師可以給我講講這個程序中的B的代碼是怎么定義下來的?
小弟看了16X2的LCD的說明書還是沒明白,還望有老師可以給小弟講講.
;1602液晶第二行顯示一個B
;**************************************************************************
;*  Date :  2004.4.20                                                     *
;*  Support Mb:0735-2197559    E-mail:c51cn@163.com                       *
;*  Create by :鄧德武      www.c51.cn www.china-mcu.cn 更多例程請登陸網(wǎng)站 *
;*        網(wǎng)站單片機(jī)學(xué)習(xí)資料同步更新,敬請新老朋友隨時關(guān)注                *
;*注意:因ISP下載口與液晶數(shù)據(jù)口重復(fù),所以用ISP下載時,請先將液晶撥下,燒寫好后再插上液晶;
;**************************************************************************
     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          ;字符不動,光標(biāo)自動右移一格.
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:             ;延時子程序.
MOV R6,#5
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
全部回復(fù)(4)
正序查看
倒序查看
2007-05-31 22:43
有個表格,你查一下就會知道了.
0
回復(fù)
whatcall
LV.5
3
2007-05-31 23:21
42H即字符大寫'B'的ASCII碼(16進(jìn)制).
ASCII碼表在這里可以看到:
http://www.96yx.com/tool/ASC2.htm

實際上如果使用C語言開發(fā),編譯器會將字符直接存儲為其相應(yīng)的ASCII碼.
0
回復(fù)
caomin
LV.5
4
2007-06-01 18:16
@whatcall
42H即字符大寫'B'的ASCII碼(16進(jìn)制).ASCII碼表在這里可以看到:http://www.96yx.com/tool/ASC2.htm實際上如果使用C語言開發(fā),編譯器會將字符直接存儲為其相應(yīng)的ASCII碼.
哦,非常感謝你的幫助,還想請教你一個問題,就是在使用LCD的時候,怎么去定地址寫數(shù)據(jù)呢?
比如說我要在一個LCD屏幕的中間或者其他任意位置顯示某個字符,
怎么去寫我要的地址呢?
0
回復(fù)
whatcall
LV.5
5
2007-06-01 19:34
@caomin
哦,非常感謝你的幫助,還想請教你一個問題,就是在使用LCD的時候,怎么去定地址寫數(shù)據(jù)呢?比如說我要在一個LCD屏幕的中間或者其他任意位置顯示某個字符,怎么去寫我要的地址呢?
不同的LCD控制也是不同的,但是對應(yīng)的使用手冊上都有說明和示例,請研讀對應(yīng)手冊.一般應(yīng)該是用命令指定地址(及位置),再發(fā)送數(shù)據(jù).
0
回復(fù)
發(fā)