基于AT89C52的数字电压表的设计毕业设计.docx
《基于AT89C52的数字电压表的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C52的数字电压表的设计毕业设计.docx(23页珍藏版)》请在冰点文库上搜索。
![基于AT89C52的数字电压表的设计毕业设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/6d5ced93-63eb-4a72-bd30-a30d31095722/6d5ced93-63eb-4a72-bd30-a30d310957221.gif)
基于AT89C52的数字电压表的设计毕业设计
基于AT89C52的数字电压表的设计
目录
目录2
摘要:
3
第一章引言4
第二章设计思路5
第三章系统硬件电路的设计6
第四章系统程序的设计8
4.1初始化程序8
4.2主程序8
4.3显示子程序8
4.4A/D转换测量子程序9
第五章单片机汇编源程序清单10
第六章结语18
参考文献19
摘要:
本文设计了一个数字电压表,数字电压测量电路主要由A/D转换、数据处理及显示控制等组成。
数字电压表可以测量0到5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。
其测量最小分辨率为0.02V。
A/D转换由集成电路ADC0808完成0808具有8路模拟输入端口地址线(23~25脚)可决定对哪一路模拟输入作A/D转换单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作0808A/D转换控制。
显示子程序采用动态扫描法实现4位数码管的数值显示。
关键词:
AT89C52;A/D转换;ADC0809;LED数码显示管
第一章引言
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
新型数字电压表以其高准确度、高可靠性、高分辨率、高性价比等优良特性倍受人们的青睐。
目前,数字电压表作为数字化仪表的基础与核心,已被广泛用于电子和电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。
与此同时,由电压表扩展而成的各种通用及专用仪表(含数字万用表),也将电量及非电量测量技术提高到崭新水平本文重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。
第二章设计思路
按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。
数字电压表系统设计方案框图如图1所示。
图1数字电压表系统设计方案
第三章系统硬件电路的设计
数字电压表可以测量0到5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。
其测量最小分辨率为0.02V。
数字电压表电路图如图2.1。
A/D转换由继承电路ADC0809完成。
ADC0809具有8路模拟输入端口,地址线(第23到25脚)可决定对哪一路模拟输入作A/D转换。
第22脚为抵制锁存控制,当输入为高电平时,对抵制信号进行锁存。
第6脚为测试控制,当输入一个2微秒宽高电平脉冲时,就开始A/D转换。
第7脚为A/D转换结束标志,当A/D转换结束时,第7脚输出高电平。
第9脚为A/D转换数据输出允许控制,当0E脚为高电平时,A/D转换结束时,A/D转换数据从端口输入。
第10脚为ADC0809的时钟输入端,利用单片机第30脚的6分频晶振频率,再通过14024二分频得到1MHz时钟。
单片机的P1﹑P3.0到P3.3端口座位4位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择显示的通道。
P0端口用作A/D转换数据读入,P2端口用作ADC0809的A/D转换控制。
第四章系统程序的设计
4.1初始化程序
系统上电时,初始化程序主要用来执行70H-77H内存单元清0和P2口置0等准备工作。
4.2主程序
在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间在1s左右。
主程序在调用显示子程序与测量子程序之间循环。
主程序流程图如图2所示。
图2主程序流程图
4.3显示子程序
显示子程序采用动态扫描法实现4位数码管的数值显示。
测量所得的A/D转换数据放在70H-77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H-7BH单元中,其中7BH存放通道标志数。
寄存器R3用作8路循环控制,R0用作显示数据地址指针。
4.4A/D转换测量子程序
A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H-77H内存单元。
A/D转换测量子程序流程图如图3所示。
图3A/D转换测量子程序流程图
第五章单片机汇编源程序清单
;简易数字电压表;
;测量电压最大为5V,显示最大值为5.00V
;70H—77H存放采样值,78H—7BH存放显示数据,依次为个位、十位、百位、通道标志
;P3.5作单路显示/循环显示转换用,P3.6作单路显示时选择通道按键用
;*主程序和中断程序入口*
ORG0000H
LJMPSTART
ORG0003H
RETI
ORG000BH
RETI
ORG0013H
RETI
ORG001BH
RETI
ORG0023H
RETI
ORG002BH
RETI
;*初始化程序中的各变量*
CLEARMEMIO:
CLRA
MOVP2,A
MOVR0,#70H
MOVR2,#0DH
LOOPMEM:
MOV@R0,A
INCR0
DJNZR2,LOOPMEM
MOV20H,#00H
MOVA,#0FFH
MOVP0,A
MOVP1,A
MOVP3,A
RET
;*主程序*
START:
LCALLCLEARMEMIO;初始化
MAIN:
LCALLTEST;测量一次
LCALLDISPLAY;显示数据一次
AJMPMAIN
NOP;PC值出错处理
NOP
NOP
LJMPSTART
;*显示控制程序;*
DISPLAY:
JB00H,DISP11;标志位为1,则转单路显示控制子程序
MOVR3,#08H;8路信号循环显示控制子程序
MOVR0,#70H;显示数据初址70H~77H
MOV7BH,#00H;显示通道路数初值
DISLOOP1:
LCALLTUNBCD;显示数据转存为三位BCD码7AH、79H、78H
MOVR2,#0FFH;每路显示时间控制4MS*255,约一秒
DISLOOP2:
LCALLDISP;调四位显示程序
LCALLKEYWORK1;按键检测
DJNZR2,DISLOOP2;
INCR0;显示下一路
INC7BH;通道显示数加一
DJNZR3,DISLOOP1
RET
DISP11:
MOVA,7BH;单路显示控制子程序
SUBBA,#01H;
MOV7BH,A;
ADDA,#70H;
MOVR0,A;
DISLOOP11:
LCALLTUNBCD;显示数据转为三位BCD码存入7AH、79H、78H(最大5.00v)
MOVR2,#0FFH;每路显示时间控制4MS*25
DISLOOP22:
LCALLDISP;调四位显示程序
LCALLKEYWORK2;按键检测
DJNZR2,DISLOOP22
INC7BH;通道显示数加一
RET
;*显示数据转为三位BCD码程序*
;显示数据转为三位BCD码存入7AH、79H、78H(最大值5.00v);
TUNBCD:
MOVA,@R0;255/51=5.00V运算
MOVB,#51;
DIVAB;
MOV7AH,A;个位数放入7AH
MOVA,B;余数大于19H,F0为1,乘法溢出,结果加5
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10;
MULAB;
MOVB,#51;
DIVAB
JBF0,LOOP2;
ADDA,#5
LOOP2:
MOV79H,A;小数后第一位放入79H
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10;
MULAB;
MOVB,#51;
DIVAB
JBF0,LOOP3;
ADDA,#5
LOOP3:
MOV78H,A;小数后第二位放入78H
RET
;*显示子程序*
;共阳显示子程序,显示内容在78H—7BH;
DISP:
MOVR1,#78H;共阳显示子程序,显示内容78H—7BH
MOVR5,#0FEH;数据在P1输出,列扫描在P3.0-P3.3
PLAY:
MOVP1,#0FFH
MOVA,R5
ANLP3,A
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
JBP3.2,PLAY1;小数点处理
CLRP1.7;小数点显示(显示格式为XX.XX)
PLAY1:
LCALLDL1MS
INCR1
MOVA,P3
JNBACC.3,ENDOUT
RLA
MOVR5,A
MOVP3,#0FFH
AJMPPLAY
ENDOUT:
MOVP3,#0FFH
MOVP1,#0FFH
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;断码表
;*延时程序*
DL10MS:
MOVR6,#0D0H;10MS延时子程序
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET
DL1MS:
MOVR4,#0FFH;(513+513)ms≈
1MS
LOOP11:
DJNZR4,LOOP11
MOVR4,#0FFH
LOOP22:
DJNZR4,LOOP22
RET
;*电压测量(A/D)子程序*
;一次测量数据8个,依次放入70H-77H单元中;
TEST:
CLRA;A/D转换子程序
MOVP2,A
MOVR0,#70H;转换值存放首址
MOVR7,#08H;转换8次控制
LCALLTESTART;启动测试
WAIT:
JBP3.7,MOVD;等A/D转换结束信号
AJMPWAIT
TESTART:
SETBP2.3;测试启动
NOP
NOP
CLRP2.3
SETBP2.4
NOP
NOP
CLRP2.4
NOP
NOP
NOP
NOP
RET
MOVD:
SETBP2.5;取A/D转换数据
MOVA,P0
MOV@R0,A
CLRP2.5
INCR0
MOVA,P2;通道地址加1
INCA
MOVP2,A
CJNEA,#08H,TESTEND;等8路A/D转换结束
TESTEND:
JCTESTCON
CLRA;结束恢复端口
MOVP2,A
MOVA,#0FFH
MOVP0,A
MOVP1,A
MOVP3,A
RET
TESTCON:
LCALLTESTART
LJMPWAIT
;*按键检测子程序*
KEYWORK1:
JNBP3.5,KEY1
KEYOUT:
RET
KEY1:
LCALLDISP;延时消抖
JBP3.5,KEYOUT
WAIT11:
JNBP3.5,WAIT12
CPL00H
MOVR2,#01H
MOVR3,#01H
RET
WAIT12:
LCALLDISP;键释放等待时显示用
AJMPWAIT11
KEYWORK2:
JNBP3.5,KEY1
JNBP3.6,KEY2
RET
KEY2:
LCALLDISP;延时消抖用
JBP3.6,KEYOUT
WAIT22:
JNBP3.6,WAIT21
INC7BH
MOVA,7BH
CJNEA,#08H,KEYOUT11
KEYOUT11:
JCKEYOUT1
MOV7BH,#00H
KEYOUT1:
RET
WAIT21:
LCALLDISP;键释放等待时显示用
AJMPWAIT22
END
第六章结语
基于单片机AT89C52,A/D转换器ADC0809的数字电压表,它标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
数字电压表具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。
经过几个月的努力,毕业设计基本完成了。
在毕业设计的实践中,学到很多有用的知识,也积累了宝贵的经验。
在此要特别感谢孙玲老师,在做设计期间得到孙玲老师的精心指导,他对我们要求非常严格。
毕业设计的顺利完成离不开老师的帮助的,在同学和老师的帮助下我才能完成大学的最后一次作业。
感谢身边的同学,他们为我提供了很多宝贵的资料。
本次毕业设计自始至是在他们的指导和帮助下完成的,在此再一次向他们致以深深的敬意和感谢!
同时由于自己本身对一些知识的掌握不是很深刻,设计难免会出现一些漏洞,虽然设计做的不是很完美,但是毕竟这是自己认认真真做出来的。
希望各位老师给予指正。
同时感谢母校对我这几年来的教育和关心,在这里我不仅学到了专业知识,还学到了很多做人的道理,这几年的大学时光是我终身难忘的。
几年的大学生活使我明确了以后的方向,树立了良好的价值观,在这里学到的一切都使我终身受益。
再次衷心感谢所有关心和帮助过我的老师和同学,谢谢你们!
参考文献
[1]王祎磊。
制作简易AT89系列编程器[N]。
电子报,2004年。
[2]芦涛。
数字万用表的电压表头故障检修[N]。
电子报,2004年。
[3]施珍珠。
利用数字电压表测量脉冲占空比的方法[N]。
电子报,2001年。
[4]杨恢先,黄辉先。
单片机原理及应用[M]。
北京:
人民邮电出版社,2006。
[5]胡跃荣,田建军。
组合式钢水测温数字仪[J]。
冶金自动化,1980年03期。
[6]李光锡。
光电控制型恒流源[J]。
电测与仪表,1980年01期。
[7]周栋,马刚,闫广。
PIC16F87X单片机的特点及应用[A]。
第十三届全国煤矿自动化学术年会、中国煤炭学会自动化专业委员会学术会议论文集[C],2003年。
[8]胡平。
数字万用表的常用电路和检修[J]。
计量与测试技术,2003.No15。
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
学位论文原创性声明
本人郑重声明:
所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。
尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者(本人签名):
年月日
学位论文出版授权书
本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。
论文密级:
□公开□保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)
作者签名:
_______导师签名:
_______
_______年_____月_____日_______年_____月_____日
独创声明
本人郑重声明:
所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。
尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本声明的法律后果由本人承担。
作者签名:
二〇一〇年九月二十日
毕业设计(论文)使用授权声明
本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。
本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。
(保密论文在解密后遵守此规定)
作者签名:
二〇一〇年九月二十日
致谢
时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。
首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。
本次毕业设计大概持续了半年,现在终于