基于单片机的数据采集系统ad转换通道设计毕业设计.doc_第1页
基于单片机的数据采集系统ad转换通道设计毕业设计.doc_第2页
基于单片机的数据采集系统ad转换通道设计毕业设计.doc_第3页
基于单片机的数据采集系统ad转换通道设计毕业设计.doc_第4页
基于单片机的数据采集系统ad转换通道设计毕业设计.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的数据采集系统ad转换通道设计毕业设计目 录摘 要iABSTRACTii目 录iii1绪论11.1 研究背景及其目的意义11.2 国内外研究现状21.3 该课题研究的主要内容32 单片机数据采集系统的总体设计42.1 单片机应用系统的组成42.2 单片机应用系统的设计62.2.1总体方案的设计62.2.2单片机应用系统的设计过程62.3 89C51单片机的简介72.3.1单片机的基本组成72.3.2 89C51单片机的引脚82.4 模拟开关电路4067112.5 A/D转换器MAX187132.5.1 MAX187简介132.5.2 MAX187特点及引脚143串行通信总线163.1 SPI串行外设接口总线163.2 SPI总线系统的组成173. 3 89C51和串行串行通信总线的实现方法183.3.1 89C51和MAX187的连接184模拟量输入系统的硬件电路设计204.1单片机数据采集系统的总体设计204.2 89C51单片机的硬件电路设计214.2.1单片机的时钟电路和时序214.2.2单片机的存储器224.2.3单片机的工作方式234.3输入系统的硬件电路的总体设计244.4 模拟开关电路4067的工作原理264.5 MAX187的硬件设计274.5.1 MAX187工作过程275模拟量输入系统的软件设计295.1 简介KeilUvision2295.2 数据采集的程序355.3 MAX187的A/D转换子程序38结 论40致 谢41参考文献42ii北京交通大学毕业设计1绪论1.1 研究背景及其目的意义近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表、计算机溶为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。这类系统主要应用于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。1.2 国内外研究现状数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:(1)传感器:利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;(2)计算机接口:将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:中文及英文的应用软件。受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。1.3 该课题研究的主要内容数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。数据采集是从一个或多个信号获取对象信息的过程。随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBM PC 系列) 使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用。传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。本系统是一个实用的数据采集和超限报警系统,该系统以单片机89C51为核心,选用了同步串行通信的接口芯片,可以采集最多16路模拟量输入信号,并设置了8个开关量输出通道,对外部设备进行数据采集和超限报警处理。这里,主要包括数据采集系统中的数据采集子系统的设计,应用多路模拟开关4067和A/D转换器MAX187。多路模拟开关4067是一个16选1模拟开关电路,通过它可以由软件分时选通各个模拟通道的输入。MAX187是一个12位串行接口的A/D转换器,采用三线SPI总线和微处理器通信,接口简单,精度高,功耗低。2 单片机数据采集系统的总体设计单片机应用系统的设计过程一般要包括总体方案的设计、硬件系统设计、软件系统设计、系统仿真调试和系统运行维护等几部分。在对应用对象论证、分析的基础上,确定总体方案,合理地安排系统软件、硬件的技术要求。硬件系统设计包括原理图设计、PCB(印制电路板)设计、制版和组装、硬件调试等工作。软件系统设计是根据总体方案和硬件电路,设计出实现系统功能的控制程序。系统的测试包括功能测评、技术指标的测量、系统的优化等工作。程序固化后,系统运行,投入正常的工作中,开发工作完成。单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。总的而言单片机的特点可以归纳为以下几个方面:集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。单片机按内部数据通道的宽度,可分为4位、8位、16位及32位单片机。8位单片机由于功能强大,被广泛的应用在工业控制、智能接口、仪表仪器等各个领域。8位单片机在中、小规模应用场合仍占主流地位,代表了单片机的发展方向,在单片机应用领域发挥越来越大的作用。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。2.1 单片机应用系统的组成单片机本身是综合了CPU、储存器、I/O接口,定时器/计数器等计算机基本组成的半导体芯片,而且程序可以固化在单片机芯片中,因此对于一般的应用,只需要单片机加上少量的器件就可以构成一个控制系统的硬件部分,开发出相应的支持程序就可以容易地完成应用系统的设计。目前,单片机的发展方向就是把各种功能模块尽可能地集成,以单片机系统为目标。但是,对于目前应用比较广泛的8位单片机来说,由于其应用方便,成本低廉,可靠性高,体积小,而且I/O的扩展也比较容易,所以在比较复杂的控制系统中,8位单片机仍然得到广泛应用。 典型的单片机应用系统除主机外,还包括有: (1) 前向通道(即输入部分): 数字量、开关量、模拟量信号(A/D)的输入。 (2)后向通道(输出部分): 数字量、开关量、模拟量信号 (D/A )的输出。 (3)人机对话通道,即人机交互部分: 键盘、显示器、打印机、看门狗(监视)电路等。图2-1所示为单片机应用系统的组成。图2-1 单片机应用系统的组成 单片机应用系统设计的特点:l 单片机应用系统一般规模比较小。设计开发过程要借助专用的开发器、仿真器或开发系统来进行。l 单片机应用系统设计中要综合考虑硬件、软件的组成,以达到较高性能价格比。可以采用软件固化实现部分硬件功能,也可以采用硬件来实现某些软件的功能。l 单片机应用系统要求可靠性高,特别是工作于无人值守、不间断工作的环境中,必须保证安全可靠。要从电路设计、软件程序等加以考虑。看门狗监视电路就是其中一种。l 单片机应用系统要尽量作到低功耗、小体积。软件程序固化在单片机内的程序存储器中。要在专门的编程器或下载设备中完成。2.2 单片机应用系统的设计2.2.1总体方案的设计1) 根据市场需求, 进行分析, 提出本项目的任务。2) 熟悉和了解控制对象,确定合理可行的技术指标。3) 确定系统功能具体实现形式, 选择出适合该项目,能迅速开发出性能价格比高的应用系统的单片机。 4) 合理地划分硬件和软件两部分的功能要求。5) 确定总体方案,拟定设计任务书。按照软件工程的思想,列出各子系统的任务书, 以及软件、硬件及它们之间的接口标准、技术要求。2.2.2单片机应用系统的设计过程一般情况下,单片机应用系统的设计过程包括以下几部分:.总体方案的设计.硬件系统设计.软件系统设计.系统仿真调试.运行维护。这5个部分不是孤立的,而是相互关联、相互依靠、互相制约的。如图2-2所示为单片机应用系统设计过程的流程图。图2-2 单片机应用系统设计过程的流程图2.3 89C51单片机的简介 89C51单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。2.3.1单片机的基本组成 89C51单片机结构框图如图2-3所示:图2-3 89C51单片机结构框图 89C51单片机基本组成包括:1) 一个8位的微处理器;2) 片内数据存储器RAM有128B,21个特殊功能寄存器SFR;3) 片内程序存储器Flash ROM 有4KB;4) 可寻址片内外统一编址的64KB的ROM;可寻址片外64KB的RAM;5) 4个8位并行I/O接口(P0P3);一个全双工通用异步串行接口UART;6) 两个16位的定时器/计数器;7) 五个中断源、两个优先级的中断控制系统;8) 具有位操作功能的布尔处理机及位寻址功能;9) 片内振荡器和时钟产生电路。2.3.2 89C51单片机的引脚89C51单片机是CMOS的低功耗芯片,图2-4所示为它的引脚图。它有两种不同封装形式:PLCC形式和PDIP形式。本设计采用PDIP形式。图2-4 89C51单片机的引脚图40个引脚及其功能:电源引脚:Vcc和Vss l Vcc (40脚):电源端,接+5V电源。l Vss (20脚):接地端,接+5V电源地端。外接晶体引脚:XTAL1和XTAL2l XTAL1(19脚):反向振荡放大器的输入及内部时钟工作电路的输入。l XTAL2(18脚):来自反向振荡器的输出。容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。控制信号引脚:RST、ALE、PSEN、EAl RST(9脚):复位信号输入端,高电平有效。保持两个机器周期高电平时,完成复位操作。l ALE/PROG(30脚):地址锁存允许输出端/编程脉冲输入端。正常时,连续输出振荡器频率的1/6正脉冲信号。访问片外存储器时:作为锁存P0口低8位地址的控制信号。对8751片内 ROM编程写入时:作为编程脉冲输入端。 l PSEN(29脚):外部程序存储器读选通输出信号访问片外ROM时,输出负脉冲作为读ROM选通。常连接到片外ROM芯片的输出允许端(OE)作外部ROM的读选通信号。l EA/VPP(31脚):外部程序存储器地址使能输入/编程电压输入端。平常,接“1”时,CPU访问片内4KB的ROM,当地址超4KB时,自动转向片外ROM中的程序。当接“0”时,CPU只访问片外ROM。第2功能Vpp对8751编程时,编程电压输入端。输入/输出端口引脚P0、P1、P2、P3l P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 l P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。l P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。l P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在实际应用中,大多数情况下都使用P3口的第二功能。表2-1 P3端口的第二功能端口引脚 第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/INT1(外中断1)P3.4T0 (定时计数器0)P3.5T1 (定时计数器1)P3.6/WR (外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)2.4 模拟开关电路4067 开关在电路中起接通信号或断开信号的作用。最常见的可控开关是继电器,当给驱动继电器的驱动电路加高电平或低电平时,继电器就吸合或释放,其触点接通或断开电路。 CMOS模拟开关是一种可控开关,它不像继电器那样可以用在大电流、高电压场合,只适于处理幅度不超过其工作电压、电流较小的模拟或数字信号。 CD4067是数字控制模拟开关,具有低导通阻抗,低截止漏电流和内部地址译码的特征。另外,在整个输入信号范围内,导通电阻保持相对稳定。如图2-5所示为模拟开关电路4067的引脚图: 图2-5 4067引脚图表2-2 多路模拟开关4067功能表:输 入开 关 通 道INHDCBALLLLLI/O0COMLLLLHI/O1COMLLLHLI/O2COMLLLHHI/O3COMLLHLLI/O4COMLLHLHI/O5COMLLHHLI/O6COMLLHHHI/O7COMLHLLLI/O8COMLHLLHI/O9COMLHLHLI/O10COMLHLHHI/O11COMLHHLLI/O12COMLHHLHI/O13COM续表2-2输 入开 关 通 道INHDCBALHHHLI/O14COMLHHHHI/O15COMHXXXX关 断电路中选用了一个多路模拟开关,有一个A/D转化器即可,简化了硬件电路,节约成本。2.5 A/D转换器MAX187 2.5.1 MAX187简介MAX187是美信公司推出的具有串行接口的12位精度的AD转换器,内部含有采样保持电路,单5 V操作电源,转换速度为8.5s,具有片上4.096 V参考电压,模拟量输入范围为0VBEF。三线串行接口,兼容SPI,QSPI,MicroWire总线。设计精巧,工作速度快。MAX187用采样保持电路和逐位比较寄存器将输入的模拟信号转换为12位的数字信号,其采样保持电路不需要外接电容。MAX187有2种操作模式:正常模式和休眠模式,将置为低电平进入休眠模式,这时的电流消耗降到10A以下。置为高电平或悬空进入正常操作模式。MAX187电源需要加去耦合电容,方法是用一个4.7F电容和一个0.1F电容并联。为保证采样精度,将MAX187与单片机分开供电。4脚为参考端接一个4.7F的电容,这是使用内部4.096V参考电压方式。输入模拟信号的电压范围为04.096 V,如模拟输入电压不在这个范围要外加电路进行电压范围的变换。MAX187只有一路模拟输入通道,如输入为多路信号,要外加多路模拟开关。2.5.2 MAX187特点及引脚MAX187的主要特点:l 12位的A/D转换精度;l 内部采样/保持电路,采样速率75KHz;l 内部缓存的参考电压4.096V;l 3线串行接口和处理器通信,并且兼容 SPI、QSPI 和Microwire同步串行接口标准;l 工作在单一的+5V电源;l 低功耗,待机电流为2A,工作电流为1.5mA;l 小封装,8个引脚的DIP(双列直插)封装芯片。如图2-6所示为MAX187内部结构图:图2-6 MAX187内部结构图MAX187为8个引脚双列直插封装,其引脚图见图2-7所示:图2-7 MAX187引脚图其中:l VDD(1脚):+5V电源。l AIN(2脚):模拟量输入,范围为0VVREF(0V4.096V)。l SHDN(3脚):工作模式选择输入端。低电平为待机模式;高电平或悬空为正常操作,其中高电平时使用内部参考电源,悬空时,禁止内部参考电源且允许使用外部参考电源。l VREF(4脚):参考电压。使用内部参考电源电压为4.096V,需要4.7F电容接地。使用外部参考电压为+2.5VVDD。l GND(5脚):接地。l DOUT(6脚):串行数据输出,数据在SCLK的下降沿改变。l CS(7脚):片选输入端。低电平启动A/D转换;高电平时,DOUT输出端高阻抗状态。l SCLK (8脚):串行时钟信号输入端最高频率为5MHz。3串行通信总线最新推出的单片机很多都有符合总线的标准接口,所以使用起来非常方便。89C51这类的单片机虽然没有专门的同步串行总线接口,但是,它们可以利用自己的少数几根I/O口线,通过软件模拟通信协议,进行同步串行总线外设接口芯片扩展,更具有灵活方便的特点。由于89C51没有专门的SPI接口,因此要采用用一般I/O口线模拟SPI操作的方法,来和SPI总线接口器件连接和交换数据。用软件模拟就是按照SPI总线数据传送的时序要求和要传送的数据,对相应的I/O线进行置“1”、置“0”和读写的操作,包括串行时钟、数据输入和输出信号。3.1 SPI串行外设接口总线SPI (Serial Peripheral Interface)总线是Freescale公司(原Motorola公司半导体部)推出的同步串行外设接口总线。它用于MCU与各种外围设备以串行方式同步传送和接收8位数据。外围设备包括简单的TTL移位寄存器(用作并行输入或输出口)至复杂的LCD显示驱动器或A/D转换器等。SPI总线主要特性:l SPI总线是全双工同步串行通信标准,可以同时同步传送和接收8位数据;l SPI串行接口设备可以配置为主或从操作模式;接口设备工作于主机模式时,要提供同步时钟信号,并决定要选中的从机,发出从机片选信号。接口设备工作于从机模式时,从主机获取时钟和片选信号,选中的从机和主机通信,没有被选中的从机将其数据线处于高阻抗状态。l 接口共使用4条信号线: 主机输出的低电平有效的从机选择线CS (SS) 主机输出/从机输入的数据线 MOSI主机输入/从机输出的数据线 MISO主机输出用于同步的串行时钟信号线 SCKl SPI有较高的数据传送速度,主机方式最高速率可达1.05 Mb/s;l SPI串行接口设备可以提供频率可编程的时钟信号和发送结束的中断标志;并具有写冲突保护、总线竞争保护等功能。在SPI接口中,数据的传输只需要1个时钟信号和2条数据线。大大简化了电路设计,省掉了很多常规电路中的接口器件,提高了设计的可靠性。SPI总线除了可以用来连接一个处理器(系统主机)和多个SPI接口外部设备(SPI从机)以外,还可以应用于一个主处理器和多个从处理器之间的通信,用于多个处理器和若干个SPI接口外部设备之间的连接。在一些单片机和嵌入式处理器中配置了SPI接口,因此可直接与各个厂家生产的多种标准外围器件直接接口。3.2 SPI总线系统的组成在大多数应用场合中,使用1个MCU作为主机,控制数据向1个或多个从外部接口器件的传送。图3-1是SPI总线系统典型结构示意图: 图3-1 SPI总线系统连接图SPI总线包括三条信号线:时钟线SCK、数据线MOSI和MISO。在图中,它们都是同名端相连。外部接口器件有片选端CS。单片机通过I/O口线来分时选通外围器件。系统里可以连接多个单片机,但是在有多个SPI接口的单片机时,应区别其主从地位,某一时刻只能一个主器件。SPI串行总线典型的工作时序如图3-2所示。当SPI工作时,作为主机的单片机在启动一次传送时要连续产生8个时钟信号SCK,作为同步时钟,控制串行数据的输入或输出。数据线上输出数据的变化以及对输入数据的采样,都取决于时钟SCK信号。但是,对于不同的芯片,有的是采用SCK的上升沿起作用,有的是采用SCK的下降沿起作用,使用时应加注意。数据传输的格式是高位(MSB)在前,低位(LSB)在后。单片机在通过SPI总线接口工作时,输出的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)逐位接收(高位在前)数据。图3-2 SPI总线数据传送时序3. 3 89C51和串行串行通信总线的实现方法串行接口的基本通信方式串行接口的有异步和同步两种基本通信方式。异步通信采用用异步传送格式,数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),用来表示字符开始。其后为7或8位的数据编码,第8位通常做为奇偶校验位。最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.8.1帧格式。串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.833ms。同样,如数据传送的波特率为9600波特,则字节中每一位传送时间为T=1/9600=0.104ms。根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通I/O口来模拟实现串行通信的时序。 3.3.1 89C51和MAX187的连接MAX187是具有SPI总线接口的E2PROM芯片,是一个可以电改写的只读存储器。如图3-3所示,89C51利用P1.0模拟MCU的SPI数据输出端(MOSI),连接到MAX187的SPISI数据输入端;利用P1.1模拟SPI的SCK时钟信号输出端,连接到MAX187的SPICK时钟输入端;利用P1.2模拟SPI的从机选择端CS,输出片选信号,连接到MAX187的CS端;利用P1.3模拟SPI的数据输入端(MISO),连接到MAX187的SPISO数据输出端。图3-3 MAX187与AT89C51的接口电路传感器将采集到的信号经放大、滤波,通过8 选1 模拟开关输给A/ D 转换器MAX187,转换后的数字信号通过DOUT 端输入给单片机。这里我们采用软件合成的方式模拟SPI 接口将单片机与MAX187连接,从而完成串行数据的A/ D 转换。MAX187的SCLK、CS、DOUT端直接与单片机的通用I/ O 口相连,不需要任何接口变换。由于MAX187内部有2.5V 参考电源,所以只需在REF引脚上接4.7F 电容,用参考电源提供工作电压。为减少来自电源的干扰,在VDD端接10F和0.1F的滤波电容。4模拟量输入系统的硬件电路设计4.1单片机数据采集系统的总体设计总体设计的方案如下:CPU:89C51单片机。主频:11.0592MHz。数据采集:16通道模拟量输入。多路选择器:4067(16选1模拟开关电路)。A/D转换器:MAX187(12位串行接口A/D转换器)。开关量输出:8路开关量输出,可作继电器开关,或超限报警控制。看门狗定时器:X5045(带EEPROM、上电复位、降压管理的看门狗定时器电路)。实时时钟RTC:DS1307(带64字节RAM、串行实时时钟电路)。串行通信接口:MAX485,提供RS-485异步串行通信标准接口,和上位机通信。并行I/O接口:8255A并行I/O接口电路。显示器: 6位LED显示器和8个发光二极管指示灯,由8255A驱动,动态扫描显示。键盘:4个按键,独立连接的非编码键盘。电源:DC+5V、DC+12V。软件:程序固化在89C51单片机中,采用汇编语言编程。基于89C51单片机的数据采集系统结构框图如图4-1所示:图4-1 89C51单片机数据采集系统功能框图 4.2 89C51单片机的硬件电路设计4.2.1单片机的时钟电路和时序89C51内部有一个振荡器和时钟产生电路,完成时序信号的产生。当采用内部时钟时,XTAL(19引脚)和XTAL2(18引脚)用来连接外部的石英晶体和微调电容,从而构成一个稳定的自激振荡器,产生原始的振荡脉冲信号。采用外部时钟时,XTAL1输入外部时钟脉冲信号,XTAL2悬空。图4-2为采用内部时钟电路时,外部晶体和微调电容的连接图,C1、C2取30pF。 图4-2 89C51采用片内振荡器的时钟电路在89C51单片机中,基本的时序定时单位有:.振荡周期:为单片机提供定时的振荡源信号的周期。即晶体振荡器频率的倒数, 是最原始的信号周期。.状态周期(时钟周期):是振荡周期的两倍。是振荡脉冲经内部二分频后提供的状态信号。. 机器周期:CPU完成一个基本的操作所需的时间。89C51一个机器周期由6个状态周期即12个振荡周期组成。. 指令周期:CPU从取出指令到执行完所需要的时间。89C51的指令周期由1、2、4个机器周期组成。4.2.2单片机的存储器89C51单片机中使用了哈佛存储结构。在物理结构上分为程序存储器空间和数据存储器空间。哈佛结构把程序存储器和数据存储器分开单独编址。 ROM和RAM安排在独立的地址空间,地址可以重叠。有各自的访问指令,不同的寻址方式,不同的控制信号。89C51中使用哈佛存储结构,地址空间分为三类:片内、外统一编址的64KB程序存储器空间,用16位地址寻址,地址范围为0000HFFFFH。片外64KB数据存储器空间,用16位地址寻址,地址范围为0000HFFFFH。 片内256字节的数据存储器空间,用8位地址寻址。其中低128字节为片内RAM,地址为00H7FH,高128字节内有21个特殊功能寄存器SFR,地址空间为80HFFH。如图4-3所示为89C51的存储器空间配置。图4-3 89C51的存储器空间配置4.2.3单片机的工作方式单片机有三种工作方式:复位方式、程序执行方式、节电工作方式。单片机在启动时需要复位操作,使CPU及系统的各个部件都处于确定的初试状态,并从初始状态开始工作。复位是单片机的初始化操作,89C51单片机复位后,各部件的初始值是一定的。RST引脚 (9脚)是复位信号输入端,高电平有效。并且维持两个机器周期(即24个振荡周期)以上,单片机就进入复位方式,系统进入初始化状态。上电自动复位和按键手动复位都是必需的,图4-4所示为常用的二者组合的电路。图4-4 89C51复位电路.上电自动复位在单片机系统接通电源时,自动产生复位信号的电路。 .按键手动复位 系统处于死锁状态时,必须通过按键,利用手动方式进行复位操作,使单片机重新启动。程序执行方式是单片机基本工作方式,可以分为连续执行方式和单步执行方式。连续执行方式是单片机的正常工作方式,单步执行方式是为程序调试而设定的一种工作方式。89C51CHMOS工艺, 耗电少, 还提供两种节电工作方式:等待工作方式;掉电工作方式。4.3输入系统的硬件电路的总体设计在单片机数据采集系统中,89C51由P1端的P1.2、P1.3、P1.4、P1.5连接到模拟开关电路4067的通道选择端A、B、C和D上,由程序控制分时选通模拟量输入信号。A/D转换器MAX187和微处理器之间通过同步串行通信接口进行数据交换。通过通用接口的信号线,利用软件程序来实现MAX187和89C51之间的通信。89C51作为主设备,由P2.3输出串行时钟SCLK信号,时钟频率最高位2.5MHz。由P2.4输出CS信号并由P2.5和MAX187的DOUT端相连,输入A/D转换后的数字信号。模拟输入和A/D转换控制电路如图4-5所示。图4-5 模拟量输入和A/D转换控制电路模拟量输入是数据采集系统的关键,采集的信号是连续变化的物理量。信号通过传感器转换成连续变化的电信号。变换后的电信号有时须经过放大,使信号 满足A/D转换器的输入要求。在本系统中,最多可以进行16通道的模拟量输入。这里,主要应用了多路选择器4067和A/D转换器MAX187。多路选择器4067是一个16选1模拟开关电路,通过它可以由软件分时选通各个模拟通道的输入。MAX187是一个12位串行接口的A/D转换器,它采用三线SPI总线和微处理器通信,接口简单,精度高,功耗低。在数据采集系统中,经过传感器和放大器转换和处理的模拟信号通过4067多路选择,分时将其中一路信号传送到A/D转换器MAX187中,选择通道的控制信号由89C51的P1端口输出。操作的过程简述如下:(1)选择模拟输入通道。由P1.2-P1.5输出所通道编码。4067打开该通道,将0V4.096V范围的模拟信号输入到MAX187的AIN输入端。(2)启动A/D转换。保持SCLK(P2.3)为低,将CS(P2.4)由高变低。 (3)等待A/D转换完成。检查DOUT信号,当读出DOUT(P2.5)为上升沿时表示完成。(4)读出转换后数据。保持CS (P2.4)为低电平,连续由P2.3输出SCLK时钟信号,最少13个时钟周期。在第一个SCLK的下降沿时,DOUT(P2.5)端产生数据的最高位。在每个SCLK的下降沿,DOUT分别输出各位数据,89C51通过P2.5读入到CPU中。 (5)结束本次操作。在经过13个SCLK的下降沿后,将CS信号变为高电平,结束本次操作。(6)继续下一次转换。在CS为高电平,结束上一次转换后,经过最少500ns,可以重新将CS置为低电平,开始下一次转换。4.4 模拟开关电路4067的工作原理4067相当于一个单刀十六掷开关,具体接通哪一通道,由输入地址码A、B、C、D来决定,是一个可以用数字信号控制的16选1的模拟开关,它的引脚封装见图2-5所示。I/O0I/O15为16路模拟量输入端,数字信号输入端D、C、B、A用来选择其中一路和公共输出端COM选通。禁止端INH为高电平时,全部开关都关断。工作条件:电源电压范围3V15V输入电压范围0VVDD工作温度范围M类55125E 类.4085极限值:电源电压.0.5V18V输入电压0.5VVDD+0.5V输入电流.10mA储存温度65150引出端符号:A0A3 地址端C 控制端I0/O0I15/O15 输入/输出通道O/I 公共输出/输入端VDD 正电源Vss 地4.5 MAX187的硬件设计MAX187利用输入的采样/保持电路和逐次比较寄存器将输入的模拟信号转换成12位的数字信号输出,它的采样/保持电路不需要外接电容。输入信号的电压范围为0VVREF,如果使用内部参考电源,参考电压为4.096V,那么,输入信号的电压范围即为0V4.096V。A/D转换为12位数字信号,数字信号的最低一位(1LSB)代表的模拟电压值为:1LSB=4.096V/4096=100mV。每次A/D转换的时间,包括采样/保持的时间在内为10S。SHDN输入端为低电平时,为待机模式,电源电流小于10A;如果输入高电平或该引脚悬空为正常操作模式,其中高电平输入时,使用内部参考电源,悬空时,禁止内部参考电源且允许使用外部参考电源。MAX187的A/D转换过程是在SCLK为低电平,CS端的输入信号由高变低(下降沿)时来启动。DOUT端变成高电平时,表示A/D转换完成(EOC)。转换的结果在DOUT端单向串行输出。DOUT端加上12个数据位,一个经过13个SCLK周期,在每个SCLK的下降沿后移出后一位,数据改变。串行输出由数据的最高位开始。完成数据传送后,CS变为高电平,DOUT端成为高阻抗状态。MAX187允许输入信号频率范围最大为75KHz。4.5.1 MAX187工作过程工作方式控制:SHDN = 0 ,MAX187 工作在关断方式,仅需提供10A 电流;SHDN = 1 ,MAX187 工作在普通方式,使用内部参考电源;SHDN悬空,MAX187内参考电压无效,允许在REF管脚输入外部参考电源。工作过程简述:MAX187 工作时序图如图4-7所示。图4-7 MAX187工作时序图保持SCLK= 0,CS 的下降沿使采样/保持器开始工作,转换器进行转换;在转换期间应始终保持SCLK= 0:;数据输出前应保持CS = 0。经过一个内部8. 5s 转换周期后,DOUT 被拉为高点平,转换结束,数据在SCLK的时序控制下从DOUT 端输出。在转换结束后,可在任何时刻通过SCLK时钟将数据移出移位寄存器。DOUT 在SCLK的下降沿开始输出,下一个时钟的下降沿在DOUT 端产生一个MSB,由于有12位和一个开始位,所以至少有13个时钟周期来移出这些数据。连续13 个SCLK周期后,使CS = 1,DOUT 变为高阻态,结束一个完整的转变周期。如果13 个SCLK周期后,CS 仍为0,这时SCLK仍不断发生,DOUT 端在LSB后将输出“0”,成为无效位。在两个操作周期间应保持一个最小时间间隔Tcs = 0.5s,以使A/ D 转换器完成初始化,这样整个一个转换输出的周期大约为12.25s。5模拟量输入系统的软件设计5.1 简介KeilUvision2Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些组合在一起。Keil有以下几个特点:1) 全功能的源代码编辑器;2) 器件库用来配置开发工具设置;3) 项目管理器用来创建和维护用户的项目;4) 集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;5) 所有开发工具的设置都是对话框形式的;6) 真正的源代码级的对CPU和外围器件的调试器;7) 高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。其使用的过程为:首先打开KeilUvision2,在KEIL系统中,每做个独立的程序,都视为工程。首先从菜单中的工程中“新建工程”,建立我们将要做的工程项目,如下图5-1、5-2、5-3、5-4、5-5、5-6、5-7、5-8、5-9所示:图5-1接下来Keil环境要求我们为12工程选择一个单片机型号;我们选择Ateml公司的89C51。“确定”后工程就算建立好了。图5-2图5-3立了工程项目以后现在就要为工程添加程序,点击“文件”中的新建,新建一个空白文档;这个空白文档就是我们编写单片机程序的场所。在这里可以进行编辑、修改等操作。根据题意,在文档中写入代码,写完后再检查一下,然后保存,然后再将保存好的文档添加到工程中,具体做法如下:图5-4图5-5图5-6程序文件添加完毕后,对其进行编译当前程序、编译修改过的文件并生成应用程序、重新编译所有文件并生成应用程序后,再点击TA

温馨提示

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

评论

0/150

提交评论