某学院简易数字电压表课程设计_secret_第1页
某学院简易数字电压表课程设计_secret_第2页
某学院简易数字电压表课程设计_secret_第3页
某学院简易数字电压表课程设计_secret_第4页
某学院简易数字电压表课程设计_secret_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE 目 录 TOC o 1-3 h z u HYPERLINK l _Toc313794002 1 系统总体设计方案 PAGEREF _Toc313794002 h 1 HYPERLINK l _Toc313794003 1.1 设计题目、内容及要求 PAGEREF _Toc313794003 h 1 HYPERLINK l _Toc313794004 1.2 设计思路 PAGEREF _Toc313794004 h 1 HYPERLINK l _Toc313794005 1.3 设计方案 PAGEREF _Toc313794005 h 1 HYPERLINK l _Toc3137940

2、06 2 硬件电路设计 PAGEREF _Toc313794006 h 3 HYPERLINK l _Toc313794007 2.1 A/D转换电路 PAGEREF _Toc313794007 h 3 HYPERLINK l _Toc313794008 2.1.1逐次逼近型A/D转换器原理 PAGEREF _Toc313794008 h 3 HYPERLINK l _Toc313794009 2.1.2 A/DC0808的转换流程图 PAGEREF _Toc313794009 h 4 HYPERLINK l _Toc313794010 2.2复位电路和时钟电路 PAGEREF _Toc313

3、794010 h 4 HYPERLINK l _Toc313794011 2.2.1复位电路设计 PAGEREF _Toc313794011 h 4 HYPERLINK l _Toc313794012 2.2.2时钟电路设计 PAGEREF _Toc313794012 h 5 HYPERLINK l _Toc313794013 2.3 LED显示电路 PAGEREF _Toc313794013 h 5 HYPERLINK l _Toc313794014 2.3.1 LED基本结构 PAGEREF _Toc313794014 h 5 HYPERLINK l _Toc313794015 2.3.2

4、 LED显示器的选择 PAGEREF _Toc313794015 h 6 HYPERLINK l _Toc313794016 2.3.3 LED译码方式 PAGEREF _Toc313794016 h 7 HYPERLINK l _Toc313794017 2.3.4 LED显示器与单片机接口设计 PAGEREF _Toc313794017 h 7 HYPERLINK l _Toc313794018 2.4 总体电路设计 PAGEREF _Toc313794018 h 8 HYPERLINK l _Toc313794019 2.5 设计调试及性能分析 PAGEREF _Toc313794019

5、 h 9 HYPERLINK l _Toc313794020 2.5.1 调试与测试 PAGEREF _Toc313794020 h 9 HYPERLINK l _Toc313794021 2.5.2 性能分析 PAGEREF _Toc313794021 h 9 HYPERLINK l _Toc313794022 2.5.3 程序的编写及电路的实现 PAGEREF _Toc313794022 h 9 HYPERLINK l _Toc313794023 3 芯片及软件介绍 PAGEREF _Toc313794023 h 10 HYPERLINK l _Toc313794024 3.1 ADC08

6、08 PAGEREF _Toc313794024 h 10 HYPERLINK l _Toc313794025 3.1.1 ADC0808 主要特性 PAGEREF _Toc313794025 h 10 HYPERLINK l _Toc313794026 3.1.2 ADC0808的外部引脚特征 PAGEREF _Toc313794026 h 10 HYPERLINK l _Toc313794027 3.1.3 ADC0808的内部结构及工作流程 PAGEREF _Toc313794027 h 11 HYPERLINK l _Toc313794028 3.2 89C51 PAGEREF _To

7、c313794028 h 12 HYPERLINK l _Toc313794029 3.2.1主要特性 PAGEREF _Toc313794029 h 12 HYPERLINK l _Toc313794030 3.2.2 AT89C51各引脚功能 PAGEREF _Toc313794030 h 13 HYPERLINK l _Toc313794031 3.3 74LS161 PAGEREF _Toc313794031 h 15 HYPERLINK l _Toc313794032 3.4 Keil C51软件介绍 PAGEREF _Toc313794032 h 15 HYPERLINK l _T

8、oc313794033 3.5 ISIS 6 Professional软件介绍 PAGEREF _Toc313794033 h 16 HYPERLINK l _Toc313794034 4 程序设计 PAGEREF _Toc313794034 h 17 HYPERLINK l _Toc313794035 4.1 程序设计总方案 PAGEREF _Toc313794035 h 17 HYPERLINK l _Toc313794036 4.2 系统子程序设计 PAGEREF _Toc313794036 h 17 HYPERLINK l _Toc313794037 4.2.1初始化程序 PAGERE

9、F _Toc313794037 h 17 HYPERLINK l _Toc313794038 4.2.2 A/D转换子程序 PAGEREF _Toc313794038 h 17 HYPERLINK l _Toc313794039 4.2.3 显示子程序 PAGEREF _Toc313794039 h 18 HYPERLINK l _Toc313794040 5 数字电压表设计电路 PAGEREF _Toc313794040 h 19 HYPERLINK l _Toc313794041 5.1 数字电压表完整的设计电路图 PAGEREF _Toc313794041 h 19 HYPERLINK

10、l _Toc313794042 5.2电路的仿真 PAGEREF _Toc313794042 h 20 HYPERLINK l _Toc313794043 5.3 误差分析 PAGEREF _Toc313794043 h 20 HYPERLINK l _Toc313794044 6 设计总结 PAGEREF _Toc313794044 h 22 HYPERLINK l _Toc313794045 7 参考文献 PAGEREF _Toc313794045 h 23 HYPERLINK l _Toc313794046 附录 PAGEREF _Toc313794046 h 24PAGE 26基于单片

11、机的简易数字电压表的设计1 系统总体设计方案1.1 设计题目、内容及要求设计题目:简易数字电压表的设计。设计内容:1可以测量05V范围内的8路直流电压值。2在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V5.00V,1位LED数码管显示路数,8路用数字表示分别为0-7。3测量最小分辨率为0.02V。设计要求:1进行系统总体设计。2完成系统硬件电路设计。3完成系统软件设计。4撰写设计说明书。1.2 设计思路根据设计要求,选择AT89C51单片机为核心控制器件。A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。电

12、压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。1.3 设计方案硬件电路设计由6个部分组成: A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。系统首先通过按键逐路选择八路通道中的一路或是循环显示,将该路某一路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的EO端口置为高电平,单片机将转换后结果存如片内RAM。系统调出计算子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系

13、统调用显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。硬件电路设计框图如图1-1所示。 时钟电路 复位电路A/D转换电路测量电压输入显示系统AT89C51 P1 P2 P2 P0 图1-1数字电压表系统硬件设计框图2 硬件电路设计2.1 A/D转换电路A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开

14、关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用。2.1.1逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第

15、二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。其原理框图如图2-1所示。顺序脉冲发生器逐次逼近寄存器ADC电压比较器输入电压输入数字量图2-1 逐次逼近式A/D转换器原理图2.1.2 A/DC0808的转换流程图图2-3 A/DC0808的转换电路图数字量电压值输入89C51启动ADC0808等待转换是否结束将结果转换成BCD码并输出图2-2 A/DC0808的转换流程图2.2复位电路和时钟电路2.2.1复位电路设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST

16、,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。复位电路设计见图2-4图2-4 复位电路设计2.2.2时钟电路设计单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所

17、对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图2-5所示。图2-5 时钟电路设计电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了33pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是

18、12MHz,因而时钟信号的震荡频率为12MHz。时钟与复位电路为老师指点时画出,实际仿真电路并未加入。2.3 LED显示电路2.3.1 LED基本结构LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下图2-6所示:图2-6 LED引脚排列2.3.2

19、LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。4-LED显示器引脚如图2-4所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。图2-7 4位LED引脚 对于这

20、种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。2.3.3 LED译码方式译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。硬件译码是指利用专门的硬件电路来实现显示字符码的转换。软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表2

21、-1所示。表2-1 共阴极字段码表显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH2.3.4 LED显示器与单片机接口设计由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作7。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小

22、数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图2-8所示。图2-8 LED与单片机接口间的设计2.4 总体电路设计经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图2-9所示。图2-9 简易数字电压表电路图此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字

23、量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来。2.5 设计调试及性能分析2.5.1 调试与测试采用Keil uVision2编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作,烧好程序后进行软硬件联调,最后进行

24、端口电压的对比测试,要求测试对比中标准电压值采用数字万用表测得。简易数字电压表与“标准”数字电压表测得的绝对误差应在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。这可以通过校正0809的基准电压来解决,因为该电压表设计时直接用7805的供电电

25、源作为基准电压,电压可能有偏差。另外可以用软件编程来校正测量值。ADC0808的直流输入阻抗1M,能满足一般的电压测试需要。另外,经测试ADC0808可直接在2MHz的频率下工作,这样可省去分频器14024。2.5.3 程序的编写及电路的实现在本次课设中使用ISIS 6 Professional软件进行对电路进行绘制、模拟及仿真,使用keilc51软件编写单片机89C51的程序,以下将对SIS 6 Professional软件及keilc51软件进行介绍。3 芯片及软件介绍3.1 ADC08083.1.1 ADC0808 主要特性ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控

26、制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域5。ADC0808主要特性:8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128s;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V,无需外部零点和满度调整;低功耗,约15mW。3.1.2 ADC0808的外部引脚特征ADC0808芯片有28条引脚,

27、采用双列直插式封装,其引脚图如图3-1所示。图3-1 ADC0808引脚图下面说明各个引脚功能:IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条):ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路。START:START为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。EOC: EOC为转换结束输出线,该线上高电平表示A/D转换已

28、结束,数字量已锁入三态输出锁存器。D1-D8:数字量输出端,D1为高位。OE:OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起. CLK:时钟输入端。3.1.3 ADC0808的内部结构及工作流程ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图3-2所示。图3-2 ADC0808的内部结构其中

29、:1.8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。2.地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。3.比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。4.三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。ADC0808的工作流程为:1.

30、输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。2.送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。3.当转换结束时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换结束。4.当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。3.2 89C513.2.1主要特性单片机该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器,全部支持12时钟和6时钟操作。P89C51X2和P89C52X

31、2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位。定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART。以及片内振荡器和时钟电路89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MC

32、S-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。与MCS-51 兼容 ;4K字节可编程闪烁存储器 ;寿命:1000写/擦循环 ;数据保留时间:10年;全静态工作:0Hz-24MHz ;三级程序存储器锁定 ;128*8位内部RAM;32可编程I/O线 ;5个中断源,两个16位定时器/计数器 ;可编程串行通道;低功耗的闲置和掉电模式 ,片内振荡器和时钟电路。3.2.2 AT89C51各引脚功能AT89C51提供以下标准功能:

33、4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图3-3所示。图3-3 AT89C51的引脚图AT89C51芯片的各引脚功能为:P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功

34、能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能

35、相同,也用于传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表3-1所示:表3-1 P3口各位的第二功能P3口各位第二功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器/计数器0的外部输入

36、)P3.5T1(定时器/计数器1的外部输入)P3.6/WR(片外数据存储器写允许) P3.7/RD(片外数据存储器读允许)Vcc为+5V电源线,Vss接地。ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,若/EA=1,则允许使用片内ROM, 若/EA=0,则只使用片外ROM。/PSEN

37、:片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。3.3 74LS161161为可预置的4位二进制同步计数器,共有54/74161和54/74LS161两种线路结。74LS161的清除端是异步的。当清除端CLEAR为低电平时,不管时钟端CLOCK状态如何,即可完成清除功能。74

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

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

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

41、软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持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 程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图4-1所

42、示。开始初始化调用A/D转换子程序调用显示子程序结束图4-1 数字式直流电压表主程序框图4.2 系统子程序设计4.2.1初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4-2所示。启动转换A/D转换结束?输出转换结果数值转换显示结束开始图4-2 A/D转换流程图4.2.3 显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用

43、动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11s定时,通过软件延时程序来实现5ms的延时。5 数字电压表设计电路5.1 数字电压表完整的设计电路图图5-1 数字电压表设计电路图5-2 数字电压表测试电路系统工作过程:首先通过按键或开关选择要测量的电压地址,即几路电压,若通过按键逐路选择,则要通过计数器74LS161记录按键次数,从而对

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

45、法为:右击工作区并选中使用的89C51单片机,左击出现“Edit Component”对话框,点击“Program File”选项选择Keil C51软件中已经生成的.HEX文件确定。启动软件,观察其仿真结果如图4-2所示。通过电路中的自锁开关闭合实现电路中电压的循环显示各路的电压值,通过断开自锁开关,则每按一次不自锁开关,则路数数加一并显示该路电压值。5.3 误差分析通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表,如下表5-1所示:表5-1 简易数字电压表与“标准”数字电压表对比测试表标准电压值/V简易电压表测量值/V绝对误差/V0.000.000.000.500.5

46、10.011.001.000.001.501.510.012.002.000.002.502.500.003.003.000.003.503.500.004.004.000.004.995.000.01由于单片机AT89C51为8位处理器,当输入电压为5.00V时,ADC0808输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。这就决定了电压表的最高分辨率只能到0.0196V,从上表可看到,测试电压一般以0.01V的幅度变化。从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01V,这可以通过校正ADC0808的基准电压来解决。因为该电压

47、表设计时直接用5V的供电电源作为电压,所以电压可能有偏差。当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。6 设计总结经过一周时间的努力,课程设计“基于单片机的简易数字电压表”基本完成。但设计中的不足之处仍然存在。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计,我更加熟悉了了Keil C51和ISIS 6 Professional软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。这次设计令我受益匪浅,通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。这次不再是枯燥乏味的单纯上课,而是在实习中模拟使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。设计中

温馨提示

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

最新文档

评论

0/150

提交评论