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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

模拟电压测量与显示剖析.docx

1、模拟电压测量与显示剖析燕山大学课程设计说明书 课程名称 单片机原理及应用技术 题 目 模拟电压测量与显示 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:仪器科学与工程系 学 号学生姓名专业(班级)设计题目模拟电压测量与显示设计技术参数利用实验板上的电位器提供模拟量输入,ADC0809 做A/D 转换器,将模拟量转换成二进制数字量,输入单片机,编制程序,将二进制数字量转换为相应的模拟电压值输出显示,并超限报警。设计要求设计4位数码管显示电路和超限报警电路;编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满

2、。工作计划查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机接口技术及其应用 张淑清 国防工业出版社单片机原理及应用技术 张淑清 国防工业出版社单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。年 月 日 目录 摘要 本课题介绍了一种基于单片机的模拟电压测量的设计。该设计根据伟福LAB2000P实验箱设计,并在实验箱上实现。本设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处

3、理模块。数据处理则由芯片80C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0809芯片工作。 该系统的测量电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此系统可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来,当测量值超过设定值时产生报警。关键词:单片机;模拟电压测量;A/D转换;LAB2000P;80C51;ADC0809 第一章前言电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。根据测量结果的显示方式及测量原理不同,电压测量仪器可分为

4、两大类:模拟式电压表(AVM)和数字式电压表(DVM)。模拟式电压表是指针式的,多用磁电式电流表作为指示器,并在表盘上刻以电压刻度。数字式电压表首先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。众所周知,模拟电压表精度较高,曾经有很广阔的市场,现在依然有不少工程师依然在使用模拟电压表。的确模拟电压表在显示测量值方面精度校准,然而却也存在问题。模拟电压表采用用指针式,里面是磁电或电磁式结构,所以其响应速度较慢。然而在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表响应速度较慢已经不适用与高速信号领域,取而代之的将是数字电压表。但数字电

5、压表由于存在采样误差,精度不是很高。不过目前可以通过技术手段来缩小误差。使其精度达到与模拟电压表一样精确甚至更高。可见将来数字电压表必将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实意义。 第二章 总体设计2.1概述一个完备的单片机应用系统包括硬件和软件两大部分,其中硬件部分包括扩展的存储器、键盘、显示、前向通道、后向通道、控制接口电路以及相关芯片的外围电路等,软件的功能就是指挥单片机按预定的功能要求进行操作的程序。一个单片机系统只要系统的软、硬件紧密配合,协调一致,这样才是高性能的单片机系统。本课题所设计的模拟电压测量系统主要包

6、括两部分:硬件电路及软件程序。而硬件电路采用INTEL公司的80C51作为主处理器,系统主要由信号采集、转换、A/D数据处理输出、显示等几个功能模块组成。各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用wave6000软件对其编译和仿真。硬件流程图如下:ADC0809转换 80C51单片机 模拟电压 数据显示 图 1.硬件流程图被测直流电压由A/D转换单元采集后被量化,再由单片机对A/D转换的结果进行标度变换,得到被测电压的数值,通过单片机转换结果、把结果输出给显示驱动单元,驱动数码管显示。2.2AD转换电路利用ADC0808作为AD数据采样器件,ADC0

7、808是CMOS单片型逐次逼近式AD转换器它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近。ADC0808的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。ADC0808各个管教功能:IN0IN7:8路模拟量输入端。2-12-8:8位数字

8、量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START:AD转换启动信号,输入,高电平有效。 EOC:AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。GND:地。2.3工作过程简介数字化是将连续模拟的电压量经A/D转化后变为不连续的离散

9、的数字量并加以显示。在设计过程中采用分模块设计,按照设计思路把电路分A/D转换、数据处理输出、驱动、显示四个单元,分别设计。A/D转换器选用的是八位模/数转换器ADC0809。其次,计算机中的数字都是十六进制数,而我们习惯于十进制数的读写,因此,在软件设计中则要把十六进制数转换成十进制数。在显示的时候也是如此。本装置的输出用四位LED显示,因此在软件设计中还要解决数字输出与LED的接口问题。硬件则需要将输出线接到八段数码管上。数值显示采用八段数码管,由单片机以动态扫描方式驱动。可以看出ADC0809通过IN0采集电压信号并送给单片机,单片机将采集来的信号进行一定的处理然后通过串口扩展的共阴极L

10、ED数码管显示采集的电压值。数码管显示是采用动态显示的原理,要显示的数码通过单片机的数据总线发送给74HC374,而四个数码管的公共端分别接74HC374的Q1-Q7接口,因此要使哪个数码管显示就把相应的公共端口置零即可。比如:“1”数字的字型码通过串口发送出来并经过74HC374译码加到了四个数码管上,如果其中一个引脚为“0”那么对应的数码管显示数字“1”。在此电路中电压值的四个数字分别通过串口依次的送出,对应的公共端也依次被置“0”,由于两次置“0”的时间间隔很短,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的

11、显示数据,不会有闪烁感。因此给人的感觉就是四个数码管同时的显示出电压值四个数字。ADC0809的REF(-)接地,REF(+)接电源+5V,因此采集电压的范围是05V,A/D转换输出的结果D0D7为8位二进制数。转换输出的结果在0255之间分别对应着0+5V之间的256个电压值,因此单片机必须把A/D转换输出的结果转换成可以显示的电压值。2.4软件程序设计开机后调用A/D转换子程序启动AD转换器,单片机等待查询转换结束信号,如果有信号则通过并行口读取转换数据并存储,再按上面的方法通过串行口把数据传输出,经译码在数码管显示。具体方法和程序见程序设计部分。2.5小结在电路设计和软件设计中都采用了分

12、模块设计,这种设计方法清晰的电路的功能,为设计和以后的调试和维修带来了极大的方便。特别是在软件设计中,这种方法曾强了程序的可移植性,为以后的功能扩展奠定了基础。第3章硬件设计及仿真3.1ADC0809 图2.0809引脚图 图3.0809实验箱接线图3.280C51 图4.80C51引脚图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4

13、个TTL门电流,P3口写入“1”后,它们被内部上拉为高电平,并用作输入。3.3LED显示模块本设计才懂动态扫描技术。数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管

14、的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。 图5.LED实验仪接线图LAB2000P实验仪提供了6位8段码LED显示电路,只要按地址输出相应的数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。

15、实验仪中8位段码输出地址为0x004H,位码输出地址为0X002H。此处X是由KEY/LEDCS决定,参见地址译码。做键盘和LED实验时,需将KEY/LEDCS接到相应的地址译码上,以便用相应的地址来访问。当KEY/LEDCS接到CS0上,则段码地址为08004H,位码地址为08002H。3.4仿真电路图 图6电路总图及数字电压表与标准电压表的比较第4章程序设计4.1程序流程图 开始 初始化 启动A/D转换 读取采样值 数据处理 送LED显示 图7.程序流程图4.2程序代码ADADDRESS EQU 0A000H; AD0809片选OUTBIT EQU 08002H; 位控制口OUTSEG E

16、QU 08004H; 段控制口LEDBUF EQU 60H; 显示缓冲DELAYCX EQU 75HADRESULT EQU 76H; AD转换结果 ORG0000H LJMPSTARTADSTART: MOV DPTR,#ADADDRESS MOV A,#0H MOVXDPTR,A; 启动A/D MOV A,#40H DJNZACC,$; 延时100us MOVXA,DPTR; 读入结果 MOV ADRESULT,A RETLEDMAP: ; 八段管显示码 DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB7FH,6FH,77H,7CH,39H,5EH,79H,71HD

17、ELAY: ; 延时子程序 MOVR7,#0DELAYLOOP: DJNZR7,DELAYLOOP DJNZACC,DELAYLOOP RET SEARCHLEDMAP: ANLA,#0FH;高4位清零 MOVDPTR,#LEDMAP MOVCA,A+DPTR RETDISPLAYLED: MOVR0,#LEDBUF MOVR1,#4MOVR2,#00001000B; 从左边开始显示LOOP: MOVDPTR,#OUTBIT MOVA,#0 MOVXDPTR,A; 关所有八段管 MOVA,R0 MOVDPTR,#OUTSEG MOVXDPTR,A MOVDPTR,#OUTBIT MOVA,R2

18、 MOVXDPTR,A; 显示一位八段管 MOVA,#01 CALLDELAY MOVA,R2;显示下一位 RRA MOVR2,A INCR0 DJNZR1,LOOP MOVDPTR,#OUTBIT MOVA,#0 MOVXDPTR,A;关所有八段管 RETSTART: NOP CALLADSTART MOVA,ADRESULT CLR P1.0 CLR C MOV R4,A MOV B,#51 SUBB A,B JC ZHIWEI SETB P1.0 AJMP CHENGXU ZHIWEI: CLR P1.0 CHENGXU: MOV A,R4 MOVB,#05H MULAB PUSHA M

19、OVA,B MOVB,#0AH DIVAB CALLSEARCHLEDMAP MOVLEDBUF+0,A MOVA,B CALLSEARCHLEDMAP ORLA,#80H;添加小数点 MOVLEDBUF+1,A POPA MOVB,#0AH MULAB PUSHA MOVA,B CALLSEARCHLEDMAP MOVLEDBUF+2,A POPA MOVB,#0AH MULAB MOVA,B CALLSEARCHLEDMAP MOVLEDBUF+3,ADISPLAYAGAIN:CALLDISPLAYLED; DJNZDELAYCX,DISPLAYAGAIN NOP SJMPSTART EN

20、D第5章实验箱连线和实验结果5.1实验箱连线图连线连接孔1连接孔2注释1CS0KEY/LEDCSLED位选段选2CS2AD_CSAD转换器地址3电位器输出IN0输入模拟电压4P1.2L1超限报警5.2实验结果软件编译并全速运行后,则LED数码管上开始显示数字,旋转电位器,LED上显示的数字在0V4.98V发生改变。LED的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一致,误差完全在合理的范围之内。第六章收获与总结 经过一周的设计,终于完成了设计,LED显示最大值只能是4.98V,离标准最大值5.0V已经不远,达到预期目的,设计成功。 回想本次课程设计,是在老师的指导和同学的帮助下共同完

21、成的。在完成过程中遇到了许多问题,但在不断努力下,发现并解决了问题,使实验取得了成功。通过这次试验设计,在利用试验箱上多个功能模块共同实现采集模拟电压并把数据转换成数字在LED数码管上显示。熟悉了LAB2000P试验箱上各功能模块的结合应用。本设计用到了A/D转换程序、LED数码管显示程序、调用延时程序等等。应用不同功能的汇编程序的相结合,熟悉了主程序和各个子程序的功能调用。实现了不同功能程序的结合应用。在软件程序的编写过程中遇到许多问题,使得程序编译出现很多错误,后来发现并改正了程序。通过这次实验设计我们发现在做设计的时候有时候同学的帮助起着很大的作用。并且由于对编程不熟悉,所以在编程上有些费劲。由于水平有限,我们认为系统还有需要改进的地方。所以我们要更加努力的学习编程,提高自己的编程水平,深入的学习和思考问题。 参考文献1. 张淑清.单片微型计算机接口技术及其应用 2. 张淑清.单片机原理及应用3 郑晖晖.单片机应用技术汇编语言 4 凌志浩.智能仪表原理与设计技术

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

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