版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数 字 电 压 表单片机课程设计报告班 级: 姓 名: 学 号: 指导教师: 2011 年 3 月 29 日数字电压表电路设计报告一、题目及设计要求采用51系列单片机和ADC设计一个数字电压表,输入为05V线性模拟信号,输出通过LED显示,要求显示两位小数。二、主要技术指标1、数字芯片A/D转换技术2、单片机控制的数码管显示技术3、单片机的数据处理技术三、方案论证及选择主要设计方框图如下:数码管显示单片机处理模数转换电压采集 1、主控芯片方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。缺点是京都比较低,内部电压转换和控制部分不可控制。优点是价格
2、低廉。方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。 基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。2、显示部分方案1:选用4个单体的共阴极数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。基于课程设计的要求和实验室所能提供的仪器,我选用了:方案2。四、电路设计原理模拟电压经过档位切换到不同的分压电路筛减后,经隔离
3、干扰送到A/D转换器进行A/D转换。然后送到单片机中进行数据处理。处理后的数据送到LED中显示。同时通过串行通讯与上位通信。硬件电路及软件程序。而硬件电路又大体可分为A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。驱动电路有多种,常用的是TTL或MOS集成电路驱动器,在本设计中采用了74LS244驱动电路。 本实验采用
4、AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。该电路通过ADC0808芯片采样输入口IN0输入的05 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0D7传送给AT89C51芯片的P0口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。同时它还通过其三位I/O口P1.0、P1.1、P1.2、P1.3产生位选信号,控制数码管的亮灭。另外,AT89C51还控制着ADC0808的工作。其ALE管脚为ADC0808提供了1MHz工作的时钟脉冲;P2.4控制ADC080
5、8的地址锁存端(ALE);P2.1控制ADC0808的启动端(START);P2.3控制ADC0808的输出允许端(OE);P2.0控制ADC0808的转换结束信号(EOC)。数据处理及控制模块AT89C51P0P2显示模块4位一体LED数码管数据采集模块ADC0808控制信号输出显示AnalogDigitalLED位控制信号P2P31、模数转换电路原理图如下所示,三个地址位ADDA,ADDB,ADDC均接高电平+5V电压,因而所需测量的外部电压可由ADC0808的IN7端口输入。由于ADC0808在进行A/D转换时需要有CLK信,本设计中利用AT89C51的定时中断产生一个100KHZ的脉冲
6、,由P1.4口送给ADC0808的时钟端,通过软件给其输入一个正脉冲,可立即启动A/D转换。在软件设计中,由于我们对单片机知识还没能很熟练的掌握,用中断方式较复杂,且这个程序CPU工作量不大,查询方式对速度不会产生影响,所以我们采用查询方式,确保仿真的进度和准确度。系统原理图51系列单片机数据显示A/D电压放大电压输入在A/D转换开始之前,逐次逼近寄存器的SAR的内容为0,在A/D转换过程中,SAR存放“试探”数字量,在转换完毕后,它的内容即为A/D转换的结果数字量。逻辑控制与定时电路在START正脉冲启动后工作,没来一个CLK脉冲,该电路就可能告知向SAR中传送一次试探值,对应输出U0与U1
7、比较,确定一次逼近值,经过8次逼近,即可获得最后转换的结果数字量。此处,EOC端口的信号显示ADC0808的状态,开始A/D转换时,EOC为低电平,转换结束后,输出高电平。2、 数据处理及控制A/D转换完毕后,单片机的P1.6口接收到一高电平,立马通过P2将OE置1,ADC0808的三态输出锁存器被打开,转换完的数字信号经过与D0D7相连的P0口进入AT89C51。AT89C51根据公式1-1将数字信号转换为模拟量,然后利用程序获取模拟量的每一位,分别通过P2口输出到LED上。与此同时,AT89C51会通过P2.0P2.3口选择用哪一段LED显示所传出的数据。例如,当P2.0P2.3=1110
8、,则LED接收到的数据会在第四段LED上显示。 另外,AT89C51一旦获得了数据后便会将ST置0,即模数转换器停止转换,知道LED获得新的数据并显示出来,ST才会重新置1.由于AT89C51转换速率很快(微妙量级),所以不会影响其接收新的数据。 四、主要元器件的介绍 1、AT89C51单片机简介AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压、高性能CMOS 8为单片机。将通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。AT89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产
9、品的需求。主要功能特性:1、 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。2、 兼容MCS51指令系统,8K可反复擦写(1000次)Flash ROM。3、 3个16位可编程定时/计数器中断,时钟频率0-24MHz。4、 32个双向I/O口,256B内部RAM。5、 2个串行中断,可编程UART串行通道。6、 2个外部中断源,共6个中断源。7、 2个读写中断口线,3级加密位。2、ADC0808模数转换芯片简介 ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。AD
10、C0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。引脚功能(外部特性)ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下: 15和2628(IN0IN7):8路模拟量输入端。 8、14、15和1721:8位数字量输出端。 22(ALE):地址锁存允许信号,输入,高电平有效。 6(START): AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): AD转换结束信号,输出,当AD转换结束时,此
11、端输出一个高电平(转换期间一直为低电平)。 9(OE):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 12(VREF(+)和16(VREF(-):参考电压输入端 11(Vcc):主电源输入端。 13(GND):地。 2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。3、四位共阴极数码管简介 数码管有两种:一种共阴极、另一种为共阳极,本次课程设计用的是共阴极。下面比较详细说明共阴极与共阳极的共同点与区别:图(b)的左边为共阴极数码管
12、,也就是数码管的阴极管接地。那时某段亮,这段就必须接高电平。共阴极数码管09的C51编码为:1、 uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f;2、 uchar code table=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;其中1不带小数点,2带小数点。共阳极就是数码管的每段都接高电平,这样要是哪段亮就这段就得接地。四、部分电路介绍1、晶振电路接12MHz晶振,根据芯片手册,适合并联30pf微调电容,从而构成并联谐振,帮助和稳定输出波形。2、复位电路AT89
13、C51单片机要求至少两个高电平,以便单片机做好准备工作。当上电时,由于电容的电压不能突变,会输出高电平,当电容充电到一定程度,就会输出低电平,单片机利用输出高电平的这段时间复位。电阻和电容的值选择要合适。在这要求R1R2,所以选取R1=1,R2=10。3、 模拟输入电路通过可变电阻一端接电源+5v,一端接地GND,通过改变电阻的阻值,从而改变所测电压值,实现电压的模拟信号输入。4、 ADC0808芯片与单片机接口电路ADC0808的输出接到P1口,OUT1对应的是最高位,START与ALE可以接在一起。在这里,START接P3.0,OE接P3.1,EOC接P3.2,ClOCK接P3.4。5、显
14、示电路通过P0口控制四位共阴极数码管段选,通过P2口的低四位控制位选。值得注意的是P0需要接上拉电阻,否则P0会处于高阻态。总电路如下:设计原理:将模拟量通过IN0输入,经过ADC0808芯片转换,得到数字量输出到单片机P0口,经过单片机处理后,送到四位共阴极数码管上显示。仿真结果如下:五、程序设计为了在C语言源程序中直接编写中断服务函数的需要,KeilCx51编译器对函数的定义进行了扩展,增加了一个扩展关键字interrupt,它是函数定义是的一个选项,加上这个选项即可以将一个函数定义成中断服务函数。定义中断服务函数的一般形式为: 函数类型 函数名(形式参数表) interrupt n us
15、ing n由于ADC0808的CLOCK的时钟频率不高于640KHZ,在这利用定时器T0的中断产生时钟频率,则可设置为:void t0(void) interrupt 1 using 0ADC0808的时序图如下:由时序图可知,只有在转换期间,EOC处于低电平,因此在AD转换开始前EOC置为低电平,START在上升沿期间将芯片内的所有寄存器清零,在下降沿来临时开始转换,由于所用的时钟为100KHz,比较的缓慢不需要再延时,在此等待转换结束,结束后将其数字量输出。根据上述分析及原理,可设计程序流程图如下:设计程序如下:#include#include#define uchar unsigned
16、char#define uchar unsigned char#define uint unsigned intsbit START=P30;sbit OE=P31;sbit EOC=P32;sbit P07=P07;sbit CLK=P34;uchar data led4;uint data tvdata; uchar code tv=0xfe,0xfd,0xfb,0xf7;uchar code a=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(void) /延时程序 uint i; for(i=0;i5000)
17、 tvdata=5000; led0=tvdata%10; led1=tvdata/10%10; led2=tvdata/100%10; led3=tvdata/1000; for(k=0;k4;k+) P2=tvk; i=ledk; P0=ai; if(k=3) P07 =1; delay(); void main(void) ET0=1; EA=1; TMOD=0x02; TH0=216; TL0=216; TR0=1; while(1) START=1; START=0; /启动转换 while(EOC=0); OE=1; tvdata=P1; tvdata*=20-0.01; OE=0
18、; ledxianshi(); delay(); void t0(void) interrupt 1 using 0CLK=CLK;六、硬件制作与测试1、主要仪器及使用方法主要仪器:5v直流电源,剥线钳,数字万用表,通用版电路板,电烙铁,镊子,USB转串口线。其中5v电源可以从电脑的USB接口引出,使用电烙铁时注意不要手直接触摸。调试电路的方法和技巧:(1)目测 检查外部的各种元件或者是电路是否有断点,有无虚焊(2)用万用表测试 先用万用表符合目测中有疑问的点,再检查各种电源线 与地线之间是否有短路现象(3)加电检测 给板子加电,检测所有的插座或是器件的电源端的电压 是否符合要求的值(4) 注
19、意事项 在通电检查前,一定要确保电路板没有短路2、硬件制作步骤(1)将单片机的最小系统焊接出来,进行调试,检验是否能下载程序、进行电路复位、晶振是否起振。(2)扩展部分的焊接,在这我采用了ADC0809作为扩展芯片,原因是ADC0808和ADC0809的功能、引脚几乎都相同,用74ls244驱动数码管显示。(3)焊接完后对电路进行调试,检查结果是否正确。焊接的电路图如下:七、设计过程中的问题及解决方案(1)单片机的最小系统完成后,接上发现显示灯不亮。 检查发光二极管是否接地或接电源,若都接了则检查晶振是否起振,电路是否短路或断路,结果发现忘记将发光二极管接地。(2)通电后发现数码管显示亮度不均匀 检查与数码连接电路是否有误、短路或短路,若没有则检查74ls244驱动是否问题,经过仔细发现及测试,发现74ls244坏了,换了个芯片后即可显示均匀。(3)下载程序到单片机后,通电运行,发现怎么改变电压都没有变化且显示5 检查ADC0809所对应的各个引脚有没有接错,若没有则通过将P1口置0,观察各个线路的显示结果,发现ADC0809芯片有问题,换了芯片后可正常显示。(4)发现每个数码管显示相同的数字 检验段扫描连接是否正确,若无误,在检查程序是否正确,最后发现延时函数有一个地方写错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公共场所消防培训
- 客户需求分析及需求报告制作工具
- 手术室护理文书的规范填写技巧
- 职场新人时间管理技能提升从入门到精通指导书
- 建筑工程公司施工安全规范操作指南
- 个人守秘义务保障承诺书范文5篇
- 企业知识管理平台框架
- 2024-2025学年度电梯考试每日一练试卷含完整答案详解(网校专用)
- 绿色项目发展环保承诺书5篇
- 2024-2025学年度医疗卫生系统人员通关题库附完整答案详解(考点梳理)
- 下肢静脉曲张的健康宣教
- 2025年上半年计算机软考信息系统项目管理师高级真题及答案
- 万隆会议课件教学
- 广西安全生产考核管理系统
- 2025年大庆医学高等专科学校单招职业技能考试题库及一套完整答案详解
- 社区矫正招聘面试高分指南
- 济南市人民医院新生儿颅脑超声诊断技能考核
- 2025年a2驾照科目一考试题库及及答案
- 《工业数字孪生 应用成熟度模型与评估方法》
- 《公民绿色低碳行为温室气体减排量化指南住:居民节约用电(征求意见稿)》编制说明
- 2025年9月27日云南大理州州级机关遴选笔试真题及答案解析
评论
0/150
提交评论