模数转换实验报告_第1页
模数转换实验报告_第2页
模数转换实验报告_第3页
模数转换实验报告_第4页
模数转换实验报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、HEFEI UNIVERSITY单片机课程综述报告主 题 基于51单片机的模数转换(A/D)实验设计 姓 名 华奇林 专业 通信工程 学 号 1205021042 班 级 12级通信(1)班 指导老师 汪济洲 模数转换实验报告学号:1205021042 姓名:华奇林 第一章 设计思想与方案1.1模数转换的选择 A/D转换器的种类很多,就位数来分有8位、10位、12位和16位等。位数越高分辨率就越高,价格也就越贵。A/D转换器的型号很多,在精度和转换速度上的差异很大。(a) 双积分A/D转换器:双积分是一种间接式A/D转换器,优点是转换精度高,速度快。缺点是转换时间长,一般要4050ms,适用于

2、转换速度不快的场合。(b) 逐次逼近式A/D转换器:逐次逼近式的属于直接式A/D转换器,转换精度高,速度高,价格适中,是目前种类最多,应用最广的A/D转换器,典型的8位模数转换器有ADC0809。鉴于方案(b)的转换速度方案(a)快,价格适中,种类繁多,应用广泛,本设计中采用ADC0809。1.2.2 51单片机选择单片机是属于嵌入式系统,此系统是把CPU加上一些少量的内存和输入出组件(I/O),都嵌入在一颗芯片内,再使用特定的组译和编译软件编辑程序,利用烧录器把程序储存在芯片内,如此加上一些简单的外围电路,即可变成一个控制系统,所以单芯片又称为微控制器。本设计中选用STC89C52其内部已有

3、程序存储器ROM,不用再去外扩程序存储器,使用方便。1.2.3 显示部分 LED数码管有共阴和共阳两种,都是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样。LED数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,七彩效果。其外壳采用阻燃PC塑料制作,强度高,抗冲击,抗老化,防紫外线,防尘,防潮。LED数码管具有功耗小,无热量,耐冲击,长寿命等优点。 本设计中采用共阴极数码管来显示。第二章 系统总体设计2.1系统设计框图 本设计主要包括:模拟数据的采集

4、,八路模拟开关及A/D转换,数据处理模块,显示模块,按键模块,供电系统等几个基本部分。其设计框图如下:模 拟 输 入A/D转换单 片 机显示部分按键图2.1 系统设计方框图 系统原理:用电位器模拟数据输入经过ADC0809的模拟开关的选择选出一通道进行A/D转换,转换后的数字量经过单片机的处理,使输入量得以在数码管上显示。 按键复位电路是上电复位加手动复位,使用方便,在程序跑时,可以手动复位,这样就不用在重启单片机电源,就可以实现复位。还有两个按键是实现在循环显示的同时可以看任意一路模拟输入量的显示及确认,即加一和确认键。 数码管显示模块选用了4位数码管显示,第一位是通道显示,后三位是输入量的

5、显示。2.2 系统部分部件简介2.2.1 ADC0809 功能简介ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。a、主要特性1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。 3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时) 4)单个+5V电源供电 5)模拟输入电压范围0+5V,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度 7)

6、低功耗,约15mW。b、内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。如下图所示:图2.3 ADC0809内部逻辑图c、引脚功能ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少1

7、00ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。Vcc:电源,单一接+5V。GND:接地。d、工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转

8、换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。1)定时传送方式对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-52单片机共64个机器周期。可据此设计一个延时子程序,A/D转换

9、启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。2.2.2 显示模块LED数码管正向压降一般为1.52V,额定电流为10mA,最大电流为40mA。数码管及其内部结构图如

10、下所示:图2.5 数码管及其内部结构图共阴数码管数字编码,如下表所示:显示数字共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH表2.1 共阴数码管数字编码第三章 系统硬件电路的仿真实现3.1 系统硬件电路的组成 要完成本设计的任务,系统硬件电路的组成主要有:电源电路、复位电路、晶振电路、电位器模拟输入电路、A/D选择转换电路、分频电路、数码管驱动显示电路等。3.2部分硬件电路简介3.2.1 复位电路单片机复位电路时系统中必不可少的,本设计采用手动复位。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,复位按钮松开后,电

11、源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机完成复位工作。图3.2 复位电路3.2.2晶振电路晶振在单片机系统中作用非常大,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。本设计采用的电容C5、C6为30pF,晶振是12MHz。工作原理:单片机晶振电路即分频器的原始工作振荡频率,由石英晶体多谐振荡器的谐振频率来产生,晶振其实是一个频率产生器,他主要把传进去的电压转化

12、为频率信号。提供给分频率一个基准的振荡频率,它是一个多谐振荡器的正回馈环电路,也就是说它把输入作为输出,把输出作为输入的回馈频率,象这样一个永无休止的循环自激过程。晶振电路如下图所示:图3.3 晶振电路3.2.3 模拟输入电路本设计用电位器来模拟现场变送器的模拟信号,采用高精度的阻值为50K的电位器,其输入量可变且较为精确。电位器与ADC0809的输入通道相接,另外本设计模拟输入量选择三路通道,其余五路通道全部接地,即模拟输入量为零。模拟输入电路如下图所示:图3.4 模拟输入电路3.2.4 A/D转换电路 本设计采用ADC0809作为模拟选择通道及A/D转换器件,其内部没有时钟电路,所需时钟信

13、号必须由外界提供,通常使用频率为500KHZ,即其转换速度为128us。STC89C51的输出频率为晶振频的1/6(2MHZ),STC89C51与74LS74连接提供ADC0809的工作时钟。 74LS74是双D型触发器,可用作分频器,其内部结构图及真值表如下图所示:图3.5 74LS74内部结构及其真值表11端与3端为原时钟输入端,5端与9端为变换后的时钟输出端;2端与6端联接;8端与12端联接;7端接电源负极,14端接电源正极。分频器有两组:1,2,3,4,5,6为一组;8,9,10,11,12,13为一组,如果要得到二分频,原时钟需接3端或11端,5端或9端为变换后的时钟输出端;如果要得

14、到四分频,原时钟需接3端并且5端接11端,9端为四分频输出端;或者是原时钟接11端。由于ADC0809的时钟频率为500KHz单片机输出频率为2MHz,所以本设计需要接四分频电路。ADC0809启动转换,输出允许和读取数据是通过START引脚,ALE引脚,OE引脚和EOC引脚与单片机相联接并给定一定信号方可完成。通过用74LS02或非门将单片机的WR与P2.0接口与ADC0809的ALE端口与START端口相接,当WR和P2.0同时为低电平时ALE和START端口为高电平,启动A/D转换。使能端OE的输入同样是通过74LS02与单片机的RD和P2.0口相接。这样A/D转换的启动和允许传送数据就

15、能够通过调节P2.0口,WR和RD端口就能够调节。本设计采用中断方式与单片机相接,当单片机执行指令数据传送指令MOVX DPTR,A时,产生地址锁存信号ALE和启动转换信号START;执行MOVX A,DPTR指令时产生输出允许信号OE。转换完成信号EOC传送到INT1输入端作为中断请求,STC89C51在相应的中断服务程序里,读取经ADC0809转换后的数据。ADC0809通道选择:ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上

16、的一路模拟量输入。通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表3.1 通道选择表AD0809的启动方式为脉冲启动方式,启动信号START启动后开始转换,EOC信号在START的下降沿10us后才变为无效的低电平。这要求查询程序待EOC无效后再开始查询,转换完成后,EOC输出高电平,再由OE变为高电平来输出转换数据。我们在设计程序时可以利用EOC信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动AD0809后经适当的延时再读入已转换的数据。ADC0809时序图如下图所示:图3.6 ADC08

17、09时序图3.2.5 数码管驱动显示电路 本设计采用共阴数码管显示,其公共端经三极管接地,同时三极管连接单片机P1口做为位显示信号选择。数码管段选择用74LS48来译码驱动,该芯片原理简单,74LS48三个控制端置相应的有效电平后,输出对应BCD码的七段显示码,74LS48真值表如下:输 入输 出显示字符DCBAYaYbYcYdYeYfYg000011111100000101100001001011011012001111110013010001100114010110110115011000111116011111100007100011111118100111100119表3.2 74LS

18、48真值表为了能让数码管动态显示,数码管轮流连续点亮速度要快,每秒约50次以上,由于人眼的“视觉暂留”特性,看起来就像是连续显示。如果我们要1秒钟点亮4只数码管50次,那么一只数码管大概要点亮4ms。3.3 系统电路总原理图 完成各个模块后就要完成整个系统的接线,为了提高系统的抗干扰性,在各个集成元件上分别加一个瓷片电容。综上所述,把各个电路模块结合在一起就完成了设计原理图的设计,如下所示:图3.9系统电路总原理图第四章 实验代码#include <reg52.h>/*引脚定义*/sbit dis_ab=P30;sbit dis_clk=P31;sbit CLK=P34; sbit

19、 ST=P35; sbit EOC=P36; sbit OE=P37; /*7SEG-LED段码表*/unsigned char code LedTab21=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x3e,0x00, 0x40;/*/unsigned char data num_1; /存储十六进制转化为两个单十六进制数的值unsigned char data num_2;unsigned char data num_3;unsigned char d

20、ata num_4;void Delay(unsigned int x);void DispClk(void);void DisplaySerial(unsigned char x);void ClearLed(unsigned char x);void HexToDec(unsigned int x);void main() unsigned long num; ST=0;OE=0; while(1) ST=1;/发高脉冲启动采样信号ST=0;doCLK=!CLK;/提供采样时钟信号,直到采样结束为止 while(!EOC);OE=1;num=P1;/读取采样值num=5000*num/25

21、5;/将0#FFH采样值转化为05V数值(05000)HexToDec(num);/将16进制数据,转换为10进制数据,以便于数码管显示ClearLed(4);DisplaySerial(num_4);/依次从高位到低为显示采样电压值DisplaySerial(num_3);DisplaySerial(num_2);DisplaySerial(num_1);Delay(30000);/采样延时间隔,决定采样频率 /*延时子程序*/void Delay(unsigned int x)unsigned int j;for(j=0;j<x;j+);/*-功能:串行模拟时钟注意事项:用到delay.h中的延时子程序形参:无-*/void DispClk(void)dis_clk=1;Delay(1);dis_clk=0;Delay(1);/*-功能:发送一个数字到串行LED上形参:unsigned char x:0-20-*/void DisplaySerial(unsigned char x)unsigned char i;unsigned char num_serial=LedTabx;for(i=0;i<8;i+)dis_ab=(bit)(num_serial&0x80);num_se

温馨提示

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

评论

0/150

提交评论