基于AT89S8252排污远程监测系统.doc_第1页
基于AT89S8252排污远程监测系统.doc_第2页
基于AT89S8252排污远程监测系统.doc_第3页
基于AT89S8252排污远程监测系统.doc_第4页
基于AT89S8252排污远程监测系统.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

基于AT89S8252排污远程监测系统 学校代码:10410 序 号:20050273本 科 毕 业 设 计 题目: 基于AT89S8252排污远程监测系统 学 院: 工 学 院 姓 名: 凌 国 华 学 号: 20050273 专 业: 电子信息工程 年 级: 2005 指导教师: 潘 玉 竹 二O 一 O 年 五 月2摘 要 介绍一种基于单片机AT89S8252与PSTN通信接口电路组成的远程监测系统,该系统具有可视化、安全、高效等特点。选用具有复位功能和看门狗定时器的MAX232,提供单片机的稳定性和抗干扰能力,保障了系统的可靠运行。通过上、下位机主从结构设计,从而实现定时和随机两种方式对工业排放废气参数的有效远程监控,为环保质量检测部门对工业排污提供了一种有实际应用价值的检测系统。关键词:远程监控,AT89S8252,PSTN,接口电路 Remote Monitoring System of Wastvapor Based On AT89S8252Abstract : In the paper, a kind of remote monitoring system was made up of MCU AT89S8252 and interface is introduced, the system has characteristics of visualize, safe and reliable, Using MAX232 can restore to the position and has watch dog timer function to improve the stability. The system has been ensured normal running. It is designed by above-vice construct; the wastvapor of industry can be checked by the manners of setting timer and freedom. The monitoring system has reality facility Keywords: remote monitoring; AT89S8252 ; PSTN ; interface circuit目 录摘 要2目录4第一章 概述51.1 引言6第二章 芯片的介绍62.1 AT89S8252高性能8位单片机62.1.1 AT89S8252功能特性72.2 AD770582.2.1 AD7705各引脚功能92.3 MAX813L102.3.1 MAX813L引脚功能介绍102.3.2 MAX813L工作原理11第三章 系统的功能与设计要求12第四章 远程监测系统下位机的硬件设计124.1 下位机的硬件设计124.2 CPU模块设计134.3 人机界面设计144.4 模拟量输入通道的设计154.5 MODEM通信接口设计15第五章 远程监测系统下位机的软件设计165.1 下位机的软件框架175.2 软件主模块设计175.3 基于软硬件看门狗的容错性设计18第六章 结 论20第七章 参 考 文 献21第八章 致 谢22第九章 附 件239.1电路原理图239.2 源程序24第一章 概述 随着微电子技术和通信技术的飞速发展,计算机应用技术日益渗透到社会生产生活的各个领域,在这一过程中,单片机起到了举足轻重的作用,远程监测和远程控制得到了广泛的应用。例如大型设备的故障远程诊断,典型的如席梦思床垫衍缝机远程故障诊断系统;无人职守设备的状态远程监测,典型的如移动通信基站电源的电压、电流及环境温度参数的远程监测系统;远程控制,如工业废水的集污及排污控制系统;远程智能家电,如具有远程控制能力的空调,可以通过电话或因特网远程控制空调的开启与关闭、设定温度等。 远程监测系统通常采用上下位拓扑结构,而且下位机经常为无人职守形式,因此下位机的可靠运行显得非常重要。由于干扰、部分模块失效或软件非逻辑性死循环等原因引起的下位机瘫痪,最终以无法与上位机正常通信的形式集中显现出来。远程监测系统中通信采用的物理链路有:现场总线形式,如CAN、RS-422/485等;Internet形式;PSTN(公用电话网)形式。现场总线形式受通信距离的约束,其远程能力有限,例如:第一种形式,CAN总线的直接通信距离最大为10km(当速率在5kbps以下时),第二和第三两种形式,虽在距离上没有限制,但对硬件的要求和实现途径各不相同。从目前的技术条件及从通信距离、实时性、可靠性与安全性等诸多方面的综合评价,就远程数据通信来说,基于公用电话网的MODEM串行通信的方法更合适些。本系统就是采用公用电话网的远程监测系统。其拓扑结构如图1上位机MODEMMODEMMMODEM下位机1下位机i公用电话网 图1 基于公用电话网的远程监测系统1.1 引言人们对环境问题日益关注,环境监测成为国家环境保护系统进行环境管理工作重要基础。我国环境保护工作已逐步形成了一系列强化管理制度,要求环境监测必须为环境管理服务,为环境管理提供技术支持、技术监督和技术服务。环境监测要做好浓度控制监测,要进一步开拓污染物总量控制监测;完成城市环境监测同时,要逐步开拓生态环境监测。,环境监测数据重要性正日益引起各方面共同关注。 环境监测对象具有成分复杂,随机多变,时间、空间、量级上分布广泛,不易准确测量等特点。,环境监测是包含环境监测数据正确可靠全部活动和措施,环境监测中要求监测数据具有代表性、完整性、准确性、精密性和可比性,所有这一切,给环境监测部门提出了一个重要问题:如何建立起实用性强、覆盖面广、灵活性好环保数据采集系统,满足各方面对环境监测信息需求。随着微电子技术和通信技术的发展,远程监测和远程控制得到了广泛应用,如今工业发展的之迅速,对环保部门提出了更大的挑战,因此,工业废气的排放是否达到国家环保局的要求,需要实施远程监测和控制系统,系统采用上、下位拓扑结构,通信采用物理链路PSTN形式来实现远程监测、检测。 第二章 芯片的介绍2.1 AT89S8252高性能8位单片机AT89S8252是一个低电压,高性能COMS8位单片机,片内含8KB的可反复擦写的只读程序存储器和256B的随机存取数据存储器(RAM),SPI串行口用于编程向下装载,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器和Flash存储单元,功能强大的AT89S8252单片机可为您提供许多较复杂系统控制应用场合。AT89S8252有40个引脚,32个外部双向输入/输出(I/0)端口,9个中断源,内含2个外中断口,3个16位可编程定时/计数器,可编程URAT串行通信口,SPI串行口,AT89S8252可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89S8252有PDIP、TQFP及PLCC等三种封装形式,以适应不同应用系统的需求。2.1.1 AT89S8252功能特性l 兼容MCS-51指令系统l 32个双向I/O口l 3个16位可编程定时/计数器中断l SPI串行口l 2个外部中断源l 2个读写中断口线l 低功耗空闲和掉电功能l 8KB可反复擦写(1000次)Flash ROMl 2568bit内部RAMl 全静态操作0HZ24MHZl 4.06.0V工作电压范围l 可编程UART串行通道l 3级加密位l 两种软件设置睡眠和唤醒功能AT89S8252引脚排列如图2 图2 2.2 AD7705AD7705是应用于低频测量的2通道的模拟前端。该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。利用-转换技术实现了16位无丢失代码性能。选定的输入信号被送到一个基于模拟调制器的输出信号。选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。片内数字滤波器处理调制器的输出信号。通过片内控制寄存器可调节滤波器的截止点和输出更新速率,从而对数字滤波器的第一个陷波进行编程。AD7705只需2.73.3V或4.755.25V单电源。AD7705是双通道全差分模拟输入,一个差分基准输入,当电源电压为5V,基准电压为2.5V时,这种器件可将输入信号范围从0+20mV到0+2.5V的信号进行处理。AD7705是以AIN(-)输入端为参考点,当电源电压为3V,基准电压为1.225V时,可处理0+10mV到0+1.225的单极性输入信号,它的双极性输入信号范围是10mV到1.225mV,因此,AD7705可以实现2通道系统所有信号的调理和转换。AD7705是用于智能系统、微控制器系统和基于DSP系统的理想产品,其串行接口可配置为三线接口,增益值、信号极性以及更新速率的选择可用串行输入口由软件来设置,该器件还包括自校准和系统校准选项、以消除器件本身或系统的增益和偏移误差。COMS结构确保器件具有极低功耗、掉电模式减少等待时的功耗至20W典型值,AD7705采用16脚0.3英寸宽,塑料双列直插(DIP)和16脚宽体(0.3英寸)SOIC封装和16脚TSSOP封装。AD7705引脚排列如图3 图3 2.2.1 AD7705各引脚功能SCLK:串行接口时钟输入端。MCLK IN:芯片工作时钟输入。可以是晶振或外部时钟,其频率范围为500kHz 到5MHz。MCLK OUT:时钟信号输出。当用晶振作为芯片的工作时钟时, 晶振必须接在MCLK IN 和MCLK OUT之间。如果采用外部时钟,则MCLKOUT可用于输出反相时钟信号, 以作为其他芯片的时钟源。该时钟输出可以通过编程来关闭。CS:片选端,低电平有效。RESET: 芯片复位端口。当该端为低电平时,AD7705 芯片内的接口逻辑、自校准、数据滤波器等均为上电状态。AIN1( + ) ,AIN1( - ) :分别为第1 个差分输入通道的正端与负端。AIN2( + ) ,AIN2( - ) :分别为第2 个差分输入通道的正端与负端。REF IN( + ) ,REF IN( - ) :分别为参考电压的正端与负端。DIN:串行数据输入端。DOUT:转换结果输出端。DRDY:A/D 转换结束标志。2.2.2 AD7705的工作原理 AD7705是比较典型的一种16位A/D转换芯片。 AD7705芯片是带有自校正功能的-于A/D转换器。其内部由多路模拟开关、缓冲器、可编程增益放大器(PGA)、-调制器、数字滤波器、基准电压输入、时钟电路及串行接口组成。其中串行接口包括寄存器组,它由通讯寄存器、设置寄存器、时钟寄存器、数据输出寄存器、零点校正寄存器和满程校正寄存器等组成。 AD7705的PGA可通过指令设定,对不同幅度的输入信号实现1、2、4、8、16、32、64和128倍的放大,因此AD7705芯片既可接受从传感器送来的低电平输入信号,亦可接受高电平(10V)信号,它运用技术实现16位无误码性能;它的输出速度同样可由指令设定,范围由 20Hz到500Hz;它能够通过指令设定对零点和满程进行校正;AD7705与微处理器的数据传送通过串行方式进行,采用了节省端口线的通讯方式,最少只占用控制机的两条端口线。2.3 MAX813LMAX813L是看门狗芯片,在上电、掉电期间及在电压降低的情况下可产生一个复位信号。MAX813L芯片具有以下特点:l 加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为200ms。l 独立的看门狗输出,如果看门狗输入在1.6s内未被触发,其输出将变为高电平。l 1.25V门限值检测器,用于电源故障报警、电池低电压检测或+5V以外的电源监控。l 低电平有效的手动复位输入。MAX813L芯片引脚排列如下图 图4 MAX813L引脚排列图2.3.1 MAX813L引脚功能介绍l 手动复位输入端(MR),当该端输入低电平保持140ms以上时,MAX813L就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关的抖动。l 工作电源(VCC):接+5V电源l 电源接地端(GND):接0V参考电平l 电源故障输入端(PFI)。当该端输入低于1.25V时,5号引脚输出端的信号由高电平变为低电平l 电源故障输出端(PFO).电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。看门狗信号输入端(WDI).程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6s该输入端收不到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。l 复位信号输出端(RST)。上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。l 看门狗信号输出端(WDO).正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。2.3.2 MAX813L工作原理 MAX813L实质上是一个可使微处理器复位或产生中断请求的定时器,使其输出端与微处理器的复位端相连。这样就形成了硬件“看门狗”,用“看门狗”监视程序的运行,工作原理如下:应用程序开始工作时,对MAX813L芯片的输入端WDI输入一个正脉冲,对MAX813L芯片内部定时器开始计时,倘若在计时时间内监控电路MAX813L的输入端不再出现脉冲信号,则定时器在一个规定的时间TW后(MAX813L的TW=1.6s), MAX813L的输出端将由低电平变为高电平并保持足够大的时间(200ms)。若在定时时间内,监控电路MAX813L的输入端不再有正脉冲输入,则芯片内部的定时器将被清零并重新开始计时。若在MAX813L芯片的输入端以小于规定时间TW周期性地出现脉冲信号,则MAX813L芯片内部定时器周期性被刷新,从而使定时永远达不到规定时间,MAX813L芯片的输出端一直保持低电平。MAX813L输入端的周期信号由应用程序产生,这样在程序正常运行过程中,使MAX813L的输入端有一周期小于TW的脉冲序列输入,MAX813L输出端始终为低电平;当应用程序受到干扰而出现死循环不再正常运行时,MAX813L的输入端不再出现脉冲序列,或者即将出现,其周期也可能大于TW,这样就使MAX813L的输出端输出一个高电平信号,使系统重新复位,重新进行初始化,恢复正常运行,从而保证系统可靠地工作。第三章 系统的功能与设计要求本远程监测系统是空气质量参数的远程测量,被测参数包括NO2、SO2两路模拟量及四路开关量,要求能按定时和随机两种方式完成上述参数的测量并传送至上位系统;上、下位系统的距离不应受限制;系统具有自我恢复能力,真正实现远程无人职守。本系统采用上、下位主从结构设计,上位机为主叫方,下位机为被叫方,上位机以定时巡检或随机抽检两种方式远程获取各种下位机(子站)采集到空气质量数据,根据国家环保总局有关空气质量检测的要求编制周报,日报等;下位机(即子站)分布在城市的各检测点,负责采集空气质量数据,主要是二氧化氮(NO2),二氧化硫(SO2)含量,具有自检、自动稳零等功能,自动应答上位机呼叫并上传数据。第四章 远程监测系统下位机的硬件设计系统硬件设计的关键是基于PSTN通信接口电路,模拟信号采样电路及满足无人职守要求的下位机控制电路。4.1 下位机的硬件设计按照功能规划和系统设计要求,确定本系统的硬件框架如图5所示 162字符液晶显示系统电源5V9VAD7705模/数转换RS-232AT89S8252开关量输入电路MODEM复位等外围电路 图5 硬件框架图在图5中,微处理器采用AT89S8252,是基于以下原因:(1)内部含有看门狗定时器(WDT),能满足系统无人职守条件下自恢复运行和监视系统运行状态的要求。(2)片内带8KB的FLASH程序存储器和2KB的E2PROM数据存储器,不需要进行存储器扩展,有利于提高系统的稳定性。(3)电源电压范围宽,4.0-6.0V的工作电压,能在一定程度上抵御电源的波动干扰,降低对电源的要求,有利于远程控制的实现。由于系统的显示量大,同时从实现的方便性和经济性考虑,采用162字符液晶模块作为显示界面,同时降低系统功率消耗,满足系统长期连续不间断工作的条件。系统电源要同时MODEM和主控系统所有模块进行供电,外置有线MODEM的供电电压一般为+9V,系统主控线路和所有外围模块的电源电压采用+5V。前者采用抗过压、过流的线性电源,既满足系统野外工作的高可靠性要求和模拟电路对电源波纹的要求,同时又满足有线MODEM抗雷击的要求。由于9V与5V两者的压差为4V,因此完全可以采用ST7805简单地从+9V得到+5V,需要注意的是,必须为该芯片提供充裕的散热条件,保证连续工作需要。4.2 CPU模块设计 基于AT89S8252微处理器的CPU模块设计如图6所示。 在图中,为了适应LCD液晶显示模块的接口需要,在P0数据地址复用总线口上扩展了U3(74HC373)作为低8位地址锁存器,产生LCD模块读写所需驱动信号的输入信号A0,A1.在图6中LCDIN为液晶模块地址选择口线。系统采用MAX813L实现复位需要,由S1实现手动复位(主要用于调试期间的复位)。由此实现的复位电路具有电源电压监视能力,即当电源电压低于4.65V时产生高电平复位信号;同时也具有上电复位能力。由于AT89S8252内部含WDT,并且不需要额外的喂狗信号,从减少口线占有考虑,放弃使用MAX813L内含的WDT.在图6中,CZ2为四路开关量输入口,CZ8为功能扩展预留口。从图中可知,系统的主频为6MHZ,一方面保证满足系统对时间的要求,同时也考虑了可靠性的要求,即适当降低速度以提高抗干扰能力。图中,ADSCK,ADIO及ADRDY为模数转换接口信号;MODEM作为MODEM电源控制信号,LED为系统指示灯控制信号 图6 CPU模块电路图4.3 人机界面设计 本系统中人机界面主要是显示界面,因为是远程控制系统,因此下位机没有设计按键按钮电路。显示界面采用HD44780兼容的162液晶显示模块。具体接口电路如图7所示 图7 LCD模块接口电路图接口设计,由LCDIN、WR和RD组合产生液晶模块的使能信号LCD,A0为读写选择信号(R/W),A1为寄存器选择信号(RS)。4.4模拟量输入通道的设计本系统需采集的参数变化缓慢,对转换速度要求不高,采用周期也没有特殊要求,因此选用AD7705模数转换接口芯片。AD7705是AD公司新推出的16位式A/D转换器。器件包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、式调制器及可编程数字滤波器等部件,能直接将传感器量测到的多路微小信号进行A/D转换。这种器件还具有高分辨率,宽动态范围,自校准、优良的抗噪性能,以及低电压,低功耗等特点,非常适合仪表测量、工业控制等领域的应用。它采用三线串行接口,能大大节省微处理器的口线,有两个全差分输入通道,可满足系统对通道的要求,能达到0.003%非线性的16位无误码数据输出,其增益和数据输出更新率均可编程设定,还可选择输入模拟缓冲器,以及自校准和系统校准方式,其工作电压为3V或5V。3V电压时,最大功耗为1mW,等待模式下电源电流仅为8uA,是一种低功耗器件。鉴于上述考虑,模拟量输入通道的设计如图8所示 图8 基于AD7705的模拟通道两路模拟信号通过CON4输入AD7705的两个通道,从保证转换精度和稳定性方面考虑,AD7705不是直接取自电源电压,而是通过电压基准源芯片MC1403产生,其2脚输出的基准电压为2.50V,实测电压精度可达到0.1%。基准输出端并接的滤波电容应选用钽电容和CBB电容,以确保稳定度和噪声方面的要求。为使用50HZ工频的特点,提高A/D对其的抗干扰能力,A/D晶振频率选用芯片规定的2.4576MHZ,输出更新率为50HZ.从图中可以看出,AD7705的数据输入/输出口线并接后与微处理器的某一口线相接,节省了一条口线,R8为上拉电阻。4.5 MODEM通信接口设计远程控制系统的关键模块是通信模块,基于PSTN远程系统的关键则是调制解调器(MODEM)通信接口模块,本系统的MODEM接口设计如图9所示MAX232作为TTL-RS-232电平转换芯片,是微处理器与MODEM之间的接口电路,51系列微处理器虽然有串行输入/输出口,但不具有RTS、CTS、DTR等标准接口握手信号线,考虑到下位机与上位机的通信量一半并不大,所以在连接时采用了简单的“三线式” ,即只通过TXD、RXD和地线GND进行连接,同时对其他信号做以下处理:(1)7(RTS),8(CTS),1(CD)等三信号线短接(2)6(DSR),4(DTR)等两信号短接从图中可知,RS232的接线端与连MODEM的DB9(即图中CZ2)的第二脚(接收端)相连,发送端与DB9的第三脚(发送脚)相连,通过软件的设置与处理,实现“三线式” 远程通信。在接口电路设计中,引入了MODEM电源控制电路,即下位机每次响应呼叫并正确发送数据后,由看门狗自动实施下位机系统整体复位,对MODEM的复位时通过电源的上电来实现的,因为MODEM可能无法响应微处理器传来的复位命令。对应电源的开、关控制,可以采用对阴、阳极同时实施开关控制。前提是必须选用双刀双掷继电器,由于调整解调器的供电功率一般在9W以下,因此采用OMRON G5V-2小型继电器。该继电器可靠性高,负载能力为2A/30V(DC),工作电压为5V,与5V微处理器系统接口简单。 图9 MODEM通信接口第五章 远程监测系统下位机的软件设计 基于“三线式”的MODEM通信接口程序,关键是软件握手信号的处理;模拟/数字接口程序,关键是AD7705的初始化和双通道的切换;主模块框架的构架,关键是微处理器资源的合理分配和使用;适应无人职守的系统可靠性设计,关键是软硬件看门狗的应用。5.1 下位机的软件框架 根据上述的要求,整个下位机系统的软件框架如图10所示软件与硬件看门 狗主程序模块通信模块A/D转换显示模块图10 下位机系统的软件框架图在图8中,主程序模块、通信模块、A/D转换模块及显示模块为独立模块,主程序模块为核心,管理其他3个模块,这4个模块均为实模块;而软件与硬件看门狗模块为虚模块,它以适当的形式和适当的时机存在于主模块和MODEM通信模块中,其作用就是监视系统的运行状态,以防通信死锁等意外情况导致下位机瘫痪,实现下位机在软故障条件下的自恢复。5.2 软件主模块设计软件主模块是管理模块,设计应考虑以下因素:(1) 系统资源的合理利用,例如中断资源,内部存储器和寄存器资源(2) 在实现功能的前提下,保证程序的简化和优化,减少调试工作量。主模块首先要考虑的是A/D转换与通信之间的关系问题,其次是各模块的层次问题,最后是看门狗在各种模块中的嵌入问题。主模块设计流程如图11所示关MODEM的电源延时2s以保证MODEM断电MODEM再次上电强制复位设置看门狗定时器周期为2048ms并串行口中断以便对微处理器进行初始化延时等待外围电路复位(初始化)完成液晶模块初始化显示初始屏幕开串口中断以便对MODEM进行初始化并接收接收数据环形缓冲区清零(初始化)喂狗读取第一通道读取第二通道读取开关量状态显示刷新将数据发送到上机等待看门狗溢出复位有振铃吗?图11 主模块程序流程图5.3 基于软硬件看门狗的容错性设计远程监测系统多为无人职守形式,由于干扰、系统自身原因及操作不当引起的工作失常,通常通过程序“跑飞”显现出来,最终使得系统死机。如公用电话网中的用户非法拨号呼叫下位机,下位机产生的自动应答、等待载波反应可能会导致通信死锁;上、下位机正常通信过程中由于“掉线”引起的通信中断,也可能会导致下位机因不断等待而陷入死锁;同样,在主控系统对MODEM等外围设备的初始化过程中会出现以外的失败而引起无限制等待,导致上、下位系统无法建立正常的通信链路。这些都归咎于下位机中软硬件的避错、容错能力。看门狗的本质是监视定时器,可以由软件和硬件来实现,但纯软件和纯硬件各有局限性。软件看门狗往往借助于处理器内部的定时器来实现,一旦程序“跑飞”或中断允许寄存器信息被以外改写,可能会使得定时器不能正常溢出中断而失效;硬件看门狗的定时周期往往固定,缺乏灵活性,对于运行周期不固定的应用来说,实现简洁而有效地“喂狗”有时会比较困难。如果将溢出定时器、预埋计数器等软件看门狗技术与MAX813L等硬件看门狗技术有机结合起来,则可以完美解决下位机非器件失效引起的瘫痪问题。第六章 结 论随着当前信息时代的飞速发展及新型单片机技术在控制领域的发展和应用的拓宽。远程监测在工业管理也得到了实际应用,本系统设计提供了一种监控应用系统,并将其应用到地区之间的管理系统中,实现了监测的数据共享,为环保部门提供一种新型,可视化,高效的远程监测与管理系统。我所做的是基于AT89S8252排污远程监测系统设计,从开学我就开始精心的准备,到现在顺利完成并达到预期的目的,心里感到非常的高兴。从题目刚拿到手的时候,心里非常的荒,真的不知道从何下手,通过和老师的沟通及在老师的帮助下,自己去图书馆和网上找相关的资料和书籍,才使我顺利的完成。通过这次毕业设计,使我对单片机有了更深刻的认识,从理论和实践上都得到了很大的提高,所以这次设计的完成使我学到了很多的东西。首先,丰富了自己的知识面,学到了以前没有学到的东西,。从毕业设计中,学到了单片机AT89S8252的内部结构及其工作原理,了解了时钟电路和控制电路的工作原理,还有看门狗芯片MAX813L和模数转化AD7705的应用,同时也巩固了C语言的使用能力,提高了自己动手的能力,学到了很多经验,并且提高了自己分析问题的能力和创新能力,得到了理论联系实际的机会,做出了成果。使自己在硬件设计方面树立了信心,为以后从事这方面的工作打下了良好的基础,这也是这次毕业设计的最大收获。 在潘老师的细心指导下,我才知道我要怎么开始做,自己开始动手找一些资料,了解单片机AT89S8252、LCD液晶显示的有关知识,学习时钟电路、控制电路的设计原理,看不懂和不会的地方就去问老师、同学,当这些都搞得比较明白后就开始画设计流程图和电路原理图,最后用了很长时间才画出自己的电路图,给老师看后,在老师的帮助下,改正了还几处错误后。接下来的工作一切顺利,在老师和同学的帮助下,都一一完成。第七章 参 考 文 献1彭为,黄科,雷道仲主编.单片机典型系统设计.北京:电子工业出版社,20062沈红卫主编, 基于单片机的智能系统设计与实现,北京:电子工业出版社,20053武汉力源电子股份有限公司。AD7705中文数据手册,1990年10月4徐晓,罗剑,基于AT89S8252排污远程监测系统.现代电子技术,2008.23:117-1195郭强.显示应用技术,北京:电子工业出版社,20006胡乾斌,李光斌.单片微型计算机原理与应用,武汉:华东科技大学出版社,2000第八章 致 谢走的最快的总是时间,来不及感叹,大学生活已近尾声,五年多的努力与付出,随着本次论文的完成,将要划下完美的句号。从课题选择到具体的写作过程,无不凝聚着老师的心血和汗水。老师要指导很多同学的论文,加上本来就有的教学任务和科研项目,工作量之大可想而知,她还在百忙之中抽出大量的时间来指导我们。她的循循善诱的教导和不拘一格的思路给予我无尽的启迪,她的渊博的专业知识,精益求精的工作作风,严以律己、宽以待人的崇高风范,将一直是我工作、学习中的榜样。在我的毕业论文写作期间,老师为我提供了种种专业知识上的指导和一些富于创造性的建议,没有这样的帮助和关怀,我不会这么顺利的完成毕业论文。在此向潘玉竹老师表示深深的感谢和崇高的敬意。同时,论文的顺利完成,离不开其它各位老师、同学和朋友的关心和帮助。在整个的论文写作中,各位老师、同学和朋友积极的帮助我查资料和提供有利于论文写作的建议和意见,在他们的帮助下,论文得以不断的完善,最终帮助我完整的写完了整个论文。再次感谢潘玉竹老师,她严谨细致,一丝不苟的作风将会是我往后工作、学习中的榜样。最后,也是最重要的,我要感谢我的父母,因为没有他们,就没有现在站在这里的我,是他们给以我生命,给以我大学的机会,是他们创就今天的我。对于你们,我充满无限的感激。第九章 附 件9.1电路原理图9.2 源程序#include “string.h”#include #include #include “intrins.h”#define TRUE 1#define FALSE 0#define uchar unsigned char#define uint unsigned int/*液晶口地址定义*/#define LCDCOM_R XBYTE0x7f01#define LCDCOM_W XBYTE0x7f00#define LCDDATA_R XBYTE0x7f03#define LCDDATA_W XBYTE0x7f02/*液晶忙标志位*/sbit BF=ACC7;/*输入/输出引脚定义*/sbit LED = P16 ; /*发光指示控制*/sbit MODEM = P17 ; /*MODEM电源控制*/sbit DIN7705 = P34 ; /*AD7705的数据输入端*/sbit DOUT7705 = P34 ; /*AD7705的数据输出端*/sbit CLK7705 = P35 ; /*AD7705的时钟输入*/sbit AD7705_DRDY = P15 ; /*AD7705的状态线*/*全局变量定义*/uchar ADH_1 ; /*A/D转换结果存在高字节,1通道*/uchar ADL_1 ; /*A/D转换结果存在低字节,1通道*/uchar A/DH_2 ; /*A/D转换结果存在高字节,2通道*/uchar A/DL_2 ; /*A/D转换结果存在低字节,2通道*/uchar K_stat ; /*开关量输入状态字节*/uchar mod_buff_head ;uchar mod_buff_tail ;uchar mod_buff_16 ;/*标志变量*/uchar bdata flag1 ; /*标志字节1,2*/sbit ch_flag = flag10 ; /*通道号标志,等于0为通道1,等于1为通道2*/sbit tx_f = flag11 ; /*是否发生通信标志*/sbit state = flag13 ;/*函数说明*/void init(void) ; /*系统初始化*/void modem_init(void) ; /*MODEM初始化*/void tx(void) ; /*与上位机的通信函数*/void mod_comd(uchar*str1) ;void mod_data(uchar*p1,uchar n) ;void wait(void) ;void delay(void) ;void init_lcd(void) ;void d_char(uchar a) ;void display(void) ;/*void delay 1 ms(void) ;*/void AD7705_init(bit ff) ;void writetoreg7705(uchar dat) ;void readfromad7705(bit ff) ;void test_kio(void) ;void main(void)uchar i, j, k; MODEM=1; /*关MODEM电源*/ for (i=0;i20;i+) /*延时以使MODEM重新上电*/for(j=0;j150;j+) for(k=0;k150;k+) ; MODEM=0 ; /*打开MODEM电源*/ WMCON!=PS0_; /*看门狗周期为2048ms*/ WMCON!=PS1_; WMCON!PS2_; WMCON!=WDTEN_; /*使能片内看门狗*/ ES=0; /*关串行中断以免干扰初始化*/WMCON!=WDTRST_; /*喂狗*/init(); /*系统初始化*/for(i=0;i50;i+) /*延时,以等待外围复位完成,以便初始化*/ for(j=0;j150;j+) For(k=0;k150;k+); WMCON!=WDTRST_; /*喂狗*/init_lcd(); /*液晶模块初始化*/test_kio(); /*调用开关量检测函数,取得开关量状态以便显示*/ADH_1=0; /*A/D转换结果默认为0*/ADL_1=0;ADH_2=0;ADL_2=0;display(); /*显示初始画面*/ES=1; /*允许串行中断以对MODEM初始化和接收命令数据*/modem_init(); /*MODEM初始化*/for(i=0;i50;i+) for(j=0;j250;j+);tx_f=0; /*清通信标志*/mod_buff_tail=0; /*清除接收缓冲区,以便接收振铃信号*/for(i=0;i16;i+) mod_buffi=0;while(!tx_f) /*接收中断发生,表示有振铃信号*/ WMCON!=WDTRST_; ch_flag=0; /*先对第一通道进行采集*/ AD7705_init(ch_flag); /*对相应通道进行初始化*/ readfromad7705(ch_flag); /*读取相应通道AD结果*/ delay(); /*调节采用周期*/ ch_flag=1; /*第2通道*/ AD7705_init(ch_flag); /*对相应通道进行初始化*/ readfromad7705(ch_flag); /*读取相应通道AD结果*/ test_kio(); /*检测开关量输入状态,存储在k_stat中*/ display(); /*刷新显示*/ LED=!LED; /*工作指示灯闪亮*/tx(); /*数据送上位机后,等待看门狗系统复位*/ while(1); /*不喂狗,等待复位以便应答下次呼叫和发送*/ void mod_comd(uchar*str1) uchar i, k; do if(*str1!=0x00) /*字符串结束符*/ SBUF=*str1; state=FALSE; while(state=FALSE); /*等待该字符发送完成*/ str1+; /*指向下一个字符*/ else break; /*读字符串发送完成结束循环*/while(1);SBUF=0x0d; /*发送回车符*/ State=FALSE;for(i=0;i250;i+)for(k=0;k16;k+);void mod_data(uchar*p1, uchar n) uchar i; for(i=0; in ; i+) SBUF=*p1; State=

温馨提示

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

评论

0/150

提交评论