找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1946|回复: 1
打印 上一主题 下一主题
收起左侧

单片机D/A 0832转换实验程序 汇编语言

[复制链接]
跳转到指定楼层
楼主
一、实验目的
(1)了解D/A转换与单片机的接口方法;
(2)了解D/A转换芯片0832的性能及编程方法;
(3)了解单片机系统中扩展D/A转换芯片的基本方法。
二、实验内容  
利用0832输出一个从0V开始逐渐升至5V再降至0V的可变电压。

三、实验原理图
四、实验程序框图
file:///C:/Users/yuan/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png
五、实验步骤  
1、用双头线将DAC0832数模转换区的CS5端口接至系统接口区的8000H端口,WR端口接至系统接口区的/IOWR端口,AOUT输出接电压表或小直流电机DJ,用8芯线将DAC0832数模转换区的JX2接至数据总线JX0;
2、运行程序HW10.ASM,数码管上显示不断加大或减小的数字量,数字变化范围00到FF,用万用表测试D/A输出孔AOUT应能测出不断加大或减小的电压值,电压变化范围0V到5V。
六、程序清单  
           ORG 0000H
           LJMP SE13
           ORG 05E0H
SE13:     MOV SP,#53H
           mov p2,#0ffh
           MOV A,#43H
           MOV DPTR,#0FF20H
           MOVX @DPTR,A
           MOV 7EH,#00H
           MOV 7DH,#08H
           MOV 7CH,#03H
           MOV 7BH,#02H  ;显示缓冲区
LO20:     MOV R6,#00H
LO21:     MOV DPTR,#8000H
           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,#8000H
           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     ;循环
PTDS:    MOV R1,A   ;拆送显示缓冲区
           LCALL PTDS1
           MOV A,R1
           SWAP A
PTDS1:  ANL A,#0FH
           MOV @R0,A
           INC R0
           RET
SSEE:     SETB RS1                 ;换工作区
           MOV R5,#05H
SSE2:     MOV 30H,#20H
           MOV 31H,#7EH
           MOV R7,#06H
SSE1:     MOV A,30H
           CPL A      
           MOV DPTR,#0FF21H      ;字位送入
           MOVX @DPTR,A
           MOV R0,31H
           MOV A,@R0
           MOV DPTR,#DDFF
           MOVC A,@A+DPTR     ;取字形代码           
        MOV DPTR,#0FF22H     ;字形送入
           MOVX @DPTR,A
           MOV A,30H
           RR A               ;右移
           MOV 30H,A
           DEC 31H
           MOV A,#0FFH           
           MOV DPTR,#0FF22H      ;关显示
           MOVX  @DPTR,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

1212.png (85.91 KB, 下载次数: 24)

1212.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2020-6-6 02:04 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表