| 摘     要本单片机系统设计的目的是应用单片机控制技术,以8051单片机为核心控制热电公司的800立方米的水箱的水位,并实现了报警和手动、自动切换功能。该系统操作方便、性能良好,比较符合电厂生产用水系统控制的需要。本文还详细的给出了相关的硬件框图和软件流程图,并编制了该汇编语言程序。
 关键词: 单片机控制    水位报警   系统8051单片机控制部分结构本系统采用8051单片机,引脚具体控制如下:
 P1口和P3口为输入输出检测信号和控制信号。下面是8051芯片引脚具体分配:
 P1.0:水位低低输入信号。(低0  高1)
 P1.1:水位低输入信号。(低0  高1)
 P1.2:水位高输入信号。(高1,低0)
 P1.3:手动与自动转换输入信号。(手动1,自动0)
 P1.4:M1起动KM1控制输出信号。(手动1,自动0)
 P1.5:M2起动KM1控制输出信号。(手动1,自动0)
 P1.6:M1开关状态输入信号。(开0,关1)
 P1.7:M2开关状态输入信号。(开0,关1)
 P3.0:水位低低报警输出信号。
 P3.1:水位低报警输出信号。
 P3.2:水位高报警输出信号。
 P3.4:手动起动M1输入信号,低电频有效动作。
 P3.5:手动起动M2输入信号,低电频有效动作。
 P3.6:手动停M1输入信号,低电频有效动作。
 P3.7:手动停M2输入信号,低电频有效动作。
 本系统的工作原理
 当水箱水位低时,起动M1、M2给水,水位上升到90%,停M1。当水箱水位低低(小于50%)时,同时起动M1、M2,当水位上升到50%以上70%以下时,停M2,M1继续运行到水位上升到90%以上才停止工作。经过调试系统,测得以下数据:水位从50%--70%,两台泵运行需要约10分钟;水位从70%--90%,一台泵运行需要约15分钟。水箱的水位一般保持在70%--90%。
 报警控制如下:当水位高与90开度的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。当水位低与50开度的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警。手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状况,选择不同的工作状态。在手动的模式下,两台给水泵的运行控制可由人工自己操作。
  
 
  
 目      录
 摘    要………………………………………………………………………………1
 目    录………………………………………………………………………………2
 一、 单片机的说明……………………………………………………………………3
 1、8051单片机简介……………………………………………………………3
 2、单片机的时序…………………………………………………………………5
 (毕业设计)
 3、引脚极其功能…………………………………………………………………6
 二、水箱给水设备系统的构成………………………………………………………10
 三、本系统8051单片机控制部分……………………………………………………12
 四、本系统的工作原理………………………………………………………………13
 五、主程序框图………………………………………………………………………14
 六、本系统程序清单…………………………………………………………………17
 七、附录:本系统电路图……………………………………………………………21
 本系统部分程序主程序:
 ORG 0000H
 AJMP MAIN
 ORG 0060H
 MAIN: MOV  P1, #FFH      ; P1 P3口初始化置1
 MOV  P3,#FFH
 JNB P1.3 , AVT         ; 若手动在自动位置,跳到自动模式子程序
 AJMP  MEN               ;否则转到手动模式子程序
 END
 AUT:   NOP(空命令)JNB  P1.2 , LG          ;水位高—LG
 JB  P1.1   LD ,        ;水位没低---LD
 CLR  P3.1               ;水位低报警
 JB     P1.0, LDD        ;水位未低低---LDD
 CLR  P3.0               ;水位低低报警
 JNB 3.1   P1.6,   Y1    ;M1已启动—Y1
 CLR P1.4               ;否则启动M1
 Y1:JNB P1.7 ,Y2        ; M2已启动---Y2
 CLR P1.5             ;否则启动M2
 Y2:ACALL  DELAY ;延时1分钟
 AJMP  AUT   ;返回自动模式
 LDD: JNB P1.6 ,Y3 ; 单独运行M1(LDD〈水位〈LD)
 CLR P1.4
 Y3: JB  P1.7  Y2
 SETB P1.5
 AJMP Y2
 LG:CLR  P3.2      ;水位高报警
 LD:AJMP MAIN     ;返回主程序
 ...
 
 |