数字电压表课设报告.docx
《数字电压表课设报告.docx》由会员分享,可在线阅读,更多相关《数字电压表课设报告.docx(15页珍藏版)》请在冰豆网上搜索。
数字电压表课设报告
北华航天工业学院
课程设计报告(论文)
设计课题:
数字电压表
专业班级:
学生姓名:
指导教师:
设计时间:
北华航天工业学院电子工程系
单片机技术课程设计课程设计任务书
姓名:
专业:
电气信息类
班级:
指导教师:
职称:
课程设计题目:
数字电压表
已知技术参数和设计要求:
利用单片机实验室的试验箱完成数字电压表的设计并变成实现。
利用单片机上的电位器作为模拟信号源,输出0~5V模拟电压,通过ADC0809转换为数字量并输入至单片机。
通过算法设计,计算出当前数字量所对应的模拟电压值,然后通过LED动态显示器将电压值显示出来。
要求精度为0.02V,3位显示。
完成以上工作后,利用单片机矩阵键盘中的某个键作为换挡键,将电压显示值调整至0~0.5V,实现量程转换。
所需仪器设备:
计算机一台
实验箱一台
成果验收形式:
设计成果现场验收、回答提问、课程设计报告
参考文献:
《单片机原理与应用》胡辉
《跟我学用单片机》肖洪兵等编,北京航空航天大学出版社
《单片机原理与应用技术》江力主编,清华大学出版社
时间
安排
2011-2012学年第2学期第15周
周一~周3上午
上午:
8:
00~12:
00;下午:
14:
00~18:
00
指导教师:
教研室主任:
2012年5月18日
注:
本表下发学生一份,指导教师一份,栏目不够时请另附页。
课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。
内容摘要
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
该设计主要由三个模块组成:
A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片80C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0809芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
索引关键词:
单片机数字电压表A/D转换ADC080980C51
一概述………………………………………………………………1
二方案设计与论证…………………………………………………………1
三单元电路设计与参数计算………………………………………………2
1、ADC0809简介……………………………………………………………2
2、80C51简介………………………………………………………………3
四总原理图…………………………………………………………………5
五安装与调试………………………………………………………………5
六性能测试与分析…………………………………………………………6
七结论………………………………………………………………………6
八心得体会…………………………………………………………………6
九参考文献…………………………………………………………………6
一、概述
一个完备的单片机应用系统包括硬件和软件两大部分,其中硬件部分包括扩展的存储器、键盘、显示、前向通道、后向通道、控制接口电路以及相关芯片的外围电路等,软件的功能就是指挥单片机按预定的功能要求进行操作的程序。
一个单片机系统只要系统的软、硬件紧密配合,协调一致,这样才是高性能的单片机系统。
矩阵式键盘一般采用扫描式识别按键,软件设计相对复杂,但占用少量的I/O口即可实现很多按键,所以得到了普遍应用。
数码管在仪器仪表中有着广泛的用途,如万用表、转速表等。
主要用于显示单片机的输出数据和状态等。
A/D转换器主要将模拟量转换为数字量。
数字电压表主要用来准确测量电压,在实验室和生活中都得到了广泛应用。
该应用系统综合使用了矩阵键盘、LED数码动态显示、模数转换ADC0809和单片机89C51四部分,实现了数字电压表应用系统测量电压的功能。
系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生信号,通过按键选择八路通道中的一路,将该路电压送入ADC0809相应通道,单片机软件设置ADC0809开始A/D转换,转换结束ADC0809的EOC端口产生高电平,同时将ADC0809的EO端口置为高电平,单片机将转换后结果存到片内RAM。
系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。
二、方案设计与论证
数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。
系统通过软件设置单片机的内部定时器INT1产生中断信号。
通过片选选择8路通道中的一路,将该路电压送入ADC0809的EOC端口产生高电平,同时将ADC0809的OE端口置为高电平,单片机将转换后结果存到片内RAM。
系统调出转换显示程序,将转换为二进制的数据在转换成十进制数并输出到LCD显示电路,将相应电压显示出来。
整体框图
三、单元电路设计与参数计算
1、ADC0809简介
IN0~IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。
D0~D7为8位二进制数字量输出端,其另一端连接到80C51单片机进行数值转换。
ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路。
ALE为地址锁存控制端口。
高电平有效。
当ALE为高电平时,允许C、B、A所示的通道被选中,并把该通道的模拟量接入A/D转换器。
START为A/D转换启动脉冲输入端,由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。
EOC为A/D转换结束信号,当A/D转换结束时,此端输出一个高电平取反给P3.3口(转换期间一直为低电平)。
OE为数据输出允许信号,高电平有效。
当A/D转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。
CLOCK实时时钟。
可通过外接RC电路改变时钟频率。
VREF(+) 、VREF(-)参考电压端口。
用以提供A/D转换器权电阻的标准电平(对于一般单极性模拟量输入信号, VREF(+)与VCC相连,VREF(-)与GND相连。
VCC电源端口。
接+5V。
GND接地端
2、80C51简介
⒈电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
⒉时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:
控制线共有4根,
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
80C51单片机引脚图
单片机的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:
这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:
单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:
按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:
EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
四、总原理图
1.总原理图
五、安装与调试
1.打开WAVE6000软件,菜单栏选择“文件”中的“新建文件”,在弹出的窗口中编写程序,然后保存后缀为“***.asm”的程序。
2.菜单栏选择“项目”中的“编译”,如果程序无误即编译成功,否则修改程序直至编译成功。
3.打开Proteus软件,新建文件File→NewDesign,同样在弹出的原理图编辑窗口中绘制原理图,然后保存。
4.加载程序,选择Source→Add/RemoveSourceFiles,在弹出的对话框中点击“New”选择在WAVE6000软件中编写保存的程序如“***.asm”,点击“OK”即加载成功。
5.在Proteus软件中的左下方点击图标
仿真调试开始,即可看到仿真调试的结果。
六、性能测试与分析
1.设计任务:
(1)采用A/D转换器ADC0809进行输入模拟电压转换
(2)LED数码管显示测量电压值
2.设计要求:
(1)测量范围:
0~5V
(2)量程:
0~5V
3.显示位数:
3位
4.分辨力:
0.02V
根据设计要求,通过改变模拟量的输入值,数码管能显示所对应电压值,由于算法原因测出的电压值会出现奇数值。
七、结论
LED的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一致,误差完全在合理的范围之内。
八、心得体会
九、参考文献
[1]《单片机原理与应用》胡辉主编,中国水利水电出版社
[2]《跟我学用单片机》肖洪兵等编,北京航空航天大学出版社
[3]《单片机原理与应用技术》江力主编,清华大学出版社
附录
;MODEEQU082H;方式0,pa,pc输出,pb输入
CS0809EQU8000H
;PORTAEQU9000H;porta
;PORTBEQU9001H;portb
;PORTCEQU9002H;portc
;CADDREQU9003H;;控制字地址
OUTBITEQU0A002H;;位控制口
OUTSEGEQU0A004H;;段控制口
LEDBUFEQU60H;;显示缓冲
;DELAYTEQU75H
ORG00H
MLOOP:
;MOVDPTR,#CADDR
;MOVA,#MODE
;MOVX@DPTR,A
MOVDPTR,#CS0809
MOVA,#0
MOVX@DPTR,A;;启动A/D
;MOVA,#40H
;DJNZACC,$;;延时>100us
MOVXA,@DPTR;;读入结果
MOVB,#33H
DIVAB
MOVR5,A
MOVR4,B
;MOVA,R5;;商
MOV60H,A
MOVA,R4
MOVB,#0AH
MULAB
MOVB,#33H
DIVAB
MOVR5,A
MOVR4,B
;MOVA,R5
MOV61H,A
MOVA,R4
MOVB,#0AH
MULAB
MOVB,#33H
DIVAB
MOVR5,A
MOVR4,B
;MOVA,R5
MOV62H,A
MOVR0,#LEDBUF
FILLBUF:
MOVA,@R0
MOVDPTR,#LEDMAP
MOVCA,@A+DPTR;;数字转换成显示码
CJNER0,#60H,CUN
ORLA,#80H
CUN:
MOV@R0,A;;显示码填入显示缓冲
INCR0
CJNER0,#LEDBUF+3,FILLBUF
;MOVDELAYT,#30
DISPAGAIN:
LCALLDISPLAYLED;;显示
;DJNZDELAYT,DISPAGAIN
;LJMPMLOOP
DISPLAYLED:
MOVR0,#LEDBUF
MOVR1,#3;;共3个8段管
MOVR2,#00000100B;;从右边开始显示
LOOP:
MOVDPTR,#OUTBIT
MOVA,#0
MOVX@DPTR,A;;关所有8段管
MOVA,@R0
MOVDPTR,#OUTSEG
MOVX@DPTR,A
MOVDPTR,#OUTBIT
MOVA,R2
MOVX@DPTR,A;;显示一位8段管
MOVR6,#01
LCALLDELAY
MOVA,R2;;显示下一位
RRA
MOVR2,A
INCR0
DJNZR1,LOOP;;一次显示完成
RET
LEDMAP:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH
DELAY:
;;延时子程序
MOVR7,#0
DELAYLOOP:
DJNZR7,DELAYLOOP
DJNZR6,DELAYLOOP
RET
END
电子工程系数字电压表课程设计成绩评定表
专业:
电气信息类班级:
B10201学号:
20104021118姓名:
杨刚
课题名称
设计任务与要求
指导教师评语
建议成绩:
指导教师:
课程小组评定
评定成绩:
课程负责人:
年月日