- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验4单片机验DA转换实验
实验报告
沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级: 通信工程 学号: 姓名:
1.实验目的:
(1) 了解D/A转换的基本原理。
(2) 了解D/A转换芯片0832的性能及编程方法。
(3) 了解单片机系统中扩展D/A转换的基本方法。
2.实验内容:
利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波形轮流显示。
在此基础上,进一步完善,完成具有选择性显示三角波、正弦波、方波的程序。
3. 实验方案(程序设计说明):
实验设备:EL-8051-III型单片机实验箱
4. 实验步骤或程序(经调试正确的源程序程序运行程序运行及解决方法 通信工程 学号: 姓名:
实验步骤或程序:
实验原理
D/A转换是把数字量转换成模拟量的变换,从D/A输出的是模拟电压信号。产生锯齿波和三角波只需由A存放的数字量的增减来控制;要产生正弦波,较简单的手段是造一张正弦数字量表。取值范围为一个周期,采样点越多,精度就越高。
本实验中,输入寄存器占偶地址端口,DAC寄存器占较高的奇地址端口。两个寄存器均对数据独立进行锁存。因而要把一个数据通过0832输出,要经两次锁存。典型程序段如下:
MOV DPTR,#PORT
MOV A,#DATA
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
其中第二次I/O写是一个虚拟写过程,其目的只是产生一个WR信号。启动D/A。
实验连接图
实验步骤
1、DAC0832的片选CS0832接CS0,输出端OUT接示波器探头。
2、将短路端子DS的1、2短路。
实验框图
实验程序
;实验接线:DAC0832的片选CS0832接CS0,输出端OUT接示波器探头。
NAME T92 ;0832数模转换实验
PORT EQU 0CFA0H
CSEG AT 4000H
LJMP START
CSEG AT 4100H
START: MOV R1,#02H ;置计数初值于R1
ACALL PRG1 ;显示锯齿波
MOV R1,#01H ;置计数初值于R1
ACALL PRG2 ;显示三角波
MOV R1,#01H ;置计数初值于R1
ACALL PRG3 ;显示正弦波
LJMP START ;转START循环显示
PRG1: MOV DPTR,#PORT+1 ;DAC寄存器端口地址送DPTR
MOV A,#00H ;初值送ACC
LOOP: MOV B,#0FFH
LOOP1: MOV DPTR,#PORT ;DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;加一,为DAC寄存器端口地址
MOVX @DPTR,A ;启动转换
INC A ;数据加一
CJNE A,#0FFH,LOOP1
MOV A,#00H
DJNZ B,LOOP1
DJNZ R1,LOOP ;计数值减到40H了吗?没有则继续
RET ;产生锯齿波
PRG2: MOV DPTR,#PORT+1
MOV A,#00H
LP0: MOV B,#0FFH
LP1: MOV DPTR,#PORT ;LP1循环产生三角波前半周期
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
INC A
CJNE A,#0FFH,LP1 ;数据为FFH吗?不等则转LP1
MOV R2,#0FEH
LP2: MOV DPTR,#PORT ;LP2循环产生三角波后半周期
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
DJNZ R2,LP2
DJNZ B,LP1
DJNZ R1,LP0 ;计数值到80H则退出执行下一步
RET
文档评论(0)