单片机AD与DA转换实验报告.docx

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

14

积分

还剩页未读,继续阅读

关 键 词:单片机AD与DA转换实验报告

AD 与 DA 转换实验报告

转换与单片机

实验报告.doc

AD与DA转换实验报告

单片机DA和AD转换实验

单片机DA转换实验报告

DA实验报告.doc

资源描述:

AD与DA转换实验报告

一. 实验目的

1 掌握A/D转换与单片机接口的方法;

2 了解A/D芯片0809转换性能及编程方法;

3 通过实验了解单片机如何进行数据采集。

4 熟悉DAC0832 内部结构及引脚。

5 掌握D/A转换与接口电路的方法。

6 通过实验了解单片机如何进行波形输出。

二. 实验设备

装有proteus的电脑一台

三. 实验原理及内容

1. 数据采集_A/D转换

(1) 原理

①ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

②ADC0809引脚结构:

D7 ~ D0:8位数字量输出引脚。IN0 ~ IN7:8位模拟量输入引脚。

VCC:+5V工作电压。GND:地。

REF(+):参考电压正端。REF(-):参考电压负端。

START:A/D转换启动信号输入端。

ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).

EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OE:输出允许控制端,用以打开三态数据输出锁存器。

CLK:时钟信号输入端(一般为500KHz)。

A、B、C:地址输入线。

C

B

A

选择模拟通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

(2) 内容和步骤

1.硬件电路设计: 设计基于单片机控制的AD转换应用电路。AD转换芯片采用ADC0809。ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。

2. 软件设计: 程序设计内容

(1) 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,经过数据处理之后在数码管上显示。

(2) 进行A/D转换之前,要启动转换的方法:

ABC=110选择第三通道。ST=0,ST=1,ST=0产生启动转换的正脉冲信号

2. D/A转换及数字式波形发生器

(1) 原理

典型D/A转换DAC0832芯片

8位

输入

寄存器

8位

DAC

寄存器

8位

D/A

转换器

VREF

IOUT2

RFB

AGND

VCC

DGND

DI7~DI0

CS

WR1

WR2

XFER

ILE

LE

LE

IOUT1

&

&

&

RFB

V cc 芯片电源电压, +5V~+15V

VREF 参考电压, -10V~+10V

RFB 反馈电阻引出端, 此端可接运算放大器输出端

AGND 模拟信号地

DGND 数字信号地

DI7~ DI0数字量输入信号。其中: DI0为最低位,DI7为最高位

ILE 输入锁存允许信号, 高电平有效

CS 片选信号, 低电平有效

WR1 写信号1,低电平有效

当 ILE、CS、WR1同时有效时, LE=1,输入寄存器的输出随输入而变化

WR1, LE=0,将输入数据锁存到输入寄存器

XFER 转移控制信号,低电平有效

WR2 写信号2,低电平有效

当XFER、WR2同时有效时, LE2=1,DAC寄存器输出随输入而变化;WR1, LE=0,将输入数据锁存到DAC寄存器,数据进入D/A转换器,开始D/A转换

IOUT1 模拟电流输出端1

当输入数字为全”1”时, 输出电流最大,约为:。全”0”时, 输出电流为0

IOUT2 模拟电流输出端2 ,IOUT1 + I OUT2 = 常数

(2) 内容和步骤

① 内容

1. AT89C51控制DAC0832实现数/模转换(D/A)转换。从单片机输出数据到DAC0832,经其转换成模拟量输出。

2. 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。 基本要求:

① 产生三种以上波形。如正弦波、三角波、矩形波等。

②最大频率不低于 500Hz。并且频率可按一定规律调节。

③幅度可调,峰峰值在0 ~ 5V之间变化。  扩展要求:产生更多的频率和波形。

② 步骤

(1)在proteus ISIS界面D/A转换电路原理图,把该电路保存。

(2)在keil中建立c程序文件并生成hex文件。

(3)添加仿真文件。

双击单片机AT89C51,打开其属性编辑框,在“program file”栏中,单击打开按钮,选取后缀名为*.HEX的目标代码文件。在“clock frequency”栏中设置时钟频率为11.0592MHZ。

(4)在proteus仿真界面中单击运行按钮,全速启动仿真。

四. 实验结果

1. 数据采集_A/D转换

① 实验电路图

② 实验程序

#include#define uchar unsigned char

#define uint unsigned int //头文件

uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //各数字的数码管段码(共阴)

sbit CLK=P1^3;

sbit ST=P1^2;

sbit EOC=P1^1;

sbit OE=P1^0;

void DelayMS(uint ms) //延时

{

uchar i;

while(ms--) for(i=0;i<120;i++);

}

void Display_Result(uchar d)

{

int i,j;

P2=0xfb;

i=d/51;

P0=DSY_CODE[i];

DelayMS(5);

P0=0x80;

DelayMS(5);

P2=0xf7;

j=(d-i*51)*10/51;

P0=DSY_CODE[j];

DelayMS(5);

}

void main() //主程序

{

TMOD=0x02;

TH0=0x14;

TL0=0x00;

IE=0x82;

TR0=1;

P1=0x3f;

while(1)

{

ST=0;ST=1;ST=0;

while(EOC==0);

OE=1;

Display_Result(P3);

OE=0;

}

}

void Timer0_INT() interrupt 1

{

CLK=~CLK;

}

③ 实验结果

2.D/A转换及数字式波形发生器

① 实验电路图

② 实验程序

#includesbit key1=P1^0;

sbit key2=P1^3;

sbit key3=P1^6;

#define uchar unsigned char

#define uint unsigned int

void sanjiaobo();

void fangbo();

void juchibo();

void main()

{

P1=0xff;

while(1)

{

if(key1==0)

sanjiaobo();

if(key2==0)

fangbo();

if(key3==0)

juchibo();

}

}

void sanjiaobo()

{

unsigned int i;

char flag=0;

P2=0;

while(1)

{

if(flag==0){

for(i=0;i<10;i++);

P2+=1;

if(P2>=255)flag=1;

}

if(flag==1){

for(i=0;i<10;i++);

P2-=1;

if(P2==0)flag=0;

}

}

}

void fangbo()

{

unsigned int i ;

while(1)

{

for(i=0;i<1000;i++);

P2=255;

for(i=0;i<1000;i++);

P2=0;

}

}

void juchibo()

{

unsigned int i;

char flag=0;

P2=0;

while(1)

{

if(flag==0){

for(i=0;i<10;i++);

P2+=1;

if(P2>=255)flag=1;

}

if(flag==1){

P2=0;

if(P2==0)flag=0;

}

}

}

③ 实验结果

五. 实验心得

1.由于实验设备不精确而引起的系统误差,例如:实验设备制作不精确,使用时间过长引起的设备老化,而引起的误差。

2.读数不精确引起的偶然误差。在电压表读数未稳定时读数,或者由于电压表精确度不够,而造成的读数误差。

3.在处理数据时,由于取值以及计算精确度取值不够而造成的误差。

4.试验线路连接不稳定,或接触点电阻引起的误差。

5.在误差允许的范围内,ADC0809将0-5V的单级型电压或-5-5V的双极型电压转换为相应的八位二进制输出。

6.在误差允许范围内,DAC0832能将八位二进制数转化为相应的双极型和单级型电压输出。

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:单片机AD与DA转换实验报告.docx

链接地址:https://www.renrendoc.com/p-18424478.html

单片机c语言ad与da转换实验报告,单片机AD与DA转换实验报告.docx相关推荐

  1. 单片机c语言必背代码_最适合单片机编程的高级语言,除了C语言,别无选择!...

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...

  2. 51单片机c语言宏定义是什么意思,51单片机的C语言宏定义应用.doc

    1.预编译处理是单片机C语言程序设计中经常用到的一种方法.通过一些预处理命令可以为C语言本身提供许多功能和符号的扩充,增强C语言程序的灵活性和方便性. 常用的预处理命令有:宏定义.文件包含.条件编译等 ...

  3. 单片机c语言常用的语句有几条,单片机C语言常用语句详解

    <单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程中常见语句的总结.首先,C51定义 ...

  4. 单片机c语言程序设计中可以不分大小写,单片机考试复习题及答案

    选择题 1.主频为12MHz的单片机他的机器周期为(c). A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒 2.MCS-51系列单片机是属于(C)体系结构. A.冯诺依曼 B.普林斯顿 C. ...

  5. atmega16单片机c语言程序设计经典实例pdf,《AVR单片机C语言程序设计实例精粹》.pdf...

    AutodeskAsiaPteLtd主编的<AutodeskRevitStructure2012应用宝典>是对AutodeskRevitStructure2012进行全面介绍的权威用书.全 ...

  6. 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,(中北大学电气信息检索与写作实验二.doc...

    (中北大学电气信息检索与写作实验二 实验名称计算机信息检索和利用实验日期2014-11-1班 级学号1205044115学生姓名闫强实验成绩实验 目的1.熟悉信息.知识.情报和文献的联系和区别:区分信 ...

  7. 单片机c语言二进制转10进制,51单片机用C语言怎么样把八位二进制转换成十进制...

    满意答案 sunzhaoming 2013.07.06 采纳率:41%    等级:12 已帮助:8866人 //******************************************* ...

  8. 51单片机c语言数字输入输出,第五章 51单片机C语言程序--输入输出接口.pdf

    四川师范大学成都学院 51单片机原理及应用 单片机输入/输出口(I/O口) 主讲教师:刘强 四川师范大学成都学院电子竞赛培训实验中心(刘强) 明德.博学.求实.创新 复习1.单片机的外观 AT89C5 ...

  9. 单片机C语言拉高1位,第二讲 单片机C语言之12864液晶显示

    前面一讲我们焊接了C51的最小系统.这讲里我们将继续焊接上液晶显示相关电路,并分别实现用12864显示一个汉字,字符串,数字,浮点数以及可调节的电子时钟. 概念 点阵式液晶显示模块(LCD)广泛应用于 ...

  10. 单片机c语言每隔1m闪烁一次,单片机c语言闪烁灯程序

    1.闪烁灯 1.实验任务 如图所示:在端口上接一个发光二极管L1,使L1 在不停地一亮 灭,一亮一灭的时间间隔为秒. 2.电路原理图 图系统板上硬件连线把"单片机系统"区域中的端口 ...

最新文章

  1. spring 学习—spring 的ioc底层原理(02)
  2. 成功解决TypeError: ‘str‘ object is not callable
  3. 1023 组个最小数 (20 分)_14行代码AC
  4. matplotlib简单使用
  5. 最新斗鱼JS逆向分析
  6. 零基础适合学python吗-零基础适合学Python吗?小白能否学会Python?
  7. 【渝粤题库】陕西师范大学201921比较法学作业(专升本)
  8. WampServer服务中MySQL无法正常启动解决方案
  9. 9008刷机模式写入超时刷机帮_刷机帮教你优思高通刷机工具错误处理方法
  10. python代码翻译器-Python实现翻译软件
  11. php实现给pdf加水印,pdf文件如何加水印 怎样给pdf文件加水印|帮你轻松实现给pdf加水印...
  12. 7-4 新浪微博热门话题 (20 分) 新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还
  13. 解决配置静态IP还是会出现动态IP地址的问题
  14. php中的implode,php implode函数 多维数组
  15. python pandas缺失值处理_pandas缺失值的处理
  16. 技术人员都喜欢的坚果,竟然有这么好吃?
  17. 8分钟让你熟悉自适应AUTOSAR的AUTOSAR C++14编码准则
  18. tableau 如何选择tableau计算类型?基本计算 / LOD计算 / 表计算
  19. 【51单片机】RC522门禁系统设计
  20. Jfinal Eova下提示“excel的文件格式和扩展名不匹配。文件可能已损坏或不安全”解决办法

热门文章

  1. 网站出现DNS域名解析错误怎么办?
  2. 基于Debezium 1.6和Oracle 11g 的 Debezium-Oracle实战
  3. Docker(二十)--Docker k8s--Kubernetes存储--Volumes配置管理
  4. vue中使用require动态获取图片地址
  5. LeetCode - 1419 数青蛙
  6. 事件的独立和事件互不相容两个概念的区别
  7. python 图片文字识别orc
  8. 请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录
  9. ExcelJs导出Excel文件并设置单元格样式
  10. 解决win7被node.js抛弃的问题 - 1)npm/node_modules/node/bin/node: line 1: This: command not found 2)win8.1或以上