基于单片机的数字电压表的是课程设计.docx
- 文档编号:12651746
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:19
- 大小:252.20KB
基于单片机的数字电压表的是课程设计.docx
《基于单片机的数字电压表的是课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表的是课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于单片机的数字电压表的是课程设计
摘要
本课题实验主要采用AT89C51芯片和ADC0808芯片来完成一个简易的数字电压表,能够对输入的0~5V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.019V。
该电压表的测量电路主要由三个模块组成:
A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0808芯片的工作。
显示模块主要由7段数码管及相应的驱动芯片(74HC245)组成,显示测量到的电压值。
关键词:
简易数字电压表;ADC0809;AT89C51;LED。
摘要...........................................................Ⅰ
1绪论.........................................................1
1.1数字电压表特点............................................1
1.2数字电压表原理框图........................................2
2硬件电路设计.................................................2
2.1A/D转换电路设计...........................................2
2.2显示电路设计..............................................4
2.3振荡电路设计..............................................4
2.4复位电路设计..............................................5
2.5硬件原理图................................................5
3系统软件设计.................................................6
3.1主程序设计................................................6
3.2数据接收程序设计..........................................7
3.3数据转换程序设计..........................................8
3.4数据显示程序设计..........................................8
4系统模块仿真.................................................8
4.1proturs仿真介绍...........................................8
4.2系统模块电路设计..........................................9
4.3系统模块电路仿真..........................................9
4.4仿真结果分析.............................................11
总结..........................................................13
参考文献......................................................14
附录A源程序清单.............................................15
1绪论
数字电压表(DigitalVoltmeter)简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
1.1数字电压表的特点
(1)显示清晰直观,读数准确。
传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免的会引入人为的测量误差。
数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳读现象,测量结果就是唯一的。
新型数字电压表还增加了标志符显示功能,包括测量项目、符号单位和特殊符号、为解决DVM不能反映被测电压的连续变化过程以及变化趋势这一难题,一种“数字/模拟条图”仪表业已问世。
“模拟图条”有双重含义:
第一,被测量为模拟量;第二,利用条状图形来模拟被测量的大小及变化趋势。
这类仪表将数字显示与高分辨率模拟条图显示集于一身,兼有DVM与模拟电压表之优点。
智能数字电压表均带微处理器和标准接口,可配合计算机和打印机进行数据处理或自动打印,构成完整的测试系统。
准确度是测量结果中系统误差与随机误差的综合。
(2)分辨率高,测量范围宽。
数字电压表在最低电压量程上末位1个字所代表的电压值,称为仪表的分辨力,它反映仪表灵敏度的高低。
分辨力随显示位数的增加而提高。
分辨率是指所能显示的最小数字(零除外)与最大数字的百分比。
多量程DVM一般可测量0~1000V直流电压,配上高压探头还可测上万伏的高压。
(3)扩展能力强。
在数字电压表的基础上,还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪表,以满足不同的需要。
(4)测量速度快。
数字电压表在每秒钟内对被测电压的测量次数,叫测量速率,单位是“次/S”。
它主要取决于A/D转换器的转换速率,其倒数是测量周期。
(5)输入阻抗高,集成度高,微功耗
数字电压表具有很高的输入阻抗,通常为10MΩ~10000MΩ,最高可达1TΩ。
并且新型数字电压表普遍采用CMOS大规模集成电路,整机功耗很低。
(6)抗干扰能力强
此外,其串模抑制比、共模抑制比各别可达100dB、80~120dB。
高档DVM还采用数字滤波、浮地保护等先进技术,进一步提高了抗干扰能力,共模抑制比可达180dB
1.2数字电压表原理框图
一般数字电压表的组成框图如图
(1)所示。
输入电路一般由分压电路、具有高输入阻抗的源极跟随器和放大电路组成,其作用是对量程进行扩展和阻抗变换等;A/D转换器将被测电压转换成与之成比例的数字量;计数器完成对数字量的累计;显示电路作用是对计数结果进行寄存、译码并驱动显示器显示测量结果。
随着集成电路技术的发展,现在已有多种专用的A/D转换芯片,如本设计中采用的CC7106,这些集成芯片往往具有A/D转换、计数、逻辑控制等多项功能,因此只需少量的外围电路即可构成数字电压表。
图
(1)数字电压表组成框图
2硬件电路设计
硬件电路设计主要包括:
89C51单片机系统,A/D转换电路,显示电路。
测量最大电压为5V,显示最大值为5.0V。
2.1A/D转换电路
本设计采用的是ADC0808,ADC0808精度为8位,它是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。
利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
其外部引脚图如图2所示。
图2ADC0808/0809外部引脚图
各个引脚的功能为:
(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。
(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。
8位排列顺序是D7为最高位,D0为最低位。
(3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。
(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。
在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。
(5)ALE——地址锁存允许信号,高电平有效。
当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。
在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。
(6)START——A/D转换启动信号,正脉冲有效。
加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。
如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。
(7)EOC——转换结束信号,高电平有效。
该信号在A/D转换过程中为低电平,其余时间为高电平。
该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。
在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。
(8)OE——输出允许信号,高电平有效。
当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。
在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。
2.2显示电路设计
本设计使用的是LED数码管,LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。
其外形结构如图所示。
它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。
LED数码管提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
显示电路图如图3。
图3LED显示电路
2.3振荡电路设计
单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。
通过这两个引脚在芯片外并接石英晶体振荡器(大小为1MHZ)和两只电容(电容和一般取30pF)。
这样就构成一个稳定的自激振荡器。
振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。
振荡电路如图4所示:
图4振荡电路图
2.4复位电路设计
复位操作有两种基本形式:
一种是上电复位,另一种是按键复位。
按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。
上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。
上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。
RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
按键复位电路图如图5所示。
图5复位电路图
2.5硬件原理图
硬件原理图如图6所示
图6硬件原理图
3系统软件设计
程序设计(Programming)是指设计、编制、调试程序的方法和过程。
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。
为了完成上述任务,在进行软件设计时,通常采用模块程序设计法。
本系统软件采用模块化结构,由主程序﹑数据接收子程序、数据转换子程序、数据显示子程序构成(程序见附录A)。
3.1主程序设计
图3.1主程序流程图
3.2数据接收程序设计
图3.2数据接收子程序流程图
3.3数据转换程序设计
图3.3数据转换子程序流程图
3.4数据显示程序设计
图3.4延时子程序流程图图3.5数据显示子程序流程图
4系统仿真与调试
本设计应用protues软件进行仿真。
4.1proturs仿真介绍
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。
此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。
Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块:
—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。
PROSPICE仿真器的一个扩展PROTEUSVSM:
便于包括所有相关的器件的基于微处理器设计的协同仿真。
此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。
支持许多通用的微控制器,如PIC,AVR,HC11以及8051。
最新支持ARM。
交互的装置模型包括:
LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件。
强大的调试工具,包括寄存器和存储器,断点和单步模式。
IARC-SPY和KeiluVision2等开发工具的源层调试。
应用特殊模型的DLL界面-提供有关元件库的全部文件。
4.2系统模块构建
将数据转换、显示模块电气原理图进行Proteus设计。
打开Proteus的ISIS编辑环境,从Proteus中选取该电路所需要的元器件,放置元器件、放置电源和地、连线得到如图4.1所示的电气原理图,再点菜单栏工具下拉的电气规则检查,当规则检查出现:
“NETLISTGENERATEDOKNOERCERRORDFOUND”,表示通过检查。
电路设计完成。
图4.1系统部分电气原理图
4.3系统模块电路仿真
用伟福编辑器,实现对汇编程序的编译,其操作步骤是:
(1)新建源文件:
点菜单文件→新建文件,新建“电.ASM”源文件。
(2)程序设计:
将将所编写的程序输入到文本中。
(3)源程序编译:
点菜单执行→全速执行编译汇编源程序,生成目标代码文件“电.HEX”,若编译失败,可对程序进行修改调试直至编译成功。
(4)目标代码加载:
在Proteus编辑环境双击AT89C51,弹出如图所示的对话框,在ProgramFile一栏中单击打开按钮,选中“电.HEX”文件。
在ClockFrequency栏中设置系统工作频率为12MHZ,单击“确定”完成目标程序代码加载。
图4.2程序代码加载图
最后,点击运行按钮,启动系统仿真。
仿真未出现错误,仿真成功。
仿真结果如图4.3所示。
图4.3仿真结果图
当滑动变阻器改变阻值时放着结果如下图:
图4.4第一次仿真结果图
图4.5第二次仿真结果
4.4仿真结果分析
通过对上述模块的仿真,可以看出基于单片机控制的电压表在PROTEUS软件上可以很好的实现显示模块、ADC0808逐次逼近式A/D转换模块的仿真。
当仿真开始运行时,各个模块处于初始状态。
当滑动变阻器改变时,显示的电压值也相应改变。
因此,从仿真结果可以看出测量值与标准值相同,本设计可以得到预期效果。
总结
基于单片机的数字电压表已经完成了,能够达到预期要求。
在这次单片机课程设计之初,我和同组的组员了无头绪,在不断查阅资料,相互讨论,以及请教指导老师之后,有了突破性进展;紧接着,我们的设计有了细致的分工,分工的同时大家经常一起探讨设计过程中出现的种种问题,并将不懂的请教老师解答,最终在大家不懈努力下,课程设计成功完成。
经过这两个星期的学习,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。
这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。
通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。
经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。
通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。
这在以前的学习过程中是不曾学到的。
这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。
另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。
参考文献
[1]李朝青.单片机原理及接口技术(简明修订版)[M].北京:
北京航空航天大学出版社,1999.
[2]李朝青.单片机学习辅导测验及解答讲义[M].北京:
北京航空航天大学出版设,2003.
[3]张俊谟.单片机中级教程[M].北京:
北京航空航天大学出版社,1999.
[4]胡辉.单片机原理及应用设计[M].—21世纪高等院校规划教材[M].水利水电出版社,2005.7.
[5]金永权.Flash单片机原理及应用[M].北京:
电子工业出版社,1997.
附录A
源程序清单
ORG0000H;开始入口
LJMPSTART
ORG000BH;中断入口
AJMPST_T0
ORG0030H;主程序入口
START:
;主程序
MOVSP,#60H
MOVTMOD,#02H;设置定时模式2
MOVTH0,#245;设置高8位初值
MOVTL0,#00H;设置低8位初值
MOVIE,#82H;开中断源
SETBTR0;启动定时
LCALLRECIVE;调用A/D转换子程序
LCALLTRA;调用数据转换子程序
LCALLDISPLAY;调用显示子程序
SJMPSTART
RECIVE:
;A/D转换子程序
CLRP3.0
CLRP3.1
SETBP3.0;开A/D转换
NOP
NOP
CLRP3.0
JNBP3.2,$;判断A/D转换数据完成
SETBP3.1;开传输
MOV50H,P2
RET
TRA:
;数据转换子程序
MOVB,#33H;转换数据
MOVA,50H
DIVAB;个位转换
MOV51H,A
XCHA,B
MOVB,#05H;小数转换
DIVAB
MOV52H,A
MOVA,#02H
MULAB
MOV53H,A
RET
ST_T0:
;时钟程序
CPLP3.3;提供0808的时钟信号
RETI
DISPLAY:
;显示子程序
MOVDPTR,#TAB;显示电压
CLRP1
MOVP1,#01H;显示十位
MOVP0,#0C0H
LCALLDELAY
MOVA,51H;显示个位
MOVCA,@A+DPTR
MOVP1,#02H
MOVP0,A
CLRP0.7;显示小数点
LCALLDELAY
MOVA,52H;显示十分位
MOVCA,@A+DPTR
MOVP1,#04H
MOVP0,A
LCALLDELAY
MOVA,53H;显示百分位
MOVCA,@A+DPTR
MOVP1,#08H
MOVP0,A
LCALLDELAY
RET
DELAY:
;延时子程序
MOVR7,#0AH
D1:
MOVR6,#64H
DJNZR6,$
DJNZR7,D1
RET
TAB:
;共阳数码管七段值
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电压表 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)