《基于单片机的数字电压表-电子信息与电气工程课程设计说明书大学论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表-电子信息与电气工程课程设计说明书大学论文.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 基于单片机的数字电压表 学 院: 电子信息与电气工程学院 学生姓名: xx 学 号: xx 专业班级: 通信工程2013级2班 指导教师: xx 2016年 4月22日课 程 设 计 任 务 书设计题目基于单片机的数字电压表学生姓名xx所在院系电子信息与电气工程学院专业、年级、班通信工程2013级2班设计要求:1、设计制作一个基于单片机的数字电压表;2、可以测量05V范围内的8路输入电压值;3、可以在4位LED数码管上轮流显示或单路选择显示;4、其测量最小分辨率位0.02V。学生应完成的工作:设计数字电压表的工作原理,并利用Mult
2、isim软件进行电路仿真。利用DXP软件绘制电路原理图,并设计制作电路的PCB板。根据设计原理对电路进行安装调试,完成课程设计工作,并提交课程设计报告。参考文献阅读:1康华光.电子技术基础 模拟部分.北京:高等教育出版社,2006.12康华光.电子技术基础 数字部分.北京:高等教育出版社 ,2006.13黎文模,段晓峰.PROTEL DXP电路设计与实例精解.北京:人民邮电出版社,20064 李科杰.新编传感器技术手册M.北京:国防工业出版社,19955 林庭双.PROTEL DXP电子电路设计精彩范例.北京:机械工业出版社,2005.66 郑学坚.周斌微型计算机原理及应用.北京:清华大学出版
3、社,2001工作计划: 4月11号-12号原理分析,绘制草图,发器件;4月13号-15号Multisim电路设计与仿真,Altium Designer 09设计原理图,设计PCB板;4月16号-19号PCB制版,焊接器件;4月20号-21号书写课程设计报告指导;4月22号烧录程序,指导教师验收设计电路结果。任务下达日期: 2016 年 4 月 11 日任务完成日期: 2016 年 4 月 22 日指导教师(签名): 学生(签名): 基于单片机的数字电压表摘 要:数字电压表是采用数字化检测技术,把连续的模拟量(直流输入电压)换成不连续的、离散的数字形式并加以现实的仪表,采用单片机的数字电压表,由
4、精度高、抗干扰能力强,可扩展性强集成方便,还可以与PC进行实时通信。本小组设计的简易数字电压表可以测量05V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。其测量最小分辨率位0.02V.关键词:单片A/D转换器;数字电压表;8路输入电压值;最小分辨率位0.02V目 录1. 设计背景12.设计方案1 2.1简易数字电压表硬件设计方案1 2.2简易数字电压表软件设计方案23.方案实施3 3.1 数码管显示器3 3.2 单片机的晶振电路4 3.3 显示模块5 3.4 ADC0809模块6 3.5 通道选择及单路/循环模块84.结果与结论8 4.1结果8 4.2结论105. 收获
5、与致谢106.参考文献117.附件12 7.1系统的电路原理图和PCB图12 7.2实物图13 7.3电子元器件清单14 7.4源程序151. 设计背景我们学习的是单片机这门课程,这门课程最显著的特点就是它是一门实用技术课程,它要求我们不仅仅要掌握扎实的理论基础,更重要的是要学会如何去真真利用它为我们的电路设计服务,也只有通过课程设计这样的动手实践才是我们掌握这门技术的最佳途径,因此,我们开设这样的实践是很重要的,也是我们努力去学习钻研的动力。数字电压表是采用数字化检测技术,把连续的模拟量(直流输入电压)换成不连续的、离散的数字形式并加以现实的仪表,克服了传统模拟电压表的读书不方便和不精确等问
6、题,满足了数字化时代的需求。目前,由各种单片A/D转换器构成的数字电压表,已广泛应用于电子电工测量、工业自动化仪表、自动测试系统等智能化测量领域,展现了强大的生命力。2.设计方案2.1简易数字电压表硬件设计数字电压表测量电路是由A/D转换、数字处理及显示控制等组成。A/D转换由集成芯片ADC0809电路完成。ADC0809具有8路模拟输入端口,地址线(第2325脚)可决定对哪一路模拟输入作A/D转换。第22引脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。第6引脚为测试控制,当输入一个2us宽电平脉冲时,就开始A/D转换。第7引脚为A/D转换结束标志,当A/D转换结束时,第7引脚输出高
7、电平。第9引脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。第10引脚为ADC0809的时钟输入端,利用单片机第30引脚的六分频晶振频率,再通过14024二分频的得到1MHz的时钟。 单片机的P1/P3.0-P3.3端口作为4位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择显示通道。P0端口用作A/D转换数据输入,P2端口用作ADC0809的A/D转换控制。图1 数字电压表系统设计方框图2.2 简易数字电压软件设计方案系统刚上电时,初始化程序主要执行70H-77H内存单元清0和P2口置0等准备工作 。在刚上电时,系
8、统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间在1S左右。主程序在调用显示子程序与测试子程序之间循环。图2 主程序流程图A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H77H内存单元。图3 A/D转换测试子程序流程图3.方案实施3.1 数码管显示器数码管的驱动方式的不同,可以分为静态式和动态式两类。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通
9、控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图4 共阴极数码管及其接口电路3.2 单片机的晶振电路晶振是晶体振荡
10、器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振
11、荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。本设计采用12MHz晶振,并联两个30pF电容构成晶振电路。图5 单片机晶振电路3.3 显示模块该模块为数字电压表的显示模块,主要由4位7端共阳LED数码管和PNP三极管构成的选通电路构成。其中,我们需注意共阳数码管的数字0-9的编码,另外,每个位选管要与程序对应。位选是通过单片机P3.0-P3.3口控制三极管的基极从而控制每位数码管的选通。图6 显示模块电路3.4 ADC08
12、09模块3.4.1 结构和转换原理如图7所示为ADC0809的内部结构框图。ADC0809由3部分组成:8路模拟量选通开关、8位A/D转换器和三态输出数据锁存器。 ADC0809允许8路模拟信号输入,由8路模拟开关选通其中一路信号,模拟开关受通道地址锁存和译码电路的控制。当地址锁存信号ALE有效时,3位地址C、B、A进入地地址锁存器,经译码后使8路模拟开关选通某一路信号。图7 ADC0809的内部结构8位A/D转换器为逐次逼近式,由256R电阻分压器、树状模拟开关(这两部分组成一个D/A变换器)、电压比较器、逐次逼近寄存器、逻辑控制和定时电路组成。三态门输出锁存器用来保存A/D转换结果,当输出
13、允许信号OE有效时,打开三态门,输出A/D转换结果。因输出有三态门,便于与单片机总线连接。图8 三态门3.4.2 引脚功能由引脚图9所示,ADC0809共有28个引脚,采用双列直插式封装。ADC0809 虽然有8路模拟通道可以同时输入8路模拟信号,各路之间的切换由软件变换通道地址来实现。其主要引脚功能如下所示:图9 ADC0809的引脚IN0IN7:8路模拟量输入端。D7D0:8位数字量输出端。A、B、C:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号,输出,当A/D
14、转换结束时,此端输出一 个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 3.5 通道选择及单路/循环模块该模块两个按键开关分别是控制单路/循环和通道选择的,当单路/循环按键未按下时,数码管上的通道位是循环显示通道,当该键按下时,数码管通道位显示的是某一路通道,看起来就像暂停一样,即单路测压。另外一个按键通道选择按键,当你选择单路时,按一下通道选择键,数码管上
15、的通道位显示的数字会加1,即通道移向下一位测压。图10 通道选择及单路/循环按键电路 4.结果与结论4.1结果a.软件仿真调试:首先将电路原理图用Proteus7.0仿真软件画出来,再用Keil单片机编程软件将数字电压表程序编写出来,通过Proteus7.0仿真软件中与Keil软件的联调功能,将编好的程序导入单片机中,在Proteus7.0中实现软件仿真。b.实物调试:将硬件电路都连接完好后,将单片机编号的数字电压表程序通过ISP程序烧入软件烧入到单片机中,用直流可调电压源给ADC0809的模拟输入端口通以不同电压值的电压,将数字电压表装置上的数码管上读出的电压值记录下来,与可调电压源上显示的
16、标准值进行比较并分析。实物调试数据:数据误差分析:A.绝对误差任取三组进行分析: 4.23-4.2=0.02V 3.68-3.6=0.08V 3.18-3.2=-0.02V由于我们用的可调直流电压源只能精确0.1V,所以实际上,我们的误差可以说已经可以忽略了,相当的小。该数字电压表的设计的最高分辨率约为0.02V。我们因为不知道标准电压值的小数点后第二位的数值,而无法估计误差,但从这些数据上看,足以证明我们的此次设计相当成功。B.相对误差根据相对误差=(测试值-标准值)/标准值x100% 在数据记录表中任取3组值进行分析: (4.23-4.2)/4.2*100%=7.1% (2.62-2.6)
17、/2.6*100%=7.7% (3.18-3.2)/3.2*100%=-6.3%计算得的相对误差也相当小,充分说明了此电压表制作之成功。4.2结论 从记录表中可以看出简易电压表测得的值基本比标准表电压值偏大,这可以通过校正ADC0809的基准电压来解决。因为该电压表设计时直接用5V的供电电源作为基准电压,所以电压可能有偏差。 ADC0809的直流输入阻抗为1M,能满足常用的电压测试需要。另外,经测试的ADC0809可直接在2MHz的时钟频率下工作,这样可省去二分频器14024集成块。 当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要计算程序的被除数进行调整就行了。但量程越大,测量
18、精度就会越低。5.收获与致谢经过两个星期的课程设计,我收获了很多。首先我们组设计的数字电压表采用8位A/D转换。可能懂的人认为没什么大不了的,对于没有接触过A/D转换芯片的我,太不容易了。我一心想做的完美些,加些难度,加些挑战。这个设计的重点在于编程,通道选择和单路/循环程序更增加了设计难度。为了尽量追求完美,我尝试了很多次编程,发现有时候在别人的程序中加入自己的程序也是有难度的。调试程序时,我遇到了很多困难,例如:参考文献错误的误导,调试环境的错误使用,硬件改装,程序本身不可预见的错误等。经历了,写程序,调试,仿真,没有人告诉你错在那里,没有人告诉你该怎么做,我在走没人可借见的路,坎坷充满荆
19、棘的路。那短日子真的是难熬啊,几乎每时每刻都在想办法。有空就在纸上写画着,最后,再历经多次调试后成功了,我高兴的大喊大叫起来,真的太难了,大家也很为我高兴,做好一件事真的不容易!在以后的学习中我会更加努力的学习理论知识,在理论的基础上加强实践,达到理论与实践的更好结合。在这次的设计中也让我明白了一个道理,只有多加练习运用才会真正的吸收知识,使之成为自己的东西。单片机这种东西不是在理论中练出高手的,而是实践。光写程序也不行,你必须把它和硬件电路联系起来,不断的调试,不断地改程序,调试,再改程序,在调试,在经历无数次的修改之后,你会发现你的程序是多么的完美,越来越完美!那种成就感不言而喻,也正是这
20、种头疼的过程后绽放的美丽让你越来越痴迷上它了。单片机技术也在这种无形之中被你慢慢掌握甚至到达精通!这种魅力太精彩了!这也许就是为什么有时看程序看到头疼你还不由自主的坚持着的原因吧!因为你已经爱上它了。6.参考文献1康华光.电子技术基础 模拟部分.北京:高等教育出版社,2006.12康华光.电子技术基础 数字部分.北京:高等教育出版社 ,2006.13黎文模,段晓峰.PROTEL DXP电路设计与实例精解.北京:人民邮电出版社,20064 李科杰.新编传感器技术手册M.北京:国防工业出版社,19955 林庭双.PROTEL DXP电子电路设计精彩范例.北京:机械工业出版社,2005.66 郑学坚
21、.周斌微型计算机原理及应用.北京:清华大学出版社,20017. 附件7.1系统的电路原理图和PCB图7.2实物图 7.3电子元器件清单序号器件名称型号、规格数量备注(单价/元)1单片机AT89S521132IC座40脚20.43芯片ADC0809184IC座28脚10.354联体数码管共阳146晶振12M117电容30pf20.18电解电容10uf10.29按键20.210电阻10K20.0511电阻51080.0512电阻8.2K10.0513电阻4,.7K40.0514三极管901240.115插针100.0516导线0.460.517焊锡50.818标签纸119帽钉40.120电路板12
22、07.4源程序#includeunsignedcharcodedispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsignedcharcodedispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsignedchardispbuf8=10,10,10,10,0,0,0,0;unsignedchardispcount;unsignedchargetdata;unsignedinttemp;unsignedchari;sbitST=P30;sbitOE=P31;sb
23、itEOC=P32;sbitCLK=P33;voidmain(void)ST=0;OE=0;ET0=1;ET1=1;EA=1;TMOD=0x12;TH0=216;TL0=216;TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;TR0=1;ST=1;ST=0;while(1)if(EOC=1)OE=1;getdata=P0;OE=0;temp=getdata*235;temp=temp/128;i=5;dispbuf0=10;dispbuf1=10;dispbuf2=10;dispbuf3=10;dispbuf4=10;dispbuf5=0;dispbuf6=0;dispbuf7=0;指导教师评语:课程设计报告成绩: ,占总成绩比例: 30% 课程设计其它环节成绩:环节名称: 考勤 ,成绩: ,占总成绩比例: 20 环节名称: 综合 ,成绩: ,占总成绩比例: 50 总 成 绩: 指导教师签字:年 月 日本次课程设计负责人意见:负责人签字:年 月 日 16