DAC0832轉(zhuǎn)換程序
程序框圖
程序
ORG 05E0H
05E0 758153 SE13:MOV SP,#53H
05E3 757E00 MOV 7EH,#00H
05E6 757D08 MOV 7DH,#08H
05E9 757C03 MOV 7CH,#03H
05EC 757B02 MOV 7BH,#02H ;顯示緩沖區(qū)初值
05EF 7E00 LO20:MOV R6,#00H
05F1 90FFE0 LO21:MOV DPTR,#0FFE0H
05F4EE MOV A,R6
05F5 F0 MOVX@DPTR,A; ;送0382轉(zhuǎn)換
05F6 7879 MOV R0,#79H
05F8 120077 LCALLPTDS
05FB 7A10 MOV R2,#10H
05FD 120425 LO23:LCALLDIS ;顯示
0600 DAFB DJNZR2,LO23
0602 0E INC R6 ;加1
0603 BEFFEB CJNE R6, #0FFH,LO21 ;不到FF繼續(xù)加
0606 90FFE0 LO22:MOV DPTR,#0FFE0H
06091E DEC R6
060A EE MOV A,R6
060B F0 MOVX@DPTR,A ;減1送0832轉(zhuǎn)換
060C 7879 MOV R0,#79H
060E 120077 LCALLPTDS
0611 7A10 MOV R2,#10H
0613 120425 LO24:LCALLDIS ;顯示
0616 DAFB DJNZR2,LO24
0618 BE00EB CJNER6,#00H,LO22 ;不為0繼續(xù)減
061B 80D2 SJMPLO20 ;循環(huán)
ORG 0077H
0077 F9 PTDS:MOV R1,A ;拆送緩沖區(qū)
0078 117C ACALLPTDS1
007A E9 MOV A,R1
007B C4 SWAPA
007C 540F PTDS1:ANL A,#0FH
007E F6 MOV @R0,A
007F 08 INC R0
0080 22 RET
ORG 0D59H
0D59 D2D4 SSEE:SETBRS1 ;換工作區(qū)
0D5B 7D05 MOVR5,#05H
0D5D 753020 SSE2:MOV 30H,#20H
0D60 75317E MOV 31H,#7EH
0D63 7F06 MOV R7,#06H
0D65 79DD SSE1:MOV R1,#0DDH
0D67 E530 MOV A,30H
0D69 F3 MOVX@R1,A ;字位送入
0D6A A831 MOV R0,31H
0D6C E6 MOV A,@R0
0D6D 900D85 MOV DPTR,#0DDFFH
0D70 93 MOVCA,@A+DPTR ;取字形代碼
0D71 79DC MOV R1,#0DCH
0D73 F3 MOVX@R1,A ;字形送入
0D74 E530 MOV A,30H ;右移
0D76 03 RR A
0D77 F530 MOV 30H,A
0D79 1531 DEC 31H
0D7B 74FF MOV A,#0FFH
0D7D F3 MOVX@R1,A ;關(guān)顯示
0D7E DFE5 DJNZR7,SSE1 ;6位顯示完了嗎?
0D80 DDDB DJNZR5,SSE2 ;5次顯示完了嗎?
0D82 C2D4 CLR RS1
0D84 22 RET
ORG 044FH
044F C0F9A4 LS0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H
0452 B09992
0455 82F880 DB 82H,0F8H,80H,90H,88H,83H,0C6H
0458 908883
045B C6
045C A1868E DB 0A1H,86H,8EH,0FFH,0CH,
045F FF0C89 DB89H,7FH,0BFH
0462 7FBF
ORG 0E2AH
0E2A C002 DELYA:PUSH02H
0E2C C002 DELYB:PUSH02H
0E2E C002 DELYC:PUSH02H
0E30 DAFE DELYD:DJNZR2,DELYD
0E32 120D59 LCALL,SSEE ;調(diào)顯示子程序
0E35 D002 POP 02H
0E37 DAF5 DJNZR2,DELYC
0E39