毕业设计(论文)基于单片机的油井系统测试仪设计.doc

上传人:仙人指路1688 文档编号:3980724 上传时间:2023-03-30 格式:DOC 页数:31 大小:270.50KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的油井系统测试仪设计.doc_第1页
第1页 / 共31页
毕业设计(论文)基于单片机的油井系统测试仪设计.doc_第2页
第2页 / 共31页
毕业设计(论文)基于单片机的油井系统测试仪设计.doc_第3页
第3页 / 共31页
毕业设计(论文)基于单片机的油井系统测试仪设计.doc_第4页
第4页 / 共31页
毕业设计(论文)基于单片机的油井系统测试仪设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的油井系统测试仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的油井系统测试仪设计.doc(31页珍藏版)》请在三一办公上搜索。

1、摘 要 在开采石油的过程中,井下的温度和压强是必不可少的测量参数,准确的井下温度和压强测量对于油井监测等都具有重要的作用。油田投入开发后,随着开采时间的增长,油层压力不断下降,地下原油大量脱气,粘度增加,油井产量大大减少,甚至会停喷停产。为了弥补原油采出后所造成的地下亏空,保持或提高油层压力,实现油田高产稳产,利用注水井把水(或者气)注入油层,以补充和保持油层压力。然而采取这些操作时一定要在对井下条件有全面了解之后才能进行。在传统的测量井温过程中,使用了红外测温仪、红外热成像仪、温度传感器阵列等,但由于井下环境对测试仪器产生很大的影响,容易造成测试误差,且对于温度场的测量有很多不足。针对这一现

2、状,本文以STC89C51单片机为核心,模数转换芯片ADc0809和串行EEPROM芯片AT24C32为主要外围扩展器件,设计了一套初级油井测试系统。本文设计的油井测试系统在硬件结构上由电源模块、振荡电路、复位电路、存储电路、数码管显示电路、数据采集电路、串行通讯电路以及其他一些外围电路组成,对于这些硬件模块本文给出了详细设计。本文设计的油井系统测试仪可以方便测得所需参数,具有精度较高、速度较快和采集稳定等优点,效果良好,而且数据采集部分具有通用性,可以二次开发应用于其他行业,前景广阔。 关键词:油井测试,数据采集,STC89C51,ADC0809,AT24C32Title:Design of

3、 a Tester for the Oilwell System AbstractIn the process of drilling, downhole temperature and pressure is essential for measuring parameters, accurate underground temperature and pressure measurement for oil well monitoring plays an important role. Oilfield development, along with the exploitation t

4、ime of growth, the reservoir pressure drops ceaselessly, the underground crude oil large degassing, viscosity increased, oil production is greatly reduced, or even stopping spraying production. In order to make up for crude oil extraction underground shortfall caused by, maintain or increase reservo

5、ir pressure, oil yield, utilization of water injection well water ( or gas ) is injected into the reservoir, to supplement and maintain reservoir pressure. However, take these operations must be in to have a comprehensive understanding of the downhole conditions can only be carried out after. In the

6、 traditional measuring temperature process, the use of infrared thermometer, infrared thermal imaging instrument, temperature sensor array, but due to the environmental test equipment produces very big effect, easy to cause the testing error, and the measurement of temperature field with many shortc

7、omings. In view of this situation, based on the STC89C51single-chip microcomputer as the core, a / D conversion chip ADc0809and serial EEPROM chip AT24C32as the main external expansion device, design a set of primary oil well testing system. In this paper the design of oil well testing system on the

8、 hardware structure is composed of a power supply module, oscillation circuit, reset circuit, a storage circuit, digital display circuit, data acquisition circuit, serial communication circuit and some other peripheral circuit, the hardware module this paper gives a detailed design. In this paper th

9、e design of oil well system tester can be conveniently measured parameters required, has higher accuracy, faster and collecting the advantages of stability, good effect, and the data acquisition part is general, can be two times the development of applied in other industries, and broad prospects.Key

10、words:Oil well testing,Data acquisition,STC89C5 1,ADC0809,AT24C32目 录第1章 前言11.1题目背景11.2 国内外发展现状及研究内容1第2章 方案设计32.1 测试系统概述32.2 基本思路3第3章 硬件系统设计43.1 元器件的选择43.2硬件系统设计43.2.1 系统结构框图43.2.2 供电模块设计53.2.3 振荡复位电路53.2.4 通讯接口设计63.2.5 存储电路设计83.2.6显示电路设计103.2.7 数据采集电路11第4章 软件系统设计1341软件开发1342数据采集程序1443通信软件设计15第5章 实验及

11、结果分析175.1 电压信号采集实验175.2 电流信号采集实验20第6章 系统可靠性分析与设计236.1 硬件可靠性技术236.1.1 总线的抗干扰236.1.2 复位电路的可靠性236.1.3 时钟电路抗干扰246.1.4 前向通道的抗干扰246.1.5 后向通道的抗干扰256.1.6 存储器抗干扰266.1.7 键盘抗干扰266.1.8 显示单元抗干扰276.2系统可靠性设计276.2.1 电源线和地线设计276.2.2 去耦设计28结论291结论即及本文特点292 展望29参考文献30第1章 前言1.1题目背景 目前,我国的油田不具有自喷能力,多为低渗透的低能、低产油田,通常需要向油井

12、内注入大量的水,再依靠抽油机将石油从地层中采到地上。因此,大部分油田都面临“以水换油”的局面,这就导致油田耗电量极高,成为不折不扣的“耗能大户,每年的电费开支庞大、数目惊人。电费开支在油田的生产成本中占有相当大的比重,因此,节约电能已成为石油行业关注的焦点。油田上应用最为广泛的是游梁式竖井抽油机。抽油机工作时,其实是一个能量的不断传递和转化的过程。在能量的传递和转化过程中都会存在一定的损失。由地面系统提供并传入井下的能量,扣除系统自身的各种损耗后,就是系统传给所采液体的有效能量,系统正是靠这部分能量将油水混合物采到地面上的。在这一过程中,地面的拖动电机起着核心作用,它的利用率的高低直接关系开采

13、的成本和效益。但据油田现状,对电机功率的利用率很低,平均不超过30。因此,抽油机的节能问题成为重中之重。人工巡井就存在着一些无法避免的局限甚至缺陷:人工操作的稳定性和准确性较差,工作量大,条件差,投入成本过高,对突发事件不能及时处理,数据采集不及时等。因此,需要设计一套油井系统效率的测试系统1,对抽油机电机的电压、电流及功率因数进行数据采集并分析。1.2 国内外发展现状及研究内容 近年来,我国各油田的工作重心由“产量型”向“经营型”转变嘲,如何降低成本、节能降耗并创造更多的效益成为决策者们信奉的一种理念,各油田部门均在油井系统测试技术上加大了研究力度。目前,主要测量仪表有DZY-便携式抽油机系

14、统效率测试仪(上海华顺电子仪表厂)、BCX综合测试仪(北京电子电器仪表厂)及三相有功电能表、动力仪、回声仪、数字万用表、压力表、秒表等。 据统计,胜利油田和新疆等地油田多使用山东力创科技和北京枫火石油科技两家公司的产品。据油田负责人介绍:此类产品性能较好、出错率相对较低;但价格昂贵、比较笨重、携带不便。因此,课题组到两家公司进行了调研,据厂家介绍:开发初期,产品简陋、功能简单、性能不够稳定,但经过多年的不断努力,现在的技术已趋成熟,产品性能良好,但价格过高,普通的2到3万元左右,性能好的要10万元左右。在国外,不断发展的新技术在油井测试中得到了应用,尤其是电子电气技术的迅速发展,使油井测试技术

15、呈多样性。潜油电泵工频控制系统不断融合先进电子电气技术,目前已经非常完善,测量和历史记录功能越来越强大,不仅能够进行电压、电流的测量,还能进行功率因数和井下各种数据的测量,并且可实现在一定历史时期内电泵的操作情况和工作参数的历史记录。系统加装数据通讯接口,通过无线或有线通讯和上端计算机相连,使遥测遥控和集中自动化管理成为可能。随着传感技术的发展和用户需求的增加,国外近年出现了先进的多功能传感器,如:Phoellix MultiSenSor。它能够对吸入口压力、排出口压力、吸入口温度、电机绕组温度、排出口流量、功率因数、振动泄漏电流等参数进行实时测量,并具有很高的精度。传感器配以功能强大的地面二

16、次仪表,可以对井下机组运行和运转情况、油井参数进行全面有效地监控,结合其它设备可实现系统闭环控制。在美国休斯敦Halliburcon的技术总部,可以通过网络实时管理和监督在埃及和委内瑞拉等世界6个不同地区的钻井及测试工作。实时钻井过程通过网络处理大量的数据,使得测量更加精确,钻井工艺更高效,通过协同的钻井方案和交互钻井程序来提高钻井效率,从而获得最大的经济效益。采用这种钻井监控系统,实现多钻机成批的水平井钻井,用LWD(Loggingwhile-Drilling)2和测量数据以实时方式接入地质模型,实时监测系统使得较全面地进行钻井决策得到贯彻,地面和井下钻井参数的稳定监测,确保了钻井过程的稳定

17、,钻井操作风险降低。目前,国内油井的测试工作仍是以人工巡井和手工抄表为主,而这种人工测试存在以下缺点:随机性大,所测数据误差大;对于突发事件应变能力差;效率低、反馈慢;工作量大,工作环境恶劣;成本高,效益低。为解决上述人工操作的种种弊端,需设计一套油井效率测试系统。目前MCS51单片机技术相对成熟、应用范围广、通用性好、成本低,因此选其作为主控电路的核心部件。存储器拟采用大容量设计,以增加存储量。而系统所测数据,即油井系统效率是标明整个抽油系统工况的重要参数,其中有功功率、无功功率和功率因数则说明所测抽油机系统对整个供电系统的影响,对功率因数进行研究对提高抽油机井效率具有重要的现实意义。提高功

18、率因数,意义如下:提高用电质量,改善设备运行条件,可保证设备在正常条件下工作,有利于安全生产;可节约用电,降低生产成本,减少企业的电费开支;能提高企业用电设备的利用率,充分发挥企业的设备潜力;可减少线路的功率损失,提高电网的输电效率。第2章 数据采集方案设计2.1 测试系统概述系统由三个部分组成,分别是:数据采集部分、单片机控制电路部分、计算机人机界面部分。其中单片机控制电路部分为整个测试仪的核心部分,单片机要实现对硬件电路的控制。在主控电路板上,所有元件在允许范围内要排列紧密,减小电路板的面积,以期减小测试仪的体积,使测试系统尽可能小型化。单片机与计算机连接是通过串行通讯实现的。单片机和计算

19、机两部分的串口是通过标准串行通讯协议连接起来,以供数据传输,而在计算机终端需要编写一个人机界面来实现这一连接,这一界面用Visual Basic 6O程序语言来编写,最终的数据处理以及图形显示都在这一界面里完成。数据采集部分负责将模拟信号采入,转换成较小模拟信号传送给控制电路。由于单片机需要的是数字信号,因此,所采数据还需经过AD转换芯片的转换才能送给单片机。2.2基本思路系统基本设计思路:首先选择合适的电子芯片及相关元件;然后进行控制系统电路设计和外围硬件电路设计;第三步采用汇编语言进行控制软件部分的程序编制;第四步采用Visual BaLsic60语言编写人机界面;第五步利用Protel9

20、9SE绘制电路原理图并购买元器件焊接电路板;第六步进行实验并调试。第3章 硬件系统设计3.1 元器件的选择单片机选择STC89C5l,STC系统单片机具有超强抗干扰性、高抗静电性、较低功耗Power DownO1uA,可外部中断唤醒;这个系列的单片机可以直接在线烧写程序,不需要额外的编程器和下载线,直接通过串口就可以下载程序,下载的电路就是RS232的通信电路。开发方便,而且价格低廉,而且其内核完全兼容51单片机,超强加密。表3-1 ADC0809引脚IN0IN78路模拟输入通道A、B、C模拟通道地址选择线ALE地址锁存信号START启动A/D转换信号D0D7数据输出线OE输出允许信号CLOC

21、K时钟信号EOC转换结束状态信号数据采集选用ADC0809芯片,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式AD转换器,可以和单片机直接接口。由于ADC0809内部没有时钟电路,因此本文选用一个频率发生器为其提供时钟信号,频率发生器选用双D触发器SUN74LS74。存储器选择Atmel公司的AT24C32芯片,它是32K的电可擦写的EEPROM芯片。串行通讯选择常用的MAX232芯片,使用简单方便,加几个电容即可完成单片机与PC机的连接。3.2硬件系统设计3.2.1 系统结构框图 电压 单片机串口数码管EEPROMPC机人机界面电流

22、 ADC0809图3-1 系统结构框图 图3-2 硬件电路3.2.2 供电模块设计本系统是单一电源系统,使用共地电源:+5V,在实验室内可提供两种供电方案:一是使用直流稳压电源,调节出+5V电压为系统供电;另一种方案是考虑到PC机的USB传输接口正是+5V电压,因此可以采用直接用PC机自带的USB接口为系统供电。PC机的USB接口由四根线组成:VCC、D+、D-、GND,本文主要用USB提供电源,因此只用到VCC和GND两根线,焊接时要注意不能错焊到D+或D-引脚上,否则WindowS系统会提示“发现不可识别的设备”。3.2.3 振荡复位电路89C51内部有一个高增益反相放大器,用于构成振荡器

23、,引脚XTALl和XTAL2分别是此放大器的输入端和输出端。在XTALl和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,C1和C2值通常选择为30pF左右;外接陶瓷谐振器时,Cl和C2约为47pF。Cl、C2对频率有微调作用,振荡频率范围是12MHz12MHz。为了减少寄生电容,更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。图3-3 晶振电路和复位电路计算机在启动运行时,都需要复位,使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。复位引脚RST/VPD通过片内一个斯密特触发器(抑

24、制噪声作用)与片内复位电路相连,斯密特触发器的输出在每个机器周期的S5P2由复位电路采样一次。当RST/VPD引脚端保持两个机器周期(24个振荡周期)以上的高电平时,805 1进入复位状态。复位时,ALE和PSEN成输入状态,即ALE=PSEN=l,片内RAM不受复位影响。复位后,PC指向0000H,使单片机从起始地址0000H开始重新执行程序。所以单片机运行出错或进入死循环,可按复位键重新启动。单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。系统出“死机”、“程序跑飞”等现象,主要是单片机的复位电路设计不可靠引起的。单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态

25、,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。复位时必须使RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。本文采用时钟频率为12MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。本文采用按键复位电路。该电路除具有上电复位功能外,若要复位,只需按上图中的RESET键,此时电源VCC在RST端产生复位高电平。单片机复位期间不产生ALE信号,即ALE=1。表

26、明单片机复位期间不会有任何取指操作。复位后PC值为0000H,表明复位后程序从0000H开始执行。SP值为07H,表明堆栈底部在07H,需重新设置SP值。P0-P3口值为FFH,P0-P3口用作输入口时,必须先写入“1”。单片机在复位后,己使P0-P3口每一端线为“1”,为端线用作输入口做好了准备.3.2.4 通讯接口设计单片机与PC机进行通讯是通过串行通讯完成的。串行通讯是CPU与外界交换信息的一种基本通信方式。串行通讯分为同步和异步两种方式,同步通讯没有开始和结束的标志位,因此传输速度高,但这种方式对硬件结构要求较高;异步通讯设有一个起始位“0和一个停止位“1,通讯双方只需按约定的帧格式来

27、发送和接收数据,所以硬件结构比同步通讯方式简单,此外它还能利用校验位检测错误,所以这种通讯方式应用较为广泛。本文选择串行异步通讯,半双工传送方式,无奇偶校验位,即为常见的N81帧格式串行通讯中,每秒传送的数据位称为波特率。本文数据传送的波特率为19200波特,采用N81帧格式(10位),每秒传送字节为1920个,字节中每一位传送时间即为波特率的倒数:t=119200=O52ls。89C51串行口接收和发送缓冲器占用同一个地址99H,其代码亦同样为SBUF。在进行通讯时,在接收时采用双缓冲结构,为避免在接收到第二帧数据之前,CPU未及时响应接收器的前一帧中断请求,没把前一帧数据读走,而造成两帧数

28、据重叠的错误。本文主要采用单片机发送的功能,发送时CPU是主动的,不会产生写重叠问题,因此不需要双缓冲器结构,即可保持最大传送速率。89C51串行口通过编程可设置4种工作方式,本文选择方式1,可通过给串行口控制寄存器SCON赋值实现,由于串行口寄存器SCON可以位寻址,还可直接设置其SM0和SM2两位实现。在单片机与PC机进行通讯时会使用到串行口与PC机的串行口相连接,进行数据的传输或控制命令的发送与接收。单片机的串口有很大一部分是使用TTL电平标准的(PIC的可以直接连接在电脑串口),它的逻辑1电平是5V,逻辑O电平是0V,而电脑串行口所使用的是RS232C的电平标准,它的逻辑1电平是一3V

29、一12V,逻辑0电平是+3V+12V。两者的电平范围相差很远,所以连接时需要用到电平转换电路,使通讯顺利进行。本文采用的芯片是MAX232。在实际应用中,器件对电源噪声很敏感。因此,VCC引脚必须要对地加去耦电容luF。电容C1,C2,C3,C4取同样数值的钽电解电容1F16V,用以提高抗干扰能力,在连接时必须尽量靠近器件。芯片的下半部分为发送和接收部分,Tlin,T2in直接接到单片机的串行发送端TXD;R10ut,R2out直接接到单片机的串行接收端RXD;T1out,T20ut直接接到PC机的RS-232串口接收端RXD,R1in,R2i11直接接到PC机的RS232串口发送端TXD。图

30、3-4 单片机与PC接口电路3.2.5 存储电路设计外围存储器本文选择ATMEL公司AT24C XX系列的AT24C32芯片,AT24C32是电可擦除串行EEPROM存储器,简称I2C总线式串行器件。串行器件不仅占用很少的资源和IO线,而且体积大大缩小,同时具有工作电源宽、抗干扰能力强、功耗低、数据不易丢失(掉电数据不丢失)和支持在线编程等特点。I 2C总线是一种用于IC器件之间连接的二线制总线,它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。采用I 2 C总线标准的单片机或IC器件,

31、其内部不仅有I2 C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,可以减少器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。当串行时钟线SCL为高电平时,串行数据线SDA发生从高电平向低电平的跳变作为总线的起始信号;当串行时钟线SCL为低电平时,串行数据线SDA发生从低电平向高电平的跳变作为总线的停止信号。AT24C32支持I2C总线数据传送协议,I2 C总线协议规定任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器,数据传送是由产生串行

32、时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据发送或接收的模式。在本文中,单片机作为主器件,AT24C32作为从器件,在写操作时,单片机是发送器,AT24C32是接收器;读操作时,AT24C32是发送器,单片机为接收器。主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址,8位从器件地址的高4位固定为1010,接下来的3位A2、Al、A0是AT24C32作为器件被主器件寻址时的地址引脚,对于单总线系统最多可寻址8片AT24C32器件,当这些引脚没有连接时其默认值为0。地址指令的最低位是读写操作的控制位,为l时表示对从器件

33、进行读操作,为O时表示对从器件进行写操作。在主器件发送起始信号和从器件地址字节后,AT24C32监视总线将地址与从器件地址相比较,相符时响应一个应答,信号通过SDA线再根据读写控制位的状态进行读或写操作。WP引脚为写保护引脚,当引脚连接到VCC时,所有内存变成写保护,只能读不能写;当引脚连接到VSS或悬空时,允许器件进行读或写操作。写保护操作特性可使用户避免由于不当操作,而造成对存储区域内部数据的改写。当WP管脚接高电平时,AT24C32可以接收从器件地址和字节地址,但是在接收到第一个数据字节后不发送应答信号,从而避免寄存器区域被编程改写。AT24C32容量为32K,即4096字节(每个字节为

34、8位),地址空间为0000H0FFFH,芯片内部划分为128页,每页32字节,可以按字节写入,也可以按页写入数据,芯片自带32字节的页缓冲器。当AT24C32在字节写模式下,主器件发送起始信号和从器件地址信息,读写控制位置O给从器件,在从器件送回应答信号后,主器件发送两个8位地址字节写入AT24C32的地址指针,主器件在收到从器件的应答信号后,再发送数据到被寻址的存储单元,AT24C32再次应答并在主器件产生停止信号后,开始内部数据的擦写。写周期是指从一个写时序的有效停止信号到内部编程、擦除周期结束的这一段时间,在写周期期间总线接口电路禁能,SDA保持高电平,器件不再应答主器件的任何请求当AT

35、24C32在页写模式下,单个写周期内AT24C32最多可以写入32个字节数据,页写操作的启动和字节写模式一样,不同在于传送了一字节数据后,主器件允许继续发送31个字节,每发送一个字节后,AT24C32将响应一个应答位。如果主器件在发送停止信号之前发送大于32个字节的数据,地址计数器将自动翻转,先前写入的数据将被覆盖。当所有32字节接收完毕,主器件发送停止信号,内部编程周期开始,此时所有接收到的数据在单个写周期内写入AT24C32。I2 C总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号,应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据。同样,AT24

36、C32在接收到起始信号和从器件地址之后,会响应一个应答信号,如果主器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。当AT24C32工作于读模式时,在发送一个8位数据后释放SDA线,并监视一个应答信号,一旦接收到应答信号,AT24C32继续发送数据,如主器件没有发送应答信号,器件停止传送数据并等待一个停止信号,主器件必须发送一个停止信号给AT24C32,使其进入备用电源模式,并使器件处于已知的状态。AT24C32的读操作的初始化方式和写操作时相同,仅把读写控制位置1即可。读操作有三种不同的读操作方式:立即当前地址读、选择随机读和连续读。本文采用连续读方式,连续读操作可通过立即读或

37、选择性读操作方式启动,本文采用选择随机读操作方式启动,首先主器件发送起始信号和从器件地址,再发送要读取的字节数据的地址执行一个伪写操作,在AT24C32应答之后,主器件重新发送起始信号和从器件地址,此时读写控制位置l,AT24C32响应并发送应答信号,然后输出所要求的一个8位字节数据,在AT24C32发送完一个8位字节数据后,主器件产生一个应答信号来响应告知AT24C32,主器件要求更多的数据,对应每个主器件产生的应答信号,AT24C32将发送一个8位数据字节,当主器件不发送应答信号而发送停止信号时结束此操作。从AT24C32输出的数据按顺序由N到N+1输出,读操作时,地址计数器在AT24C3

38、2整个地址内增加,这样整个寄存器区域可在一个读操作内全部读出,当读取的字节超过E(对于AT24C32,E=4095),计数器将翻转到零并继续输出数据字节。本文扩展了两片AT24C32串行EEPROM芯片,T2片器件地址为000,将其地址引脚A2、A1、A0均接地,T1片器件地址为001,将其高位A2、A1接地,低位A0接到VCC处。SDA和SCL均为漏极开路端,使用时需要和正电源间各接一个51K的上拉电阻。图3-5 扩展存储器电路3.2.6显示电路设计LED数码管具有耗电省、成本低廉、配置灵活、线路简单、安装方便、耐振动、寿命长等众多优点,因此,为方便观察和监视单片机的运行情况,通常把数码管作

39、为单片机的输出设备,用来显示单片机的键输入值、中间信息及运算结果等。数码管通常有共阴极和共阳极两种结构接法,本文采用共阴极结构,数码管的发光二极管阴极共地,阳极为高电平时点亮。结构如下图:LED数码管有静态显示和动态显示两种方式。静态显示方式,每一位字段码分别从IO控制口输出,保持不变直至CPU刷新。编程较简单,但占用IO口线多,一般适用于显示位数较少的场合;动态显示方式,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位同时稳定显示。占用IO端线少,电路较简单,编程较复杂,CPU要定时扫描刷新显示。一般适用于显示位数较多的场合。本文采用动态显示方式。本文采用两

40、个4位一体LED数码管,8根字段引脚不变,另多设4根位选引脚S1、S2、S3、S4,分别控制由低到高的4位数字的选通信号。本文选用共阴极结构。数码管动态显示是难点,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通S端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的S端,就使各个数码管轮流受控显示,即动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,

41、给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的IO端口,而且功耗更低。3.2.7 数据采集电路由于ADC0809模数转换器是以电压作为参考信号,因此可以直接采集电压信号,本文选用一个电位器提供变化的输入电压;而采集电流时,则需要将电流转化为电压后再采集,本文电流由直流电源提供,串接一只200电阻,再将输入通道对地接一只200电阻后,将电流信号转化为电压信号输入ADC0809转换器。STC89C5l单片机控制ADC0809采集模拟量电压和电流,并转换为数字量后,将转换后的数字量存储到两片EEPROM存储器AT24C32中。8位LED数码管显示器是

42、为数据采集提供实时显示功能。在数据传输时,由STC89C51控制从AT24C32中读出数据,MAX232电平转换后传送到PC机中,PC机部分由VB人机界面接收数据。模拟电压和模拟电流分别接入到ADC0809的模拟输入通道IN0和INl,通道地址ABC代码分别为“000”和“001,由于地址高位ADDC和ADDB均为0,因此为节约单片机IO口资源,将ADC0809的ADDC和ADDB两个引脚接地,只留下ADDA引脚接到单片机的P3口,以供在选择通道时提供“切换开关。ADC0809内部没有时钟电路,故电路中将单片机的ALE引脚输出的2MHz频率,通过一个2D触发器SUN74LS74四分频后,送给A

43、DC0809的时钟引脚。在采集转换时,单片机给ADC0809的START和ALE引脚一个脉冲,在上升沿进行地址锁存和寄存器清“O,在下降沿启动A/D转换,转换结束后,通过AT24C32的串行数据线SDA和串行时钟线SCL的配合将数据存入到EEPROM中第4章 软件系统设计41软件开发Visual BaSic 6O开发环境Visual BaSic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。用户可以轻松的使用VB提供的组件快速建立一

44、个应用程序。因此,VB是开发人机对话界面的首选工具。42数据采集程序本文A/D转换器选用ADC0809芯片,8路模拟信号的分时采集,片内有8路模拟选通开关,转换时间为100us左右。ADC0809与单片机的接口有很多种方式,本文选择将ALE信号与START信号接在一起,然后共同接到单片机的一个IO口,这样可以节约资源,而且使用方便。这种连接方式使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。本文用80C5l汇编语言编写数据采集程序,编程思想如下:(1)将模拟电压和电流信号分别送入ADC0809的IN0和INl通道,两路通道的地址分别为“000”和“001”,由于ADDC和ADD

45、B都已接地,因此两路通道只须通过切换ADDA即可。在程序初始化时,先将ADDA置为“0”,每次采集结束时都将ADDA位取反一次,这样实现了通道的切换;(2)通过单片机STC89C51给ADC0809的START引脚送出一个正脉冲启动AD转换;(3)单片机发送启动AD转换信号之后,循环等待并检测ADC0809的EoC引脚,本实验将EOC接在单片机的P32引脚,通过查询P32位的电平是否跳变判断AD转换是否结束,如果P32位为“0”,则继续循环等待;(4)若P32位跳变为1,则表示转换结束,依次将所采数据送入预先定义好的缓存区内。由于要区别电压数字量和电流数字量,而且系统扩展的片外存储器切换方便,

46、因此在编程时考虑将先采到的电压量送到地址代码为“000”的AT24C32中,将后采到的电流量送到地址代码为“001”的AT24C32中;(5)当数据存满时,命令LED数码管闪烁提示,并且停止采集,否则,当数据存满时,即AT24C32的地址计数器计到4095时,它会自动返回0000H地址继续存储会将已经保存的数据覆盖。如果未存满,则延时后继续启动AD转换。本文采集实验中数码管显示部分程序采用定时器TO中断方式实现。在程序初始化时,为TO计数器赋初值:#OF060H,即十进制数61536,因此定时时间6553661536=4000微秒,即4毫秒。在进入中断子程序TOX后,再次为T0计数器赋初值拌#

47、OF060H,以备下一次中断使用。中断服务由两部分组成,一部分是数码管字形选择部分,负责将主程序已经分离好的采集数据的每一位送到累加器ACC中,再经由MOVC A,A+DPTR查表指令将每一位所对应的字形码返回给累加器,最终送至P0口,即数码管的字形端引脚处;第二部分是数码管位选部分,负责将欲显示的位段码经由MOVC A,A+DPTR查表指令返回给累加器后,送至P2口,即数码管的位选段引脚处。开始初始化启动A/D转换N循环等待转换完毕Y切换通道数据转存 Y是否满存数码管闪烁N 图4-1 数据采集程序流程图43通信软件设计通信软件的设计包括下位机和上位机通信程序设计两部分。下位机为单片机,用于采集、存储数据,在接到指令后将数据发送给上位机,数据采集、存储及发送程序均由80C51汇编语言编写;上位机为PC机,用于接收数据,并将数据存储至硬盘中,数据处理及曲线的显示均在此部分完成,所需程序选用visual Basic 60语言编写

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号