您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于51单片机的模数转换(AD)实验设计
HEFEIUNIVERSITY单片机课程综述报告主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽专业通信工程学号1105021006班级11级通信(1)班指导老师汪济洲2014年6月2日目录1.实验目的与要求............................................................................................................................11.1实验目的.............................................................................................................................11.2实验要求.............................................................................................................................12.实验原理........................................................................................................................................12.1电路原理图.........................................................................................................................12.2Proteus7.4软件简介..........................................................................................................23、实验步骤.....................................................................................................................................54、源程序代码.................................................................................................................................55.实验结果分析............................................................................................................................106.总结.............................................................................................................................................1011.实验目的与要求1.1实验目的1.掌握A/D转换与单片机的接口方法2.了解A/D芯片ADC0809转换性能及编程方法3.通过实验了解单片机如何进行数据采集1.2实验要求1.采用查询法或中断法编程进行A/D采集;2.采集0~5V范围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。2.实验原理2.1电路原理图熟悉8051的输入输出端口的使用方法,本实验的电路连接如图1所示。图1连接电路22.2Proteus7.4软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。其操作界面如下图所示:图2Proteus操作页面32.模数转换(A/D)实验设计ADC0809简介ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。图3ADC0809的内部逻辑结构图4ADC0809芯片4ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809的内部逻辑结构:由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。图5ADC0809的内部逻辑结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。5REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换)EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。3、实验步骤1.Proteus软件中绘制单片机实验电路;2.在KeilC软件中编制汇编或C程序,软件调试;3.在Proteus中加载实验程序,观察并记录实验结果。4、源程序代码#includereg52.h//*******************引脚定义********************//sbitdis_ab=P3^0;sbitdis_clk=P3^1;sbitCLK=P3^4;sbitST=P3^5;sbitEOC=P3^6;6sbitOE=P3^7;//*****************7SEG-LED段码表****************//UnsignedcharcodeLedTab[21]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x3e,0x00,0x40};//************************************************//unsignedchardatanum_1;//存储十六进制转化为两个单十六进制数的值unsignedchardatanum_2;unsignedchardatanum_3;unsignedchardatanum_4;voidDelay(unsignedintx);voidDispClk(void);voidDisplaySerial(unsignedcharx);voidClearLed(unsignedcharx);voidHexToDec(unsignedintx);voidmain(){unsignedlongnum;ST=0;OE=0;while(1){ST=1;//发高脉冲启动采样信号ST=0;do{CLK=!CLK;}//提供采样时钟信号,直到采样结束为止while(!EOC);OE=1;num=P1;//读取采样值7num=5000*num/255;//将0~#FFH采样值转化为0~5V数值(0~5000)HexToDec(num);//将16进制数据,转换为10进制数据,以便于数码管显示ClearLed(4);DisplaySerial(num_4);//依次从高位到低为显示采样电压值DisplaySerial(num_3);DisplaySerial(num_2);DisplaySerial(num_1);Delay(30000);//采样延时间隔,决定采样频率}}//********************延时子程序********************//voidDelay(unsignedintx){unsignedintj;for(j=0;jx;j++){};}//********************************//功能:串行模拟时钟注意事项:用到delay.h中的延时子程序形参:无//********************************//voidDispClk(void){dis_clk=1;Delay(1);dis_clk=0;Delay(1);}//********************************//8功能:发送一个数字到串行LED上形参:unsignedcharx:0-20//********************************//voidDisplaySerial(unsignedcharx){unsignedchari;unsignedcharnum_serial=LedTab[x];for(i=0;i8;i++){dis_ab=(bit)(num_serial&0x80);num_serial=1;DispClk();}}//********************************//功能:清串行LED显示形参:unsignedcharx=需要清显示的LED数//********************************//voidClearLed(unsignedcharx){unsignedchari;for(i=0;i(x3);i++){DispClk();dis_ab=0;}}voidHexToDec(unsignedintx)//十六进制转十进制{9num_1=x%10;//个位x=x/10;num_2=x%10;//十位x=x/10;num_3=x%10;x=x/10;num_4=x%10;}105.实验结果分析通过改变POT-LIN原件滑片的位置即可调整输入的物理模拟量,可以发现输出的数字信号即观察LED的显示效果的不同。通过实验,会发现:(1)当POT-LIN原件上的滑片位置位于参考图的上方时,LED会全亮;(2)当POT-LIN原件上的滑片位于最下方时,LED全暗;(3)当POT-LIN原件上的滑片位于上下之间的位置时,则会有其对应的LED显示效果。LED显示效果如下图示:图6LED效果图6.总结通过此次实验,
本文标题:基于51单片机的模数转换(AD)实验设计
链接地址:https://www.777doc.com/doc-4335185 .html