基于单片机的模拟量数据采集系统设计本科毕业论文(53页).doc
-基于单片机的模拟量数据采集系统设计本科毕业论文-第 44 页基于单片机的模拟量数据采集系统设计摘 要随着计算机技术的飞速发展和普及,数据采集系统也得到了广泛的应用。微机在通用自动化、信息处理、信息系统等方面得到广泛的应用。在冶金、化工、医疗等应用场合,需要对很多信号进行采集,预处理,暂存和对上位机的传输。再由上位机对数据进行分析处理。本文设计的模拟量采集系统采用上位机、下位机通信方式运行。由上位机实现对下位机的控制和数据采集的显示,下位机实现模拟量的采集过程。下位机硬件设计采用AT89C52单片机为控制核心,采用ADC0808将模拟量进行转化为数字量进行采集,完成了模拟量采集系统的硬件设计。采用RS-232进行串口通信。结果证明,该设计方法可行,实现了离散量采集系统的自动化,克服了传统数据采集的弊端,应用具有良好的前景和使用价值。关键词:模拟量采集系统;单片机;通信AbstractAlong with the rapid development of computer technology and popularization, data acquisition system is also widely application. Microcomputer is widely applied in general automation, information processing and information system etc . Signal acquisition, pretreatment, temporary and PC transmission is needed by metallurgy, chemical, medical care and other applications。The design is a discrete variables acquisition system with upper and lower operating mode. The PC machine controls the lower machine and display the date, and the lower machine realizes data collection. Hardware design of digital machines AT89C52 single-chip design Used for RS-232 serial communication, you can relay through the computer to control the realization of the bright lights out billiards control and manual control switch can monitor. The results proved that the design method is feasible to achieve a billiards automated agency management system to overcome the drawbacks of traditional management methods, the application has good prospects and the value.Keywords: single chip; data acquisition system; communication目 录1 绪论11.1 课题背景21.2 课题相关技术21.3 课题任务及要求51.4 课题内容及安排52 系统方案设计72.1 方案设计原则72.2 方案设计73 系统硬件设计与设备选型93.1 单片机模块93. 1.1 AT89C52介绍103.1.2 单片机最小系统163.2 A/D转换模块183.2.1 A/D转换183.2.2 ADC0808介绍183.3 输入模块213.4 串口模块223.5 电源模块253.6 设备选型264 系统软件设计与实现274.1 软件编程介绍274.2 系统软件方案设计294.2.1上位机设计部分294.2.2 下位机设计部分315 系统集成与调试345.1 Keil软件开发平台介绍345.2 调试分析355.3 调试步骤355.4 故障调试及解决方式355.5 联调结果36结论37社会经济效益分析38参考文献39致 谢41附录 原理图42附录 元器件清单43附录 程序清单441 绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,广泛使用的各种智能IC卡等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统随着计算机技术的飞速发展和普及,数据采集系统也迅速地得到应用。在生产过程中,应用这一系统可对生产现场的工艺参数进行采集,监视和记录,为提高产品质量,降低成本提供信息和手段。在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益 电子计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合可以构成灵活多样的通信控制系统也可以构成强有力的信息处理系统,这样对社会的发展产生深刻的影响.数据通信是电子计算机广泛应用的必然产物.计算机与它的终端之间需要数据通信,计算机与计算机之间更需要数据通信.此处在遥测,遥感,雷达,自动控制等系统中都要用到计算机,因而都需要数据通信.在测量技术领域中,许多测量仪器的输入信号具有宽广的动态范围,在研制这类智能仪器时,首要任务是将模拟输入信号转换为相应的数字量充分利用MCS-51的资源在软硬件协调控制下,对输入信号进行一系列的处理。 在单片机实时控制和智能仪器等各种应用系统中,被控制或被测量地对象,往往是一些连续变化的模拟量,如温度,压力,电流等。对模拟量系统数字控制的第一步就是要对这些模拟量进行采集。单片机系统是整个数据采集电路的控制核心。在很多工业应用场合中,单片机广泛的用于数据和控制。模拟信号采集系统可以应用到温度、电压、电流等模拟信号的采集中。1.1 课题背景随着科学技术以及人们对新事物的认知程度的发展,模拟量数据采集已经迅速的发展到了广泛的领域。电气化时代,带领着技术的革新,对于模拟量的采集也逐渐的发生着变化。模拟量的采集应用在每一个电气化的领域,而对采集器的要求,也在逐渐的发生了巨大的变化,发展趋势也由繁到简。有了模拟量采集系统,我们可以控制信号的输出,从而改变生活质量。最开始的模拟量采集系统一般是指针式,人们根据指针的读数来确定信号的大小。这样的系统本身就存在着误差,加上读数上的误差,可想而知结果会产生更大的误差。而且指针接反很可能烧坏系统。后来的是数字式,如数字式电压表,将指针的两端搭在电器的两端,就可以测量出电压的多少,直接的数字显示,这种电压表简洁易操作,便于携带,是我们的首选。而且很难烧坏。我们现在要研究的就是通过软件来实现模拟量的数据采集。适合于各个领域的模拟量采集测量。通过上位机(PC)机的显示,将数字显示在电脑上,便于直接的采集控制。该课题的研究主要是为了更好的对数据进行采集、分析、处理以及反馈。对自动控制领域的帮助很大。1.2 课题相关技术基于单片机模拟信号采集系统采用上位机、下位机通信方式运行。上位机的任务是发出采集信号以及完成对采集信号的显示,而下位机主要是执行上位机的指令,通过控制模数转换器,将模拟信号转化为数字信号送给上位机。本课题主要应用到了信号采集技术,A/D转化技术等1、数据采集技术随着电子测量技术与计算机技术的发展,面对各种检测对象和大量的测试点,需要利用数据采集系统将多路被测量转换为数字量,再经过单片机或微型计算机进行数据处理,实现实时监控。数据采集经常做成模块而且是典型的与PC机或控制器连接。他们被用于自动化的测试中,为其它测试装备采集数据、控制和循环检测信号。数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。 由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大约在60年代后期,国外就有成套的数据采集设备产品进入市场,此阶段的数据采集设备和系统多属于专用的系统。20 世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因此获得了惊人的发展。 从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。就使用的总线而言,实验室数据采集系统多采用并行总线,工业现场数据采集系统多采用串行数据总线。20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。例如,国际标准ICE625(GPIB)接口总线系统就是一个典型的代表。这类系统主要用于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总线和计算机构成,例如:STD总线系统就是这一类的典型代表。这种接口系统采用积木式结构。把相应的接口卡装在专用的机箱内,然后由一台计算机控制。 第二类系统在工业现场应用较多。 这两种系统中,如果采集测试任务改变,只需将新的仪用电缆接入系统,或将新卡再添加到专用的机箱即可完成硬件平台重建。显然,这种系统比专用系统灵活得多。20世纪80年代后期,数据采集系统发生了极大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,使系统的成本降低,体积减小,功能成倍增加,数据处理能力大大加强。20世纪90 年代至今,在国际上技术先进的国家,数据采集技术已经在军事、 航空电子设备及宇航技术、工业等领域被广泛应用。由于集成电路制造技术的不断提高,出现了高性能、高可靠性的单片数据采集系统(DAS)。目前有的(DAS)产品精度已达16 位,采集速度每秒达到几十万次以上。 数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段数据采集系统采用更先进的模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速地组成一个新的系统。该阶段并行总线数据采集系统向高速、模块化和即插即用方向发展,典型系统有VXI 总线系统,PCI、PXI总线系统等,数据位已达到32位总线宽度,采样频率可以达到100MSps1。由于采用了高密度,屏蔽型,针孔式的连接器和卡式模块,可以充分保证其稳定性及可靠性,但其昂贵的价格是阻碍它在自动化领域普及的一个重要因素。 但是,并行总线系统在军事等领域取得了成功的应用。串行总线数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高。 数据采集系统物理层通信,由于采用RS485、双绞线、电力载波、无线和光纤,所以其技术得到了不断发展和完善。 其在工业现场数据采集和控制等众多领域得到了广泛的应用。由于目前局域网技术的发展,一个工厂管理层局域网,车间层的局域网和底层的设备网已经可以有效地连接在一起,可以有效地把多台数据采集设备联在一起,以实现生产环节的在线实时数据采集与监控。2、A/D转化技术A/D转换亦称“模拟数字转换器”,简称“模数转换器”。将模拟量或连续变化的量进行量化(离散化),转换为相应的数字量的电路。A/D变换包含三个部分:抽样、量化和编码。一般情况下,量化和编码是同时完成的。抽样是将模拟信号在时间上离散化的过程,量化是将模拟信号在幅度上离散化的过程,编码是指将每个量化后的样值用一定的二进制代码来表示。随着数字技术,特别是信息技术的飞速发展与普及,在现代控制。通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于系统的实际对象往往都是一些模拟量(如温度。压力。位移。图像等),要使计算机或数字仪表能识别。处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析。处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路-模数和数模转换器。将模拟信号转换成数字信号的电路,称为模数转换器(简称A/D转换器或adc,analog to digital converter)。为确保系统处理结果的精确度,A/D转换器必须具有足够的转换精度;如果要实现快速变化信号的实时控制与检测,A/D转换器还要求具有较高的转换速度。转换精度与转换速度是衡量A/D转换器的重要技术指标。随着集成技术的发展,现已研制和生产出许多单片的和混合集成型的A/D转换器,它们具有愈来愈先进的技术指标。A/D转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D转换芯片。A/D转换器按分辨率分为4位。6位。8位。10位。14位。16位和bcd码的31/2位。51/2位等。按照转换速度可分为超高速(转换时间330ns),次超高速(3303.3s),高速(转换时间3.3333s),低速(转换时间330s)等。A/D转换器按照转换原理可分为直接A/D转换器和间接A/D转换器。所谓直接A/D转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D芯片采用逐次逼近型者多;间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D转换器电路简单,抗干扰能力强,且能做到高分辨率,但转换速度较慢。有些转换器还将多路开关。基准电压源。时钟电路。译码器和转换电路集成在一个芯片内,已超出了单纯A/D转换功能,使用十分方便1.3 课题任务及要求单片机数据采集系统是计算机在工业控制中最为普遍的应用系统¸它的任务是采集生产过程中的各种工况参数经过处理后送入内存储器,CPU再对这些参数数据进行分析,运算和处理。本系统由上位机和下位机组成,上位机负责数据的显示和系统的管理,下位机由单片机控制板构成,负责数据的采集。上位机可以采用VB编程,下位机采用AT89CS52系列单片机和ADC0808等芯片组成,采用C语言编程实现。实现多路模拟量数据采集功能。1.4 课题内容及安排本课题主要是完成模拟信号的数据采集硬件设计,其中下位机接受来自上位机发出的指令,通过A/D转换器将模拟信号转化为数字信号,传送给上位机,来实现数据采集的目的。具体内容安排如下:第1章为绪论,着重介绍了单片机控制的数据采集系统的发展趋势。提出了本课题的研究意义,说明了本文所要研究的问题及目标;第2章为系统整体方案设计,详细介绍制作初期对各个组成部分方案的论证和选择,不同方案的优缺点都做了一定的介绍,对所选择的方案做了比较详细的说明;第3章是硬件设计,根据任务书的要求,主要介绍了控制电路的设计,电路原理,以及它在整个系统中的地位和作用;第4章是软件设计部分,介绍了软件设计所用的C语言、系统的主流程图和子函数的流程图。具体程序见附录;第5章是系统调试部分,介绍了系统调试的过程以及调试过程中遇到的问题,解决的方法等;第6章是结论,总结了本课题中所研究的问题,解决的问题。本课题的不足之处和有待改进的部分。2 系统方案设计数据采集系统一般由数据输入系统,数据存储与管理,数据处理,数据输出及显示这四个部分组成。据输入系统将模拟信号发送到ADC0908,ADC0808将信号输入系统发送来的模拟信号转化为数字信号,以便于单片机的处理。ADC0808将数字信号传送给单片机,单片机对信号进行采集,之后传送到上位机上,上位机对传送来的采集信号进行显示。PC给单片机发送信号,完成通信,单片机开始接收信号。逐次的发送给A/D转换器,将模拟信号转换为数字信号,传送给单片机进行处理,然后通过上位机进行显示。2.1 方案设计原则本次设计方案应符合以下原则:1、经济合理。系统的硬件设计中,一定要注意在满足性能指标的前提下,尽可能的减少成本;2、安全可靠。选择元器件时要考虑到周围环境的影响,以保证在规定的工作环境下,系统性能稳定,工作可靠;3、有足够的抗干扰能力。有完善的抗干扰能力,是保证系统精度、工作正常和不产生错误的必要条件;4、可扩展性;5、操作性能好,方便用户使用。2.2 方案设计根据课题的要求,本系统是通过PC机来控制模拟量的采集及其显示。数据输入系统将模拟信号发送到ADC0808,ADC0808将信号输入系统发送来的模拟信号转化为数字信号,以便于单片机的处理。ADC0808将数字信号传送给单片机,单片机对信号进行采集,之后传送到上位机上,上位机对传送来的采集信号进行显示。上位机下位机PC机单片机A/D转换器模拟信号输入图2.1 设计方案结构框图PC给单片机发送信号,完成通信,单片机开始接收信号,信号的输入将模拟信,逐次的发送给A/D转换器,将模拟信号转换为数字信号,传送给单片机进行处理,然后通过上位机进行显示。这个设计方案有较高的可行性,不受环境的影响,系统硬件体积小、精度高、性能稳定、操作方便、运行操作简单、设计成本较低。由于采用的器件都是已经非常普遍的器件,大多数已经批量生产,并且价格也十分低廉,如AT89C52单片机和MAX232等。这就意味着所选择使用的器件功能比较强大、稳定,尤其是本次设计的核心元件AT89C52单片机,软件配合度高,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。 3 系统硬件设计与设备选型 根据课题要求单片机采用AT89C52 ATMEL公司生产的低电压,高性能CMOS 8位单片机片内含8K byTES的可反复擦写的只读程序存储器(PEROM)和256 byTES 。的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合。AT89C52PC机串口复位电路时钟电路A/D转换输入图3.1总体方案结构图3.1 单片机模块模拟信号采集系统硬件设计中的单片机就是整个下位机系统的处理核心。它在一块芯片上集成了中央处理部件(CPU)存储器(RAM、ROM)、定时器、计数器和各种输入输出接口(如并行I/O口,串行I/O,和A/D转换器)等,单片机本身就是为实时控制应用而设计制造的。3. 1.1 AT89C52介绍AT89C52 ATMEL公司生产的低电压,高性能CMOS 8位单片机片内含8K byTES的可反复擦写的只读程序存储器(PEROM)和256 byTES 。的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合。主要性能参数:与Mcs-51产品指令和引脚完全兼容。8字节可重擦写FLASH闪速存储器1000 次擦写周期全静态操作:0HZ-24MHZ三级加密程序存储器256X8字节内部RAM32个可编程I/0口线3个16 位定时计数器8个中断源可编程串行UART通道。图3.2 51单片机的内部功能模块其中:CPU 单片机的核心部分ROM 内部数据存储器RAM 外部数据存储器P0、P1、P2、P3 并行I/O端口TXD 串行数据发送口RXD 串行数据接收口功能特性:AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,3个16 位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.功能引脚说明:Vcc:电源电压GND:地P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部 上拉电阻。在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字 节,校验时,要求外接上拉电阻。P1口:PI 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和输入(P1.1/T2EX) 。FLASH编程和程序校验期间,Pl接收低8位地址P2口:是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) . P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:表3.1 P3口功能表端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口P3.2INTO(外中断0P3.3INTO(外中断l)P3.4TO (定时计数器0 )P3.5Tl (定时计数器l )P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地)需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端), CPU则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端XTAL1:振荡器反相放大器的输出端。特殊功能寄存器:在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) , SFR的地址空间映象如表2所示。并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。不应将数据"1"写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。中断寄存器:AT89C52有6个中断源,2个中断优先级,lE寄存器控制各中断位,lP寄存器中6个中断源的每一个可定为2个优先级。数据存储器:AT89C52有256个字节的内部RAM , 80HFFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字竹的RAM和殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器定时器O和定时器1:AT89C52的定时器O和定时器1的工作方式与AT89C51相同。定时2:定时器2是一个16位定时计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3 )的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1 ,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/l2 。 在计数工作方式时,当T2引脚上外部输入信号产生由1至O的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0 , 则在紧跟着的下一个周期的S3P1期间寄存器加l 。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24 为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕获方式:在捕获方式下,通过T2CON控制位以EXEN2来选择两种方式。如果ExEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON溢出标志TFZ置位,同到激活中断。如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生l至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。自动重装载(向上或向下计数器)方式:当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON(见表5)的DCEN位(允许向下计数)来选择的。复位时,DCEN位置“0 " ,定时器2默认设置为向上计数。当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,参见图5 ,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2,定时器2为向上计数至OFFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H 和RCAP2L的值可由软件预置。若EXEN2=1 ,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。当DCEN=1时,允许定时器2向上或向下计数,如图6所示。这种方式下,T2EX引脚控制计数器方向。T2EX以引脚为逻辑“1”时定时器向上计数,当计数OFFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L 重装载到TH2和TL2中。T2EX引脚为逻辑“0”时,定时器2向下计数当TH2和TL2中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,司时将OFFFFH数值重新装入定时寄存器中。当定时了计数器2向上滋出或向下溢出时,置位ExF2位。波特率发生器:当T2CON创(表3)中的TCLK以和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器其发送和接收的波特率可以是不同的,定时器1用于其它功能,如图7所示。若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,胜作在定时方式(C/T2=0 ) 。定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)寄存器的值加1, 而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。定时器2作为波特率发生器使用的电路如图7所示。T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断:但若EXEN2 置位,且T2EX 端产生由l至0的负跳变,则会使ExF2置位,此时并不能将(RCAP2H, RCAP2L)的内容重新装入TH2和TL2中。所以当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特频率器时,作为定时器运行(TR2=1)时,并不能访问TH2和TL2 。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。可编程时钟输出:定时器2可通过编程从P1.0 输出一个占空比为50%的时钟信号,如图8 所示P1.0引脚除了是一个标准的I/O口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲,当时钟振荡频率为16MHz时,输出时钟频率范围为6lH-4MHz 。在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2作为波恃率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L 。3.1.2 单片机最小系统单片机最小系统由时钟电路与复位电路构成,它是单片机构成的控制系统的核心部分,也单片机平台开发的基础。1、复位电路RST引脚是复位信号的输入端,高电平有效。复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作,只要给RESET引脚加上2个及其周期以上的高电平信号,就可使MCS-51单片机复位。复位相当于系统的重新启动,可以摆脱系统错误或死锁状态。只要该引脚保持高电平,单片机便循环复位,当该引脚变低后,单片机由ROM的0000H开始执行程序。复位操作不影响内部RAM的内容。单片机复位方式由上电自动复位和手工复位两种,本设计采用的是手工按钮复位,其电路图如图3.4所示。图3.4 按钮复位电路2、时钟电路时钟电路用于产生MCS-51单片机工作时所必须的时钟信号。时钟是时序的基础,为保证同步工作方式的实现,单片机应在唯一的时钟信号控制下,严格地按时序执行指令进行工作。因此,时钟频率和质量也直接影响单片机系统的速度和稳定性。常用的时钟电路有内部时钟和外部时钟方式。本系统采用内部时钟方式,其电路图如图3.5所示。图3.5 内部方式时钟产生电路单片机片内由一个反向放大器构成振荡器,可以由它产生时钟。该反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2。这两个引脚外接石英晶体振荡器作为定时元件,内部反向放大器自激振荡,产生时钟。C1,C2对频率有微调作用。C1和C2值选择为30PF。晶振频率选择11.0592MHZ。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定,振荡器和电容应尽可能安装得与单片机芯片靠近。3.2 A/D转换模块A/D转换是利用ADC0808芯片,将模拟信号转化为数字信号,以便于单片机对信号的接受,以及处理。3.2.1 A/D转换电压信号是模拟信号,要将其进行采集,必须将其转化为数字信号,本设计应用到ADC0808芯片。将传送来的模拟信号转化成为数字信号,若是多路的,ADC0808可以逐次的进行转换,从而完成多路采集的目的。3.2.2 ADC0808介绍ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。图3.6 ADC0808管脚图内部结构ADC0808是CMOS单片型逐次逼近式AD转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A