版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成都理工大学工程技术学院毕业论文数字电压表的设计作者姓名:羊文军专业名称:测控技术与仪器指导教师:熊 斌 讲师数字电压表的设计摘要 数字电压表是对电子电路进行现场检测的常用仪表,常需用高精度数字电压表进行现场检测,将检测到的数据送入微计算机系统,完成计算、存储、控制和显示等功能。本文中数字电压表的控制系统采用AT89S51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行8路A/D转换量的测量,远程测量结果传送等功能。数字电压表可以测量05V的8路输入电压值,并在四位L
2、ED数码管单路选择显示。关键词 :单片机 数字电压表 A/D转换 AT89S51 ADC0809- 40 -AbstractIn modern measuring technology ,it is often required to conduct site measuring with a high-precision digital voltmeterThe data measured will then be input into the micro-computer system to execute such functions like calculating、storing、c
3、ontrolling and displayingIn this paper, the control system of digital voltmeter is composed of AT89S51 single-chip and ADC0809 A/D converter , which are used as the main hardware to realize the digital voltmeter of the hardware circuit and software design. The system of the digital voltmeter circuit
4、 is simple, using fewer components, Low-cost, regulation work can be automated. Also can be easily carried out 8-channel A / D converter measurement, distance measurement function of transmission . The voltmeter is capable of measuring voltage inputs from 8 routes ranging from 0 to 5 volt, and displ
5、aying the 4-way LED digital tube from a selected single routeKeywords:singlechip,digital,voltmeter,A/D,conversion,AT89S51,ADC0809目录摘要IAbstractII目录III1 绪论11.1 课题选择的背景和意义11.2 课题研究的现状和发展趋势11.3 智能仪表目前发展状况22 数字电压表系统方案设计42.1 系统设计要求42.2 系统设计思路43 系统硬件选择53.1 单片机的选择53.2 A/D转换器的选择63.3 LED显示电路选择73.4 驱动芯片的选择84 硬
6、件电路设计94.1 硬件电路设计概述94.2 主要元器件的介绍104.2.1 单片机AT89S51104.2.2 A/D转换芯片ADC0809194.2.3 驱动芯片74HC244224.2.4 4位一体7段LED数码管234.3 AT89S51单片机主控电路244.4 A/D转换电路244.5 显示电路255 软件流程设计275.1 初始化程序275.2 主程序流程275.3 各个模块子程序流程285.3.1 显示程序流程285.3.2 A/D转换程序流程29总结30致谢31参考文献32附件1:数字电压表电路原理图33附件2:程序清单341 绪论1.1 课题的选择的背景和意义传统的指针式刻度
7、电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需求。采用单片机的数字电压表,将连续的模拟量如直流电压转化成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC 实时通信。数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和 A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域。显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新
8、的水平。因此对数字电压表作全面深入的了解是很有必要的。1.2 课题研究的现状和发展趋势最近的十几年来,随着半导体技术、集成电路 (IC)和微处理器技术的发展, 数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的日新月异,并不断出现新的类型。 数字电压表从 1952 年问世以来,经历了不断改进的过程,从最早采用继电器、电子管的型式发展到了现在的全固态化、集成化(IC 化,另一方面,精度也从0.1%提高到了现在的0.01%0.005%,而且从实验中空用的“高价样品” 开始已发展到了现在为厂矿企业广所使用的的“廉价型”,进而出现了能够用于安装板上作指示仪表的“安装型”。 目前,数字电压
9、表的内部核心部件是A/D 转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。1.3 智能仪表目前发展状况在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器
10、仪表装置与控制系统技术的互动发展,这对推进我国自动化技术水平的进一步提高将是大为有益的。智能化的自动化仪器仪表应以智能控制理论为基础,体现人的智能行为。人工智能是智能控制理论的基本组成部分之一,它以知识为基础,它的目标是建造智能化的计算机系统,用来模拟和执行人类的智力功能,如判断、理解、推理、识别、规划、学习和问题求解等等,进而用自动机模仿人类的思维过程和智能行为。基于智能控制理论基础的智能仪器仪表目前大致有几方面的进展:(1)专家控制系统(expert control system, ECS)是典型的基于知识控制系统,它是一个具有大量的专门知识与经验的程序系统。它运用人工智能技术和计算机技术
11、,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,解决那些需要人类专家才能解决好的复杂问题。专家控制器的结构按控制要求的不同而有所不同。典型的结构由知识库、推理机、人机接口等组成。其中,知识的获取、知识库的建立是关键。人们已经总结出的方法是领域专家和知识专家的有机结合,同时收集、归纳有经验的操作员方面的知识。然后把获取的知识变成可用的规则,以期在推理过程中得到更高的命中率。专家控制已在工业控制中得到广泛的应用。(2)模糊控制器(FC-Fuzzy Controller),也称模糊逻辑控制器(FLC-Fuzzy Logic Controller)。自然界的事物都具
12、有一定的模糊性,模糊逻辑在控制领域中的应用产生了模糊控制技术。由于模糊控制技术具有处理不确定性、不精确性和模糊信息的能力,对无法建造数学模型的被控过程能进行有效的控制,能解决一些用常规控制方法不能解决的问题,因而模糊控制在工业控制领域得到了广泛的应用。模糊控制器一般由输入标定、模糊化、模糊决策、清晰化、输出标定等几个部分组成。其中,模糊化、模糊决策、清晰化是主要和基本的部分,“模糊化”将输入量(精确量)变为模糊量,“模糊决策”进行模糊运算,其过程是由推理机进行预估输出推理,得到模糊量输出。“清晰化”将模糊量输出转化为精确量,提供给系统的驱动器定标后使用。当前,模糊控制技术在工业控制中得到广泛的
13、应用,尤其在不确定性过程、难于建模的场合发挥了模糊控制技术的长处。模糊控制器在家电和其它行业同样得到了广泛的应用。(3)神经网络在工业控制系统中的应用提高了系统的信息处理能力,提高了系统的智能水平。所谓神经网络控制,简称神经控制,它是指采用神经网络这一技术对复杂的非线性对象进行建模,或担当控制器,或优化计算,或进行推理,或故障诊断等工作。由于神经网络具有高度的并行结构和并行实现能力,具有对任意非线性关系的描述能力,具有通过训练学习归纳全部数据能力,使得它在控制系统中被广泛灵活地应用。数字电压表(Digital Voltmeter)简称DVM,作为智能仪表的一种,它是采用数字化测量技术,把连续的
14、模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。 2 系统方案设计2.1 系统设计要求 1、 可以测量0-5V的8路输入电压值;2、 测量结果可在四位LED数码管上轮流显示后单路选择显示;3、 测量最小分辨率为0.019V;4、 测量误差约为+0.02V;2.2 系统设计思路 1、
15、根据设计要求,选择AT89S51单片机作为核心控制器件。 2、 A/D 转换采用ADC0809 实现。与单片机的接口为 P0 口和 P2 端口的高四位引脚。 3、 电压显示采用4 位一体的LED 数码管。 4、 LED 数码管的段码输入,由并行端口 P1 产生;位码输入,由并行端口 P3 低三位产生。主控模块显示模块A/D转换模块图2.1设计思路框图3 系统硬件的选择3.1 单片机的选择20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,数百个品种。目前世界上较为著名的8位单片机的生产厂家和主要机型如下:美国Intel公司:
16、MCS51系列及其增强型系列美国Motorola公司:6801系列和6805系列美国Atmel公司:89C52等单片机美国Zilog公司:Z8系列及SUPER8美国Fairchild公司:F8系列和3870系列美国Rockwell公司:6500/1系列美国TI(德克萨司仪器仪表)公司:TMS7000系列NS(美国国家半导体)公司:NS8070系列 等等。尽管单片机的品种很多,但是在我国使用最多的还是Intel公司的MCS51系列单片机和美国Atmel公司的89C52单片机MCS51系列单片机包括三个基本型8031、8051、87518031内部包括一个8位CPU、128个字节RAM,21个特殊
17、功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口、2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。比较麻烦,不予采用8051是在8031的基础上,片内集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。ROM内的程序是公司制作芯片时,代为用户烧制的,出厂的8051都是含有特殊用途的单片机。所以8051适合与应用在程序已定,且批量大的单片机产品中。也不予采用。8751是在8031基础上,增加了4K字节的EPROM,它构成了一个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。但其价格相对8031较贵。8031外扩一片4K
18、B EPROM的就相当于8751,它的最大优点是价格低。随着大规模集成电路技术的不断发展,能装入片内的外围接口电路也可以是大规模的。也不予采用。AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。图1-6和1-7分别为其实物图和内部总体结构图。AT89S51片内含有4k字节Flash闪速存储器,128字节内部 RAM,32个I/O 口线,看门狗(WDT),两个数据指针,两个16 位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许 R
19、AM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此我选择AT89S51为系统的控制器。3.2 A/D转换器的选择A/D转换器大致分有三类:一是双积分A/D转换器,二是逐次逼近式A/D转换器,三是并行A/D转换器。双积分A/D转换器通过两次积分将输入的模拟电压转换成时间或频率,然后由定时器/计数器获得数字值。它的优点是分辨率高,抗干扰性好,价格便宜,但转换速
20、率低。逐次逼近式A/D转换器是将采样输入信号与给定电压不断地进行比较,从逐次逼近寄存器的最高位开始,顺序地对寄存器的每一位将输入电压与内置D/A转换器输出进行比较,一个时钟周期完成1位转换,进过n次比较而得到数字值。它的优点是精度、速度、价格适中、不存在延迟问题。适合于中速率而分辨率较高的场合。并行A/D转换器是内部有多个比较器,只需要作一次比较就可完成转换。优点是它是所有A/D转换器中速度最快的,但价格也昂贵,分辨率却不是很高。在转换精度、转换速率、以及经济上的考虑,该系统决定选用逐次逼近式A/D转换器的ADC0809型。ADC0809是典型的8位MOS型8通道逐次逼近式A/D转换器,每采集
21、一次一般需100s。输入电压输入数字电压 电压比较器逐次逼近寄存器顺序脉冲发生器 DAC图3.1 逐次逼近式A/D转换原理图3.3 LED显示电路选择 LED显示器是由N个LED显示块拼接成N位LED显示器。N个LED显示块有N跟位选线,根据显示方式的不同,位选线和段选线的连接方法也各不相同,段选线控制显示字符的字型,而位选线为各个LED显示块的公共端,它控制该LED显示位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。(1)LED静态显示方式:LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线(adp)分别与一个8位的锁存器输出相连。
22、所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因此如此,静态显示器的亮度都较高。这种显示方式接口编程容易。付出的代价是占用口线较多,若用I/O接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74LS373芯片。如果显示器位数增多,则静态显示方式更是无法适应,因此在显示位数较多的情况下,一般都采用动态显示方式。(2)LED动态显示方式:在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应的并联在一起,有一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。其中段
23、选线占用一个8位I/O口,而位选线占用一个4位I/O口。由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字节的段码。在确定LED不同位显示的时间间隔,不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多,另外,显示位增多,也将占用大
24、量的CPU时间,因此动态显示实质是一牺牲CPU时间来换取元件的减少。所以,由于本系统涉及到4位显示输出,采用LED动态扫描显示方式。3.4 驱动芯片的选择74HC244和74HC245的主要区别除了信号端的传输时间有细微差别之外,245可以双向传输,244是单向的。如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器7。所以该系统选用74HC244。4 硬件电路设计4.1 硬件电路设计概述硬件电路设计主要包括:89S51单片机系统,A/D转换电路,显示电路。测量最大电压为5V,显示最大值为5.00V。本实验采用AT89
25、S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,其硬件电路原理图见附件1。该电路通过ADC0809芯片采样输入口IN0输入的05 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0D7传送给AT89S51芯片的P0口。AT89S51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口经驱动芯片74HC244驱动,再传送给数码管。同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。另外,AT89S51还控制着ADC0809的工作。其ALE管脚为ADC0809提供了1MHz工作的时钟脉冲;P2
26、.3控制ADC0809的地址锁存端(ALE);P2.4控制ADC0809的启动端(START);P2.5控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。图4.1 电路设计方案4.2 主要元器件的介绍4.2.1 单片机AT89S51AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。图1-6和1-7分别为其实物图和内部总体结构图。AT89S51片内含有4k字节Flash闪速存储器,128字节内部 RAM,32个I/O 口线,看门狗(WDT),两个数据指针,两个16 位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片
27、内振荡器及时钟电路。同时,S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图4.2 AT89S51实物图4.2.1.1 主要性能参数与MCS-51产品指令系列完全兼容;4K字节在系统编程(ISP)Flash闪速存储器;1000次擦写周期;4.05.5 V工
28、作电压范围;全静态工作模式:0Hz33MHz;三级程序加密锁;128字节内部RAM;32个可编程I/O口线;2个16位的定时/计数器;6个中断源;全双工串行UART通道;低工耗空闲和掉电模式;中断可从空闲模式唤醒系统;看门狗(WDT)及双数据指针;掉电标识和快速编程特性;灵活的在系统编程如图4.3为AT89S51的芯片内部总体结构图图4.3 AT89S51芯片内部总体结构图42.1.2 AT89S51的引脚AT89S51芯片为40引脚双列直插式封装,其引脚排列如图4.4所示。图4.4 AT89S51的引脚图(1)VCC:电源电压;(2)GND:接地;(3)P0口:P0口是一组8位漏极开路双向I
29、/O口,每位引脚可驱动8个TTL逻辑门路。对P0口的管脚写“1”时,被定义为高阻抗输入。在访问外部数据存储器或程序存储器时,它可以被定义为数据总线和地址总线的低八位。在FLASH编程时,P0 口作为原码输入口;当FLASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口的输出缓冲器可驱动4个TTL逻辑门电路。对P1口管脚写入“1”后,被内部上拉电阻拉高,可用作输入。P1口被外部下拉为低电平时,将输出电流,这是由于内部接有上拉电阻的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P1口还具有第二功能,如表4.1所
30、示。 表4.1 P1口的第二功能端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)(5)P2口:P2口是一个内部提供上拉电阻的8位双向I/O口,P2口的输出缓冲器可驱动4个TTL逻辑门电路。对P2口管脚写入“1”后,被内部上拉电阻拉高,可用作输入。P2口被外部下拉为低电平时,将输出电流,这是由于内部接有上拉电阻的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在访问8位地址外部数据存储器时,P2口线上的内容,在整个访问期间不改变。P2口在
31、FLASH编程和校验时接收高八位地址信号和控制信号。(6)P3口:P3口是一个内部提供上拉电阻的8位双向I/O口,P3口的输出缓冲器可驱动4个TTL逻辑门电路。对P3口管脚写入“1”后,被内部上拉电阻拉高,可用作输入。P3口被外部下拉为低电平时,将输出电流,这是由于内部接有上拉电阻的缘故。P3口除了一般I/O线的功能外,还具有更为重要的第二功能,如表4.2所示。P3口同时为FLASH编程和编程校验接收一些控制信号表4.2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INT1(外部中断1)P3.4T0(定时器0
32、外部输入)P3.5T1(定时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)(7) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8) ALE/RPOG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行M
33、OVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的信号将不出现。(10)/EA/VPP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。AT89S51 有256 个字节的内部RAM,80H-FFH
34、 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。·定时器0和定时器1:AT89S51的定时器0和定时器1 的工作方式与AT89C51 相同。定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择,这两个定时/计数器有4种操作模式,通过TMOD的M1和M0选择。其中模式0、1和2都相同,模式3不同。·定时器2:定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。定时器2 有三种工作方式:捕获
35、方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(2
36、4 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。·可编程时钟输出:定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz4MHz。·UART:AT89S51的工作方式与AT89C51工作方式相同。串口为全双工结构,表示可以同时发送和接收,它还具有接收缓冲,在第一个字节从寄存
37、器读出之前,可以开始接收第二个字节。(但是如果第二个字节接收完毕时第一个字节仍未读出,其中一个字节将会丢失)。串口的发送和接收寄存器都是通过SFR SBUF进行访问的。写入SBUF的数据装入发送寄存器,对SBUF的读操作是对物理上分开的接收寄存器进行访问。该串口有4种操作模式(模式0、模式1、模式2和模式3),在这4种模式中,发送过程是以任意一条写SBUF作为目标寄存器的指令开始的,模式0时接收通过设置R0=0及REN=1初始化,其他模式下如若REN=1则通过起始位初始化。·中断:AT89S51共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2
38、)和串行口中断。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志
39、。·时钟振荡器:AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。用户也可以采用外部时钟。采用外部
40、时钟的电路。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。·Flash存储器的编程:AT89S51单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用
41、EPROM 编程器兼容。·数据查询:AT89S51 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。·Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4 变为高电平表示准备就绪状态。·
42、;程序校验:如果加密位LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图12的电路。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。·芯片擦除:利用控制信号的正确组合并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。4.2.1.3 AT89S51与AT89C51的区别AT89S51在AT89C51的基础上,又增加了许多功能,性能有了较大提升。(1)ISP在线编程功能,这个功能的优势在于改写单片机存储
43、器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。(2)工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。 (3)具有双工UART串行通道。 (4)内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 (5)双数据指示器。 (6)电源关闭标识。 (7)全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 (8)兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。在89C51上一样可以
44、照常运行,这就是所谓的向下兼容。4.2.1.4 AT89S51的复位电路AT89S51的复位电路如图1-8所示。当单片机一上电,立即复位;另外,如果在运行中,外界干扰等因素使单片机的程序陷入死循环状态或“跑飞”,就可以通过按键使其复位。复位也是使单片机退出低功耗工作方式而进入正常状态的一种操作。图4.5 复位电路电容C和电阻R1实现上电自动复位。增加按键开关S和电阻R2又可实现按键复位功能。R2的作用是在S按下的时候,防止电容C放电电流过大烧坏开关S的触点。因保证R1/R2 >10。一般取C=10uF,R2=100,R1=8.2K。4.2.2 A/D转换芯片ADC0809 ADC0809
45、是典型的8位8通道逐次逼近式A/D转换器,其实物如图1-3所示。它可以和微型计算机直接接口。ADC0809转换器的系列芯片是ADC0808,可以相互替换。 如图4.6为ADC0809实物图:图4.6 ADC0809实物图4.2.2.1 ADC0809内部逻辑结构 图4.7 ADC0809的内部逻辑结构图 ADC0809的内部逻辑结构如图4.7所示。图中多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。地址锁存与译码电路完成对A、B、C三个地址位进行锁存与译码,如表4.3所示。表4.3 A
46、DC0809通道选择表C(ADDC)B(ADDB)A(ADDA)选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN74.2.2.2 ADC0809的引脚ADC0809芯片为28引脚双列直插式封装,其引脚排列如图4.8所示。图4.8 ADC0809引脚图(1)IN0IN7:8路模拟量输入通道。(2)A、B、C:模拟通道地址线。这3根地址线用于对8路模拟通道的选择,其译码关系如表4.3所示。其中,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。(3)ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
47、(4)START:转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST。(5)D7D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。 (6)OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。(7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。(8)EOC:转换结束信号。EOC=
48、0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。(9)Vcc: +5V电源,GND:地。 (10)Vref:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=0V)。4.2.2.3 ADC0809的工作原理首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结
49、束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。(注意:ALE信号常与START信号连在一起,这样连接可以在信号的前沿写入地址信号,在其后沿启动A/D转换,图4.9为ADC0809信号的时序配合图)。图4.9 ADC0809信号的时序配合4.2.3 驱动芯片74HC24474H244在本系统中作为驱动芯片使用,用于驱动数码管的点亮。由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列如图4.10所示。图4.10 74HC244芯片的引脚图74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1G和2G作为它们的
50、选通工作信号。当1G和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。4.2.4 4位一体7段LED数码管本实验的显示模块主要由一个4位一体的7段LED数码管(SM410564)构成,用于显示测量到的电压值。它是一个共阳极的数码管,每一位数码管的原理图如图4.11所示。每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收AT89C52的P1口产生的显示段码。C1,C2,C3,C4引脚端为其位选端,用于接收AT89C52的P3口产生的位选码。图4-10为其实物图,图4.12为其引脚图。图4.11 一位数码管的原理图图4.12 数码管引脚
51、图4.3 AT89S51 单片机主控电路本课题实验主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的05 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.02 V。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。显示
52、模块主要由7段数码管及相应的驱动芯片74LS373组成,显示测量到的电压值。4.4 A/D转换电路 A/D转换由ADC0809完成。ADC0809具有8路模拟输入端口,地址线(2325脚)可决定对哪一路模拟输入作A/D转换。22脚为地址控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2s宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为ADC0809的时钟输入端,利用单片机AT89S51的30脚的六分频晶振频率再通过14024二分频得到1
53、MHz时钟。AT89S51与ADC0809的连接电路原理图如图4.13所示。图4.13 AT89S51与ADC0809的连接电路原理图AT89S51与ADC0809的连接必须注意处理好3个问题:(1)在START端送一个100s宽的启动正脉冲; (2)获取EOC端上的状态信息,因为它是A/D转换的结束标志;(3) 给“三态输出锁存器”分配一个端口地址,也就是给OE端送一个地址译码器的输出信号。4.5 显示电路 系统采用动态显示方式驱动4个数码管工作,显示电路与单片机的P1口相连来显示采集到的电压值。如图4.14所示:图4.14 显示电路原理图5 软件流程设计5.1 初始化程序系统上电时,外部复
54、位电路自动复位,P2口置0。5.2 主程序流程在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1 s左右。主程序调用显示子程序和测试子程序之间循环,主程序流程图见图5.1。开始初始化调用A/D转换子程序调用显示子程序图5.1 主程序流程图5.3 各个模块子程序流程5.3.1 显示程序流程显示子程序采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H77H内存单元中,测量数据在显示时需转换成为十进制BCD码放在78H7BH单元中,其中7BH存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地址指针。动态显示子程序选择通道显示缓冲区首地址送R0指向右边第一位取出要显示的数据查等显示数据的显示码送7段码到P1口IS延时处理4位显示完成?返回计算下一位位选码修改显示缓冲区地址N图5.2 显示子程序流程图5.3.2 A/D转换程序流程模/数转换测量子程序用来控制对0809八路模拟输入电压的A/D转换,并将对应的数值移入70H77H单元内存单元。其程序流程见图5.3。.开始启动测试(TESTART)A/D转换结束?P3.7=1?取数据(P2.5=1)0809地址加1地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年广告媒体购买与发布合同3篇
- 2024版幕墙安装劳务合作合同版
- 2025关于公司股权转让合同范本
- 2024年红酒物流配送服务合同
- 二零二五年度ktv消防设施设备安全检测与维护合同3篇
- 2025版新型共享经济平台与兼职员工劳动合同协议3篇
- 2025公路运输的合同范本
- 2025年度树木种植基地与园林景观设计公司合同3篇
- 2024版房屋租赁合同房东款
- 2025年度某通信公司与某城市关于智能交通系统建设合同3篇
- 唐诗宋词鉴赏(第二版)PPT完整全套教学课件
- 超声诊断学-乳腺超声诊断
- 管工初赛实操
- 门诊病历书写模板全
- 汽车离合器设计毕业设计(论文)
- 2023年房屋租赁管理模板
- 液压与气压传动中职PPT完整全套教学课件
- 国开大学2023年01月11067《知识产权法》期末考试答案
- 全部编版四年级语文下生字读音、音序、偏旁及组词
- 药物的不良反应
- 电气控制及PLC课程设计报告
评论
0/150
提交评论