1、12月5日一12月6日4选取方案12月7日一12月8日5完成设it,进行编程,调试12月9日一12月12日6扌T印整理课程设计资料12月13日一12月14日7答瞬及成绩评定12月15日12月16日常导老師签字:基于单片机的简易数字电压表的设it摘要本文介绍了一种基于单片机的简易数字电压表的设廿。该设it主要由三 个模块组成:A/D转换模块,数摇处理模決及显示模块。A/D转换壬要由芯片 ADC0808来完成,它负责把釆集到的模81量转換为相应的数字量在传送到数据处 9模挟。数据处理则由茜片AT89C51来完成,其负责把ADC0808传送来的数字 量经11 一定的数据处理,产生相应的显示网送到显示
2、模显示;此外,它还 控初着ADC0808芯片工作。该系貌的数字电压表电路简单,所用的元件较少, 成本低,冃测量猜度和可靠性较高。此数字电压表可以测量0-5V的1路模jfl直 流输入电压值,并通11 - f El E - It的7段数侶管显示出来。关建词单片机;数字电压表;A/D转换;AT89C51 ; ADC0808一、 引言4二、 设计总体方案4(一) 设廿要求4(二) 设廿思路4(三) 设廿方案5三、 硬件电路设计5(-)A/D转换模決5(二) 单片机系鋭7(三) 夏位电路和时押电路7(四) LED显示系统设廿8(五)总体电路设计9皿、程序设计11(一) 程序设计方案11(二) 部分程序代
3、码12五、仿真13(一)显示结果及锲差分桥13穴、结论14七、参考文献14附录15一、引言在电量的測量中,电压、电流和颐率是最基本的三个被测量,其中电压量 的测量最为经常。传貌的描针式刻度电压表助能单一,aK,容易引起視差 和视觉疲劳,因而不能满足数字化时代的需要。数字电压表简称DVM,它是果 用数字化测量技术,把连续的模#1量转换成不连续、离散的数字形式并加以显 示的仪表。由于数字式仪器具有读数准确疗便、精度高、误差小、测量速度快 等特而得到广泛应用数字电压表的部核心部件是A/D转换器,转换的精度很 大程度上影响着数字电压表的准确度。本文是以简易数字直流电压表的设it为研究容,采用单片机将连
4、续的直流 电压转换成不连续的离散的数字形式并加以显示,本系缆主要色括:转换模 块、数播处理模快及显示模块。其中,A/D转换采用ADC0808 K片,单片机茜 片果用AT89C51,显示模块采用四个LED数码管。二、按卄总体方案(1)设廿要求(1 )以单片机为核心器件,组成一 f简单的直流数字电压表。(3)电圧显示至少能龄显示两位小数。(2)设廿思胳(1 )根据设廿要求,选择AT89C51单片机为核心控制器件。(2)A/D转换采用ADC0808实现,数据SI 口与单片机的P2 口相连,控制 引脚和P3 口的低四位引脚。(3)电压显示果用4位一体的LED数码to(4 ) LED数儕的段的输人与P1
5、 口连接。位码输人,用P3 口高四位控制。(三)设廿方案硕件电路设廿由4个部分组成;A/D转换电路,AT89C51单片机系绣,LED 显示系统以及测量电压输人电路。硕件电路设计框图如图1所示。S1数字电压表系貌换件设廿框图三、硬件电路按廿(-)A/D转换模块把模量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器 是单片机数据呆集系貌的关建接口电路,常用的A/D转换器有:双枳分武、逐 位比较式及并行直接比较式等几种。本设计果用ADC0808 I片。ADC0808是采用CMOS工艺制成的8 E 8通道A/D转换器,采用28 DIP 封装。片带有锁存功能的8路模开关,可以对8路0-5
6、V输人模电压信号分 Wait转换,由于ADC0808设廿时考虑到若干种模/数变换技术的长处,所以该 芯片非常适应于il程腔制,缺腔制器输人通道的接口电路,智能仪器和机床腔 制等领域。ADC0808 K片有28条引脚,釆用双列直插式封装,其引脚图如图2所示。ADC0808图2 ADC0808引瞄图下面说明各个引牌助能:IN0-IN7 ( 8条):8路模量输人线,用干输人被转换的模UH言号。ALE:地址锁存允许信号,输入。由低到高的正姚变有效,此时锁存地址选 择线的状态,从而选通相应的模通道,以便进行A/D转换。ADD A, ADD B, ADD C:模折通道的地址选择线,输人。其对应关系如表1所
7、 示:表1 ADC0808通道选择表地址码对应的输人通道CBAINOIN1IN2IN3IN4IN5IN6IN7START:启动信号,输人,高电平有效。为了启动转换,在此端上应加一 个正脉冲信号,脉冲的上升沿将部寄存器全部清0,在其下薛沿开始转换。EOC:转换结東信号,输岀,高电平有效。在START信号的上升汨之后0- 时押周期,EOC变为低电平。当转换结東时,EOC变为高电平,这时转换得 到的数据可供读岀。0UT1-0UT8:数字输出线,输出。0UT1为最高(5, 0UT8为最Kfi0OE:输岀允许信号,输人,高电平有效。当0E有效时,A/D的输岀锁存缓 冲器开放,将其中的数据,放到外面的数据
8、线上。VREFk VREF-:参考电压输入量,紿电阳阶梯网络供给标准电压。Vcc、GND: Vcc为电源输人常,GND为接地端。(二)单片机系统AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片 含有4KB的可反夏援写的程序存储器和128字节的数锯存储器。AT89C51采用DIP封装形式,引脚配置如图3所示。AT89C51图3 AT89C51的引腮图VCC为+5V电源线,VSS接地。地址锁存允许信号。EA:片外存器前冋允许信号,低电平有效。PSEN:片外程序存棒器选通信号,低电平有效。RST:夏位输人信号,高电平有效。XTAL1 fll XTAL2:这两个常子用来接
9、外部石英晶休。(三)复位电胳和时钟电胳80C51单片机部带有时鉀电路,因此,只需要在片外通fl XTAL1 fll XTAL2引脚接人定时控制元件(晶体振蒲器和电容),即可枸成一个稳定的自激振葫器。在80C51 JK片部有一个高增益反相放大器,而在茜片外部.XTAL1和XTAL2之同跨接晶体振蒲器和电容。图4单片机晟小系统图在本系统中选择的时鉀信号的震蒲频率为12MHzo上述复位电路,上电自aiR,按罐电平复位。使单片机U 0000H单元开 始执行程序。(ffl ) LED显示系统设廿在应用系貌中,设计要求不同,使用的LED显示器的位数也不同,因此就 生产了位数,尺寸,型号不同的LED显示器供
10、选择,在本设廿中,选择4 IS- 体的数码型LED显示器。本系貌中前一位显示电压的整数位,即个位,后3位 显示电压的小敦位。4-LED显示器引脚如图5所示,是一个共阴18接法的4位LED数伺显示 管,其中A, B, C, D, E, P, G为4位LED各段的公共输出端,1、2、3、4 分别是每一位的位数选竭,DP是小数点引岀端,4位一依LED数码显示管的部 结梅是由4个单独的LED组成,毎个LED的段输岀引啣在部都并朕后,引岀到 器件的外部。图5 4位LED数侶显示管对干这种结构的LED显示器,它的休枳和结沟都符合设廿要求,由T4 E LED阴18的各段已经在部连接在一起,所以必须使用动态甘
11、描方武(将所有数 码管的段选线并联在一起,用一个I/O接口腔制)显示。由于本设廿果用的是 共明极LED,其对应的字符和字段伺如下表2所示。表2 ttP字段码表显示字符字股码3FH06H5BH4FH66H6DH7DH07H87FH96FH(五)总休电胳设廿经11以上的设廿11程,可设it岀基于单片机的简易数字直流电压表硕件电 路原理图如图6所示。图6简易数字电压表电路图此电路的工作原理是:+5V模抵电压信号通过变皿器VR1分压后由ADC08008的IN0通道进入(由于便用的IN0通道,所以ADDA,ADDB,ADDC均接 低电平),经过模/数转换后,产生相应的数字量经过其输出通道0 UTO-OU
12、T7传 送给AT89C51芯片的P2 口, AT89C51负责把接收到的数字量经过数据处理,产 生正确的7段数码管的显示段码传送给E1ISLED,同时它还通U其呱位I/O 口 P3.4、P3.5、P3.6、P3.7产生位选信号控制数码管的亮灭。此外,AT89C51还控 制ADC0808的工作。其中,单片Hl AT89C51通过立时器中断从P3.3输出方 波,接到ADC0808的CLOCK,P3.0发正脉冲启动A/D转换,P3.1检測A/D转换是 否完成,转换完成后,P3.2置高从P1 口读取转换结果送给LED显示岀来。简易数字直流电压表的硕件电路已经设廿完成,就可以选収相应的芯片和 元器件,利
13、用Proteus 件绘制岀便件的原理,并仔细地检查修改,直至形成完 善的硬件原理图。但要真正实现电路对电压的测量和显示的助能,还需要有相 应的軟件配合,才能达到设it要求。EL程序设廿()程序设廿方案根据模块的则分原则,将该程序刘分初始化模快,A/D转換,数据转换和显示子程序,这三个程序模块沟成了整个系统軟件的主程序,如图7所爪O/ 开始图7主程序流程图结束图8定时中图(二)部分程序代码ORG OOOBHLJMP INTTOMAIN:MOV TMOD/02H ;设定定时器TO工作在方式2MOV TH0/254MOV TLO/254MOV IE/82HSETB TRO;设定时钟频率为500KHZ
14、开定时器TO中Bfi启动定时器TOINTTO:CPL P3.3RETI五、仿真()显示结果及误差分析系统仿真是在单片机系貌的设计与仿真平台Proteus中实现的,其中 ADC0808的模81通道INTO接人可调电位器的中心抽条的分压值,该电压值大小 可调节,以模#1被测电压,系貌的测试数据血表3所示,从表中的测试结果可 以看岀,电压测量值和侍测电压值几平相等,误差较小,测量精度高,性能稳 定,但文中仿真结果是在比较理想的悄况下进行的,搭建实际的硕件电路时, 若误差较大,可以通11校正ADC0808的基准电压来解决,也可以通过狀件编程 进行调整。表3简易数字电压表与“标准”数字电压表对比测试表标
15、准电压值/V简易电压表 测量值/V绝对误差/V0.000.0000.100.0970.0030.250.2540.0040.500.5070.0071.351.3520.0021.551.5472.102.0972.852.8473.353.3524.254.2544.304.2934.454.4505.005.000由于单片机AT89C51为8位处理器,当输入电压为5.00V时,ADC0808输 岀数据值为255 ( 0阡H),因此单片机最高的数值分辨率为0.0196V(5/255)o & 就决定了电压表的最高分辨率只能到0.0196V, U上表可看到,测试电压一般以 0.01V的帽度变化。
16、从上表可以看岀,简易数字电压表测得的値基本上比标准电压值偏大0- 0.01V,这可以通过校正ADC0808的基准电压来解决。因为该电压表设it N fi接 用5V的哄电电源作为电压,所以电压可能有偏差。当要测量大于5V的电压 时,可在输人口使用分压电址,而程序中只要将廿算程序的除数进行调整就可 以了。九结论基干单片机的数字电压表使用II強、结构简单、成本低、外接元件少。在 实际应用工作应能好,测量电压准68, ft高。系貌功能、指标达到了课题的 预期要求、系貌在硕件设廿上充分考虑了可扩展性,经过一定的改造,可以塔 加助能。本文设廿主要实现了简易数字电压表测量一路电压的功能,详细说明 了从原理图
17、的设it、电路图的IS真再到軟件的调试。通il本次设计,我対单片机这门课有了进一步的了解。无论是在硕件连接 方面还是在軟件编程方面。本次设计果用了 AT89C51单片机芯片,与以往的单 片机相比增加了许名新的助能,使其助能更为完善,应用领域也更为广泛。设 廿中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知 识有了初步的理解。通对它的工作原理有了更除的理解。在调试 11程中遇到很多问题,厦件上的理论知识学得不嚴扎实,对电路的册真方面也 不皤熟练。总之这次电路的设廿和仿真,基本上这到了设廿的功能要求。在以后的实 践中,我将進续勢力学习电ffiiSit方面的理论知识,并J!
18、论联系实麻,争取在 电路设计方面能有所提廿。七、参考文献胡也单片81原理及接口技术: Jlttllt, 2004年10月干殿泓、王新年卑片机原理与f?Jf设卄实验教私电子料技大学,2007年5月俊谟.单片机中级教程一原理与应用.第2版航空航天大学,2006年4遷春远.MCS-51单片机应用开发实用子程序M.:人民需电.2005年9月.附录ORG 0000HLJMP MAINM0V TMOD/02H ;定时器TO工作在方式2MOV TL0/254MOV THO/254设定时抑頫率为500KHZ查看EOC是否跳变到0,表示转换完毕OE 11,箱转換结果送出去结果送到累加器A,准备数据显示调整 ;数
19、据调整;255换算到5V,比例为51DIVABMOVC A.A+DPTR ;查表SETB P3.7 次冈数伺管通道4CLR P3.4 ;打开数码管通道1MOV P1.A ;整数部分SETB P1.7 ;小数点MOVA.B ;余数送到ACLR FODIV ABFO.LOOP2 ;借位了,说明大干26ADD A,#5DL00P2:MOVC A.A+DPTRSETB P3.4 ;关数侶管显示通道1CLR P3.5 ;打开数侶管显示通道2CLR P1.7 ;渭小数点小数点后第一位小数MOV A.BSUBB A,#26DMOV FO,CMOV A,#10DMULABMOVB/51DFO,LOOP3ADD
20、 A,#5LOOP3:SETB P3.5 ;关冈数伺管显示通道2CLR P3.6 ;打开数码管显示通道3小数点后第二位小数MOVB #51DFO,LOOP4LOOP4:MOVC A,A+DPTRSETB P3.6 ;关冈数侶管显示通道3CLR P3.7 ;打开数侶管显示通道4MOV P1,A ;小数点后第三位小数RETTAB:DBBFHOGHbBHHaHeDH/DHWIVFHePHH/CHHbEHMHJHEND单片机澡程按it成绩坪定表辛维辎2010210350那级电气工程101题目基于单片机的简易数字电压表的设计摘要:本文介给了一种基干单片机的简易数字电压表的设计。该设it主要由三 个模快组
21、成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片 ADC0808来完成,它负责把采集到的模抓量转换为相应的数字量在传送到数船 处理模块。数锯处理!II由芯片AT89C51来完成,其负责把ADC0808传送来的数 字量经11 一定的数据处理,产生相应的显示码送到显示模快进行显示;此外,它 还控制着ADC0808芯片工作。垓系统的数字电压表电路简单,所用的元件较 少,成本低,目测量精度和可靠性较高。此数字电压表可以测量0-5V的1爵模 拥直流输人电压借,并通il一个Elfi-li的7段数码管显示岀来。成绩评罡依据评定项目1.设计方案可fitta其优选2.设廿过程及结果3.平时成绩(态度认真、遵守纪律)4.设it报告的规性、参考文献充分5.答霸6.总分该同学课程设廿最终成绩评定为(优.良.巾.JStL不及榕)备注:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1