DAC0832转换程序
扫描二维码
随时随地手机看文章
程序框图
程序
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 ;显示缓冲区初值
05EF 7E00 LO20: MOV R6,#00H
05F1 90FFE0 LO21: MOV DPTR,#0FFE0H
05F4 EE MOV A,R6
05F5 F0 MOVX @DPTR,A; ;送0382转换
05F6 7879 MOV R0,#79H
05F8 120077 LCALL PTDS
05FB 7A10 MOV R2,#10H
05FD 120425 LO23: LCALL DIS ;显示
0600 DAFB DJNZ R2,LO23
0602 0E INC R6 ;加1
0603 BEFFEB CJNE R6, #0FFH,LO21 ;不到FF继续加
0606 90FFE0 LO22: MOV DPTR,#0FFE0H
0609 1E DEC R6
060A EE MOV A,R6
060B F0 MOVX @DPTR,A ;减1送0832转换
060C 7879 MOV R0,#79H
060E 120077 LCALL PTDS
0611 7A10 MOV R2,#10H
0613 120425 LO24: LCALL DIS ;显示
0616 DAFB DJNZ R2,LO24
0618 BE00EB CJNE R6,#00H,LO22 ;不为 0继续减
061B 80D2 SJMP LO20 ;循环
ORG 0077H
0077 F9 PTDS: MOV R1,A ;拆送缓冲区
0078 117C ACALL PTDS1
007A E9 MOV A,R1
007B C4 SWAP A
007C 540F PTDS1: ANL A,#0FH
007E F6 MOV @R0,A
007F 08 INC R0
0080 22 RET
ORG 0D59H
0D59 D2D4 SSEE: SETB RS1 ;换工作区
0D5B 7D05 MOV R5,#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 MOVC A,@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 ;关显示
0D7E DFE5 DJNZ R7,SSE1 ;6位显示完了吗?
0D80 DDDB DJNZ R5,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 DB 89H,7FH,0BFH
0462 7FBF
ORG 0E2AH
0E2A C002 DELYA: PUSH 02H
0E2C C002 DELYB: PUSH 02H
0E2E C002 DELYC: PUSH 02H
0E30 DAFE DELYD: DJNZ R2,DELYD
0E32 120D59 LCALL,SSEE ;调显示子程序
0E35 D002 POP 02H
0E37 DAF5 DJNZ R2,DELYC
0E39 D002 POP 02H
0E3B DAEF DJNZ R2,DELYB
0E3D D002 POP 02H
0E3F DAE9 DJNZ R2,DELYA ;延时
0E41 22 RET
END