标题: 单片机DA转换DAC0832实验(汇编语言程序) [打印本页]

作者: Lesjoy    时间: 2019-4-16 15:44
标题: 单片机DA转换DAC0832实验(汇编语言程序)
实验十 D/A转换
1,实验目的: (1)了解D/A转换与单片机的接口方法;
              (2)了解D/A转换芯片0832的性能及编程方法;
        (3)了解单片机系统中扩展D/A转换芯片的基本方法;
2,实验内容: 利用0832输出一个从0V开始逐渐升至5V再降至0V的可变电压。
3,实验接线图:
4,实验程序框图:
5,实验步骤: 把0832译码线CS5接至FF80H,运行程序,数码管上显示不断加大或减小的数字量,用万用表测试D/A输出孔AOUT应也能测出不断加大或减小的电压值。
6,思考: 修改程序,使能产生锯齿波。
7,程序清单:
  ORG 0000H
LJMP SE13
ORG 05E0H
SE13:MOV SP,#53H
mov p2,#0ffh
MOV A,#81H
MOV DPTR,#0FF23H
MOVX @DPTR,A
MOV 7EH,#00H
MOV 7DH,#08H
MOV 7CH,#03H
MOV 7BH,#02H                   ;显示缓冲区初值
LO20:MOV R6,#00H
LO21:MOV DPTR,#0FF80H
MOV A,R6
MOVX @DPTR,A                   ;送0832转换
MOV R0,#79H
LCALL PTDS
LCALL SSEE                     ;显示
MOV R2,#08H
LCALL DELYA                    ;延时
INC R6                         ;加1
CJNE R6,#0FFH,LO21             ;不到FF继续加
LO22:MOV DPTR,#0FF80H
DEC R6
MOV A,R6                       ;减1送0832转换
MOVX @DPTR,A
MOV R0,#79H
LCALL PTDS
LCALL SSEE                     ;显示
MOV R2,#08H
LCALL DELYA                    ;延时
CJNE R6,#00H,LO22              ;不为0继续减
SJMP LO20                      ;循环
;ORG 0620H
PTDS:MOV R1,A                       ;拆送显示缓冲区
LCALL PTDS1
MOV A,R1
SWAP A
PTDS1:    ANL A,#0FH
MOV @R0,A
INC R0
RET
ORG 0D50H
SSEE:SETB RS1                        ;换工作区
MOV R5,#05H
SSE2:MOV 30H,#20H
MOV 31H,#7EH
MOV R7,#06H
SSE1:MOV R1,#20H
MOV A,30H
CPL A
MOVX @R1,A                       ;字位送入
MOV R0,31H
MOV A,@R0
MOV DPTR,#DDFF
MOVC A,@A+DPTR                   ;取字形代码
MOV R1,#21H
MOVX @R1,A                       ;字形送入
MOV A,30H
RR A                             ;右移
MOV 30H,A
DEC 31H
MOV A,#0FFH
MOVX @R1,A                        ;关显示
DJNZ R7,SSE1                      ;六位显示完了吗?
DJNZ R5,SSE2                      ;五次显示完了吗?
CLR RS1
RET
DDFF:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
DELYA: PUSH 02H
DELYB: PUSH 02H
DELYC: PUSH 02H
DELYD: DJNZ R2,DELYD
LCALL SSEE                    ;调显示子程序
POP 02H
DJNZ R2,DELYC
POP 02H
DJNZ R2,DELYB
POP 02H
DJNZ R2,DELYA                 ;延时
RET
END






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1