基于单片机的数字电压表设计.docx
- 文档编号:4792356
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:17
- 大小:549.06KB
基于单片机的数字电压表设计.docx
《基于单片机的数字电压表设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的数字电压表设计
学号20xxxxxxxx
《单片机原理与应用》
课程设廿
(2010_^本科)
目:
基于单片机的简易数字电压表的设廿
系(部)院:
物理与机电工程学院专业:
电气工程及其自动化作者:
XXXX指导教师:
XXXXX职緘XXXXXXX
完成日期:
2013年12月15日
单片机原理与应用课程披it任务书
学生
XXXX
学号
20xxx
专业方向
电气工程及其自动化
册级
电气16101
题目名称
基于单片Al的简易数字电压表的设it
一、设it要求
(1)以单片机为核心器件,组成一个简单的直流数字电圧表。
(2)能够测量0-5V之间的直流电压值。
(3)电压显示至少能協显示两位小数。
H.fitt进度安排
阶段
按it各阶段名称
起止日期
1
熟悉设廿任务书、设廿题目及设廿背景资料
12月1日一一12月2日
2
査阅有关资料
12月3日一12月4日
3
阅读设it要求必读的参考资料
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一定的数据处理,产生相应的显示网送到显示模显示;此外,它还控初着ADC0808芯片工作。
该系貌的数字电压表电路简单,所用的元件较少,成本低,冃测量猜度和可靠性较高。
此数字电压表可以测量0-5V的1路模jfl直流输入电压值,并通11-fElE-It的7段数侶管显示出来。
关建词单片机;数字电压表;A/D转换;AT89C51;ADC0808
一、引言4
二、设计总体方案4
(一)设廿要求4
(二)设廿思路4
(三)设廿方案5
三、硬件电路设计5
(-)A/D转换模決5
(二)单片机系鋭7
(三)夏位电路和时押电路7
(四)LED显示系统设廿8
(五)总体电路设计9
皿、程序设计11
(一)程序设计方案11
(二)部分程序代码12
五、仿真13
(一)显示结果及锲差分桥13
穴、结论14
七、参考文献14
附录15
一、引言
在电量的測量中,电压、电流和颐率是最基本的三个被测量,其中电压量的测量最为经常。
传貌的描针式刻度电压表助能单一,a®K,容易引起視差和视觉疲劳,因而不能满足数字化时代的需要。
数字电压表简称DVM,它是果用数字化测量技术,把连续的模#1量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确疗便、精度高、误差小、测量速度快等特而得到广泛应用%数字电压表的部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度。
本文是以简易数字直流电压表的设it为研究容,采用单片机将连续的直流电压转换成不连续的离散的数字形式并加以显示,本系缆主要色括:
转换模块、数播处理模快及显示模块。
其中,A/D转换采用ADC0808K片,单片机茜片果用AT89C51,显示模块采用四个LED数码管。
二、按卄总体方案
(1)设廿要求
(1)以单片机为核心器件,组成一f简单的直流数字电压表。
(2)能够测量0-5V之间的直流电压值。
(3)电圧显示至少能龄显示两位小数。
(2)设廿思胳
(1)根据设廿要求,选择AT89C51单片机为核心控制器件。
(2)A/D转换采用ADC0808实现,数据SI口与单片机的P2口相连,控制引脚和P3口的低四位引脚。
(3)电压显示果用4位一体的LED数码to
(4)LED数儕的段的输人与P1口连接。
位码输人,用P3口高四位控制。
(三)设廿方案
硕件电路设廿由4个部分组成;A/D转换电路,AT89C51单片机系绣,LED显示系统以及测量电压输人电路。
硕件电路设计框图如图1所示。
S1数字电压表系貌换件设廿框图
三、硬件电路按廿
(-)A/D转换模块
把模量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据呆集系貌的关建接口电路,常用的A/D转换器有:
双枳分武、逐位比较式及并行直接比较式等几种。
本设计果用ADC0808I片。
ADC0808是采用CMOS工艺制成的8E8通道A/D转换器,采用28»DIP封装。
片带有锁存功能的8路模开关,可以对8路0-5V输人模电压信号分Wait转换,由于ADC0808设廿时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于il程腔制,缺腔制器输人通道的接口电路,智能仪器和机床腔制等领域。
ADC0808K片有28条引脚,釆用双列直插式封装,其引脚图如图2所示。
ADC0808
图2ADC0808引瞄图
下面说明各个引牌助能:
IN0-IN7(8条):
8路模量输人线,用干输人被转换的模UH言号。
ALE:
地址锁存允许信号,输入。
由低到高的正姚变有效,此时锁存地址选择线的状态,从而选通相应的模通道,以便进行A/D转换。
ADDA,ADDB,ADDC:
模折通道的地址选择线,输人。
其对应关系如表1所示:
表1ADC0808通道选择表
地址码
对应的输人通道
C
B
A
0
0
0
INO
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
START:
启动信号,输人,高电平有效。
为了启动转换,在此端上应加一个正脉冲信号,脉冲的上升沿将部寄存器全部清0,在其下薛沿开始转换。
EOC:
转换结東信号,输岀,高电平有效。
在START信号的上升汨之后0-时押周期,EOC变为低电平。
当转换结東时,EOC变为高电平,这时转换得到的数据可供读岀。
0UT1-0UT8:
数字输出线,输出。
0UT1为最高(5,0UT8为最Kfi0
OE:
输岀允许信号,输人,高电平有效。
当0E有效时,A/D的输岀锁存缓冲器开放,将其中的数据,放到外面的数据线上。
VREFkVREF-:
参考电压输入量,紿电阳阶梯网络供给标准电压。
Vcc、GND:
Vcc为电源输人常,GND为接地端。
(二)单片机系统
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片含有4KB的可反夏援写的程序存储器和128字节的数锯存储器。
AT89C51采用DIP封装形式,引脚配置如图3所示。
AT89C51
图3AT89C51的引腮图
VCC为+5V电源线,VSS接地。
ALE:
地址锁存允许信号。
EA:
片外存器前冋允许信号,低电平有效。
PSEN:
片外程序存棒器选通信号,低电平有效。
RST:
夏位输人信号,高电平有效。
XTAL1fllXTAL2:
这两个常子用来接外部石英晶休。
(三)复位电胳和时钟电胳
80C51单片机部带有时鉀电路,因此,只需要在片外通flXTAL1fllXTAL2
引脚接人定时控制元件(晶体振蒲器和电容),即可枸成一个稳定的自激振葫
器。
在80C51JK片部有一个高增益反相放大器,而在茜片外部.XTAL1和
XTAL2之同跨接晶体振蒲器和电容。
图4单片机晟小系统图
在本系统中选择的时鉀信号的震蒲频率为12MHzo
上述复位电路,上电自aiR,按罐电平复位。
使单片机U0000H单元开始执行程序。
(ffl)LED显示系统设廿
在应用系貌中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设廿中,选择4IS-体的数码型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的段输岀引啣在部都并朕后,引岀到器件的外部。
图54位LED数侶显示管
对干这种结构的LED显示器,它的休枳和结沟都符合设廿要求,由T4ELED阴18的各段已经在部连接在一起,所以必须使用动态甘描方武(将所有数码管的段选线并联在一起,用一个I/O接口腔制)显示。
由于本设廿果用的是共明极LED,其对应的字符和字段伺如下表2所示。
表2ttP«字段码表
显示字符
字股码
0
3FH
1
06H
2
5BH
3
4FH
4
66H
5
6DH
6
7DH
7
07H
8
7FH
9
6FH
(五)总休电胳设廿
经11以上的设廿11程,可设it岀基于单片机的简易数字直流电压表硕件电路原理图如图6所示。
图6简易数字电压表电路图
此电路的工作原理是:
+5V模抵电压信号通过变皿器VR1分压后由
ADC08008的IN0通道进入(由于便用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道0UTO-OUT7传送给AT89C51芯片的P2口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给E1ISLED,同时它还通U其呱位I/O口P3.4、P3.5、P3.6、P3.7产生位选信号控制数码管的亮灭。
此外,AT89C51还控制ADC0808的工作。
其中,单片HlAT89C51通过立时器中断从P3.3输出方波,接到ADC0808的CLOCK,P3.0发正脉冲启动A/D转换,P3.1检測A/D转换是否完成,转换完成后,P3.2置高从P1口读取转换结果送给LED显示岀来。
简易数字直流电压表的硕件电路已经设廿完成,就可以选収相应的芯片和元器件,利用Proteus«件绘制岀便件的原理,并仔细地检查修改,直至形成完善的硬件原理图。
但要真正实现电路对电压的测量和显示的助能,还需要有相应的軟件配合,才能达到设it要求。
EL程序设廿
(—)程序设廿方案
根据模块的则分原则,将该程序刘分初始化模快,A/D转換,数据转
换和显示子程序,这三个程序模块沟成了整个系统軟件的主程序,如图7所
爪O
/\
开始
图7主程序流程图
结束
图8定时中图
(二)部分程序代码
ORGOOOBH
LJMPINTTO
MAIN:
MOVTMOD/02H;设定定时器TO工作在方式2
MOVTH0/254
MOVTLO/254
MOVIE/82H
SETBTRO
;设定时钟频率为500KHZ
;开定时器TO中Bfi
;启动定时器TO
INTTO:
CPLP3.3
RETI
五、仿真
(—)显示结果及误差分析
系统仿真是在单片机系貌的设计与仿真平台Proteus中实现的,其中ADC0808的模81通道INTO接人可调电位器的中心抽条的分压值,该电压值大小可调节,以模#1被测电压,系貌的测试数据血表3所示,从表中的测试结果可以看岀,电压测量值和侍测电压值几平相等,误差较小,测量精度高,性能稳定,但文中仿真结果是在比较理想的悄况下进行的,搭建实际的硕件电路时,若误差较大,可以通11校正ADC0808的基准电压来解决,也可以通过狀件编程进行调整。
表3简易数字电压表与“标准”数字电压表对比测试表
标准电
压值/V
简易电压表测量值/V
绝对误差/V
0.00
0.000
0.000
0.10
0.097
0.003
0.25
0.254
0.004
0.50
0.507
0.007
1.35
1.352
0.002
1.55
1.547
0.003
2.10
2.097
0.003
2.85
2.847
0.003
3.35
3.352
0.002
4.25
4.254
0.004
4.30
4.293
0.007
4.45
4.450
0.000
5.00
5.000
0.000
由于单片机AT89C51为8位处理器,当输入电压为5.00V时,ADC0808输岀数据值为255(0阡H),因此单片机最高的数值分辨率为0.0196V(5/255)o&就决定了电压表的最高分辨率只能到0.0196V,U上表可看到,测试电压一般以0.01V的帽度变化。
从上表可以看岀,简易数字电压表测得的値基本上比标准电压值偏大0-0.01V,这可以通过校正ADC0808的基准电压来解决。
因为该电压表设itNfi接用5V的哄电电源作为电压,所以电压可能有偏差。
当要测量大于5V的电压时,可在输人口使用分压电址,而程序中只要将廿算程序的除数进行调整就可以了。
九结论
基干单片机的数字电压表使用II強、结构简单、成本低、外接元件少。
在实际应用工作应能好,测量电压准68,ft®高。
系貌功能、指标达到了课题的预期要求、系貌在硕件设廿上充分考虑了可扩展性,经过一定的改造,可以塔加助能。
本文设廿主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设it、电路图的IS真再到軟件的调试。
通il本次设计,我対单片机这门课有了进一步的了解。
无论是在硕件连接方面还是在軟件编程方面。
本次设计果用了AT89C51单片机芯片,与以往的单片机相比增加了许名新的助能,使其助能更为完善,应用领域也更为广泛。
设廿中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。
通对它的工作原理有了更除的理解。
在调试11程中遇到很多问题,厦件上的理论知识学得不嚴扎实,对电路的册真方面也不皤熟练。
总之这次电路的设廿和仿真,基本上这到了设廿的功能要求。
在以后的实践中,我将進续勢力学习电ffiiSit方面的理论知识,并J!
论联系实麻,争取在电路设计方面能有所提廿。
七、参考文献
⑴胡也单片81原理及接口技术•:
Jlttllt,2004年10月
⑵干殿泓、王新年•卑片机原理与f?
Jf设卄实验教私电子料技大学,2007年5月
⑶俊谟.单片机中级教程一原理与应用.第2版•航空航天大学,2006年
[4]遷春远.MCS-51单片机应用开发实用子程序[M].:
人民需电.2005年9月.
附录
ORG0000H
LJMPMAIN
ORGOOOBH
LJMPINTTO
MAIN:
M0VTMOD/02H;定时器TO工作在方式2
MOVTL0/254
MOVIE/82H
SETBTRO
;开定时器TO中Bfi
;启动定时器TO
MOVTHO/254
;设定时抑頫率为500KHZ
;查看EOC是否跳变到0,表示转换完毕
;OE«11,箱转換结果送出去
;结果送到累加器A,准备数据显示调整;数据调整
;255换算到5V,比例为51
DIVAB
MOVCA.A+DPTR;查表
SETBP3.7次冈数伺管通道4
CLRP3.4;打开数码管通道1
MOVP1.A;整数部分
SETBP1.7;小数点
MOVA.B;余数送到A
CLRFO
DIVAB
FO.LOOP2;借位了,说明大干26
ADDA,#5D
L00P2:
MOVCA.A+DPTR
SETBP3.4;关数侶管显示通道1
CLRP3.5;打开数侶管显示通道2
CLRP1.7;渭小数点
MOVP1.A;小数点后第一位小数
MOVA.B
CLRFO
SUBBA,#26D
MOVFO,C
MOVA,#10D
MULAB
MOVB/51D
DIVAB
FO,LOOP3
ADDA,#5
LOOP3:
MOVCA.A+DPTR
SETBP3.5;关冈数伺管显示通道2
CLRP3.6;打开数码管显示通道3
MOVP1.A;小数点后第二位小数
MOVA.B
CLRFO
SUBBA,#26D
MOVFO,C
MOVA,#10D
MULAB
MOVB#51D
DIVAB
FO,LOOP4
ADDA,#5
LOOP4:
MOVCA,A+DPTR
SETBP3.6;关冈数侶管显示通道3
CLRP3.7;打开数侶管显示通道4
MOVP1,A;小数点后第三位小数
RET
TAB:
DB
BFH’OGHbBH^HaHeDH/DHWIVFHePH^H/CH^HbEHMHJH
INTTO:
CPLP3.3
RETI
END
单片机澡程按it成绩坪定表
辛维辎
学号
2010210350
那级
电气工程101
题目
基于单片机的简易数字电压表的设计
摘要:
本文介给了一种基干单片机的简易数字电压表的设计。
该设it主要由三个模快组成:
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不及榕)
备注:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电压表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)