ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:725.02KB ,
资源ID:5022587      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5022587.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MCS51单片机数字电压表设计.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于MCS51单片机数字电压表设计.docx

1、基于MCS51单片机数字电压表设计1 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、

2、集成化(IC化),另一方面,精度也从0.01%-0.005%。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。2 设计总体方案2.1设计要求 以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。采用1路模拟量输入,能够测量0-5V之间的直流电压值。电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 尽量使用较少的元器件。2.2 设计思路根据设计要求,选择AT89C51单

3、片机为核心控制器件。A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。2.3 设计方案硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图1 数字电压表系统硬件设计框图3硬件电路设计基于单片机的数字直流电压表硬件电路原理图如图2所示。图2 简易数字电压表电路图此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC0808的IN0通道进

4、入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结

5、果送给LED显示出来。.简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。4程序设计4.1 程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图3所示。图3 数字式直流电压表主程序框图4.2 系统子程序设计4.2.1 初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序

6、的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4所示。图4 A/D转换流程图4.2.3 显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出

7、中断功能实现11s定时,通过软件延时程序来实现5ms的延时。4.3程序代码LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HADC EQU 35HCLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7ORG 00HSJMP STARTORG 0BHSJMP INT_T0START:MOV LED_0,#00HMOV P2,#0FFHMOV LED_1,#00HMOV LED_2,#00HMOV DPTR,#TABLEMOV TMOD,#02HMOV TH0,#245MOV TL0,#00HMOV IE,#82HSETB TR

8、0WAIT:CLR STSETB STCLR STJNB EOC,$SETB OEMOV ADC,P1CLR OEMOV A,ADCMOV B,#51DIV ABMOV LED_2,AMOV A,BMOV B,#5DIV ABMOV LED_1,AMOV LED_0,BLCALL DISPSJMP WAITINT_T0:CPL CLOCKRETIDISP:MOV A,LED_0MOVC A,A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3MOV A,LED_1MOVC A,A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2M

9、OV A,LED_2MOVC A,A+DPTRCLR P2.1;ORL A,#80H; SETB ACC.7MOV P0,ALCALL DELAYSETB P2.1RETDELAY:MOV R6,#10D1:MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND5仿真5.1 仿真过程1 将设计的电路在单片机仿真软件Proteus7中进行仿真,仿真电路图需要的元件如下:接地groundPowerAT89C51CAPCAP-ELECCRYSTALRESADC0808PULLUPRE

10、S-VARBUTTON连接好电路图.5.2 软件调试软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。5.3显示结果1. 当IN0口输入电压值为0V时,显示结果如图5所示,测量误差为0V。图5 输入电压为0V时,LED的显示结果2. 当IN0输入电压值为1.50V时,显示结果如图6所示。测量误差为0.01V。图6 输入电压为1.50V时,LED的显示结果3. 当IN0口

11、输入电压值为3.50V时,显示结果如图7。测量误差为0.01V。图7 输入电压为3.50V时,LED的显示结果5试验台效果图:6结论经过一段时间的努力,课程设计-基于MCS-51单片机数字电压表设计基本完成。但设计中的不足之处仍然存在。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在

12、硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路

13、设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。参 考 文 献1 李朝青单片机原理及接口技术第三版北京:北京航天航空大学出版社,200517242 苗红霞. 单片机实现数字电压表的软硬件设计.河海大学常州分校学报,2002,033 何立民MCS-51单片机应用系统设计(系统配置与接口技术)北京:北京航空航天大学出版社,1990致 谢经过一段时间的不懈努力,本次课程设计即将接近尾声,从开始选题到设计的顺利完成,都离不开老师、同学、朋友给以的帮助,在这里请接受我的谢意!感谢你们给我的帮助和鼓励,感谢你们在我遇到困难时所给的帮助,正是有了你们的帮助和鼓励,此次课程设计才得以顺利的完成。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2