使用89c2051实现ad的使用方法和程序ad转换设计_第1页
使用89c2051实现ad的使用方法和程序ad转换设计_第2页
使用89c2051实现ad的使用方法和程序ad转换设计_第3页
使用89c2051实现ad的使用方法和程序ad转换设计_第4页
使用89c2051实现ad的使用方法和程序ad转换设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选题的背景和意义:随着数字电子技术的迅速发展,用数字电路来处理模拟信号的情 况更加普及。这就涉及到模拟信号与数字信号间的相互转换:从模拟信号到数字信号的转换 称模/数转换(又称 A/D 转换),完成 A/D 转换的电路称 A/D 转换器(简称 ADC); 从数字信 号到模拟信号的转换称数/模转换(又称 D/A 转换),完成 D/A 转换的电路称 D/A 转换器(简 称 DAC) 。 二、课题研究的主要内容:A/D 转换是将模拟信号转换为数字信号。转换过程通过取样、 保持、量化和编码四个步骤完成。通常取样和保持是利用同一个电路连续过程进行的,量 化和编码也是在转换过程中同时实现。 模拟/数字(A/D)转换 一,逐次逼近式模/数(A/D)转换器原理 二,逐次逼近 A/D 本组成 三,典型模/数转换器 AT89C2051 三、本课题要研究或解决的问题和拟采用的研究手段(途径):单片机系统: AT89C2051 是一个低电压,高性能 CMOS 8位单片机,片内含2k bytes 的可反复擦写的只读 Flash 程序 存储器和128 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易 失性存储技术生产,兼容标准 MCS-51指令系统,片内置通用8位中央处理器和 Flash 存储 单元,功能强大 AT89C2051单片机可为您提供许多高性价比的应用场合。 摘要 AT89C2051是一个功能强大的单片机,它将 AT89C51的 P0口、P2口、EA/Vcc、ALE/PROG、 口线简化后,形成的一种仅20个引脚的单片机,相当于 INTEL8031的最小应用系统。这对 于一些不太复杂的控制场合,仅用一片 AT89C2051就足够了。由于将多功能的8位 CPU 和 2KB 闪速存储器以及模拟电压比较器集成到单个芯片上,从而成为一种多功能的微处理器, 这为许多嵌入式控制提供了一种极佳的方案,使传统的51系列单片机的体积大、功耗大、 可选模式少等诸多困扰设计工程师们的致命弱点不复存在。 关键词:AT89C2051 闪速存储器 模拟电压比较器 多功能的微处理 器 目 录 第一章 引言 2 1.1A/D 转换器 2 1.1.1 A/D 转换器的基本原理 2 1.1.2 A/D 转换器的构成 2 1.1.3 集成 A/D 转换器及应用 2 2.1器件和原理 2 2.1.1 AT89C2051为什么可以不需要外部的 AD 芯片? 2 2.1.2 AT89C2051的 AD 转换是如何实现的? 2 3.1电路 2 3.1.1电路原理和器件选择 2 3.1.2地址分配和连接 2 4.1逐次逼近式 2 4.1.1逐次逼近式模/数(A/D)转换器原理 2 4.1.2逐次逼近式 A/D 转换器基本组成 2 4.1.3典型模/数转换器 AT89C2051 2 4.1.3.1芯片简介 2 4.1.3.2 AT89C2051工作时序 2 4.1.3.3 AT89C2051与微处理器的连接 2 5.1程序设计 2 5.1.1程序功能 2 5.1.2主要器件和变量的说明 2 5.1.3程序代码 2 参考文献 4 附录 A 4 附录 B 4 致谢 4 引言 AT89C2051 是一个低电压,高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写 的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公 司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处 理器和 Flash 存储单元,功能强大 AT89C2051 单片机可为您提供许多高性价比的应用场合。 AT89C2051 是一个功能强大的单片机,但它只有 20 个引脚,15 个双向输入/输出 (I/O)端口,其中 P1 是一个完整的 8 位双向 I/O 口,两个外中断口,两个 16 位可编程定 时计数器,两个全双向串行通信口,一个模拟比较放大器。 同时 AT89C2051 的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的 唤醒方式有 RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省 电模式中,片内 RAM 将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位 方可继续运行。 1.1 A/D 转换器 1.1.1, A/D 转换器的基本原理 模拟电子开关 S 在采样脉冲 CPS 的控制下重复接通,断开的过程.S 接通时,ui(t)对 C 充电,为 采样过程;S 断开时,C 上的电压保持不变,为保持过程.在保持过程中,采样的模拟电压经数 字化编码电路转换成一组 n 位的二进制数输出.t0 时刻 S 闭合,CH 被迅速充电,电路处于采 样阶段.由于两个放大器的增益都为 1,因此这一阶段 uo 跟随 ui 变化,即 uo=ui.t1 时刻采 样阶段结束,S 断开,电路处于保持阶段.若 A2 的输入阻抗为无穷大,S 为理想开关,则 CH 没 有放电回路,两端保持充电时的最终电压值不变,从而保证电路输出端的电压 uo 维持不变. (1)分辨率 A/D 转换器的分辨率用输出二进制数的位数表示,位数越多,误差越小,转换精度越高.例如,输 入模拟电压的变化范围为 05V,输出 8 位二进制数可以分辨的最小模拟电压为 5V2-8=20mV;而 输出 12 位二进制数可以分辨的最小模拟电压为 5V2-121.22mV. (2)相对精度 在理想情况下,所有的转换点应当在一条直线上.相对精度是指实际的各个转换点偏离理想 特性的误差. (3)转换速度 转换速度是指完成一次转换所需的时间.转换时间是指从接到转换控制信号开始,到输出端 得到稳定的数字输出信号所经过的这段时间 0uiVREF/14ui #include #include #include #define uchar unsigned char #define uint unsigned int sbit P36 = P36; /比较器内部判断角 / 内部标志位定义 bit less; /大小比较,1。代表小于,0。代表大于 / 全局变量定义 uchar timer1; /通用延时计数器 uchar adcdata; /ad 转换变量 void Delay(unsigned int number); /毫秒延时 uchar adcread(void); /adc 转换程序 void main(void) using0 TMOD=0X11; /计数器设定 IP=0X8; /优先级的设定 IE=0X8A; /中断允许 TCON=5; /外部中断低电平触发 TR0=1; /打开定时器中断 TR1=0; ET0=1; ET1=0; P1=0Xff Delay(120); while(1); adcdata=adcread(); /读取数据进行 A/D 转换 /毫秒延时 void Delay(unsigned int number) unsingned char temp; for(;number!=0;number-) for(temp=112;temp!=0;temp-) / 6位 ADC 转换 uchar adcread(void) uchar i=0x3f,temp=0; /初始化转换变量 P36=1; /比较器端口置1 P1=3;_nop_();_nop_(); /从零开始转换 while(i-) P1=temp13; _nop_(); temp=2; return temp; /转换完毕,返回 总 结 人生最美好的大学生活就要划上句号了,并将随着时间的流逝,逐渐成为回忆。它 到底在我的生命中留下了什么?对我的未来又有着怎样的影响?我的理想实现了多少?虽 然我现在还不知道答案,但我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论