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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

多路数字电压表ee.docx

1、多路数字电压表ee引 言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛

2、用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流 05V 的4路输入电压值,并在四位LED数码管上显示或单路选择显示。测量最小分辨率为0.019V,测量误差约为正负0.02V。1 概 述1.1课程设计的目的和意义课程设计是让我熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。加深我们对单片机原理与应用课程的理解。1.2 课程设计的任务本次课设要求

3、设计一个多路电压表,首先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,最后模拟值通过显示器显示出来。设计时假设待测的输入电压为8路,电压值的范畴为0-5V,要求能在4位LED数码管轮流显示或单路选择显示。测量的最小分辨率为0.019V,测量误差为0.02V。同时为了使用方便,本题目还需要设计几个简单按键,可以通过按键选择可8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。2 系统原理及基本框图2.1 设计原理采用80C51系列单片机和ADC0809设计一个多路数字电压表,能够测量05V之间的直流电压值,四位数码管动态显

4、示, 这里采用总线型DIP40引脚封装.80C51系列基本型单片机具有如下特点:40个引脚,4kROM,128字节RAM,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位定时计数器,还具有一套完善的中断系统.根据系统的功能要求,控制系统采用AT89C51单片机,A/D转换器采用ADC0809.ADC0809是8位A/D转换器.当输入电压为5伏时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255).ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换.每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对

5、8路输入电压进行测量.LED数码管显示采用软件译码动态显示.通过按键选择可8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数.2.2 通道选择方案设计 方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。 方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销。缩短反应时间,不足之处在于操作麻烦。 综上所述:方案二所需元件少、成本低且易于实现,则选此方案。2.3 显示部分方案设计 方案一:单片机的P0、P2口分别接74LS248和ULN2

6、003A芯片来驱动四位数码管 方案二:直接用单片机的P1、P2口驱动数码管,此处把ADC0808的输出端接P1口 ,因为P1口能够驱动数码管。 综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。3 系统硬件电路设计3.1硬件电路设计多路数字电压表应用系统硬件电路主要由AT89C51单片机、ADC0809 A/D转换器、数码管动态显示电路和按键处理电路等组成。设计时假设待测的输入电压为8路,电压值的范畴为05V,要求能在4位LED数码管上轮流显示或单路选择显示。测量的最小分辨率为0.019V,测量误差为正负0.02V。它的硬件电路见附录A3.2硬件电路组成及介绍3.2.1 AT

7、89C51单片机基本结构AT89C51 单片机主要由以下几部分组成:CPU系统 8位CPU,含累加器; 时钟电路; 总线控制逻辑。存储器系统 4K字节的程序存储器(ROM/EPROM/FLASH,可外扩至64K); 128字节的数据存储器(RAM,可外扩至64K); 特殊功能寄存器SFR。I/O口和其他功能单元 4个并行I/O口; 2个16位定时记数器 1个全双工异步串行口 中断系统(5个中断源、2个优先级)。图3.2.1 89C51基本组成3.2.2 AT89C51介绍89C51芯片引脚封装如图3.3所示图3.2.2 89C51引脚封装电源极时钟引脚 Vcc:电源接入引脚; Vss:接地引脚

8、; XTAL1:晶体振荡器接入的一个引脚(采用外部振荡器时,此引脚接地); XTAL2:晶体振荡器介入的另一引脚(采用外部振荡器时,此引脚作为外部振荡信号的输入端)。控制线引脚 RST/VPD:复位信号输入引脚/备用电源输入引脚; ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚; EA/VPP:内外存储器选择引脚/片内EPROM9或FlashROM)编程电压输入引脚; PESN:外部程序存储器选通信号输出引脚。并行I/O引脚(32个,分成4个8位口) P0.0P0.7:一般I/O口引脚或数据/低位地址总线复用引脚; P1.0P1.7:一般I/O引脚; P2.0P2.7:一般I/O

9、引脚或高位地址总县引脚; P3.0P3.7:一般I/O引脚或者第二功能引脚。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1

10、口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当

11、P3口写入“1”后,它们被内部上拉为高电平,并用作输入。当CPU不对P3口进行字节或位寻址时,单片机内部硬件自动将口琐存器的Q端置1。这时,P3口可以作为第二功能使用。各脚的定义如下: P3.0:RXD(串行口输入); P3.1:TXD(串行口输出); P3.2:INT0(外部中断0输入); P3.3:INT1(外部中断1输入); P3.4:T0(定时/计数器0的外部输入); P3.5:T1(定时/计数器1的外部输入); P3.6:WR(片外数据存储器“写”选通控制输出); P3.7:RD(片外数据存储器“读”选通控制输出)。当P3口相应的口线处于第二功能,应满足的条件是:(1) 串行口处于运

12、行状态(RXD,TXD);(2) 外部中断已经打开(INT0、INT1);(3) 定时/计数器处于外部计数状态(T1、T2);(4) 执行读/写外部RAM的指令(RD、WR)。作为输出功能的口线(如RXD),由于此时该位的锁存器已自动置1,与非门对第二功能输出是畅通的,即引起的状态与第二功能是相同的。3.2.3 ADC0809 A/D转换器ADC0809具有8路模拟量输入通道IN0-IN7,通过3位地址输入端C,B,A进行选择。D0-D7是8位数字量输出端,ALE是地址锁存控制端,当输入高电平时,C,B,A引脚输入的地址锁存于ADC0809内部的锁存器中,经内部译码电路译码选中相应的模拟通道。

13、6引脚为启动转换控制端,当输入2US宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。7引脚为A/D转换结束信号EOC,ADC0809为逐次比较型A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,转换结束,转换结束EOC输出高电平,转换的结果存放在ADC0809内部的输出数据锁存器中。9引脚为A/D转换数据输出允许控制端OE,当OE为高电平时,存放于输出数据锁存器中的数据通过ADC0809的数据线D0D7输出。10引脚为ADC0809的时钟信号输入端CLOCK。再连接时,ADC0809的数据线D0D7与AT89S51的P0口相连,ADC0809的地址引脚、地址锁

14、存端ALE、启动信号START、数据输出允许控制端OE分别与AT98S51的P2口相连,转换结束信号EOC与AT89S51的P3.7相连。时钟信号输入端CLOCK由单片机的地址锁存信号ALE通过14024二分频后得到,由于单片机的系统时钟为12MHZ,因而AD0809时钟输入端CLOCK信号的频率为1MHZ。ADC0809的管脚图如下图3.2.3 ADC0809管脚图3.2.4 LED数码管动态显示及按键LED数码管采用动态扫描方式连接,通过AT89S52的P1口和P3.0P3.3口控制。P1口为LED数码管的字段码输入端,P3.0P3.5口为LED数码管的位选码输出端,通过三极管驱动并反向。

15、K1和K2是两个按键开关,它通过单片机的P3.5和P3.6相连,K1用于单路显示或多路循环显示转换控制,K2当单路显示时通道选择。4 系统软件程序的设计4.1系统软件程序设计组成 多路数字电压表系统软件程序由主程序、A/D转换子程序和显示程序组成。4.2各部分组成及功能4.2.1 主程序主程序包含初始化部分、调用A/D转换子程序和调用显示程序,初始化部分包含存放通道数据的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置位0,默认为循环显示,当它为1时改变为单路显示控制位,00H位通过单路/循环按键控制。 图4.2.1 主程序框图

16、4.2.2 A/D转换子程序A/D转换子程序用于对ADC0809 8路输入模拟电压进行A/D转换,并将转换的数值存入8个相应的存储单元中。A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。图4.2.2 A/D转换子程序框图4.2.3显示子程序LED数码管采用软件译码态扫描方式。在显示子程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把8个存储单元的数值一次取出送到4个数码管上显示,每一路显示一秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时须经过转换变成十进制BCD码,放于4个数码管的显示缓冲区中。单路或多路循环显示通过标志位00H控制。在显示控制程

17、序中加入了对单路或多路循环按键和通道选择按键的判断。4.3 程序清单ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETICLEARMEMIO: CLR A MOV P2,A MOV R0,#70H MOV R2,#0DH LOOPMEM: MOV R0,A INC R0 DJNZ R2,LOOPMEM MOV 20H,#00H MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,A RET START: L

18、CALL CLEARMEMIO MAIN: LCALL TEST LCALL DISPLAY AJMP MAIN NOP NOP LJMP STARTDISPLAY: JB 00H,DISP11 MOV R3,#04H MOV R0,#70H MOV 7BH,#00HDISLOOP1: LCALL TUNBCD MOV R2,#0FFHDISLOOP2: LCALL DISP LCALL KEYWORK1 DJNZ R2,DISLOOP2 INC R0 INC 7BH DJNZ R3,DISLOOP1 RET DISP11:MOV A,7BH SUBB A,#01H MOV 7BH,A ADD

19、 A,#70H MOV R0,A DISLOOP11:LCALL TUNBCD MOV R2,#0FFH DISLOOP22:LCALL DISP DJNZ R2,DISLOOP22 INC 7BH RET TUNBCD: MOV A,R0 MOV B,#51 DIV AB MOV 7AH,A MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP2 ADD A,#5LOOP2: MOV 79H,A MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10

20、 MUL AB MOV B,#51 DIV AB JB F0,LOOP3 ADD A,#5LOOP3: MOV 78H,A RET DISP: MOV R1,#78H MOV R5,#0FEHPLAY: MOV P1,#0FFH MOV A,R5 ANL P3,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A JB P3.2,PLAY1 SETB P1.7PLAY1: LCALL DL1MS INC R1 MOV A,P3 JNB ACC.3,ENDOUT RL A MOV R5,A MOV P3,#0FFH AJMP PLAYENDOUT: MO

21、V P3,#0FFH MOV P1,#0FFH RETTAB: DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7eH,6fH,00HDL10MS: MOV R6,#0D0H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RETDL1MS : MOV R4,#0FFHLOOP11: DJNZ R4,LOOP11 MOV R4,#0FFHLOOP22: DJNZ R4,LOOP22 RETTEST:MOV R1,#70H MOV DPTR,#7FF8H MOV R7,#04H SETB P3.4LOOP:MOVX DPTR,AH

22、ER:JNB P3.4,HER MOVX A,DPTR MOV R1,A INC DPTR INC R1 DJNZ R7,LOOPKEYWORK1:JNB P3.5,KEY1KEYOUT:RETKEY1:LCALL DISP JB P3.5,KEYOUTWAIT11:JNB P3.5,WAIT12 CPL 00H MOV R2,#0AH MOV R3,#01H RETWAIT12:LCALL DISP AJMP WAIT11 END总 结通过两周的课程设计,使我学到了很多书本上学习不到的东西,不仅使我加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神

23、,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。这个设计过程中,我遇到过许多次失败的考验,就比如,A/D转换那块总是不对,查资料程序也对,找书上的程序改都不行,最后在田老师的一句话里道破,原来是硬件上使用有冲突,最后,终于按要求把作品做出来了,虽然看似很简单

24、,但是对我们的实际动手能力却是很考验的,这也对我们今后的工作敲响了警钟:要认真的看待每个需要处理的问题,不要认为事情过于简单,不能急于求成,更不要轻易说放弃,要保持你的头脑清醒。这次单片机课程设计给我的最大的印象就是努力的动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个设计开始无论遇到什么困难,我都没有一丝的放弃的念头。我会在以后的生活和学习中把所学的东西应用进去。致 谢两周的设计时间很快的过去了,在这两周里学习掌握了许多单片机的相关知识,锻练了动手能力,了解到了一些设计上的方法和技巧。在这里我要感谢一直帮助指导我的田老师,设计当中我们遇到了什么不明白的问题,田老师都会细心的帮助我们进行

25、解答,使我们的设计可以很顺利地进行。对我们要求严格使我更用心专注于编程,查找错误,分析错误,感谢田老师的谆谆教导。同时我也要感谢我同组的伙伴,因为这次设计的很特别,不仅仅是设计单片机程序,同时全组还要上交一份设计的成品,因此在设计时我们独立思考,同时互相帮助,解决个人在单方面的遇到的一些小困难,使我们的设计得以很快的完成。在这里我感谢小组成员对我设计上的帮助,同时特别要感谢田老师对我们设计上的悉心帮助。感谢学校给我们这样的机会参与设计和实习,锻炼我们的动手能力,为今后的工作和学习奠定基础。参考文献1 余发山.单片机原理及应用.徐州:中国矿业大学出版社,20032 谭浩强.C语言设计(第二版).北京:清华大学出版社,20063 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M.北京:清华大学出版社,2002.4 刘伟,赵俊逸,黄勇,一种基予C8051F单片机的SOC型数据采录器的设计与实现A.天津市计算机学会单片机分会编. 2003年全国单片机及嵌如入式系统学术年会论文集(下册)C .北京:北京航空航天大学出版社,2003 .790-7945 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 1994附录 A

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1