




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)题 目 直流数字电压表的设计与实现 专 业 电子信息工程 班 级 电信0901 学 生 曹琳慧(20904102) 指导教师 汤晓方 高科学院 2013 年 摘 要在日常维修、教学和科研中,电压表是不可缺少的。本课题目的就是以单片机为基础设计出一种结构简单、工作可靠、灵活性好的数字电压表。本文首先介绍了数字电压表的发展现状及课题的目的和意义。然后,对基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍,其中,在硬件部分,较为详细的讨论了硬件的选择、设计原理、使用方法和功能,同时,对各部分接口电路作以介绍;在软件部分,介绍了软件所使用的编程语言和编程思路
2、。本文设计的数字电压表,其硬件电路所用组件较少、成本低、调节简单;软件采用C语言编程,其灵活性高,可读性强。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0809传送来的数字经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0809芯片工作。经过理论研究、原理设计和整机调试,实验结果表明,该方案可行。本次设计的电压表所测量的直流电压范围为04v,要求测量电压的误差不超过0.1v。它以单片机A
3、T89C51为核心,主要由转换电路将输入的模拟量转换为数字量的A/D转换器ADC0809,1602液晶显示器构成。单片机;电压表;A/D转换器;1602液晶显示器ABSTRACTIn routine maintenance, teaching and research, voltage meter is indispensableFirstly,this paper introduced the development of the base on MCU digital voltage meter the purpose and significance of topic. Then in
4、details this paper described the design principle of hardware and software system some of the interface circuit have been introduced. The software part introduced the programming language and programming ideas used in codes.The digital voltage meter designed here, have less components in the hardwar
5、e part, lower cost and easier testing; software used C programming language which is high flexibility and strong readability. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0809, it converts the col
6、lected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the ma
7、nifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0809 chip to work. After theoretical research, principle design and debugging, the experimental results suppose it is feasible of choosing this program. This design and manufacture of digital voltmeter,th KEY WORDS: SCM; dig
8、ital voltmeter;A/D converter; 1602 liquid crystal display目 录摘 要IABSTRACTII引 言V第1章 系统设计方案的选择111设计方案的选择1基于分立组件的电压表1基于单片机系统及A/D转换芯片的电压表11.1.4 方案的选择2第2章 总体设计22.1 硬件电路的设计2单片机简介及本设计单片机的选择2常用单片机的特点比较及本设计单片机的选择3本设计使用的单片机的简介32.2显示器件的介绍和选择6常用显示器件简介62.2.2 1602液晶的参数资料72.3模数(A/D)转换芯片的选择92.3.1 常用的A/D芯片简介9模数(A/D)芯
9、片ADC0809的资料102.3.3 ADC0809工作过程132.3.4 ADC0809与单片机的接口14主要元器件介绍17第3章 电路设计203.1 技术要求203.2 设计方案203.3 硬件电路系统模块的设计20单片机系统213.3.2 A/D转换芯片与单片机的连接213.3.3 1602液晶与单片机连接213.4 按键控制电路的设计213.5系统电路的设计233.6 系统软件的设计24主程序的设计253.6.2 初始化程序253.6.3 A/D转换子程序253.6.4 显示子程序26第4章 系统的调试274.1 软件调试274.1.1 加入仿真辅助信号274.1.2 加载程序284.
10、2 显示结果及误差分析284.2.1 显示结果284.2.2 误差分析294.3 系统调试中遇到的问题及解决的方法30第5章 结论31致 谢32附件一:参考文献:33附件二:电路总图:34附件三:源程序:35引 言 数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是
11、电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测量仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展,如今,它又成为向智能化仪表发展的必要桥梁。如今,数字电压表已绝大部分已取代了传统的模拟指针式电压表。因为传统的模拟指针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。而采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域。显示出强大的生命力。数字电压表最初是伺服
12、步进电子管比较式,其优点是准确度比较高,但是采样速度慢,重量达几十公斤,体积大。继之出现了谐波式电压表,它的速度方面稍有提高,但是准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到外界各种因素的影响。随后,在谐波式的基础上双引伸出阶梯波式,它的唯一的进步是成本降低了,可是准确宽,速以及抗干扰能力都未能提高。而现在,数字电压表的发展已经是非常的成熟,就原理来讲,它从原来的一,二种已发展到多种,在功能上讲,则从测量一参数发展到能测多种参数;从制作组件来看,发展到了集成电路,准确度已经有了很
13、大的提高,精度高达1NV;读数每秒几万次,而相对以前,它的价格也有了降低了很多。目前实现电压数字化测量的方法仍然模-数(A/D)转换的方法。转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种:按用途来分:有直流数字电压表,交、直流数字电压表,交直流万用表等。按显示位数来分:有4位,5位,6位,7位,8位等。按测量速度来分:有低准确度,中准确度,高准确度等。按测量速度来分:有低速,中速,高速,超高速等。但在日常生活中,数字电压表一般是按照原理不同进行分类
14、的,目前大致分为以下几类:比较式,电压时间变换式,积分式等。在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0809对输入的模拟信号进行转换,控制核心AT89C5
15、1再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。第1章 系统设计方案的选择11设计方案的选择 设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。基于分立组件的电压表 这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器、A/D转换器和基
16、准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路。很难将其在原有的基础上进行扩展。1.1.3基于单片机系统及A/D转换芯片的电压表这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的发展已
17、经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。1.1.4 方案的选择综上所述,根据以上两种设计方案各方面优点及其在所设计电压表中的实用性,我们选择第二种电压表设计方案,即由单片机系统及数字芯片构建的方法来我们本次设
18、计。第二种方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计的不灵活和难于在原基础上进行功能扩展等不足。第2章 总体设计2.1 硬件电路的设计设计思路:(1)根据设计要求,选择AT89C51单片机为核心控制器件。(2)A/D转换采用ADC0809实现。(3)电压显示采用1602液晶显示器。2.1.1单片机简介及本设计单片机的选择目前,单片机的种类很繁多,主要有主流的8位单片机和高性能的32位单片机。结合本设计各方面因素,对于本设计8位单片机已经是绰绰有余了,但用哪一种类8的单片机呢?在这里,先简单的介绍一下几种常用的8位单片机。2.1.1.1常用单片机的特点比较及本设计单片机的选
19、择单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:CPU,内存,总线系统等。而目前常用的单片机的8位有51系列单片机,AVR单片机,PIC单片机。应用最广的8位单片机还是intel的51系列单片机。51系列单片机的特点是:硬件结构合理,指令系统规范,加之生产历史悠久,世界有许多芯片公司都买了51的芯片核心专利技术,并在其基础上扩充其性能,使得芯片的运行速度变得更快,性价比更高。AVR单片机是atmel公司推出较新的单片机,它的显着特点是:高性能,低功能,高速度,指令单周期为主,但性格方面比51单片机要高。有专门的I/O方向寄存器。虽然有转强的驱动电压,但I
20、/O口使用没51单片机方便。PIC单片机系列是美国微芯公司的产品,也是市面上增长最快的单片机之一,属精简指令集单片机,其特点是:高速度,高性能,但在性格方面比51单片机要高,也有专门的I/O方向寄存器,I/O口使用不比51单片机方便。综合以上各种单片机的基本性能及本设计的满足需要,我们将选择51系列单片机。2.1.1.2本设计使用的单片机的简介本设计中选用是51系列的AT89C51,它是低电压、低功耗、高性能的CMOS8位单片机,片内含4KB的可反复擦写的只读程序存储器和128B的随机存取数据存储器,32个I/O口线,片内振荡器及时钟电路,并与MCS-51系列单片机兼容。在设计中,单片机起着连
21、接硬件电路与程序运行及存储数据的任务,一方面,它将A/D转换器、显示器等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现册电压的功能。图 2.1 AT89C51单片机内部结构框图从内部结构图框图上可以看出AT89C51单片机包括一下资源:(1) 一个8位的CPU;(2) 一个片内振荡器及时钟电路;(3) 4KB的FlashROM;(4) 128的内部RAM;(5) 可扩展64KB外部ROM和外部RAM的控制电路;(6) 2个16位的定时/计数器;(7) 26个特殊功能寄存器;(8) 4个8位的并行口;(9) 一个全双工的串行口;(10)
22、5个中断源,2个外部中断,3内部中断;(11) 内部硬件看门狗电路;(12) 一个SPI串行接口,用于芯片的在系统编程。AT89C51单片机有四十个引脚,引脚可分为四类:电源,地,时钟,控制和I/O口。管脚说明: Vcc:供电电压。 GND:接地。 P0口:P0口为一个8位双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
23、160; P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高
24、八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允
25、许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次/PSEN有效。但在访问外部数据
26、存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分
27、别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2显示器件的介绍和选择本次设计中有显示模块,而常用的显示器件比较多,有数码管,LED点阵,1602液晶,12864液晶等。2.2.1常用显示器件简介数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。小电流下可以驱动每光,发光响应时间极短,体积小,重量轻,抗冲击
28、性能好,寿命长。但数码管只能是显示09的数据。不能够显示字符。这也是数码管的不足之处。LED点阵显示器件是由好多个发光二极管组成的。具有高亮度,功耗低,视角大,寿命长,耐湿,冷,热等特点,LED点阵显示器件可以显示数字,英文字符,中文字符等。但用LED点阵显示的软件程序设计比较麻烦。1602液晶是工业字符型液晶,能够同时显示16*2即32个字符。1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。使用时直接编写软件程序按一定的时序驱动即可。它的特点是显示字迹清楚,价格相
29、对便宜。12864液晶也是一种工业字符型液晶,它不仅能够显示1602液晶所可以显示的字符,数字等信息,而且还可以显示8*4个中文汉字和一些简单的图片,显示信息也非常的清楚。使用时也直接编写软件程序按一定的时序驱动即可。不过它的价格比1602液晶贵了很多。在本设计中,我们只需要显示最后电压的数字值和电压的单位,综合上面各种显示器件的特点:数码管只能显示数字,不能显示单位字符,不符合本设计的要求。而点阵显示器件驱动显示软件程序编写麻烦,占用的引脚相对也较多。也不是理解的显示器件。所以在本设计中,我们考虑用液晶显示器件,虽然12864液晶比1602液晶的功能强,不过在价格方面却贵了好多。而1602液
30、晶也足够满足本设计的需要。因此,在本设计实验我们选择1602液晶显示器件。2.2.2 1602液晶的参数资料我们选择了1602液晶做为本设计的显示模块的显示器件。以下是1602液晶的各方面参数:编号符号引脚说明1VSS电源地2VDD电源正极3VL液晶显示偏压信号4RS数据/命令选择端5R/W读/写选择端6E使能信号8-14D0-D7Data I/O15BLA背光源正极16BLK背光源负极表2. 1 接口信号说明(1)基本操作时序:读状态:输入:RS=0,RW=1,E=1。输出:D0-D7为状态字写状态:输入:RS=0,RW=0,D0-D7为指令码,E为高脉冲。输出:无读数据:输入:RS=1,R
31、W=1,E=1。输出:D0-D7为数据。写数据:输入:RS=1,RW=0,D0-D7为数据,E为高脉冲。输出:无STA7STA6STA5STA4STA3STA2STA1STA0STA0-6当前数据地址指针的数值STA7读写操作使能1:禁止 0:允许表2. 2 状态字说明指令码功能00111000设置16*2显示,5*7点阵,8位数据口表2.3 显示开/关及光标设置 指令码 功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示关标B=1光标闪烁;B=0光标不显闪烁000001NSN=1当读写一个字条款后地址指针加一,且光标加一。N=0当读或写一个字符后地址指针减一,且光标减
32、一。S=1当写一个安条款,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一个字符,整屏显示不移动。表2.4 指令的说明 指令码功能00111000设置16*2显示,5*7点阵,8位数据口表2.5 显示开/关及光标设置 指令码 功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示关标B=1光标闪烁;B=0光标不显闪烁000001NSN=1当读写一个字条款后地址指针加一,且光标加一。N=0当读或写一个字符后地址指针减一,且光标减一。S=1当写一个安条款,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。S=0当写一
33、个字符,整屏显示不移动。表2.6显示模式设置 指令码 功能80H+地址码(0-27H,40H-67H)设置数据地址指针01H显示清屏:1,数据指针清0 2,所有显示清002H显示回车:数据指针清0表2.7 数据控制2.3模数(A/D)转换芯片的选择在本设计中,模数(A/D)转换模块是一个重要的模块,它关系到最后数电压表电压值的精确度。所以,A/D芯片的选择是设计过程中一个很重要的环节。2.3.1 常用的A/D芯片简介常用的A/D芯片有AD0809,AD0832,TLC2543C等几种。下面简单介绍一下这三种芯片。AD0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译
34、码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共享A/D 转换器进行转换。些A/D转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。AD0832也是8位逐次逼近型A/D转换器,可支持致命伤个单端输入通道和一个差分输入通道。它易于和微处理器接口或独立使用;可满量程工作;可用地址逻辑多路器选通各输入通道。TLC2543C是12位开关电容逐次逼近A/D转换,每个器件有三个控制输入端,片选,输入/输出时钟以及地址输入端。它可以从主机高速传输转换数据。它有高速的转换,通用的控制能力,具有简化比率转换,刻度
35、以及模拟电路与逻辑电路和电源噪声隔离,耐高温等特点。综合上述几种A/D转换芯片的特点,在本设计中,我们设计的是简易数字电压表,因此在此,我们选择精度为8位的ADC0809芯片。2.3.2模数(A/D)芯片ADC0809的资料综合本设计的各方面考虑,我们选了ADC0809模数转换芯片。下面就介绍此芯片的各方面资料。(1)图2.2 (2)IN0IN7:8路模拟量输入端。D7D0:8位数字量输出端。A、B、C:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号,输出,当A/D转
36、换结束时,此端输出一 个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。2.3.3 ADC0809工作过程图2.4 ADC0809的时序图2.3.4 ADC0809与单片机的接口通常芯片的地址线只能进不能出自不必说,ADC0809的数据线有一特点:只能出不能进。就是说,就像往SBUF写入时写到发送缓冲寄存器,从SBUF当51单片机没有外扩RAM和I/O口时,AD
37、C0809就可以在概念上作为一个特殊的唯一的外扩RAM单元。因为它是唯一的,就没有地址编号,也就不需要任何地址线或者地址译码线。只要单片机往外部RAM写入,就是写到ADC0809的地址寄存器中。只要单片机从外部RAN读取数据,就是读取ADC0809的转换结果。 编程概要:MOV A,#0F8H;ADC0809信道0地址送到A MOVX R0,A;锁定通道0并启动转换 MOVX A,R0 ;其中间寄存器R0中的数据无论在启动ADC0809还是在读取转换结果时都没有任何意义,因此事先不必考虑往R0中送入什么数据。这是本程序的一大特点。三种连接方式的综合比较:第一种和第二种连接方式允许多片ADC08
38、09与单片机连接,第三种连接方式只能连接一片。通常1片8通道ADC0809就能满足控制工程需要。因此在单片机没有外扩RAM和I/O接口时,第三种连接方式时一种优选方案。需要2片或更多ADC0809时,第二种连接方式时一种优选方案。第一种连接方式需要一片74LS373做地址锁存器。如果单片机系统已经有一片73LS373地址锁存器,那么第一种连接方式也不失为一种可以考虑的连接方式。2.3.5主要元器件介绍图2.5ADC0809实物图图2.6 ADC0809的内部逻辑结构及引脚图 C(ADDC)B(ADDB)A(ADDA)选择的通道(注意:ALE信号常与START信号连在一起,
39、这样连接可以在信号的前沿写入地址信号,在其后沿启动A/D转换,图2.7为ADC0809信号的时序配合图)。 ADC0809信号的时序配合第3章 电路设计3.1 技术要求(1)以51系列单片机为核心器件,组成一个简单的直流数字电压表。(2)最高量程为:4v。电压显示用1602液晶显示器显示,至少能够显示两位小数。尽量使用较少的元器件。3.2 设计方案根据上述,我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C51单片机,ADC0809模数转换芯片,1602液晶显示器,开关,按键,电容,电阻,晶振,标准电源等等。设计的基本框图如下:图3.1 设计的基本框图3.3 硬
40、件电路系统模块的设计系统电路图的绘制和仿真我用的是Proteus软件。单片机系统单片机最小系统包括晶振电路,复位电路,电源。其原理图如下: 图3.2 复位电路此模块中,单片机的晶振是12MHZ,C1和C2的电容是22pf,C3可选10UF。R1电阻为1K。3.3.2 A/D转换芯片与单片机的连接此设计中选择的是A/D转换芯片的信道1、信道2、 信道3,数据输出口连接单片机的P0口,脉冲端连接单片机的ale口。模块连接如下图3.3所示。3.3.3 1602液晶与单片机连接此模块液晶的RS和E端分别连接单片机的P3.0和P3.1口;液晶的数据各端口连接单片机的P1口。具体如下图3.4所示。3.4
41、按键控制电路的设计三个通道键盘的三端分别与单片机的P3.4、P3.5、P3.6口连接,另一端接地。原理图如图3.5所示。键盘的功能:可根据所测的电压范围,通过按键来切换通道。 图3.3 A/D转换芯片与单片机的连接图3.4 1602液晶与单片机连接图3.5 按键控制电路3.5系统电路的设计此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC0809的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC都接低电平),经过模/数转换后,产生相应的数据经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数据经过数据处理,产生正确的显
42、示段码传送给1602液晶显示器,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0809的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0809的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来。简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有
43、相应的软件配合,才能达到设计要求。图3.6 总电路图3.6 系统软件的设计本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。汇编语言的特点是占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富,CPU的处理速度非常的快。用C语
44、言来控制单片机无疑是一个理想的选择。所以在本设计中采用C语言编写软件程序。3.6.1主程序的设计根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图3.7所示: 开始初始化调用A/D转换子程序调用显示子程序结束图3.7 数字式直流电压表主程序框图3.6.2 初始化程序谓初始化,是对将要用到的51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。3.6.3 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的
45、内存单元,其转换流程图如图3.8所示:开始启动转换A/D转换输出转换结果数值转换显示结束图3.8 A/D转换流程图3.6.4 显示子程序显示子程序采用动态扫描实现1602液晶显示器的数值显示,在采用动态扫描显示方式时,要使得液晶显示器显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对液晶显示器进行动态扫描一次,每一位液晶显示器的显示时间为1ms。第4章 系统的调试完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。 4.1 软件调试软件调试的任务是利用开发工具进行在线仿
46、真调试,发现和纠正程序的错误,同时也能发现硬件的故障。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。a.检查液晶显示模块程序。在主程序中调用display()和dislay_zifu()函数,观察在1602液晶上是否能够显示相应的字符。如果不能,则在相关的子程序中设计断点,反复调试直到能够显示。b.检查按键模块程序。本设计的按键模块程序是用状态机的方法,可以在key_state1状态下加一个任务,如显示一个字符在液晶上。观察是否正确显示。c.检查A/D转换模块程序。可以在硬件电路的输入端输入已知的几个电压,分别观察
47、液晶上是否显示相应的电压值。d.检查数据的转换模块程序。可以按硬件电路的按键开关,输入相应的电压,观察液晶显示的电压值是否一致。如果一致。则数据转换的算法正确的。e.总调试。当相应的各模块环节都正确后,可程序下载到单片机。接上电源运行。再检查所有功能,观察是否能预期的一样。如果一样,说明设计成功完成。本设计的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。4.1.1 加入仿真辅助信号04v电压测试仪的仿真实现操作步骤如下:进入Proteus ISIS集成环境。加入仿真辅助信号,单击左键,单击工具栏的图标
48、,选择DCLOCK,在绘图区单击,然后输入名称“CLOCK”,设定时钟频率500KHZ,通常ADC0809的工作频率为590KHZ。设置完成单击“OK”. 将设定的时钟信号接在ADC0809的时钟输入端CLOCK上,为ADC0809仿真时提供工作时钟。 为了能够更好地观察模拟的电压量与数字量之间的关系,选择数字直流电压表放在电阻的两端,观察7号通道的输入量的值。选择工具栏中的某图标,选择“DC VOLTMETER”(数字电压表),加入到绘图区。连线并加上需要的说明,完成A/D转换仿真电路。 仔细观察会发现,仿真所画的电路原理图与前面描述的04v电压测试仪的项目电路有区别,原项目中描述的电路原理
49、图采用I/O端口控制的方式,其相应程序在实际应用中调试通过。 ADC0809的仿真器件要求严格的控制信号,即ALE的上升沿,读入要转换的通道号,在STSRT的上升沿ADC0809内部清零,在STSRT的下降沿启动A/D转换,OE为高电平时输出转换好数字信号。 这时采用总线方式控制,利用MOVX指令产生/RD,/WR信号产生信号的上升沿和下降沿。据此源程序也有所修改。4.1.2 加载程序加载程序。首先要校对零点,将A/D转换器的模拟输入端口接地,让电压为0V,此时可以调整RV1的值,直至,直至显示电压为0V时为止,校准零点之后,就可以进行调试了。单击仿真键,观察仿真结果,调节可调用电阻RV1,观
50、察电压表及显示值。4.2 显示结果及误差分析 显示结果1. 当IN0口输入电压值为0V时,显示结果如图4.1所示,测量误差为0V。图4.1 输入电压为0v时的显示结果2.当IN0输入电压值为1.50V时,显示结果如图4.2所示。测量误差为0.01V。图4.2 输入电压为1.50V时的显示结果3. 当IN0口输入电压值为3.50V时,显示结果如图4.3。测量误差为0.01V。图4.3 输入电压为3.50V时的显示结果 误差分析通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表,如下表4.1所示:表4.1 简易数字电压表与“标准”数字电压表对比测试表标准电压值/V简易电压表测量
51、值/V绝对误差/V0.000.000.000.500.510.011.001.010.011.501.510.012.002.010.012.502.500.003.003.010.013.503.500.004.004.010.01从上表可看到,测试电压一般以0.01v的幅度变化。 从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01v,这可以通过校正ADC0809的基准电压来解决。因为该电压表设计时直接用4v的供电电源作为电压,所以电压可能有偏差。当要测量大于4v的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。4.3 系统调试中遇到的问题
52、及解决的方法a.实验初期,我们选用的是三极管作为数码管的驱动组件,但是在测试过程中发现数码管显示不稳定,发生频闪现象,而且亮度不够。换用了74HC245芯片作为驱动组件,解决了上述问题。 b.在应用滤波电容的过程中,一开始是把电容串联在电路中,导致电路无法导通,而后我们短路电容,解决了问题。 c.电源指示灯上,一开始发现接上电源,指示灯不亮,发现正负极接反,后重新接,问题解决。 d.由于源程序的多处错误,使得仿真无法通过,后经过单步调试,把存在的错误一一排除,通过了软件仿真。第5章 结论通过本次课题设计,我对单片机这门课程有了更进一步的了解。无论是在其硬件连接方面还是在软件编程方面,都取得了新
53、的收获。本次实验采用了AT89C51单片机芯片,通过本次实验及查阅相关资料,我对其有了一定的认识,在本课题设计报告的硬件介绍部分也对其作了详细的论述。在对单片机编程方面,我掌握了一些新的编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高。 实验中我还用到了模/数转换芯片ADC0809,以前在学单片机这门课程时只是对其理论知识有了初步的了解。通过本次实验,我对它的工作原理进一步的理解了,对其启动设置、转换结束判断以及输出控制等都基本掌握。在仿真方面有了更为直观的认识,通过实验的摸索以及必要的理论知识,我准确的调试成功。 通过本次设计,对我的动手能力有很大的帮助,今后要多多练习,以提高自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国安装板加厚全抽出型滑轨数据监测报告
- 2025年中国粉皮机市场调查研究报告
- 2025-2030中国浓缩鸡精行业市场发展前瞻及投资战略研究报告
- 2025-2030中国注塑布鞋行业供需趋势及投资风险研究报告
- 2025-2030中国智慧健康养老行业市场发展分析及发展前景与投资策略研究报告
- 2025-2030中国市政园林行业发展分析及投资风险预警与发展策略研究报告
- 2025-2030中国农资连锁超市行业市场发展前瞻及投资战略研究报告
- 1.1 幂的乘除 同步训练2024-2025学年北师大版(2024)数学七年级下册
- 放射治疗的定位和复位
- 遴选b类笔试真题及答案详解
- 越剧古装衣介绍
- 宅基地确权委托书
- 人事行政工作成功典范总结
- 英国皇室文化课件
- 咯血个案护理
- 普及防癌知识宣传
- 第6课+呵护花季+激扬青春【中职专用】《心理健康与职业生涯规划》(高教版2023基础模块)
- 博士生入学复试面试报告个人简历介绍(完美版)模板两篇
- 康养旅游项目策划书
- 全套电子课件:基础会计(第五版)
- 超高频开关电源技术的前沿研究
评论
0/150
提交评论