- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机工业控制
西南科技大学
学 生 实 验 报 告
实验课程名称 计算机工业控制
开课实验室 东六D-213
学 院 制造 专业 机械 班级 0903
学 生 姓 名 李杰 学 号
开 课 时 间 2012 至 2013 学年第 1 学期
总 成 绩 教师签名
制造科学与工程学院制
《ADC0804模/数转换和DAC0832数/模拟换接口实验》实验报告
开课实验室: 2012年 11 月27 日
学院 制造学院 年级、专业、班 机械0903 姓名 李杰 成绩 课程
名称 计算机工业控制 实验项目
名 称 ADC0804模/数转换和DAC0832数/模拟换接口实验 指导教师 张杰 一、实验目的
1、了解模/数转换基本原理,掌握ADC0804的使用方法。
2、了解D/A转换的基本原理。
3、了解D/A转换芯片DAC0832的性能及编程方法。
4、了解单片机系统中扩展D/A转换的基本方法。
二、实验原理
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用的ADC0804属第二类,是八位A/D转换器。每采集一次一般需100us。中断方式下,A/D转换结束后会自动产生EOC信号,将其与8051的INT0相接。
图2-1中,DB1到DB8这8个口连接到P1口。CS-AD这个是片选端口,低电平表示选中,RD写入信号,WR读出信号。 使用是需要将AD-IN口的1和2短接。CSAD接口连着P0^7.RD接口P3^6,WR连着P3^7.
D/A转换是把数字量转换成模拟量的变换,从本书D/A电路输出的是模拟电压信号。
要想实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。
产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分两段来产生。要产生正弦波,较简单的手段是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。这样做虽然简单,但是费时费力,没有充分发挥单片机的能力。利用嵌入式定点、浮点运算子程序库可方便的完成正弦波的波形表生成工作。
D/A转换取值范围为一个周期,采样点越多,精度越高些。
1、实验线路及连接
图2-1 ADC0804接线电路
图2-2 DAC0832接线电路
实验程序参考框图
图2-3 AD基本流程图
使用仪器、材料
单片机实验板 一台
2、计算机 一台
四、实验步骤
(1)、AD实验步骤
观察实验板的电路连接情况,检查JP1和P1口跳线帽是否已经插上并确认连线是否正确
用USB线连接实验板与PC机,利用PC的USB接口给实验板供电
输入程序并检查无误,运行实验程序
调节电位器W1,观察数码管上显示数据的变化,新的转换结果应实时的在数码管上显示
模拟量和数字量对应关系的典型值为:0V — 00H;+2.5V — 80H;+5V — FFH
(2)、DA实验步骤
观察实验板的电路连接情况,检查P1口跳线帽是否已经插上并确认连线是否正确。
用USB线连接实验板与PC机,利用PC的USB接口给实验板供电
输入程序并检查无误,运行实验程序
用示波器测量DAC0832左侧AOUT插孔,改变程序相应代码,观察输出波形的变化
五、实验过程原始记录(数据、图表、计算等)
图2-4 DA基本流程图
#图2-4 DA基本流程图
编写程序如下:
include reg52.h
#define uchar unsigned char
#define uint unsigned int
void delay(uchar);
void start();
void timer0init();
volatile uchar count,temp,i,tempbai,tempshi,tempge
文档评论(0)