AD转换实验报告.docx
- 文档编号:28645463
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:300.04KB
AD转换实验报告.docx
《AD转换实验报告.docx》由会员分享,可在线阅读,更多相关《AD转换实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
AD转换实验报告
8292924809
基于单片机的AD转换电路
专业:
班级:
学号:
组员:
指导老师:
年月日
键入章标题(第1级)1
键入章标题(第2级)2
键入章标题(第3级)3
键入章标题(第1级)4
键入章标题(第2级)5
键入章标题(第3级)6
引言
A/D转换是指将模拟信号转换为数字信号,这在信号处理、信号传输等领域具有重要的意义。
常用的A/D转换电路有专用A/D集成电路、单片机ADC模块,前者精度高、电路复杂,后者成本低、设计简单。
基于单片机的A/D转换电路在实际电路中获得了广泛的应用。
一般的A/D转换过程是通过采样、保持、量化和编码4个步骤完成的,这些步骤往往是合并进行的.当A/D转换结束时,ADC输出一个转换结束信号数据。
CPU可由多种方法读取转换结果:
a查询方式;b中断方式;cDMA方式。
通道8为A/D转换器,ADC0809是带有8为A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成.多路开关可选通8个模拟通道,允许8路模拟量分时输出,共用A/D转换器进行转换。
三台输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据.
一个实际系统中需用传感器把各种物理参数测量出来,并转换为电信号,在经过A/D转换器,传送给计算机;微型计算机加工后,通过D/A转换器去控制各种参数量。
一、实验方案的选择与分析
1.1复位电路方案
单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
51的RST引脚是复位信号的输入端.复位电平是高电平有效持续时间要有24个时钟周期以上。
本系统中单片机时钟频率为6MHz则复位脉冲至少应为4us.
方案一:
上电复位电路
上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。
上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。
如图2所示;
方案二:
外部复位电路
按下开关时,电源通过电阻对外接电容进行充电,使RES端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使RET端恢复低电平。
如图3所示;
方案三:
上电外部复位电路
典型的上电外部复位电路是既具有上电复位又具有外部复位电路,上电瞬间,C与Rx构成充电电路,RST引脚出现正脉冲,只要RST保持足够的高电平,就能使单片机复位.如图4所示;
方案分析与选择:
在以上3种复位电路中,上电复位电路结构简单、所用元器件较少、成本较低,在小型电路中比较常用,并且能自动复位,操作简单,很符合本电路的要求;而外部复位电路和上电外部复位电路,虽然能完成本机要求,但所用原件较多,电路较为复杂,不符合人性化要求,且需手动处理。
因此,在本次试验中选择上电复位电路。
1.2振荡源方案
在MCS—51内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1(19)、XTAL2(18)分别是此放大器的输入端和输出端
方案一:
内部方式
与作为反馈元件的片外晶体或陶瓷谐振器一起组成一个自激振荡器。
方案二:
外部方式
外部振荡器信号的接法与芯片类型有关。
CMOS工艺的MCU其XTAL1端接外部时钟信号,XTAL2端可悬空.HMOS工艺的MCU则XTAL2端接外部时钟信号,XTAL1端须接地。
方案分析与选择:
无论是内部振荡还是外部振荡都能满足本电路对振荡源的要求,内部振荡和外部振荡相比较而言,内部振荡的完成更容易和操作,并且用简单的器件就可以实现振荡要求,可以使电路外部更人性化。
所以本次试验选择内部振荡方式。
1.3显示与键盘方案
对系统发出命令和输出显示测量结果,主要是由键盘和7段3位共阳极数码管组成.
(1)译码方法
用单片机驱动7段3位共阳极数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。
方案一:
硬件译码
硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。
方案二:
软件译码
软件译码是用软件来完成硬件的功能,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式.
方案的分析与选择:
译码方式比较简单,软件与硬件的方式差别不大,但现在的主流方式是软件译码,而且软件译码接线比较灵活,处理简单,因此本电路选择的是软件译码.
(2)显示方式
在该单片机系统中,使用7段共阳极数码管构成3位数字显示器,段选线控制显示的数字,位选线控制显示位的亮或暗。
方案一:
静态显示
静态显示,显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不用再管,直到下一次显示数据需要更新时再传送一次数据。
方案二:
动态显示
动态显示需要CPU时刻对显示器件进行数据刷新,显示数据会有闪烁感,占用的CPU时间多。
方案的分析与选择:
这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。
所以,本次实验采用的是动态显示。
二、系统的硬件设计
2。
1ADC0809内部功能及引脚介绍
ADC0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。
8路转换开关能直接连通8个单端模拟信号中的任何一个。
其内部结构如图8所示.
ADC0809没有内部时钟,必须由外部提供,其范围为10~1280kHz.典型时钟频率为640kHz。
引脚排列及各引脚的功能,引脚排列如图9所示
各引脚的功能如下:
IN0~IN7:
8个通道的模拟量输入端。
可输入0~5V待转换的模拟电压。
D0~D7:
8位转换结果输出端。
三态输出,D7是最高位,D0是最低位。
A、B、C:
通道选择端。
当CBA=000时,IN0输入;当CBA=111时,IN7输入。
ALE:
地址锁存信号输入端.该信号在上升沿处把A、B、C的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。
START:
启动转换信号输入端.从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。
脉冲宽度应不小于100~200ns。
EOC:
转换结束信号输出端。
启动A/D转换时它自动变为低电平。
OE:
输出允许端。
CLK:
时钟输入端。
ADC0809的典型时钟频率为640kHz,转换时间约为100μs。
REF(-)、REF(+):
参考电压输入端。
ADC0809的参考电压为+5V.
VCC、GND:
供电电源端。
ADC0809使用+5V单一电源供电。
当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。
在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平.在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束。
OE为低电平时,D0~D7为高阻状态,OE为高电平时,允许转换结果输出。
2。
2键盘和显示电路
(1)键盘
本实验键盘采用4X4矩阵键盘组成.如下图所示:
(2)显示
显示部分为4个共阳极的七段数码管,4个七段共阳极数码管的a~dp字段的引脚分别由4个OC门同相驱动器驱动。
4个共阳极7段数码管如下图所示:
三、系统软件的设计及流程图
3。
1A/D转换
本实验采用的是查询方式进行转换,查询方式的流程图如下图所示:
3.2标度变换
该单片机系统中,被测量经过A/D转换,均统一为0~255二进制码,因此要把A/D转换的数码X变换成被测量的实际数值。
四、电路图及仿真效果图
本次实验的电路图如下图所示:
仿真效果图如下所示:
结论:
单片机具有体积小,功耗低,功能强,通用性好,性价比高易组装成机电仪一体化的各种智能控制设备和仪器,仪表。
面向在线应用,能针对各类控制任务的简繁灵活配置,因而能获得最佳的费效比.易于实现规划设计,避免不必要的二次开发过程,减少系统的研发费用,产品升级周期短.易于多机使用主从分布式的集散控制,提高控制系统的效率.抗干扰能力强,适应温度范围广,能在各种恶劣环境下可靠地工作。
指令精简,实用,系统设计灵活易于推广运用.
五、心得与体会
自拟。
。
.。
.。
..
附录1:
参考资料。
(1)模拟电子技术基础高等教育出版社
(2)电子测量技术电子工业出版社
(3)单片微型计算机应用与开发航空航天大学出版社
(4)MCS-51单片机实用子程序设计哈尔滨工业大学出版社
附录2:
实验源程序。
#include〈reg51.h>
#include〈intrins.h〉
#defineuintunsignedint
#defineucharunsignedchar
sbitST=P2^4;
sbitOE=P2^5;
sbitEOC=P2^6;
sbitw_select1=P2^0;
sbitw_select2=P2^1;
sbitw_select3=P2^2;
sbitw_select4=P2^3;
ucharnum_1=0,num_2=0,num_3=0;
//ucharcodetable[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
ucharcodetable[10]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/**************************************************************
*名称:
Delay_1ms()
*功能:
延时子程序,延时时间为1ms*x
*输入:
x(延时一毫秒的个数)
*输出:
无
***************************************************************/
voidDelay_1ms(uintx)
{
uinth,k;
//uchark;
for(h=x;h>0;h—-)for(k=20;k>0;k—-);
}
voidDA_change(uchark)
{floatD_value;
D_value=5*k/255;
num_1=D_value/1;//取个位值
num_2=(D_value-num_1)*10/1;//取小数点后第一位值
num_3=((D_value-num_1)*10-num_2)*10/1;//取小数点后第二位值
}
/**************************************************************
*名称:
Display(uchark)
*功能:
将参数分成十位、个位分别显示
*输入:
k(键盘数值)
*输出:
P0口输出七段码,P2口输出位选码
***************************************************************/
voidDisplay()
{
P0=table[num_1]&0x7f;//需显示小数点
w_select3=1;Delay_1ms
(1);//显示5ms个位
w_select3=0;//消隐
P0=table[num_2];
w_select2=1;Delay_1ms
(1);//显示5ms小数点后第一位
w_select2=0;//消隐
P0=table[num_3];
w_select1=1;Delay_1ms
(1);//显示5ms小数点后第二位
}
/**************************************************************
*名称:
Main()
*功能:
主函数
***************************************************************/
voidmain(void)
{
ucharKey_Value=16;//两次读出的键值
uchargetdata;
while
(1)
{
P2=P2&0xf0;
P0=0xff;
P3=0xff;
ST=0;//产生启动转换的正脉冲信号
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
DA_change(getdata);
Display();//没有按键按下,也显示电压值
num_1=0,num_2=0,num_3=0;
}
}
附录3:
电路实物图
自拟…………。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AD 转换 实验 报告