欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    毕业设计毕业论文基于单片机的水箱控制系统杜海波.doc

    • 资源ID:88149802       资源大小:306KB        全文页数:34页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计毕业论文基于单片机的水箱控制系统杜海波.doc

    本科生毕业设计 基于单片机的水箱控制系统的设计 独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年 月 日授 权 声 明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无”): 签名: 年 月 日指导教师签名: 年 月 日摘 要在过去,大量的水箱操作是由相应的人员进行的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监测器件损坏,将带来无法弥补的损失,更严重的甚至会危机到生产人员的人身安全等。所以,对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故发生的几率,同时也能节省资源并能有效提高生产效率。本单片机系统设计的目的是应用单片机控制技术,以AT89S51单片机为核心控制水箱的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。关键词:单片机;水位;控制;报警ABSTRACTIn the past, many of the tanks are operated by the staff to operate, so that artificial means a lot of drawbacks, such as the water level control, water tanks at all times to monitor the environment, and so on the night of monitoring, the operator slightly negligence, or damage to the Summary of the monitoring device will bring irreparable damage will be even more serious crisis in production, such as the personal safety of staff. Therefore, control of water tanks, if the use of sophisticated and can totally be run in strict accordance with the provisions of the automated production system that can maximize the chances of avoiding accidents, but also save resources and can effectively improve the efficiency of production. The purpose of single-chip system design is the application of single-chip control technology, to 8051 as the core to control the water level in water tanks, and implementation of the alarm and manual, automatic switching function. The system is easy to operate, good performance, more in line with the power to control the production of the necessary water system.Keywords: Single-chip; level ;Control ;Alarm目 录 1 绪论11.1 水箱控制系统的研究意义11.2 设计的主要内容12 AT89S51单片机水箱控制系统原理22.1 水箱给水设备系统原理22.2 AT89S51单片机控制系统原理22.2.1 单片机控制部分结构说明22.2.2 AT89S51单片机水箱控制系统工作原理32.3 AT89S51水箱控制系统主控原理32.4 给水泵电机主控回路43 AT89S51单片机水箱控制系统硬件设计53.1 AT89S51单片机引脚功能介绍53.2 AT24C1024芯片结构及引脚说明83.2.1 AT24C1024各引脚描述93.2.2 基于AT89S51的AT24C02 I2C总线113.3 水箱控制系统主控硬件设计14仿真结果154 系统的软件设计16程序概要设计164.2 系统程序原理16主程序设计16自动模式子程序设计164.2.3 手动模式子程序设计175 总 结20参考文献21附 录22致 谢301 绪论1.1 水箱控制系统的研究意义在人们的日常生活和工业生产中,水箱中水位的高低由人员进行控制,不仅浪费人力又会造成不必要的资源浪费。目前,AT89S51单片机在工业检测领域中得到了广泛的应用,本方案就是利用单片机对水位检测得到的信息进行控制,实现对水箱水位的自动控制,从而避免水资源的浪费,节约能源,大大提高生产效率。1.2 设计的主要内容本论文主要研究水箱水位控制器系统。以AT89S51单片机为核心控制水箱的水位,实现水位报警和手动、自动切换功能。主要内容如下:当水箱水位低时,启动M1、M2给水,水位上升到90%,停M1.当水箱水位低于50%时,同时启动M1、M2,当水位上升到50%以上75%以下时,停M2,M1继续运行到水位上升到90%才停止工作。当水位高于90%的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。当水位低于75%的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。当水位低于50%的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状况,选择不同的工作状态。在手动的模式下,两台给水泵的运行控制可由人工自己操作。2 AT89S51单片机水箱控制系统原理2.1 水箱给水设备系统原理水箱给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如图2-1所示。LGLDLDD水箱90%75%50%M1给水泵M2图2-1 水箱给水系统结构图其中M1、M2为给水泵机组,LG、LD、LDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90%)时,LG闭合,当水位低(小于75%)时,LD闭合,当水位低低(小于50%)时,LDD闭合。2.2 AT89S51单片机控制系统原理AT89S51有PDIP,PLCC,TQFP三种封装方式,其中最常见的就是采用40PIN封装的双列直插DIP封装。 芯片共有40个引脚P1口和P3口为输入输出检测信号和控制信号。 单片机控制部分结构说明:水位低低输入信号。(低0,高1):水位低输入信号。(低0,高1):水位高输入信号。(高0,低1):手动与自动转换输入信号。(手动1,自动0):M1起动KM1控制输出信号。(手动1,自动0):M2起动KM2控制输出信号。(手动1,自动0):M1开关状态输入信号。(开0,关1):M2开关状态输入信号。(开0,关1):水位低低报警输出信号。:水位低报警输出信号。:水位高报警输出信号。:手动起动M1输入信号,低电平有效动作。:手动起动M2输入信号,低电平有效动作。:手动停M1输入信号,低电平有效动作。:手动停M2输入信号,低电平有效动作。2.2.2 AT89S51单片机水箱控制系统工作原理当水箱水位低时,起动M1、M2给水,水位上升到90%,停M1;当水箱水位低低(小于50%)时,同时起动M1、M2;当水位上升到50%以上75%以下时,停M2,M1继续运行到水位上升到90%以上才停止工作。经过数据统计,得到以下数据:水位从50%-75%,两台泵运行需要约10分钟;水位从75%-90%,一台泵运行需要约15分钟。水箱的水位一般保持在75%-90%。报警控制如下:当水位高于90%的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。 当水位低于75%的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。 当水位低与50%的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。 手动/自动模式转换控制如下: 全自动模式下,系统自动判断水位的状况,选择不同的工作状态。 手动的模式下,两台给水泵的运行控制可由人工自己操作。2.3 AT89S51水箱控制系统主控原理 为避免电机的起停和电源波动时对电路的影响,输入输出均采用光电隔离。输出通过继电器,控制水泵机组的起停和报警。给水泵的启停报警如图2-2所示。+12V+5VI/O口光电耦合发光二极管光敏三极管图2-2单片机控制水泵启停报警图光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功能是实现电信号的传送。输入与输出绝缘隔离,信号单向传输,无反馈影响。抗干扰性强,响应速度快。 工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下输出光电流,从而实现电光点的两次转换。 继电器隔离是用电信号控制继电器的机械触电来实现隔离控制。2.4 给水泵电机主控回路给水泵电机主控回路如图2-3所示。KM1KM2M1M2图2-3 给水电机主控回路3 AT89S51单片机水箱控制系统硬件设计 AT89S51单片机引脚功能介绍AT89S51单片机为数据采集及处理模块核心,它主要完成系统对水位高低信号是否满足指标的信息采集,对采集到的水位信号通过系统程序进行对信号的判断等处理,根据采集信号的不同,驱动相应信号对应功能的引脚来实现对水箱水位的控制。其结构图如3-1。图3-1 AT89S51单片机结构图引脚说明:AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 1主要特性: 与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-33MHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O口线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口只做I/O口使用。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口有两个功能,P3口管脚可以是8个带内部上拉电阻的双向I/O口,当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时,把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,1然后再实行读引脚操作,否则就可能读入出错,如果不对端口置1,端口锁存器原来的状态有可能为0,Q端为0,Q为1,加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。89S51的P0/P1/P2/P3口作为输入时都是准双向口。RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。 ALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在没有访问外部存储器时,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PROG为编程脉冲的输入端。:外部程序存储器的选通信号。在由外部ROM取指期间,每个机器周期两次/PSEN有效。但在访问外部RAM存储器时,两个PSEN脉冲被跳过不会输出。 /VPP:当/EA保持低电平时,CPU读取外部程序存储器(ROM)(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,CPU读取内部程序存储器(ROM) 。当读取内部程序存储器超过0FFFH时自动读取外部ROM。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 P3口的第2功能如表3-1所示。表3-1 P3口的第二功能表引脚第2功能RXD(串行口输入端0)TXD(串行口输出端)(部中断0请求输入端,低电平有效)(中断1请求输入端,低电平有效)T0(时器/计数器0计数脉冲端)T1(时器/计数器1数脉冲端)(部数据存储器写选通信号输出端,低电平有效)(部数据存储器读选通信号输出端,低电平有效)综上所述AT89S51单片机的引脚作用可归纳为以下两点。单片机功能多,引脚数少,因而许多引脚具有第2功能;单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。3.2 AT24C1024芯片结构及引脚说明EEPROM芯片是一种用电信号编程也用电信号擦除的ROM芯片,它可以通过读/写操作进行逐个存储单元的读出和写入,读/写功能与RAM存储器相似,只是写入慢些,但断电后却能保留信息。本设计采用的是AT24C1024芯片。AT24C1024提供1,048,567位的串行可电擦除只读存储器,它的每八位组成一个字节,共131,072个字节。该设备的级联功能允许多达2个设备共享同一条2-线总线。该设备适合用于许多工业和商业,应用必要的低功耗和低电压的操作。该期器件可提供节省空间的8引脚PDIP,8引脚铅SOIC封装,8引脚无铅阵列和8引脚球状DBGA封装。另外,这一系列产品,允许在2.7V(2.7V5.5V)下工作。工作温度:-55+125存储温度:-65+150其结构图如3-3所示。图3-3 AT24C1024EEPROM结构图3.2.1 AT24C1024各引脚描述串行时钟(SCL):SCL的输入是在时钟的上升沿数据进入每个EEPROM设备和下降沿数据输出每个设备。串行数据(SDA):SDA引脚是双向串行数据传输的。这个引脚是漏极输出的,可以与其他的漏极开路或集电极开路的设备线或器件连接。页地址(A1):A1引脚是设备的输入地址,它能够通过导线与不兼容的设备AT24C128/256/512连接。当A1通过硬件连接时,2个以上的1024K设备可以在同一条系统总线上寻址。如果A1是悬空默认为0。写保护(WP):硬件写保护引脚是用来保护意外写操作访问全部的内存空间。写保护输入引脚接地,允许正常的写操作。如果WP接高电平至Vcc,禁止所有的写操作访问内存。如果WP悬空,内部拉低至GND,切换至Vcc之前将创建一个软件写保护功能。内部组织:AT24C1024,1024K串行EEPROM:1024K内部有512页,每页有256个字节。随机访问一个字地址数据需要17位数据的字地址。设备操作时钟和数据传输:SDA引脚通常被外部设备拉高,SDA引脚仅在低电平时可以改变(有效性是指数据的时序图)。SCL在高电平期间,数据变化将引起启动和停止条件。开始条件:在SCL为高时,SDA从高到低变化时产生起始条件,它必须先于任何其他命令。停止条件:在SCL为高时,SDA从低至高变化时产生停止条件,该时序后,停止命令将放置在EEPROM的待机电源模式下。应答:所有的地址和数据都是以8位串行方式从EEPROM输入输出。待机模式:AT24C1024具有低功耗代价模式,启用条件1上电2接收到停止位以后和任何内部操作完成。记忆恢复:在协议中断后,断电或系统复位后,任何2-线部分可以按以下步骤重置:时钟高达9次当SLC为高时,寻找SDA的每个周期的高电平。产生一个开始条件设备地址1024K的EEPROM需要一个8位器件地址启动开始条件,读写芯片,器件地址是强制性的,并且序列的前五位是最重要的,这点所有的2线EEPROM期间都一样。1024K使用一个器件地址A1并允许2个器件接到同一条总线上。A1位必须连接到相应的硬件引脚上。A1引脚使用内部专用电路,如果A1悬空,认为逻辑低。器件地址的第7位(P0)是内存页地址位,这种存储器页地址位是数据字地址后面最重要的位。第8位是读/写操作选择位,读操作时该位置高,写操作时该位置低。EEPROM通过比较是自己的器件地址,将输出于0,若不是自己的,则返回待机状态。写操作字节写:选择一个1024K存储器的字数据需要一个17位的地址。字地址段包括器件地址的P0位,它是最重要的字地址的最低有效位。一个写操作需要P0位和两个8位数据字地址按照设备地址字确认,当接收到这个地址后,EEPROM将在第一个8位数据字时钟后返回0,接下来接收一个8位数据,返回一个0。该处理设备,如微控制器,它终止时要写入一个停止状态序列。此时EEPROM进入内部时钟向非易失性存储的写周期Twr。此时所有的输入操作都不响应,直到写操作完成。页写:1024K的EEPROM每页能写256个字节。启动页写同字节写一样,只是微控制器在时钟控制下接收第一个数据后不发送停止条件。另外当EEPROM应答接收到得第一个数据后,微控制器可以继续传输多达256个数据字。每接收一个数据字,EEPROM需要应答一个0.微控制器写一个停止条件来终止页写。每接收到一个数据字,数据字地址的低8位自动递增。数据字地址的高8位不变,保持存储器页位置。当内部产生的字地址达到了页边界,下一个字节将放在同一页的开头。如果超过256个字的数据传输到EEPROM,数据字地址将“滚动”,并且覆盖以前的数据。地址“过渡”期间写是从最后一个字节到当前页的第一个字节。应答轮询:一旦内部时钟写周期开始,EEPROM禁止输入,可以启动应答轮询。这涉及到开始条件后发送器件地址,读/写位代表所要进行的操作。只有在内部写周期已完成,EEPROM才相应并返回0,允许读或写操作继续。读操作读操作同写操作一样,只是读操/作选择位要设置1,有3种读操作:当前地址读,随机地址读和连续读。当前地址读:内部数据字地址计数器保持上次读或写操作后递增1的地址。只有在芯片保持工作期间地址保持有效。地址“过渡”期间读是从存储器的最后一页的最后一个字节到第一页的第一个字节。一旦读/写选择位设置为1,EEPROM返回应答后,当前地址的数据串行输出。微控制器不响应输入的0,但产生停止条件。随机读:随机读需要一个“虚拟”字节的写操作来获得数据的地址。一旦器件地址和数据地址字节写入并且EEPROM返回了应答,微控制器必须再产生另外的一个开始条件。现在微控制器发送一个读/写控制为高的设备地址,EEPROM应答设备地址并串行输出数据。微控制器不响应0但产生一个停止条件。连续读:连续读由一个当前地址或随机地址读启动,微控制器收到一个数据后,将返回一个应答,只要EEPROM接收到一个应答,就继续增加数据地址并串行传输连续数据。当达到限制的内存地址,数据地址将“滚动”,并顺序读下去。顺序读操作终止时,微控制器不应答0,但产生停止条件。 基于AT89S51的AT24C02 IC总线IC总线通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。1IC总线的基本结构采用IC总线标准的单片机或IC器件,其内部不仅有IC接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。2双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如MCS51系列的TXD和RXD,而IC总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。IC总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。3IC总线上的时钟信号在IC总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。4数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在IC总线技术规范中,SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。 IC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。IC总线的数据传送格式:每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。 在IC总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收IC总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送。当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。AT24C02的芯片地址1010为固定,A0,A1,A2正好与芯片的1,2,3引角对应,为当前电路中的地址选择线,三根线可选择8个芯片同时连接在电路中,当要与哪个芯片通信时传送相应的地址即可与该芯片建立连接,TX-1B实验板上三根地址线都为0。最后一位R/W为告诉从机下一字节数据是要读还是写,0为写入,1为读出。5总线竞争的仲裁总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。IC总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用IC总线上的信息进行仲裁,因此不会造成信息的丢失。6. IC总线接口器件目前在视频处理、移动通信等领域采用IC总线接口器件已经比较普遍。另外,通用的I2C总线接口器件,如带IC总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。3.3 水箱控制系统主控硬件设计硬件电路总体原理框图如图3-4所示。AT89S51时钟电路检测电路存储电路报警电路按键电路复位电路图3-4 单片机水箱控制系统整体设计框图水箱控制系统硬件主要由一个AT89S51单片机,一个EEPROM1024芯片构成,AT89S51与EEPROM1024连接方法如下:P0.0(39)-A0 (2)P0.1(38)-SCL (6)P0.2(37)-SDA (5)P0.3(36)-WAP (7)单片机水箱控制系统主控硬件图3-4所示。图3-4 单片机水箱控制系统主控硬件图在本设计的仿真过程中,若按下表示水位低低的按键,水位低低报警,相应蜂鸣器发出蜂鸣声,同理,分别按下表示水位低和水位高的按键,报警电路中的水位低和水位高分别报警,对应蜂鸣器发出蜂鸣声。仿真结果如图3-5所示。图3-5 仿真结果 在仿真结果图中,按下的是水位低低按键,表示水箱中的水位低低,单片机接收到水位低低信号,报警电路中,水位低低蜂鸣器报警,发出蜂鸣声。仿真结果正确,设计达到预期目的。4 系统的软件设计 本系统程序开发,使用的语言是汇编语言。程序实现当水位处于LG(高)、LD(低)或LDD(低低)时,报警信号输出,判断泵水方式(自动或手动)。当水位到达规定容量时,停止泵水。在程序中,低电平为有效(即0为有效),高电平为无效(即1为无效)。 系统程序原理主程序要实现的是,对数据的初始化,并且判断用户是使用自动模式还是手动模式,根据用户的具体需求:若用户选择自动模式,则程序调用自动化子程序;若用户选择手动模式,则程序调用手动子程序。主程序设计主程序原理流程图如图4-1所示。 开始初始化自动?转自动模式转手动模式YN图4-1 主程序原理流程图自动模式子程序设计自动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自动化控制模式。自动模式子程序首先判断水位是否高LG,若水位高于指标,则运行“水位高报警”程序,并返回主程序。若水位不高,则判断水位是否低LD,若水位低,则运行“水位低报警”程序。然后判断水位是否低低LDD。若水位没有达到LDD的指标,则试判断“M1是否开启”,若没有开启,则开启M1;若“M1开启”则判断“M2是否开启”,若“M2开启”,则程序运行“停止M2”程序;若“M2没有开启”,则试运行“延迟1分钟”程序,一分钟后返回主程序。自动模式子程序原理流程图如图4-2所示。开始水位高?水位低?M2是否开M2是否开水位低低?水位低报警开M1水位低低报警开M2水位高报警返回主程序M1是否开开M1M1是否开延迟1分钟NYNYYNNNo停M2Y YN YYN返回主程序图4-2 自动模式子程序原理流程图 手动模式子程序设计手动模式子程序运行的前置条件是,系统开始运行,并且用户选择使用自手动控制模式。手动模式子程序首先判断“水位是否LG” ,若水位LG达到指标,则程序返回主程序;若水位LG未达到指标,则程序运行“判断有无键合”:若“判断没有键合”则子程序进行循环;若“判断键合”,则程序判断“M1是否键合”。若用户操作“M1键合”,则程序运行“判断M1是否开启”:若“M1开启”则子程序进行循环;若“判断M1未开启”,则程序运行“开启M1”。若用户操作“M1不键合”,则程序判断“M2是否键合”:若用户操作“M2键合”,则程序运行“判断M2是否开启”;若“M2开启”则子程序进行循环;若“判断M2未开启”,则程序运行“开启M2”。若程序判断用户均未进行“M1、M2键合”,则程序要判断“是否停止M1键合”:若用户操作“M1停止键合”,则程序判断“M1是否停止”;若“M1停止”,则子程序循环;若“M1没有停止”,则程序运行“停止M1”。若用户不操作“M1停止键合”,则程序判断“是否停止M2键合”:若用户操作“M2停止键合”,则程序判断“M2是否停止”,若“M2停止”,则子程序循环;若“M2没有停止”,则程序运行“停止M2”。手动模式原理流程图如图4-3所示。 开始水位高?有无键合?M1键合?M2键合?NNNY停M2YNNN停M1键合?停M2键合?YM1开着?开M1YM1开着?N开M2YYM1停着?YNNNM2停着?Y停M2YY返回主程序N图4-3 手动模式子程序原理流程图5 总 结通过这次单片机的课程设计,使我认识到单片机的应用领域确实很广泛,不仅培养了我自己的独立思考能力,还加深了对单片机应用的认识。但我也仅仅是掌握了其中的一小部分而已。所以设计过程中难免出现差错,以后我会继续学习,不断完善自己。纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中

    注意事项

    本文(毕业设计毕业论文基于单片机的水箱控制系统杜海波.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开