基于单片机的离散量数据采集系统设计本科毕业论文.doc_第1页
基于单片机的离散量数据采集系统设计本科毕业论文.doc_第2页
基于单片机的离散量数据采集系统设计本科毕业论文.doc_第3页
基于单片机的离散量数据采集系统设计本科毕业论文.doc_第4页
基于单片机的离散量数据采集系统设计本科毕业论文.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机离散量数据采集系统设计摘 要随着计算机技术的飞速发展和普及,数据采集系统也得到了广泛的应用。微机在通用自动化、信息处理、信息系统等方面得到广泛的应用。在冶金、化工、医疗等应用场合,需要对很多信号进行采集,预处理,暂存和传输。本文设计的离散量采集系统采用上位机、下位机通信方式运行。由上位机实现对下位机的控制和数据采集的显示,下位机实现离散量的采集过程。下位机硬件设计采用STC89C52RC单片机为控制核心,运用TLP521进行光电隔离,采用八位三态同相输出总线缓冲器74HC541为输入缓冲部分,而输出部分则采用的是锁存器74HC574,和拨动开关作为开关控制,完成了离散量采集系统的硬件设计。采用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 STC89C52RC single-chip design for the control of the core to the use of photoelectric TLP521 isolation, the use of eight three-state bus buffer with an output of 74HC541 for input buffer part of the output part is used in latch 74HC574, 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 课题背景11.2 课题相关技术21.3 课题任务51.4课题内容及安排52 系统方案设计62.1方案设计原则62.2 方案选择63 系统硬件设计93.1单片机模块93.1.1 STC89C52RC介绍103.1.2 单片机最小系统123.2 输入输出模块153.2.1 光电隔离模块153.2.2 输入模块173.2.3 输出模块193.3 串口模块213.4 设备选型244 系统软件设计与实现254.1 软件编程介绍254.1.1 C语言介绍254.1.2 VB介绍264.2 下位机软件方案设计274.2.1主程序设计部分284.2.2初始化程序设计部分284.2.3中断程序设计部分294.3 上位机软件方案设计315 系统集成与调试325.1 Keil软件开发平台及介绍325.2 调试分析335.3 调试分析335.4 故障调试及解决方法335.5 联调结果346 结论35参考文献36致 谢38附录 原理图39附录 程序清单40IV沈阳航空航天大学北方科技学院毕业设计(论文)1 绪论随着现代世界经济的不断发展,计算机技术得到飞速发展和普及。各个行业为了不断改善企业的服务质量,提高工作效率都进入了计算机控制时代,由于对管理要求的不断提高,在很大程度上使企业不得不改变传统的数据采集方式。数据采集系统是信号处理系统是信号与信息处理系统不可缺少的组成部分,现代微电子技术和通信技术的发展,对数据采集的精度和速度也越来越高了。如今的离散数据采集已经达到了一定水平。1.1 课题背景随着计算机技术的迅猛发展和普及,现代社会已经进入了信息化的社会。社会中的各个方面,各个行业为了加大了企业的发展进程和自己的竞争能力,不得不甩掉传统的管理模式和经营方法。为了使自己的管理模式和经营方法做到最好,对自己企业的一些数据就要做到即快速有准确的掌握。那么这是传统的数据采集方法是达不到这一要求的,但是利用电脑来采集这些数据就可以达到这样的要求。那么数据采集技术就是基于这样一个社会大背景下的一个必然的产物,它使我们的社会发展的生产上了一个新的台阶。工业上使用的数据采集系统大概分为四类:第一类使用通过微型计算机(如PC机)的数据采集系统。它的特点有:(1)系统较强的软、硬件支持。通过微型计算机所有的软、硬件资源都可以用来支持系统进行工作。(2)具有自主开发能力。(3)系统的软、硬件的应用配置较小,系统的成本比较高。程序在RAM中运行,易受外界干扰破坏。(4)在工业环境中运行的可靠性差,对安放环境要求高。第二类基于单片机的数据采集系统。特点如下:(1)系统不具有自主开发能力。因此系统的软、硬件开发必须借助开发工具。(2)系统的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则。(3)系统的可靠性好,使用方便,不易受外界的干扰而破坏,而且上电后系统立即进入用户状态。第三类基于DSP数字信号微处理器的数据采集系统。第四类基于混合型计算机采集系统。这是一种近年来随着单片机出现而在计算机应用领域中迅速发展的一种系统结构形式。它是由通用计算机(PC机)与单片机通过标准总线(如RS-232)相连而成。单片机及外围电路构成的部分是专为数据采集能功能的要求而配置的,主机则承担数据采集系统的人机对话、大容量的计算、记录、打印、图形显示等任务。混合型计算机数据采集系统的特点如下:(1)通常具有自主开发能了。(2)系统配置灵活,易构成各种大中型测控系统。(3)主机可远离现场而构成各种局域网络系统。(4)充分利用主机资源,但不会占有主机的全部CPU时间。那么本设计在选择类型方面,就是比较了以上四种类型的优缺点来进行选择的。在根据设计的的要求就选择第四种基于混合型计算机采集系统。1.2 课题相关技术离散数据采集系统采用上位机、下位机通信方式运行。上位机实现输出的显示和对下位机的控制等功能,而下位机主要是执行上位机的指令,通过上位机发来的指令来采集离散数据,同时将采集的开关控制量的变化发送给上位机。本课题主要是对下位机的研究,主要采用了弱电控制强电技术和数据采集技术,下面分别对这两种技术进行介绍。1、弱电控制强电技术强电和弱电从概念上讲,一般是容易区别的,主要区别是用途的不同。强电是用作一种动力能源,弱电是用于信息传递。具体而言,它们大致有如下区别:(1)交流频率不同强电的频率一般是50Hz(赫),称“工频”,意即工业用电的频率,弱电的频率往往是高频或特高频,以KHz(千赫)、MHz(兆赫)计。(2)传输方式不同强电以输电线路传输,弱电的传输有有线与无线之分。无线电则以电磁波传输。(3)功率、电压及电流大小不同强电功率以KW(千瓦)、MW(兆瓦)计、电压以V(伏)、KV(千伏)计,电流以A(安)、kA(千安)计;弱电功率以W(瓦)、mW(毫瓦)计,电压以V(伏)、mV(毫伏)计,电流以mA(毫安)、uA(微安)计,因而其电路可以用印刷电路或集成电路构成。当然,强电中也有高频(数百KHz)与中频设备,但电压较高,电流也较大。又如手电筒与电动剃须刀虽然电压很低,功率及电流很小,仍属强电。由于现代技术的发展,弱电己渗透到强电领域,如电力电子器件、无线遥控等,但这些只能算作强电中的弱电控制部分,它与被控的强电还是不同的。弱电控制强电一般是通过可控硅或继电器之类的开关设备来实现的。2、数据采集技术随着电子测量技术与计算机技术的发展,面对各种检测对象和大量的测试点,需要利用数据采集系统将多路被测量转换为数字量,再经过单片机或微型计算机进行数据处理,实现实时监控。数据采集经常做成模块而且是典型的与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、双绞线、电力载波、无线和光纤,所以其技术得到了不断发展和完善。 其在工业现场数据采集和控制等众多领域得到了广泛的应用。由于目前局域网技术的发展,一个工厂管理层局域网,车间层的局域网和底层的设备网已经可以有效地连接在一起,可以有效地把多台数据采集设备联在一起,以实现生产环节的在线实时数据采集与监控。1.3 课题任务离散数据采集系统的功能为:完成16路离散量采集输入,16路输出。离散量采集系统的组成:离散采集系统由硬件,软件两大部分组成。硬件由下位机,上位机两部分组成。下位机由52单片机,单片机最小系统(晶振电路、复位电路、电源电路),缓冲器,锁存器,MAX232,串口电路组成,开关,光电耦合。上位机程序为VB编程。软件部分由C语言单片机编程和VB编程,单片机的软件编程完成16路输入和16路输出。设计的目标:(1) 硬件设备选型,软件编程;(2) 需要考虑各种意外因素,例如人为因素,断电等;(3) 要求用protel原件设计出系统的原理图;(4) 制作出两路的演示电路板;(5) 保证系统稳定、可靠的措施。1.4课题内容及安排本课题主要是完成离散数据采集系统设计,其中下位机接受来自上位机发出的指令,来按照上位机的要求来进行数据的采集,具体内容安排如下:第1章为绪论,着重介绍了基于单片机数据采集器的研究现状及发展趋势。提出了本课题的研究意义,说明了本文所要研究的问题及目标;第2章为系统整体方案设计,详细介绍制作初期对各个组成部分方案的论证和选择,不同方案的优缺点都做了一定的介绍,对所选择的方案做了比较详细的说明;第3章是硬件设计,根据任务书的要求,主要介绍了控制电路的设计,电路原理,以及它在整个系统中的地位和作用;第4章是软件设计部分,介绍了软件设计所用的C语言、系统的主流程图和子函数的流程图。具体程序见附录;第5章是系统调试部分,分部分介绍了系统调试的过程以及调试过程中遇到的问题,解决的方法等;第6章是结论,总结了本课题中所研究的问题和不足之处。2 系统方案设计离散数据采集系统总体设计是有上位机与下位机之间通过电脑串行数据口相连。上位机发出指令,控制下位机采集数据或发送数据,从而实现自动化的采集数据方式。离散数据采集系统结构如图2.1所示。由上位机与下位机串口数据通信来发送控制指令,来对数据采集电路进行控制。图2.1 离散数据采集器系统结构图2.1方案设计原则本次设计方案应符合以下原则:(1)经济合理。系统的硬件设计中,一定要注意在满足性能指标的前提下,尽可能的减少成本;(2)安全可靠。选择元器件时要考虑到周围环境的影响,以保证在规定的工作环境下,系统性能稳定,工作可靠;(3)有足够的抗干扰能力。有完善的抗干扰能力,是保证系统精度、工作正常和不产生错误的必要条件;(4)可扩展性;(5)操作性能好,方便用户使用。2.2 方案选择根据课题的要求,本系统是通过上位机给下位机发指令,让下位机开始以某种方式采集离散量。本文设计了3套方案,并分析了各种方案的优缺点,最后给出了合适的方案。方案1的电路结构如图2.2所示。图2.2 方案一设计电路结构框图图2.2中,在这一方案中,是单片机和上位机一种由上位机向下位机的单向传输方式。那么这样下位机可以接收到由上位机发来的指令,开始遵照上位机的指令开始工作,如开始以某种方式接收离散量数据和发送数据。该方案的优点是电路比较简单,操作方便,但是该方案的缺点也很明显,单片机接受到数据之后不能返还给上位机,那么这样上位机就不能得到数据,就不能对数据进行跟踪,计算,暂存以及各种处理等。不能很好达到课题设计要求。方案2的电路结构如图2.3所示。图2.3 方案二设计电路结构框图如图2.3所示这样,是由下位机与上位机的一种单向传输。这样可以弥补上一个方案采集数据发送不到上位机上的弊端,但是这个方案的缺点也是很明显的。就是它忽视了上位机更重要的用途,即对下位机的控制功能。所以这也是不能达到设计要求标准的。方案3的电路结构如图2.4所示。图2.4 方案三设计电路结构框图方案3是一个比较成熟的方案,它通过MAX232实现下位机和上位机的双向连接,实现了下位机与上位机的一种双向传输方式。即可以让下位机接收到上位机发来的命令指令和控制指令,也可以上下位机采集到的数据及时传输到上位机,让上位机可以对这些数据进行实时的处理。所以本设计采用方案三。本文所设计的离散量数据采集系统硬件体积小、精度高、性能稳定、操作方便、运行操作简单、设计成本较低。由于采用的器件都是已经非常普遍的器件,大多数已经批量生产,并且价格也十分低廉,如STC89C52RC单片机、74HC541、74HC574和MAX232等。这就意味着所选择使用的器件功能比较强大、稳定,尤其是本次设计的核心元件STC89C52RC单片机,软件配合度高,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。3 系统硬件设计根据课题要求,设计采用STC公司的STC89C52RC单片机为处理器,运用TLP521进行光电隔离,采用八位三态同相输出总线缓冲器74HC541为输入缓冲部分,而输出缓冲部分则采用的是锁存器74HC574,由拨动开关作为开关控制。另外,作为下位机系统,需要与上位机进行通信,共同制定通信标准,本次设计采用的是RS-232来进行串口通信,MAX-232进行电平转换。整体设计的方案原理图见附录1,其结构框图如图3.1所示。图3.1 总体设计结构框图3.1单片机模块单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。3.1.1 STC89C52RC介绍STC89C52RC(如图2-10所示)是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中。为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。单片机内部功能模块和引脚图分别如图3.2、图3.3所示。图3.2 51单片机内部功能块P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。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口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。主要性能参数介绍如下:(1) 与MCS-51产品指令系统完全兼容;(2) 4K字节可重复擦写Flash闪烁存储器;(3) 1000次擦写周期;(4) 全静态操作:0HZ-24HZ; (5) 三级加密程序存储器;(6) 128*8字节内部RAM;(7) 32个可编程I/O接口线;(8) 2个16位定时/计数器;(9) 5个中断源;(10) 可编程串行UART通道;(11) 低功耗空闲和掉电模式。图3.3 51单片机引脚图3.1.2 单片机最小系统单片机最小系统由电源电路、晶振电路及复位电路构成,它是单片机构成的控制系统的核心部分,也单片机平台开发的基础。其余的外部功能电路都是在这个最小电路的基础上再开发出来的。1、电源电路图3.4 电源电路本设计的电源通过计算机的USB口供给,使用套件提供的USB,A转B口电缆连接计算机USB口与设计板即可。其次选择USB是考虑到它的一下有点:(1)USB为所有的USB外设提供了单一的、易于使用的标准的连接类型。这样一来就简化了USB外设的设计,同时也简化了用户在判断哪个插头对应哪个插槽的任务,实现了单一的数据通用接口。(2)整个的USB的系统只有一个端口和一个中断,节省了系统资源。(3)USB支持热插拔和PNP,也就是说在不关闭PC的情况下可以安全的插上的断开USB设备,计算机系统动态地检测外设的插拔,并且动态地加载驱动程序。其他普通的外围连接标准,如SCSI设备等必须在关掉主机的情况下才能插拔外围设备。(4)USB在设备供电方面提供了灵活性。USB直接连接到Hub或者是连接到Host的设备可以通过USB电缆供电,也可以通过电池或者其他的电力设备来供电,或者用两种供电方式的组合,并且支持节约能源的挂机和唤醒模式。(5)USB提供全速12Mbps的速度和低速1.5Mpbs的速度来适应各种不同类型的外设。(6)为了适应各种不同类型外围设备的要求,USB提供了四种不同的数据传输类型:控制传输、中断数据传输和同步传输等。(7)USB的端口具有很灵活的扩张性。2、时钟电路图3.5 晶振电路时钟电路用于产生MCS-51单片机工作时所必须的时钟信号。时钟是时序的基础,为保证同步工作方式的实现,单片机应在唯一的时钟信号控制下,严格地按时序执行指令进行工作。因此,时钟频率和质量也直接影响单片机系统的速度和稳定性。常用的时钟电路有内部时钟和外部时钟方式。本系统使用的是内部时钟方式。单片机片内由一个反向放大器构成振荡器,可以由它产生时钟。该反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2。这两个引脚外接石英晶体振荡器作为定时元件,内部反向放大器自激振荡,产生时钟。C1,C2对频率有微调作用。C1和C2值选择为30PF。晶振频率选择11.0592MHZ。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定,振荡器和电容应尽可能安装得与单片机芯片靠近。 1、复位电路RST引脚是复位信号的输入端,高电平有效。复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作,只要给RESET引脚加上2个及其周期以上的高电平信号,就可使MCS-51单片机复位。复位相当于系统的重新启动,可以摆脱系统错误或死锁状态。只要该引脚保持高电平,单片机便循环复位,当该引脚变低后,单片机由ROM的0000H开始执行程序。复位操作不影响内部RAM的内容。单片机复位方式由上电自动复位和手工复位两种,本设计采用的是手工按钮复位,其电路图如图3.6所示。图3.6 复位电路3.2 输入输出模块3.2.1 光电隔离模块光电隔离电路的作用是在电隔离的情况下,以光为煤介传送信号,对输入和输出电路可以进行隔离.因而能有效地抑制系统噪声,消除接地回路的干扰,有响应速度较快、寿命长、体积小耐冲击等好处,使其在强-弱电接口,特别是在微机系统的前向和后向通道中获得广泛应用。其引脚图和原理图分别如图3.7、图3.8所示。图3.7 TLP521-4引脚图3.8 TLP521-4原理图光电耦合器是以光为媒介传输电信号的一种电-光-电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端。 在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电-光-电的转换。在本设计中的应用如图3.9所示。在本设计的电路中,光电耦合的输入引脚接拨动开关,输出引脚接74HC541缓冲器图3.9 TLP521-4电路图3.2.2 输入模块在输入模块中,本次设计用的是八位三态同相输出总线缓冲器74HC541芯片,它能很好的将外设送来的数据暂时存放,以便处理器将它取走。有了缓冲器,就可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。由于缓冲器接在数据总线上,故必须具有三态输出功能。其引脚图、原理图及功能表分别如图3.10、图3.11、表3.1所示。图3.10 74HC541引脚图图3.11 74HC541原理图表3.4 74HC541功能表 输入输出OE1 OE2AnYnLLLLLLHHXHXZHXXZL为低电平;H为高电平;X为任何电平;Z为高阻态。从功能表中可以看出,当OE1 和OE2 都为低时,芯片导通,当有一端为高时,芯片则呈现高阻态。在本次设计中,OE1 引脚接地,OE2 引脚接单片机的P2口,2个74HC541芯片对应接P2.5和P2.6口,通过单片机发出的指令来控制74HC541芯片的导通与阻断。当单片机的P2.5和P2.6口发出低电平时,芯片导通,信号从芯片的输入端传到输出端;当发出高电平时,芯片呈现高阻态,信号暂寄存在芯片74HC541的输入端。主要起到协调和缓冲作用,实现数据传送的同步。具体设计如图3.12所示。图3.12 74HC541电路图3.2.3 输出模块在输出模块中,本次设计用的是锁存器74HC574芯片。锁存器是把若干个钟控D触发器的控制端CP连接起来,用一个公共的控制信号来控制,而各个数据端仍然是各自独立地接收数据的元器件。锁存器是一种对脉冲电平敏感的存储单元电路,它可以在特定输入脉冲电平作用下改变状态。用这种形式构成的一次能传送或存储多位数据的电路称为锁存器。输出端的状态不会随输入端的状态变化而变化,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。典型的逻辑电路是D触发器。其引脚图、逻辑图和功能表分别如图3.13、图3.14、表3.2所示。图3.13 74HC574引脚图图3.14 74HC574原理图表3.6 74HC574功能表 输入输出ENAALEDnQnLLLLHHHLZHHZL为低电平;H为高电平;为上升沿;Z为高阻态。从功能表中可以看出,当ENA为低,ALE为上升沿时芯片导通,当ENA为高时,芯片则呈现高阻态。在本次设计中,ENA 引脚接地,ALE 引脚接单片机的P2口,2个74HC574芯片对应接P2.0和P2.1口,通过单片机发出的指令来控制74HC574芯片的导通与阻断。当单片机的P2.0和P2.1口发出上升沿时,芯片导通,信号从芯片的输入端传到输出端;输出端一直保持该信号,直到下一次的锁存信号。具体电路如图3.15所示。图3.15 74HC574电路图3.3 串口模块1、通信方式介绍数据通信主要采用并行通信和串行通信两种方式。 (1)并行通信并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。(2)串行通信串行通信时数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离可以很长,因此串行适用于长距离而速度要求不高的场合。从通信双方信息的交互方式看,串行通信方式可以有以下三种: (1)单工通信。只有一个方向的通信而没有反方向的交互。 (2)半双工通信。通信双方都可以发送(接收)信息,但不能同时双向发送。半双工通信线路简单,有两条通信线就行了,这种方式得到广泛应用。 (3)全双工通信。通信双方可以同时发送和接收信息,双方的发送与接收装置同时工作。全双工通信的效率最高,但控制相对复杂一些,系统造价也较高。通信线至少三条(其中一条为信号地线),或四条(无信号地线)。串行通信中,传输速率用每秒中传送的位数(位/秒)来表示,称之为波特率(bps)。常用的标准波特率有300、600、1200、2400、4800、9600和19200 bps等。2、RS-232 电平介绍 单片机是一种数字集成芯片,数字电路中只有两种电平:高电平和低电平。单片机输出和输入为TTL电平,其中高电平为+15V,低电平为0V。计算机的串口为RS-232C电平,其中高电平为-12V,低电平为+12V。而且重要的是,RS-232C电平为负逻辑电平,因此当计算机与单片机之间要通信时需加电平转换芯片。3、MAX-232芯片介绍MAX232芯片就是实现RS-232电平与TTL电平转换的。它是由MAXIM公司生产的、包含两路接受器和驱动器的IC芯片,它的内部有一的电源电压转换器,可以把输入的+5V电源电压变换为RS-232输出电平所需的+10V电压。所以,采用此芯片接口的串行通信系统只需要单一的+5V电源就可以了。对于没有+12V电源的场合,其适应性更强,加之其价格适中,硬件接口简单,所以被广泛利用。其引脚图和原理图分别如图3.16、图3.17所示。图3.16 MAX232引脚图图3.17 MAX232原理图如图3.16和图3.17所示,芯片上半部分电容C1、C2、C3、C4及V+,V是电源变换电路部分。在实际应用中,器件对电源噪声很敏感,因此VCC必须要对地加去耦电容C5,其值为0.1F。按芯片手册介绍,电容C1、C2、C3、C4应取0.1F16V的电解电容,在具体设计电路时,这4个电容要尽量靠近MX-232芯片,以提高抗干扰能力。芯片的下半部分为发送和接收部分。实际应用中,T1IN、T2IN可直接连接TTLCMOS电平的51单片机串行发送端TXD;R1OUT、R2OUT可直接连接TTLCMOS电平的51单片机串行接收端RXD;T1OUT、T2OUT可直接连接PC机的RS-232串行的接收端RXD;R1IN、R2IN可直接连接PC机的RS-232串口的发送端TXD。现从MAX232芯片中两路发送,接受中选择一路作为接口。要注意其发送、接收的引脚要对应。如使T1IN连接单片机的发送端TXD,则PC机的RS-232接收端RXD一定要对应接T1OUT引脚。同时R1OUT连接单片机的RXD引脚,PC机的RS-232发送端TXD对应接R1IN 引脚。其数据传输过程如下:MAX232的11引脚T1IN接单片机TXD端P3.1,TTL电平从单片机的TXD端发送,经过MAX232转换为RS-232电平后从MAX232的14引脚T1OUT发出,在连接到实验板上串口座的3引脚,在经过交叉串口线后,连接至PC机的串口座的第2引脚RXD端,至此计算机接收到数据。PC机发送数据时从PC机串口座的第3脚TXD端发送出数据,在逆向流向单片机的RXD端P3.0接收数据。图3.18 串行口通信模块电路图3.4 设备选型综上所述,离散采集系统具体的设备选型如表3.4所示。表3.8 器件表器件名称型号规格数量万能板150*150mm1单片机STC89C52RC1晶振11.0592M1陶瓷电容20P4电解电容10u2电容1048电容10u1按键5*5m4拨动开关4发光二极管2电阻10K4电阻1K2MAX23216PIN1USB接头4PIN174HC541174HC5741TLP521-414 系统软件设计与实现单片机软件设计流程一般分为下列步骤:(1)分析系统对软件的要求;(2)在此基础上进行软件总体设计,包括程序整体结构设计和对程序进行模块化设计,模块化设计即将程序划分为若干个相对独立的模块;(3)画出每一个专用模块的详细流程图,并选择合适的语言编写程序;(4)按照软件总体设计时给出的结构框图,将各模块连接成一个完整的程序;在主程序的设计中要合理地调用各模块程序,特别注意各模块的入口、出口及对硬件的资源占用情况。采用模块化设计方法以后,依据系统的功能要求将软件的初始化模块、中断模块、主程序模块分别进行设计和调试,然后把它们连接起来,进行总调。 在划分模块时,每个模块不宜太长,冗长复杂的设计不宜调用与运行;应使模块之间相互独立,尽可能限制模块之间的信息交换,以利于模块的调试;应尽量利用已有并且熟悉的模块。模块化设计有一下优点:无论是硬件还是软件,每一个模块都相对独立,故能独立地进行设计、研制、调试和修改,从而使复杂的工作得以简化。模块之间的相互独立也有助于研制任务的分解和设计人员之间的分工合作,这样可提高工作效率和仪表的研制速度。上述各种研制调试完成之后,还需要将它们按一定的方法连接起来,以实现数据输入、传输、处理和输出等各种功能。4.1 软件编程介绍本设计中所需的软件有两种,分别是编写下位机的编程语言和编写上位机的编程语言。我采用的是C语言和VB语言。下面是对这两种语言的介绍。4.1.1 C语言介绍软件设计是技术的关键,简洁的硬件配置是靠软件来支撑的,软件编制一般按功能来划分,做到标准化、模块化,并便于功能的扩充。对现场的信息参数宜编制独立的参数模块,以便于在运行中修改。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,以研制出规模更大、性能更完备的系统。用C语言进行单片机程序设计是单片机开发与应用的必然趋势。单片机的程序设计应该以C语言为主,以汇编语言为辅。汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块中进行程序的优化即可。采用C语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量的存储单元的分配,编译者就可以专注于应用软件部分的设计,大大加快软件的开发速度。采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中单片机的重新选型。C语言有如下优点:(1)对单片机的指令系统不要求了解,仅要求对单片机的存储器结构有初步了解;(2)寄存器的分配、不同存储器的寻址及数据类型等细节可有编译器管理;(3)程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;(4)具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;(5)关键字及运算函数可用近似人的思维过程方式使用;(6)编程及程序调试时间显著缩短,从而提高效率;(7)提供的库包含许多标准子程序,具有较强的数据处理能力;(8)已编号的程序可容易地植入新程序,因为C语言具有方便的模块化编程技术。因此用C语言作为主语言,调用汇编语言编写子模块,二者相互结合,可以提高程序执行速度和效率,达到事半功倍的效果。如需快速控制时,可用汇编语言,如采样,A/D转换等;而用C语言编写数据处理程序及人机界面程序,可以充分利用C语言的库函数。4.1.2 VB介绍VB是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。4.2 下位机软件方案设计该课题设计的单片机程序见附录II。根据系统功能,将整体程序划分为主程序、初始化和中断三部分。主程序是执行单片机的读写操作,初始化是设定单片机的初始状态以及初始值,中断主要是根据通信协议对输入值进行判断,然后去执行相关操作。主程序与中断是通过中间变量rdBUFF和wrBUFF连接的。其通信指令格式如表4.1所示。表4.1 通信指令格式指令功能举例举例发送返回备注0x01-0x30按位读输入0x0A是输入第10通道0x010x00或0x010x31-0x34按字节读输入0x31是读1-8通道组成的字节0x31一个字节第一通道对应字节最低位0x35读所有通道0x37读所有通道0x37六个字节0x71-0x80按位输出置零0x71是把输出通道1置低0x71无0x81-0x90按位输出置一0x81是把输出通道1置高0x81无0x91-0x92按字节输出0x91是输出1-8通道组成的字节0x91+一个字节无第一通道对应字节最低位0x93按字节输出所有0x93是输出1-16通道的两个字节0x93+两个字节无第一通道对应第一字节最低位,第九通道对应第二字节最低位4.2.1主程序设计部分主程序主要是实现单片机的接收和发送数据。首先将单片机初始化,选通输入缓冲芯片74HC541,再将P1口采集到的值按位取反后赋给中间变量rdBUFF,紧接着将选通输入芯片引脚置高,地址封锁,存储数据,然后进行写操作,再选通输出所存器74HC574,将所写数据送出,经过锁存器,从而控制继电器的吸合。主程序流程图如图4.1所示。4.2.2初始化程序设计部分将单片机先进行初始化,清空输入和输出的缓冲区,定义初始状态为命令状态,设置波特率为9600的定时器1方式2和初始值,启动定时器,设置串行口方式,允许中断。初始化流程图如图4.2所示。图4.1 主程序设计流程图图4.2 初始化程序设计流程图4.2.3中断程序设计部分单片机内的中断系统主

温馨提示

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

评论

0/150

提交评论