单片机课程设计-数字电压表_第1页
单片机课程设计-数字电压表_第2页
单片机课程设计-数字电压表_第3页
单片机课程设计-数字电压表_第4页
单片机课程设计-数字电压表_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数字电压表的设计课 题 名 称 基于单片机的数字电压表 作 者 姓 名 专 业 班 级 指导教师姓名 摘 要单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU)。随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装

2、置等等,单片机的应用领域越来越广泛。本毕业设计的课题是“简易数字电压表的设计”。主要考核我们对单片机技术,编程能力等方面的情况。观察独立分析、设计单片机的能力,以及实际编程技能。本文利用了单片机在测量技术中的应用,采用AT89C51单片机实现模拟电压信号的检测与显示,构成数字式电压表。本课题中主要解决数模转换,数据处理和显示控制三个主要模块。其中的ADC0804用于模拟电压信号转换成单片机用于识别的数字信号,AT89C51主要用于信号的控制和处理显示,74LS47用于译码和驱动显示。该电路设计简单实用,实现了数字电压表的智能化控制。关键词:单片机 AT89C51 ADC0804目 录1设计原理

3、及要求11.1数字电压表的实现原理11.2数字电压表的设计要求12软件仿真电路设计22.1设计思路2 2.2设计基本框图.32.3 AT89C51的功能介绍22.3.1简单概述22.3.2主要功能特性32.3.3 AT89C51的引脚介绍32.4 ADC0808的引脚及功能介绍52.4.1芯片概述52.4.2 引脚简介52.4.3 ADC0808的转换原理.83系统软件程序的设计63.1 主程序63.2 A/D转换子程序73.3 中断显示程序84总结9参考文献10附录111附录2 . 12附录3. 17341设计原理及要求1.1数字电压表的实现原理 ADC0808是8位的A/D转换器。当输入电

4、压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。1.2数字电压表的设计要求可以测量05V范围内的3路直流电压值。在3位LED数码管上轮流显示各路电压值或单路选择显示。利用ADC0808设计实现数字电压表的测量值为05V,用电位器模拟ADC0808的输入电压,用3位数码

5、管显示,实时模拟数字电压表。 2软件仿真电路设计2.1设计思路 多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK直接由外部电源提供为500kHz的方波。由于ADC0808的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) ADC0808采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压05V进行采集,所以D对应的电压为V0 ,我们的目的就是要把V0显示在LED显示器上,因为

6、单片机不好进行小数点计算,所以有:V0=2*D扩大了100倍,扩大100倍后的结果高八位放寄存器B,低八位放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得到的结果个位放入R0,十位放入R1,通过查表使之显示在LED显示器。2.2设计基本框图AT89S52单片机A/D转换器LCD显示器模拟电压输入量程控制电路 图2-1 设计基本框图2.3 AT89C51的功能介绍2.3.1简单概述AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗

7、称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2-2所示。图2-2 AT89C51芯片模型2.3.2主要功能特性(1) 4K字节可编程闪烁存储器。 (2) 32个双向I/O口;128×8

8、位内部RAM 。(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。 (4) 可编程串行通道。 (5) 5个中断源。 (6) 2个读写中断口线。 (7) 低功耗的闲置和掉电模式。(8) 片内振荡器和时钟电路。2.3.3 AT89C51的引脚介绍89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。(1)电源引脚电源引脚接入单片机的工作电源。Vcc(40引脚):+5V电源。GND(20引脚):接地。(2)时钟引脚XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(20引脚):片内振荡器反相放大器的输出端。图2-3 电源接入方式

9、(3)复位RST(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。(4)/Vpp(31引脚)为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000HFFFFH。Vpp为该引脚的第二功能,为编程电压输入端。(5)ALE/(30引脚)ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。为该引脚的第二功能,在对片外

10、存储器编程时,此引脚为编程脉冲输入端。(6)(29引脚)片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。(7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。P0是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。(8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻

11、的8位双向I/0口。P1口能驱动4个LSTTL负载。(9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 (10)Pin10-Pin17为P3.0-P3.7输入输出脚,称为P3口。P3口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8

12、个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。2.4 ADC0808的引脚及功能介绍2.4.1芯片概述ADC0808是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成; +5V单电源供电,转化 时间在100us左右;内部没有时钟电路,故需外部提供时钟信号。芯片模型如图2-4所示。图2-4 ADC0808芯片模型2.4.2 引脚简介 (1) IN0IN7:8路模拟量输入端。(2) D0D7:8位数字量输出端口。(3) START:A/D转换启动信

13、号输入端。(4) ALE:地址锁存允许信号,高电平有效。(5) EOC:输出允许控制信号,高电平有效。(6) OE: 输出允许控制信号,高电平有效。(7) CLK:时钟信号输入端。(8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线或数据线相连,三位编码对应8个通道地址端口,A、B、C=000111分别对应IN0IN7通道的地址端口。2.4.3 ADC0808的转换原理ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0809完成一次转换需100s左右,它具有输出

14、TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0808可对05V的模拟信号进行转换。3系统软件程序的设计多路数字电压表系统软件程序主要有主程序、A/D转换子程序和中断显示程序组成。3.1 主程序主程序包含初始化部分、调用A/D转换子程序和相应外部0中断显示电压数值程序,初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控制,00H位通过单路、循环按键控制。流程图如图3-1所示。 开始 显示子程序 A/D转换子程序 初始化

15、图3-1主程序流程图3.2 A/D转换子程序A/D转换子程序用于对ADC0808的3路输入模拟电压进行A/D转换,并将转换的数值存入3个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图3-2所示。进行十六进制调整 开始A/D转换调用延时存转换后的十六进制数数据指针加一入栈保护4路转换次数减一显示电压值NY图3-2转换子程序流程图 判断是否为03.3 中断显示程序设计中采用中断的方式来读取转换完成的数据能节省CPU的资源当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。 LED 数码管采用软件

16、译码动态扫描的方式。在中断程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把3个存储单元的数值依次取出送到3个数码管上显示,每一路显示一秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换变成十进制BCD码,放于3个数码管显示缓冲区中。单路或多路循环显示通过标志位00H控制。在显示控制程序中加入了对单路或多路循环按键的判断。数字量送P1口取段码地址P3.1=1?调用循环显示程序调用单路显示程序显示的是第3路重新调用显示程序NYNY图3-3中断显示程序流程图4总结本设计参考了教材上AT89C51与ADC0809转换的接口连线,设计出电路图的连线,从并中理解了许多基本

17、的知识和接线方法,在程序的设计与电压表调试的过程中中遇到了很多的问题,刚开始时3个数码管根本不显示,后来发现用的是共阳极的数码管,而设计是共阴极的,更换后数码管终于显示,但问题又出现了,单路显示和循环显示的开关不能控制电路的单路显示和循环显示,经过仔细地检查电路和修改程序,采用中断的方法,产生一次外部中断0,程序转移到单路显示,按一次单路显示开关,地址加一,转换的模拟通道相应的加一,如果按下循环按键就返回循环显示的程序,功夫不负有心人,最后终于调试成功。参考文献1 蒋廷彪,刘电霆,高富强,方华.单片机原理及应用.出版社:重庆大学出版社.出版时间:2005年1月第2次印刷2 8051实验指导书电

18、子电气综合实训系统.出版社:北京精仪达盛科技有限公司3 徐爱钧.智能化测量控制仪表原理与设计(第二版)M.北京:北京航空航天大学出版社,20044 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M.北京:清华大学出版社,20025 张国勋.缩短ICL7135A/D采样程序时间的一种方法J.电子技术应用.1993.第一期6 高峰.单片微型计算机与接口技术M.北京科学出版社,2003.7 刘伟,赵俊逸,黄勇.一种基予C8051F单片机的SOC型数据采录器的设计与实现8新型AT89S52系列单片机及其应用 孙育才 北京:清华大学出版社 2005-59MCS-51系列单片机系统及其应用 蔡美琴 高等教育出版附录1程序原理电路 附录2源程序CLR164 EQU P1.3CLK EQU P1.2DINA EQU P1.1DINB EQU P1.0 EOC EQU P3.2NO1 EQU P1.7NO2 EQU P1.6NO3 EQU P1.5ORG 0000HSJMP MAINORG 0030HMAIN:MOV DPTR,#7FF8HMOVX DPTR,ASETB EOCJNB EOC,$MOVX A,DPTRMOV 30H,AL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论