版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要本次设计用单片机芯片AT89C51设计一个数字电压表,能够测量直流电压值,四位数码显示,量程范围为0-200V,显示分辨率为0.1 mV。此系统由分压电阻、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。本电压表具有设计方法合理、简单易行、成本低、安全实用等特点。关键词:数字电压表 ;AT89S52单片机 ;低成本四川理工学院本科毕业(设计)论文Abstract This design is design a digital voltmeter with chip AT89C51 of one-chip computer, can measure and hand in
2、, direct current pressing value , four numbers show,Span the range of 0-200V, a display resolution of 0.1 mv. This system is shunted resistance, resistance of partial pressure, basic resistance, minimum system of 51 one-chip computers, shown that some , warning part , AD change and control making up
3、 partly. This voltmeter has the design method reasonably, easy and feasible, the cost low, safe practical and so on characteristics, and has certain promoted value.Key word: digital voltmeter ;AT89C51 ;Low costX基于单片机的三位半数字电压表设计前 言数字电压表(Digital Voltmeter)简称DVM,它是利用模拟/数字变换器(A/D)原理,以十进制数字形式显示被测电压值的仪表1。
4、DVM除了广泛用于电压测量外,通过各种变换器还可以测量其他电量或非电量,用途十分广泛2。DVM的高速发展,使它已成为实现量程自动化、提高工作效率不可缺少的仪表。数字化是当前计量仪器仪表发展的主要方向之一2。而高准确度直流DVM的出现,又使DVM进入了精密标准测量领域。测量是一种认识过程,就是用实验的方法将被测量与所选用单位的相同参量进行比较,从而确定它的大小。科学技术和结构工艺也与测量息息相关。现代的测量仪器仪表是科学技术成果之一,而离开测量技术,科学技术便无从发展。例如,各种物理定律的正确性就必须通过精密的测试来验证。正是坚持理论与实验定量的一致性,才使科学技术获得进步并促进国民经济的发展,
5、可见测量在科学技术中占的地位是多么重要。DVM广泛应用在测量领域中,其测量结果的准确度和可信度取决于它结构主要性能和技术指标。评价某种DVM性能的优劣,产品质量是否合格,是否满足技术指标的要求,必须通过正确的鉴定和测试结果才能分析判断出来。传统的指针式电压表功能单一,精度底,读数不方便,不能满足数字化时代的需要。采用单片机的数字电压表,具有精度高,抗干扰能力强,可扩展性强等优点。现今,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量,工业自动化仪表,自动测试系统等智能化测量领域,展示了强大的生命力。而且,由DVM扩展而成的各种通用及专用数字仪表仪器,也把电量及非电量测量技术提
6、高到新的水平15。本设计中电压表可以测量直流电压测量范围(0200V)共分四档:200mv、2v、20v、200v,并且通过4位LED数码管三位半显示其数值。 所谓三位半的三位是指可以显示09的十个数字,称作全位。千位数最大显示为1(小于1时消隐),这位在理论上讲最大能显示2,比如在2V挡,最大显示应该是2.000,但实际显示1.999,和理论值还差一。那么这位理论值最大应该显示2,而实际只能显示1,就叫做1/2位15。理论值为分母,实际显示最大值为分子。根据数字电压表的功能实现要求,选用AT89C51单片机作控制系统,由ADC0809实现AD转换功能,放大器选用OPA336实现放大10倍的功
7、能。在保证送入A/D的电压为2V的等效电压时,利用AD还可以较精确地测出其值。因为对不同电压档位采用不同的端口和程序控制,所以可以大大减小电路的要求,更利于实现。III目 录摘 要IAbstractII前 言III第1章 方案论证11.1 课题设计要求11.2 方案论证11.2.1 主控部分的选择11.2.2 A/D转换方案31.2.3 单片机复位方案41.2.4 数据显示电路51.2.5 LED显示方案51.2.6 量程转换电路6第2章 基于单片机的数字电压表基本原理和组成92.1 系统总体设计92.2 主要芯片介绍102.2.1 AT89C51单片机102.2.2 ADC0809芯片介绍1
8、32.2.3 74LS74芯片介绍16第3章 基于单片机的数字电压表的电路设计183.1 电源设计183.2 衰减电路设计183.3 放大电路设计193.4 单片机最小系统设计193.5 报警电路设计203.6 A/D转换电路设计213.7 开关电路设计213.8 显示电路设计223.9 分频电路设计233.10 硬件整体电路图23第4章 系统软件设计254.1 电路功能模块254.2系统总流程图264.3 软件设计思想描述274.4 程序设计275.1 Keil IDE简介285.2 Keil工程的建立295.2.1 源文件的建立295.2.3 建立工程文件295.3 工程的详细设置315.
9、4 程序的编译及运行34第6章 结束语35致 谢36参考文献37附录1 硬件设计整体结构图38附录2 程序清单39第1章 方案论证1.1 课题设计要求本设计达到的要求:利用4个LED现实4位数字电压表的三位半显示,数字电压表是由模拟电路与数字电路两个部分组成,是由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中的各组模拟开关接通或断开,保证A/D转换正常进行。A/D转换的结果送入单片机内部进行数据的处理,最后驱动显示相应的数值,该设计的任务就是将被测模拟量转换为数字量,并进行实时数值显示。其中直流电压测量范围(0200V)共分四档:200mv、2v、20v、200v。1.2 方案论证1.
10、2.1 主控部分的选择方案1:用ICL7106够成的数字电压表ICL7106是美国Intersil公司的产品,是目前应用最广泛的一种单片三位半的A/D转换器。它的主要性能特点:采用单电源供电,电压范围较宽,规定为715V。通常采用9叠层电池,有助于实现仪表的小型化。低功耗。芯片本身消耗的电流仅为1.8mA,功耗约16mW。一节9V叠层电池能连续工作200h,正常情况下可间断使用半年左右。输入阻抗极高,典型值为,对输入信号无衰减作用。外围电路简单,整机组装方便,它不需外加有源器件,只要配上5只电阻器、5只电容器和LCD显示器,就能构成一块直流数字电压表。如果在增加一些辅助电路和转换开关,便可组成
11、数字万用表。能通过内部的模拟开关实现自动调零,并能自动判断被测电压的极行。利用外部异或门电路,可显示超量程和小数。A/D转换速率较低,规定范围为0.115次/秒,通常选25次/秒已能满足常规电子和电工测量的需要6。由ICL7106组成的数字电压表的原理框图如图1-1所示:图1-1 由ICL1706构成的数字电压原理框图该仪表的量程UM=200Mv,称之为基本表或基本档。其中:C1、R1分别为振荡电容和振荡电阻。RP、R2组成基准电压的分压电路。RP采用精密多圈电位器,R2为固定电阻,调整RP可使基准电压Uref=100.0mV。R3、C3为模拟输入端的高频阻容式滤波器,以提高仪表的抗干扰能力。
12、因ICL7106的输入阻抗很大,输入电流很小,故可取R3=1M,C3=0.01uF。C2、C4分别为基准电容与自动调零电容。C5,R4依次为积分电容和积分电阻。仪表采用9V电池供电。电路中将IN-端与COM端短接。该电压表的测量速率约为2.5次/秒。而ICL7106只有液晶笔段及背电极驱动端,没有小数点驱动端8。要显示小数点,需另加外围电路。方案2:采用以单片机为核心的控制方案根 据数字电压表的功能实现要求 ,选 用 AT89C51单片机作控制系统 ,低电压经放大器选用OPA336实现放大10倍、高电压经大电阻分压从而控制输入ADC0809的信号在2V左右实现AD转换经AT89C51送入LED
13、显示。它的组成原理框图如图1-2所示:输入入 AT89C51单片机显示电路A/D转换电路放大电路衰减电路图1-2 基于单片机的数字电压表原理框图设计方案比较:这两种方案的差别主要是方案一中用到是大规模电子元件组成的数字电压表,它可以完成简单的电压测量和显示功能将耗费大量的电子元件。方案二是采用单片机控制设计的数字电压表,它不但可其精度和显示可以精确控制,且电路相对简单成本低,稳定性较高,功能扩展方便,故采用此设计。1.2.2 A/D转换方案模/数转换器是一种连接的模拟量转化成离散数字量的一种电路或器件。模拟信号转换为数字信号一般需要经过抽样保持和量化编码两个过程。针对不同的采样对象,有不同的A
14、/D转换器可供选择,其中有通用的也有专用的。有些ADC还包含有其他的功能,在选择A/D器件时需要考虑多种因素,除了关键参数、分辨率和转换速度以外,还需考虑其他因素,如静态与动态精度,数据接口类型,控制接口与定时,采样保持性能,基本要求,校准能力、功耗、使用环境要求、封装形式以及与软件相关的问题。ADC按功能划分可以分为直接转换和非直接转换两大类,其中非直接转换又有逐次分级转换、积分式转换等类型。 A/D转换器在实际应用时,除了要设计适当的采样/保持电路、基准电路和多路模拟开关等电路外,还应根据实际选择的具体芯片进行输入模拟信号极性转换等设计。 方案1:采用分级式转换器,这种转换采用两步或多步进
15、行分辨率的闪烁式转换,进而快速的完成模/数转换,同时可以实现较高的分辨率。例如,在利用两步分级完成n位转换的过程中,首先完成m位的粗转换,然后使用精度至少为m位的模/数转换器,将此结果转换达到1/2的精度并且与输入信号比较。对此信号用一个k位转换器转换,最后将两个输出结果合并。 方案2:采用双积分型A/D转换器,如ICL7153等。双积分型A/D转换器转换精度高,但转换速度不太快,若用于温度测量,不能及时地反映当前温度值,而且多数双积分型A/D转换器其输出端都不是二进制码,而是直接驱动数码管的。所以,若直接将其输出端接I/O接口会给软件设计带来极大的不方便。 方案3:采用逐次逼近式转换器,对于
16、这种转换方式,通常是采用一个比较器输入信号与为基准的n位DAC输出进行比较,并执行n次1位转换。这种方法类似于天平上用二进制码称量物质。采用逐次逼近寄存器,输入信号仅与高位比较,确定DAC的高位。确定后结果别、被锁存,同时加到DAC上,以决定DAC的输出。 逐次逼近型转换器,如ADC0809,AD574等,其特点是转换速度快,精度也比较高,输出为二进制码,直接接I/O口,软件设计简单。ADC0809芯片内包含8位模/数转换器,8通道多路转换器与微控制器兼容的控制逻辑。8通道多路转换器能直接连通8个单端输入信号中的任何一个。由于ADC0809设计时考虑到若干中模/数转换技术优点,所以该芯片非常适
17、合于过程控制,微控制器输入通道的结合口电路、智能仪器和机床控制等应用场合,并且价格低廉,降低设计成本8。 方案选择:选择方案3。理由:用ADC0809采样速度快,价格低廉,降低设计成本。1.2.3 单片机复位方案RST/VPD:复位/备用电源线,可以使单片机处于复位(即初始化)工作状态。通常,单片机的复位有自动上电复位和人工按钮复位两种3,图1-3单片机复位电路给出了它们的电路。考虑到,考虑到,上电复位方式电路简单,设计简单且设计成本低等因素,故本设计采用上电复位方式。 (a) 上位电路 (b) 开关复位电路图1-3 单片机复位电路1.2.4 数据显示电路方案1:采用八位共阴极LED数码管进行
18、显示,利用单片机串行口的移位寄存器工作方式。方案2:采用点阵字符型LCD液晶显示,可以显示数字与阿拉伯字母等字符,随着半导体技术的发展,LCD的液晶显示越来越广泛的应用于各种显示场合。LCD的芯片我们选用1602,它采用标准的16脚接口,这样可以使我们的电路更简单。方案选择:基于设计要求,选用LED来实现显示功能。1.2.5 LED显示方案通常的LED显示器有7段或8段和米字段之分【8】。这种显示器有共阳和公阴极两种。公阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的工作原理也一样。方
19、案1:采用静态显示方式。在这种方式下,各位LED显示的共阳极连接在一起并接地,每位的段选线分别与一个8位的琐存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示字符一经确定,相应的亮度较高。若用I/O口连接,这不需要占用N*8位I/O口。这样的话,如果显示的个数较多,那使用的I/O借口就更多,因此在显示位数较多的情况下,一般都不用静态显示。方案2:采用动态显示方式。当多位LED显示时,通常将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳或共阴极分别有相应的I/O口控制,实现各位分时选通。其中段选线占用一个8位I/O口,而位选线占用N个口
20、,由于各位的段选线并联,段码的输出对各位来说都是相同的,因此同一时刻,如果各位选线都处于选通的话,那LED显示器将显示相同的字符。若要显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位处于选通状态,而其他各位的位线处于关闭状态,同时,段选线输出相应位要显示字符的段码【8】。这种显示方式占用的I/O口个数为8+N(N为LED显示的个数),相对静态显示少了很多I/O资源。方案选择:选择方案2。理由:非常节约I/O口。1.2.6 量程转换电路 在基准数字电压表头前面加一级分压电路,可以扩展直流电压测量的量程。如图1-4所示,U0为电压表头的量程(如200mV),r为其内阻(如10M),r1、
21、r2为分压电阻,Ui0为扩展后的量程。 1-4 分压电路原理 图1-5 多量程分压器原理由于rr2,所以分压比为: (1-1)扩展后的量程为: (1-2)多量程分压器原理电路见图1-5,4个档位的量程分压比分别为1、0.1、0.01和0.001,对应的量程分别为200V、20V、2V和200mV。采用图1-5的分压电路虽然可以扩展电压表的量程,但在小量程档明显降低了电压表的输入阻抗,这在实际使用中是所不希望的。所以,实际数字万用表的直流电压档电路为图1-6所示,它能在不降低输入阻抗的情况下,达到同样的分压效果。图1-6 使用分压电路 例如:其中200V档的分压比为: (1-3)其余各档的分压比
22、可同样算出。实际设计时是根据各档的分压比和总电阻来确定各分压电阻的。如先确定: (1-4)再计算2000V档的电阻:R5=0.0001R总=1K (1-5) 再逐档计算R4、R5、R2、R1。尽管上述最高量程档的理论量程是2000V,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000V。换量程时,多刀量程转换开关可以根据档位自动调整小数点的显示,使用者可方便地直读出测量结果。方案选择:图1-6电路。理由:它能在不降低输入阻抗的情况下,达到同样的分压效果。第2章 基于单片机的数字电压表基本原理和组成2.1 系统总体设计根据数字压表的功能实现要求 ,选用 AT89C51单片机作控制系
23、统 ,待测电压经高电压经衰减电路分压后送入放大器OPA336实现放大10倍、从而控制输入ADC0809的信号在2V左右实现AD转换经AT89C51送入LED显示。它的组成原理框图如图2-1所示:A/D转换输入单片机复位电路时钟档位选择电压转换LED电源报警图2-1 系统结构框图电路的硬件部分包括主要的主机AT89C51单片机、A/D转换芯片ADC0809、档位选择电路、显示电路四个部分。 (1) 主机部分:用AT89C51做控制系统的核心,它内部有8K的程序存储器,不需要外部扩展。(2) A/D转换部分:采用ADC0809A/D转换芯片,它是8位逐次逼近式A/D转换芯片,有精度高的优点,输出是
24、BCD码,可直接用于驱动LED显示。(3) 输入(量程衰减)电路:在四种量程的情况下,可以用衰减电路对被测量的电压进行衰减,经过放大电路后进行A/D转换。(4) 显示电路:在显示部分用到的是四位LED数码管,通过AT89S52对它控制和写要显示的数据,LED显示具有很简便的硬件电路,实现成本低,主要是软件的编写。以上各功能电路便组合成一个完整的电路系统,通过89C51软件控制各个单元电路的工作时序数据传送,完成电压测量功能。可以应用相应的仿真软件进行时序和功能仿真,最后进行安装调试。2.2 主要芯片介绍2.2.1 AT89C51单片机AT89C51是美国ATM公司生产的低电压,高性能CMOS8
25、位单片机,片内含4K bytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。管脚排布如图2-2所示。 1)主要特性4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz三级程序存储器保密锁定128*8位内部RAM32条可编程I/O线图2-2 AT89C51管脚排列两个16位定时器/计数器6个中断源可编程
26、串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2)管脚说明VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在F
27、LASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收
28、输出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(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位信号的输入。当振荡器复位器件时,
29、要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期
30、间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3)震荡特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时
31、钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4)芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。另外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功
32、能,直到下一个硬件复位为止。2.2.2 ADC0809芯片介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器3,可以和单片机直接接口。从上图2-3名称可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。1 )ADC0809的内部逻辑结构 图2-3 ADC0809的内部逻辑结构2 )引脚结构 引脚
33、结果图见图2-4所示:图2-4 ADC0809引脚结构图IN0IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2-1地址输入线的通道选择。表2-1 地址输入线的通道
34、选择CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率
35、为500KHZ。 VREF(),VREF()为参考电压输入。 3)ADC0809应用说明:(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。2.2.3 74LS74芯片介绍74LS74内含两个独立的D上升沿双d触发器,每个触发器有数据输入(D)、置位输入()复位输入()、时钟输入(CP)和数据
36、输出(Qn1、n1)。、的低电平使输出预置或清除,而与其它输入端的电平无关。当、均无效(高电平式)时,符合建立时间要求的D数据在CP上升沿作用下传送到输出端。表22列出了74ls74功能表。表22 74ls74功能表输 入输 出SDRDCPDQn1n1 0110100100111101100111QnQn图2-4给出了74LS74的结构及引脚图。图2-5 74LS74的结构及引脚图第3章 基于单片机的数字电压表的电路设计3.1电源设计由于高压交流电会对弱电系统产生干扰,影响系统的稳定性,而电池之类的电源又存在维护不方便和电压电流衰减等的缺点,所以本次设计采用外部稳压电源供电,这里选用普通输出的
37、交流稳压电源输入,压衰减影响比较小,输出稳定,电路如图3-5所示。图3-1 电源电路3.2 衰减电路设计由于本次设计采用ADC0809芯片作为A/D转换器件,而ADC0809的输入转换电压值范围为:05V,所以对高于转换电压值的被测电压信号都应该衰减到05V这个电压值范围内。图3-2 衰减电路如上图3-2所示,使用有一定规律的R1R3和R12电阻组合构成精密的电阻分压器,能够实现分流大电压的目的,即0200V的电压一律衰减到200mV以下,通过测量参考电压经过计算得到实际的电压值。3.3 放大电路设计放大电路在电路中主要是对衰减电路输出的信号进行放大,让微弱的小信号变成理想的信号以送入A/D转
38、换器,如此可以提高系统的精度。图3-3 放大电路本次计主要采用的放大电路如上3-3图所以,衰减后的电压经过OPA336放大器(放大器采用同相比例运算电路,放大倍数为:A=1+R5/R4=10.)放大倍数10倍放大后输入给A/D转换电路做模数转换,这样可以更加的精确的转换200mV以下的电压信号。3.4 单片机最小系统设计单片机最小系统由单片机、时钟电路和复位电路三部分组成。单片机作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。 图3-4 单片机最小系统本设计单片机最小系统如图3-4所示,由AT89C51单片机、配以
39、RC上电复位电路和11.0592MHZ振荡电路,使系统稳定工作。3.5 报警电路设计为了使电压表在使用中能够准确的反应测量情况,给电压表配以报警电路.当当前测量电压超量程测量时系统报警,电压表停止工作。图3-5 警电路本次设计采用的的报警电路如图3-5所示,当检测到被测电压超出电压表的最大量程值时蜂鸣器发出“嘀”声且LED发光。具体的实现过程是单片机P3.3脚输出高电平,使得Q1导通,使得LS1对地导通,蜂鸣器发出响声;P0.7输出高电平使得LED导通发光,当检测到使用的当前电压测量档位不适合当前档位时,电压表只发出“嘀”声,提示用户换档位测量。 3.6 A/D转换电路设计A/D转换电路就是把
40、输入的模拟信号转换成数字信号,然后把转换好的数字信号输出给单片机处理。图3-6 ADC0809转换电路本次设计采用的A/D转换电路如图3-6所示,将放大后的信号输入给A/D转换芯片的26脚(IN-0)作为A/D输入转换信号,转换后的信号输出给单片机的P1.0P1.7引脚最为单片机的数据信号处理输入。由于ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/255*VREF)。3.7 开关电路设计基于单片机的电压表应该具有不同的档位,不同的档位具有不同的测量精度。图3-7 开关电路如上图3-7,类似于常用的万用表开关,可以根据需要
41、手动转换测量量的量程,根据所需要测量的量选择合适的量程,开关选用双刀双掷开关,如此可以同时将选择的档位信息送入单片机接口。3.8 显示电路设计显示电路在电路中用于将被测电压的实际大小直观的显示在LED数码管上,供用户读取电压信息。图3-8 显示电路本设计采用采用4合1的8段数码管,使得整个系统响应时间最快,显示精度更高,同样还可以减少PCB表面走线提高系统稳定性。单片机的P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7分别与数码管的a、b、c、d、e、f、g、dp显示段码相连接,单片机的P0.0、P0.1、P0.2、P0.3与四位八段数码管的选位输入D1、D2、D
42、3、D4相连接,如此用单片机P0.0、P0.1、P0.2、P0.3控制P2口输出到四位LED的相应位,即,P0.0选通四位LED的最高位。3.9 分频电路设计由于ADC0809片内无时钟,要它能够正常工作需要外加时钟脉冲,利用单片机提供的地址锁存使能信号ALE经D触发器四分频后获得时钟。图3-9 分频电路如图3-9所示,U4B的11脚接到单片机的ALE脚(30脚)输入信号,Q非(即Q上有一横杠的脚)接D脚,Q或作输出,这是二分频电路,像这样只用单级(一个D触发器)就是二分频,用两级就是四分频;如此,经分频后的时钟频率为单片机时钟频率的1/24,单片机的时钟平率为11.0592MHz,机器周期为
43、6个时钟周期,则ALE脚输出的频率近视为2MHz,在经四分频电路后得到频率为500KHz的时钟,在将此时钟输入到ADC0809转换芯片作为时钟信号。利用单片的ALE输出脚作为分频电路的输入时应该在单片的EA/VPP脚接上+5V电压。3.10 硬件整体电路图 系统的整体电路原理图(见附录1)。 电路的工作过程描述:此工作当然是要求在正确的程序都写入了各个芯片中才能完成工作。电压测量时根据不同的量程选择不同的量程开关输入被测量信号,同时将选择的档位信号输入给单片机;测量电压首先经过衰减电路和放大电路放大后输入到ADC0809的IN-0(26脚)做信号模数转换,转换后的数字信号输出给AT89C51的
44、P1口,单片机将接收到的信号做数据处理并将处理好的信号由单片机的P3.4、P3.5、P3.6、P3.7脚和三极管控制4位LED显示P2口输出的数据。第4章 系统软件设计数字电压表系统程序采用C语言进行编写,与汇编语言相比,用C语言开发单片机的开发速度快,并且软件的可读性和维护性显著改善。4.1 电路功能模块 数字电压表系统程序采用模块化设计。由总体设计框图4-1,本数字电压表由以下几部分功能模块组成,复位电路、震荡电路、ADC输入、ADC使能控制、被测量显示、超限报警、等电路组成。程序中的子程序 功能模块主要分成3个,延时、ADC转换、和显示,延时子程序在整个程序中多次被调用,ADC转换则是每
45、次测量都会需要用到的,当进行测量时,ADC0809将被测量转换为2进制数发给单片机然后单片机根据软件协议送显示。 复位电路时钟ADC输入被测量显示超限报警ADC使能控制AT89C51 图4-1 功能模块设计框图4.2系统总流程图:开始系统初始化A/D输出转换结果启动A/D转换P3.2=1?单片机接收处理数据超限否送LED显示结束档位超限或欠压蜂鸣器响蜂鸣器响,LED亮YNYYNP3.1输出高电平200?N图4-2 系统统总流程图4.3 软件设计思想描述软件设计使用单片机对各个单元电路进行功能和工作时序的控制,它使得整个系统正常的工作,完成整个电路的功能。程序设计的时,首先使电路中各个部件初始化
46、,让他们工作在随时待机状态。单片机初始化是为了分配单片机的的引脚资源。单片机P1.0P1.7端口作为A/D转换信号的输入,用于采集处理信号;单片的的P3口用于信号的检测和反馈,P3.0作为启动A/D开始转换信号的控制端与A/D芯片的START脚连接;P3.1作为A/D转换芯片转换信号输出允许输入输出的控制信号与A/D的ENABLE脚连接;P3.2用于接收来自A/D转换芯片EOC引脚的外来信号,如果接收到的为高电平那么表示A/D转换结束;否则输出低电平表明A/D正在进行转换。P3.3用于反馈当前测量信号是否超量程报警,超量程是该量程输出一个高电平,扬声器报警提示用户量程超限和欠压请换用其他档位测
47、量。P3.4P3.7用于检测档位信号。单片机的P2.0P2.7用于输出显示;单片机的P0.0P0.3用于控制输出显示。A/D初始化应该让A/D输出为0。初始化完后,单片机首先向A/D转换芯片的启动转换引端ST启动转换命令(当转换结束后A/D的换结束引脚EOC输出一个高电平);此阶段单片机将通过P3.2引脚检测A/D的准换结束引脚EOC是否为高电平;当检测到高电平时,单片机P3.1向A/D的输出允许端OE发一个高电平,A/D输出转换后的数字信号,单片机接收到来自A/D转换后的数字信号后,在片内进行数据处理,并将处理后有效的数据输出到LED显示;如果在处理过程中出现超量程或欠压,单片机将报警提示用
48、户。4.4 程序设计本次设计采用C语言进行程序设计,因为在C语言中,函数是程序的基本组成单位,因此可以很方便地用函数作为程序模块来实现C语言程序。利用函数,不仅可以实现程序的模块化,程序设计得简单和直观,提高了程序的易读性和可维护性,而且还可以把程序中普通用到的一些计算或操作编成通用的函数,以供随时调用,这样可以大大地减轻程序员的代码工作量。 程序代码见附录二。第5章 程序编译和调试5.1 Keil IDE简介本次软件设计借助Keil来完成。Keil采用C语言编程,是51系列单片机的通用编程软件。Keil IDE(uVision2)集成开发环境是用于开发基于80C51内核单片机的软件。该开发平
49、台内嵌多种符合当前工业标准的开发工具,可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程。其C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,这些特点在开发大型项目时非常理想。由于Keil本身是一个纯软件的东西,不能直接完成硬件仿真功能,因此必须挂接类似TKS系列仿真器的硬件才可以进行仿真。Keil IDE包含以下基本功能模块:1.uVision2 IDEuVision2 IDE包括一个工程管理器,一个功能丰富并有交互式错误提示的编辑器,选项设置生成工具,以及在线帮助。可以使用uVision2创建源文件,并将多个文件组成应
50、用工程加以管理。uVision2可以自动完成编译、汇编、连接程序的操作,使开发人员可以只专注开发工作的效果。2.C51编译器和A51汇编器由uVision2 IDE创建的源文件可以被C51编译器和A51汇编器处理成可重定位的object文件。3.LIB51库管理器LIB51库管理器可以从汇编器和编译器创建的目标文件建立相对应的目标库。这些库是按规定格式排列的目标模块,可在以后被链接器所使用。4.BL51链接器定位器BL51链接器使用从库管理器中提取出来的目标模块,以及由编译器汇编器生成的目标模块创建一个含有绝对地址的目标模块。5.uVision2软件调试器uVision2软件调试器可以进行快速
51、可靠的程序调试。该调试器包括一个高速模拟器,开发人员使用它模拟整个80C51系统,包括片上外围器件和外部硬件。6.uVision2硬件调试器uVision2硬件调试器向开发人员提供了几种在实际目标硬件上测试程序的方法。5.2 Keil工程的建立5.2.1 源文件的建立首先启动 Keil 软件的集成开发环境,使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入汇编语言源程序,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名),这里假定将文件保存为main.asm。需要说明的是,源文件就是一般的文本文件,不
52、一定使用 Keil软件编写,可以使用任意文本编缉软件进行源程序的输入。5.2.3 建立工程文件在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择 CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。点击“Project-New Project”菜单,出现一个对话框,要求给将要建立的工程起一个名字
53、,你可以在编缉框中输入一个名字(例如1111),不需要扩展名。点击“保存”按钮,出现第二个对话框,如图5-1所示:图5-1 选择目标CPU这个对话框要求选择目标CPU(即你所用芯片的型号),Keil支持的CPU很多,我们选择Atmel公司的89C51芯片。点击Atmel 前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+号展开,可以看到下一层的“SourceGroup1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点“SourceGroup1
54、”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,选中其中的“Add file to Group Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C 为扩展名的文件,而我们的文件是以asm为扩展名的,所以在列表框中找不到main.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“asm Source File(*.a51,*.asm),这样,在列表框中就可以找到main.asm文件了。如图5-2所示:图5-2 加入文件双击main.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现一个对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主界面,返回后,点击“Source Group 1”前的加号,会发现main.c文件已在其中。双击文件名,即打开该源程序。5.3 工程的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project窗口的Target 1,然后使用菜单“Project-Option for targettarget1”即出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红色故事演讲稿1
- 企业员工健身教练聘用协议
- 商场烟道改造及清理服务协议
- 电信工程混凝土施工协议
- 车间员工个人工作心得体会5篇范文
- 机场问讯处管理规定
- 城市防冰施工合同
- 水电开发与黄河水文利用
- 汽车零部件采购资格预审表
- 建筑行业招投标技巧解析讲座
- 第二单元大单元教学设计 2023-2024学年统编版高中语文必修上册
- 事业单位竞争上岗实施方案
- 生涯发展报告
- 管理评审输入材料
- VR游戏设计与制作智慧树知到期末考试答案2024年
- 2024年卫生系统招聘考试-卫生系统招聘考试(公共卫生管理)笔试历年真题荟萃含答案
- 工业机器人大学生职业生涯规划
- 企业风险管理与人才培养的关系
- 部编版一年级语文上册第八单元
- 配网电力工人培训课件
- 中南地区工程建设标准设计建筑图集 13ZJ601 木门窗
评论
0/150
提交评论