基于单片机的数字电压表(05V)设计课程设计.doc

上传人:文库蛋蛋多 文档编号:4148609 上传时间:2023-04-07 格式:DOC 页数:19 大小:812KB
返回 下载 相关 举报
基于单片机的数字电压表(05V)设计课程设计.doc_第1页
第1页 / 共19页
基于单片机的数字电压表(05V)设计课程设计.doc_第2页
第2页 / 共19页
基于单片机的数字电压表(05V)设计课程设计.doc_第3页
第3页 / 共19页
基于单片机的数字电压表(05V)设计课程设计.doc_第4页
第4页 / 共19页
基于单片机的数字电压表(05V)设计课程设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于单片机的数字电压表(05V)设计课程设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表(05V)设计课程设计.doc(19页珍藏版)》请在三一办公上搜索。

1、摘 要本文介绍一种基于89C51单片机的一种电压测量电路,双积分A/D转换电路,测量范围直流0-5伏,使用LCD模块显示电压值。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89C51的特点及应用。该电路设计新颖、功能强大、可扩展性强。关键词: 单片机、双积分电路、89C51、74LS161、ADC080811 系统总体设计及方案1.1 设计题目、内容、要求设计题目:简易数字电压表的设计。设计内容:1可以测量05V范围内的8路直流电压值。2在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V5.00V,1位LED数码管显示路

2、数,8路用数字表示分别为0-7。3测量最小分辨率为0.02V。设计要求:1进行系统总体设计。2完成系统硬件电路设计。3完成系统软件设计。4撰写设计说明书。1.2 概述数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领

3、域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。输入电路1.3 系统原理及基本框图A/D转换89c51单片机LED显示图1-1 系统基本流程图如图1-1所示,模拟电压经过滑动变阻器切换到不同的分压电路后,送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。处理后的数据,通过P0口传输送到LED中显示。1.4 方案说明系统首先通过按键逐路选择八路通道中的一路或是循环显示,将该路某一路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0

4、808的EO端口置为高电平,单片机将转换后结果存如片内RAM。系统调出计算子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调用显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。1.5 方案论证1.5.1 显示部分系统通过对LED灯的动态显示及不停的轮流给数码管位选端加驱动电压,及在给其中一个数码管位选段加驱动电压的时候它才能变亮,而其他的是暗的,由于数码管暗下来需要一定的时间,人眼具有视觉暂留特点,同时系统又给其它的施加驱动电压,所以我们看到的就是稳定的亮着的数字了。1.5.2 A/D转换部分通过A/D转换器将输入的模拟信号转换成

5、数字信号,然后进行处理。为了达到这一目的,使用调试简单,能与微处理机或其他数字系统兼容的A/D转换器0808芯片。ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。2 电路设计2.1 输入电路输入电路的作用是把不同量程的被测的电压规范到A/D转换器所要求的电压值。本电路设计所用电压为0-5V,其大小通过滑动变阻器调节。

6、2.2 A/D转换电路A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。本设计采用双积A/D 转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。2.3 双积A/D 转换器的工作原理如图2-1所示:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 T1,再利用计数器测出。图2-1 双积分A/D转换器工作原理图图2-2 双积A/D 转换器的波形图此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着

7、对基准电压进行同样的处理。在常用的A/D转换芯片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135与其余几种有所不同,它是一种四位半的双积分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。2.4 A/DC0808的转换流程图数字量电压值输入89C51启动ADC0808等待转换是否结束将结果转换成BCD码并输出图2-3 A/DC0808的转换流程图 图2-3 A/DC0808的转换电路图其软件中实现其数字量电压转换为三位模拟量电压的部分程序如下:MOV A,#0FFHMOV P1,AMOV A,P1;读取AD转换结果CLR P2.7M

8、OV B,#51;AD转换结果转换成BCD码DIV ABMOV R1,A;A中为电压数值第一位,存放在R1中MOV A,BMOV B,#2MUL ABMOV B,#10DIV AB;A中存放电压数值第二位,并存放入R2中MOV R2,AMOV R3,B;余数B中存放电压数值第三位2.4液晶显示部分显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个161的字符型液晶显示模块, 点阵图形式液晶由 M 行N 列个显示单元组成,假设 LCD 显示屏有64行,每行有 128列,每 8列对应 1 个字节的 8 个位,即每行由 16 字节,共 168=128个点组

9、成,屏上6416个显示单元和显示 RAM 区 1024 个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由 68 或 88点阵组成,即要找到和屏上某几个位置对应的显示 RAM区的 8 个字节,并且要使每个字节的不同的位为1,其它的为0,为1的点亮,为0的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。2.5设计调试及性能分析2.5.1 调试与测试采用Keil uVision2编译器进行源程序编译及仿真调试,

10、同时进行硬件电路板的设计制作,烧好程序后进行软硬件联调,最后进行端口电压的对比测试,要求测试对比中标准电压值采用数字万用表测得。简易数字电压表与“标准”数字电压表测得的绝对误差应在0.02V以内。2.5.2 性能分析由于单片机为8位处理器,当输入电压为5.00V时,输出数据值为255(FFH),因此单片机最大的数值分辨率为0.0196V(5/255)。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试时电压数值的变化一般以0.02的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A/D转换器。简易电压表测得的值基本上均比标准值偏大0.010.02V。这可以通过校正0

11、809的基准电压来解决,因为该电压表设计时直接用7805的供电电源作为基准电压,电压可能有偏差。另外可以用软件编程来校正测量值。ADC0808的直流输入阻抗1M,能满足一般的电压测试需要。另外,经测试ADC0808可直接在2MHz的频率下工作,这样可省去分频器14024。2.5.2 程序的编写及电路的实现在本次课设中使用ISIS 6 Professional软件进行对电路进行绘制、模拟及仿真,使用keilc51软件编写单片机89C51的程序,以下将对SIS 6 Professional软件及keilc51软件进行介绍。3 芯片及软件介绍3.1 ADC08083.1.1引脚功能(外部特性)ADC

12、0808芯片有28条引脚,采用双列直插式封装,如右图所示。各引脚功能如下: 15,2628(IN0IN7):8路模拟量输入端。 8,14,15,1721:8位数字量输出端。 22(ALE):地址锁存允许信号,输入,高电平有效。 6(START): AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9(OE):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(C

13、LK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 12(VREF(+)、16(VREF(-):参考电压输入端。 11(Vcc):主电源输入端。 13(GND):地。 2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。 3.1.2内部结构ADC0808是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近。极限参数电源电压(Vcc):6.5V 。控制端输入电压:0.3V15V 。其它输入和输出端电压:-0.3VVcc+0.3V 。贮存温度:65+150 功耗(T=+25):875mW。引

14、线焊接温度:气相焊接(60s):215;红外焊接(15s):220 抗静电强度:400V。 3.2 89C51单片机该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器,全部支持12时钟和6时钟操作。P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位。定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART。以及片内振荡器和时钟电路89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and E

15、rasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.1 主要特性与MCS-51 兼容 ;4K字节可编程闪烁存储器 ;寿命:1000写/擦循环

16、 ;数据保留时间:10年;全静态工作:0Hz-24MHz ;三级程序存储器锁定 ;128*8位内部RAM;32可编程I/O线 ;5个中断源,两个16位定时器/计数器 ;可编程串行通道;低功耗的闲置和掉电模式 ,片内振荡器和时钟电路。3.2.2 管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个

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

18、当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口);P3.1 TXD(串行输出口);P3.2 /INT0(外部中断0);P3.3 /INT1(外部中断1);P3.4 T0(记时器0外部输入);P3.5 T1

19、(记时器1外部输入);P3.6 /WR(外部数据存储器写选通);P3.7 /RD(外部数据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据

20、存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.3 74LS161161为可预置的4位二进制同步计数器,共有54/74161和54/74LS161两种线路结。74LS161的清除端是异步的。当清除端CLEAR为低电平时,不管时钟端CLOCK状态如何,即可完成清除功能。74LS16的预置是同步的

21、。当置入控制器LOAD为低电平时,在CLOCK上升沿作用下,输出端QAQD与数据输入端AD相一致。 161的计数是同步的,靠CLOCK同时加在四个触发器上而实现的。当ENP、ENT均为高电平时,在CLOCK上升沿作用下QAQD同时变化,从而消除了异步计数器中出现的计数尖峰。3.4 Keil C51软件介绍Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标

22、选项和一个目标选择窗口。调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。在工具栏下面,默认有三个窗口。左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。如果通过则会生成“HEX”格式的目标文件,用于仿真或烧录芯片。MCS-51单片机软件Keil C51开发过程为:1.建立一个工程项目,选择芯片,确定选项;2.建立汇编源文件或C源文

23、件;3.用项目管理器生成各种应用文件;4.检查并修改源文件中的错误;5.编译连接通过后进行软件模拟仿真或硬件在线仿真;6.编程操作;7.应用。3.5 ISIS 6 Professional软件介绍ISIS 6 Professiona软件是它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。它从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前将电路仿真软件、PCB设计软件和

24、虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。ISIS 6 Professiona软件具有的功能:原理布图;PCB自动或人工布线;SPICE电路仿真。4 数字电压表设计电路4.1数字电压表完整的设计电路图图4-1 数字电压表设计电路图4-2 数字电压表测试电路系统工作过程:首先通过按键或开关选择要测量的电压地址,即几路电压,若通过按

25、键逐路选择,则要通过计数器74LS161记录按键次数,从而对电压地址加一,从而实现地址的转移,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,之后数据经过处理,就可以在数码管上显示系统通过调节滑动变阻器可以调节测量电压,测试电路图4-2:4.2电路的仿真若通过ISIS 6 Professional软件画出改课设的电路图,运行无误,并通过Keil C51软件编写程序编译无误并生成“

26、HEX”格式的目标文件之后,将其加载入单片机使其运行。具体方法为:右击工作区并选中使用的89C51单片机,左击出现“Edit Component”对话框,点击“Program File”选项选择Keil C51软件中已经生成的.HEX文件确定。启动软件,观察其仿真结果如图4-2所示。通过电路中的自锁开关闭合实现电路中电压的循环显示各路的电压值,通过断开自锁开关,则每按一次不自锁开关,则路数数加一并显示该路电压值。5 设计总结通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有

27、的基础上进行改进,使之功能不断完善,成为真己的东西。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有接触过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中模拟使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会相互讨论或者帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。单片机是很重要的一门课程,尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好

28、的深入研究和学习,学好了单片机也就多了一项生存的本钱。附录源程序:ORG 0000HSJMPSTARTSTART:MOVDPTR,#TAB;段码表首地址WAIT: MOV A,#0FFHMOV P3,AMOV A,P3ANL A,#07HJNB P3.3,LOOP1MOV R0,Aswap AMOV P3,ACLR P2.5 SETB P2.5CLR P2.5;启动AD转换 JNB P2.6,$;等待转换结束SETB P2.7 MOV A,#0FFHMOV P1,AMOV A,P1;读取AD转换结果CLR P2.7MOV B,#51;AD转换结果转换成BCD码DIV ABMOV R1,AMOV

29、 A,BMOV B,#2MUL ABMOV B,#10DIV ABMOV R2,AMOV R3,BLCALLDISPSJMP WAITLOOP1:INCR0MOV A,R0CJNE A,#08H,NEXTMOVA,#00HNEXT:MOV R0,Aswap AMOV P3,ACLR P2.5 SETB P2.5CLR P2.5;启动AD转换 JNB P2.6,$;等待转换结束SETB P2.7 MOV A,#0FFHMOV P1,AMOV A,P1;读取AD转换结果CLR P2.7MOV B,#51;AD转换结果转换成BCD码DIV ABMOV R1,AMOV A,BMOV B,#2MUL A

30、BMOV B,#10DIV ABMOV R2,AMOV R3,BLCALLDISPJNB P3.3,LOOP1SJMP WAITDISP:MOV R4,#0FHLOOP:MOVA,R3;显示子程序MOVCA,A+DPTRCLRP2.3MOVP0,ALCALLDELAYSETBP2.3MOVA,R2MOVCA,A+DPTRCLRP2.2MOVP0,ALCALLDELAYSETBP2.2MOVA,R1MOVCA,A+DPTRADD A,#80HCLRP2.1MOVP0,A待添加的隐藏文字内容2LCALLDELAYSETBP2.1MOVA,R0MOVCA,A+DPTRCLRP2.0MOVP0,ALC

31、ALLDELAYSETBP2.0 DJNZ R4,LOOPRETDELAY:MOVR6,#20D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETTAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHEND参考文献1 徐爱钧.智能化测量控制仪表原理与设计(第二版)M.北京:北京航空航天大学出版社,2004.2 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M.北京:清华大学出版社,2002.3 张国勋,缩短ICL7135A/D采样程序时间的一种方法J. 电子技术应用,1993,第一期.4 高峰,单片微型计算机与接口技术M.北京:科学

32、出版社,2003.5 刘伟,赵俊逸,黄勇,一种基予C8051F单片机的SOC型数据采录器的设计与实现A.天津市计算机学会单片机分会编. 2003年全国单片机及嵌如入式系统学术年会论文集(下册)6 李广弟.单片机基础.北京航空航天大学出版社19947 何立民.单片机应用系统设计.北京航空航天大学出版社19908 徐爱均.智能化测量控制仪表原理与设计.北京航空航天大学出版社19959 李全利.单片机原理及应用技术.高等教育出版社2001目 录1 系统总体设计及方案11.1 设计题目、内容、要求11.2 概述11.3 系统原理及基本框图11.4 方案说明21.5 方案论证21.5.1 显示部分21.

33、5.2 A/D转换部分22 电路设计32.1 输入电路32.2 A/D转换电路32.3 双积A/D 转换器的工作原理32.4 A/DC0808的转换流程图42.4液晶显示部分42.5设计调试及性能分析52.5.1 调试与测试52.5.2 性能分析52.5.2 程序的编写及电路的实现53 芯片及软件介绍63.1 ADC080863.1.1引脚功能(外部特性)63.1.2内部结构63.2 89C5163.2.1 主要特性73.2.2 管脚说明73.3 74LS16183.4 Keil C51软件介绍84 数字电压表设计电路104.1数字电压表完整的设计电路图104.2电路的仿真115 设计总结12附录13参考文献16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号