




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机应用课程设计简易直流电压表戴立2220123709电子信息科学与技术一班单片机课程设计摘要数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片STC89C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到数码管进行显示;此外它还控制着ADC0809芯片工作。此数字电压表可以
2、测量0-5V,050V的2路模拟直流输入电压值,并通过两个四位一体的7段数码管显示出来。1、设计任务和要求1.1、设计任务设计制作一个简易直流电压表,该直流电压表能测量直流电压。输入电压AD转换器控制器显示测量值1.2、设计要求基本要求A、 能测量电压档0-5V,050V两档,输入阻抗>200k。B、 数码显示共3位,其中1位小数(0.009.99或000999V)。C、 要有输入信号超范围的保护电路。扩展部分A、 能够测量电阻。1.3方案论证A、主要设计框图:电压采集AD转换器 0809单片机处理数码管显示B、设计方案论述ADC转换:本次使用的单片机是带ADC转换的逐次比较型的ADC,
3、ADC换口在P1口(P1.7-P1.0),有8路10位高速转换器。本次设计使用P1.0口作模拟电压输入,ADC将模拟电压转化为相应的数字量。数据处理并LCD显示:ADC转换得到的二制数只是二进制数,还需要进一步处理得到十进数,并且进行精度处理,也就是课题要求的四位有效数据。对数据的处理按下公式式中D为ADC的转换的二进数,V为显示的数据。V设为浮点型数,乘以1000输入电压 ADC转换数据处理并送LCD显示后强制转换为整型。则得到四位有效数据。再依次除于1000取商则得个位,取余除于100取商则得十分位,再取余除10则得百分位,取余则得千分位将各位加0x30转化为ASCII码后送LC
4、D显示。C、硬件设计框图:D、软件流程图E、元器件确定1) AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。主要功能特性:低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。兼容MCS51指令系统,8K可反复擦写(>1000次)Flash ROM。3个16位可编程定时/计数器中断,时钟频率024MHZ。32个双向I/O口,256B内部RAM。2个串行中断,可编程UART串行通道。2个外部中断源,共6个中断源
5、。2个读写中断口线,3级加密位。2) ADC0809模数转换芯片ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809内部逻辑结构图主要功能特性:8路输入通道,8位A/D转换器,即分辨率为8位。具有转换起停控制端。转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)。单个+5V电源供电。模拟输入电压范围0+5V,不需零点和满刻度校准。工作温度范围为-40+85摄氏度。低功耗,约15mW。引脚说明IN0IN7:8路
6、模拟量输入端。D0D8:8位数字量输出端。D0D7均为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高位。A、B、C:3位地址输入线,A为低地址,C为高地址,用于选通8路模拟输入中的一路。具体通道选择如表1所示。本次设计使用的通道是IN0,故A、B、C均需接地。ALE:地址锁存允许信号,输入高电平有效。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC:A/D转换结束信号输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为
7、低电平)。OE:数据输出允许信号,输入高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端,要求时钟频率不高于640KHZ。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。VREF(+)、VREF(-):基准电压。用来与输入的模拟信号进行比较,作为逐次逼近的基准。VCC:电源,单一+5V。GND:接地。通道选择表A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式:(1)定时传送方式对于一种A/D转换其来说,转换
8、时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以点击浏览下一页信
9、号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。3) 四位共阴数码管4-LED显示器引脚如图所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。数码管动态显示接口是单片机
10、中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发
11、光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本设计使用的驱动方式是动态驱动,四位共阴数码管的段码输入依次由并行端口P0产生,位码输入用并行端口P2高四位产生。4) P0口上拉电阻一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻排阻消除高阻状态。九排上拉电阻本次
12、设计中使用的上拉电阻是一个九位排阻(如图所示)。顾名思义,排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚,它在排阻上一般用一个色点标出来。由于排阻引脚众多,所以排阻比若干只固定电阻更为方便。本次设计中九位排阻在依次连接单片机P0口各引脚的同时并依序连接数码管各引脚(上拉电阻VCC端接单片机VCC端)。上拉电阻既能为单片机提供部分电压能力,同时也能起到预防线路中电流过大的作用。1.4模拟仿真结果A、 总体电路设计B、部分电路设计1) 晶振及复位电路接12M晶振
13、,根据数据手册,并联30pF微调电容构成并联谐振,帮助稳定输出波形。AT89C51单片机要求至少两个高电平,以便单片机做好准备。当上电时,由于电容的电压不能突变,会输出高电平,当电容充电到一定程度,就会输出低电平,单片机利用输出高电平的这段时间复位。选择20uF的电容,10k电阻。2) 模拟输入电路 模拟输入信号则由IN0直接输入。 05V 050VP3.6接VCC,P3.7接GND P3.6接GND,P3.7接VCC 2、 实际制作和调试2.1测试方法和测试仪器仿真平台为Proteus软件。硬件调试采用小系统板(51+数码管+573+138+排阻)、星研集成环境软件,调试过程用到学生用安全电
14、源(5V)、万用表。2.2软件调试Proteus软件是世界上著名的EDA工具,能完成原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。程序清单:#include<reg52.h>unsigned char code dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/不带小数点的 dispbitcode2=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0
15、xff,0xef;/带小数点的unsigned char dispbuf4;unsigned int i;unsigned int j;unsigned char getdata;unsigned int temp;unsigned int temp1;unsigned char count;unsigned char d;sbit ST=P30;sbit OE=P31;sbit EOC=P32;sbit CLK=P33;sbit P25=P25;sbit P26=P26;sbit P27=P27;sbit P07=P07;sbit P24=P24;void TimeInitial();voi
16、d Dlay(unsigned int i);void TimeInitial() TMOD=0x10; TH1=(65536-200)/256; TL1=(65536-200)%256; EA=1; ET1=1; TR1=1;void Delay(unsigned int i) unsigned int j; for(;i>0;i-) for(j=0;j<125;j+) ; void Display() if (P24=0)/大量程 P0=dispbitcodedispbuf3; P25=0; P26=1; P27=1; Delay(10); P0=0x00; P0=dispbi
17、tcodedispbuf2; P25=0; P26=1; P27=0; Delay(10); P0=0x00; P0=dispbitcode2dispbuf1; P25=0; P26=0; P27=1; Delay(10); P0=0x00; P0=dispbitcodedispbuf0; P25=0; P26=0; P27=0; Delay(10); P0=0x00;else /小量程 P0=dispbitcodedispbuf3; P25=0; P26=1; P27=1; Delay(10); P0=0x00; P0=dispbitcode2dispbuf2; P25=0; P26=1;
18、P27=0; Delay(10); P0=0x00; P0=dispbitcodedispbuf1; P25=0; P26=0; P27=1; Delay(10); P0=0x00; P0=dispbitcodedispbuf0; P25=0; P26=0; P27=0; Delay(10); P0=0x00;void main() TimeInitial(); while(1)ST=0;/st正脉冲启动OE=1;/输出允许ST=1;ST=0;while(EOC=0);/eoc给出1转换完成OE=1;getdata=P1;OE=0;temp=(getdata*1.0/255)*500;disp
19、buf0=temp%10; /取0.0xdispbuf1=temp/10%10;/取0.xdispbuf2=temp/100%10;/取个位dispbuf3=temp/1000;/取十位Display();void t1(void) interrupt 3 using 0 TH1=(65536-200)/256; TL1=(65536-200)%256; CLK=CLK;2.3硬件调试用面包板完成0809外围电路的搭建,用星研配套仿真器装载程序开始调试。硬件连接图面包板实物图05V硬件电路测量结果示例050V硬件电路测量结果示例2.4调试中的问题记录1) 装载程序后,通电运行,发现怎么改变电压都没有变化且显示0 根据星研软件的调试结果发现单片机根本就没有处理数据,拔了仿真器和不拔仿真器一样的结果数码管都会显示一个0,调试过程根据程序运行流程发现,0809没有将采集到的数据在中断的作用下传给单片机,后来改了程序还是没有正确的结果,下载点亮所有数码管的程序到仿真器,发现正常运行,排除了单片机和数码管是坏的的可能性,怀疑0809没有完成数据的转换,经过测量相关管脚的电压也排除了这一可能,后来通过研究电路板发现程序中用P2控制138时所用的引脚与实际电路板上P2和138之间的引脚连接不一致。数码管显示的数字比较闪更改程序将延迟的时间增大就解决了这一问题。2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程经济投资收益2025年试题及答案
- 2025临时保洁劳务用工合同
- 2025年经济法专题复习试题及答案
- 2025养鸭场出售合同书
- 公共关系学考试注意事项及试题答案剖析
- 2025年工程经济竞争规律试题及答案
- 2024水利水电工程考生必读试题及答案总结
- 工程成本估算试题及答案
- 公共关系学中的效率提升考题答案
- 2025年工程经济目标导向试题及答案
- 《华能企业文化建设》课件
- 陕西延安通和电业有限责任公司招聘笔试真题2024
- 2025年医院管理专业研究生入学考试试卷及答案
- 2025年江苏高处安装、维护、拆除作业-特种作业证考试复习题库(含答案)
- 2025年湖北省黄冈市中考数学调研试卷(4月份)
- Unit7OutdoorfunIntegration(课件)-译林版(2024)英语七年级下册
- 2023年船员培训计划
- 2025中国铁路郑州局集团招聘614人(河南)笔试参考题库附带答案详解
- 陪玩店合同协议
- 货运司机雇佣合同协议
- 超合同30签补充协议
评论
0/150
提交评论