51單片機(jī)教程:LED數(shù)碼管靜態(tài)顯示接口與編程
MOV A,@R0 ;取最高位的待顯示數(shù)據(jù)
MOVC A,@A+DPTR ;查表獲取字形碼
MOV SBUF,A ;送串行口顯示
DELAY: JNB TI,DELAY ;等待發(fā)送完畢
CLR TI ;清發(fā)送標(biāo)志
DEC R0 ;指針下移一位,準(zhǔn)備取下一個待顯示數(shù)
DJNZ R1,LOOP ;直到6個數(shù)據(jù)全顯示完。
RET
SETTAB: ;字形表,前面有介紹,以后我們再介紹字形表的制作。
DB 03H 9FH 27H 0DH 99H 49H 41H 1FH 01H 09H 0FFH
; 0 1 2 3 4 5 6 7 8 9 消隱碼
單片機(jī)顯示測試用主程序
ORG 0000H
AJMP START
ORG 30H
START: MOV SP,#6FH
MOV 65H,#0
MOV 64H,#1
MOV 63H,#2
MOV 62H,#3
MOV 61H,#4
MOV 60H,#5
LCALL DISP
SJMP $
如果按圖示數(shù)碼管排列,則以上主程序?qū)@示的是543210,想想看,如果要顯示012345該怎樣送數(shù)?
下面我們來分析一下字形表的制作問題。先就上述“標(biāo)準(zhǔn)”的圖形來看吧。寫出數(shù)據(jù)位和字形的對應(yīng)關(guān)系并列一個表如下(設(shè)為共陽型,也就是對應(yīng)的輸出位為0時筆段亮)
如何,字形表會做了吧,就是這樣列個表格,根據(jù)要求(0亮或1亮)寫出對應(yīng)位的0和1,就成了。做個練習(xí),寫出A-F的字形碼吧。
評論