电子信息工程专业课程设计任务书
题目:水位自动控制设计
目录
一、总体设计方案..............................2 1.1设计功能及要求.........................2 1.2设计方案...............................6二、硬件设计.................................10 2.1液位检测电路..........................10 2.2单片机最小系统........................11 2.3LED 显示电路...........................11 2.4按键电路..............................12 2.5报警电路..............................13三、软件设计.................................15 3.1主程序设计............................15 3.2子程序设计............................17四、结论.....................................20五、设计体会.................................21参考文献.....................................22
华北科技学院课程设计
一、总体设计方案
本设计从分析水塔水位报警器的原理和设计方法入手,主要基于单片机的硬件电路和语言程序设计,实现一种能够实现水位自动控制、具有自动保护、自动声光报警功能的控制系统。本控制系统由A/D转换部分、单片机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。同时对各个部分进行了详细的论述,并给出了主要的流程图和软件设计程序。
1.1设计功能及要求
1、利用单片机和传感器构建一套完整的水位自动控制系统。
功能:1、当水位低于最低点时,电路能自动加水。
第2页
华北科技学院课程设计 2、当高于最高点时,电路能自动停水。
3、该电路的直流电源自行设计。(可采用W78× ×系列)
要求既能实现水位自动控制,又能显示实际水位,便于用户监视。在水塔中经常要根据水面的高低进行水位的自动控制,同时进行水位压力的检测和控制。本液位器具有水位检测、报警、自动上水和排水(上水用电机正转模拟,下水用
电机反转模拟)、压力检测功能。 | |
2、该系统以89S52 单片机 为水塔水位控制系统的核心,用 传感器采集水压模拟信号,然后 将模拟信号送入A/D 转换器,换 算出某一时刻水塔水位的实际 |
|
高度,然后拿它与标定水位进行比较,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制开关的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设定值
第3页
华北科技学院课程设计时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。现场实时显示测量值,从而实现对水箱液位的监控。如此重复“测量、比 直至实测水位与标定水位的偏较、
开启”这三步,差落入给定的精度范围之内。落入给定精度范围之后,将两个水泵同时关停。
电路焊接好后,接通电源,改变液位使检测
点变化,当液位在A 点以下时红灯连续亮并且发 出频率较高的报警声,显示00,电机正转;当A≤ |
液位<B时,显示0A,电机正转;当B≤液位<C时,显示0B,电机不转;液位在C点及以上时,
绿灯连续亮并且发出报警声,显示0C,电机反转。 |
3、控制系统中标定水位用键盘输入,用十进制数码显示。本液位器具有水位检测、报警、自动上水和排水、压力检测功能。该控制器主要由89S52单片机,0809A/D转换器,A、B、C三
第4页
华北科技学院课程设计点水位检测电路,压力检测电路、数码显示电路、键盘和电源电路组成。
4、可根据需要设定液位控制高度,同时具备报警、高度显示等功能,
液位自动控制系统工作流程如下:将压力传感器传送来的电流信号经过前级放大和A/D转换进入单片机,经单片机计算处理(与用户的设定值作比较)。将输出数字量进行D/A转换送给电动执行机构。
5、基于单片机的水位自动控制系统的软件
第5页
华北科技学院课程设计设计
本论文是以单片机为核心设计水塔水位控制系统,包括硬件电路的设计和控制系统程序的设计。
通过此系统使水塔水位保持在要求的高度
1.2设计方案
1.2.1硬件设计方案
(1)基于单片机的通用水位自动控制系统的硬件设计系统硬件部分的设计采用模块化的设计方法,根据功能的不同,把系统划分为如下模块(图2)。
第6页
华北科技学院课程设计
图2系统模块图
(1)硬件设计
液位控制器的硬件主要包括由单片机、传感器(带变送器)、键盘电路、数码显示电路、A/D转换器和输出控制电路等。
工作原理:基于单片机实现的液位控制器是以AT89C51芯片为核心,由键盘、数码显示、A/D转换、传感器,电源和控制部分等组成。工作过程如下:水箱(水塔)液位发生变化时,引起连接在水箱(水塔)底部的压力传感器,压力传感器的压力受到水的压力,即把变化量转化成电压信号;
第7页
华北科技学院课程设计
该信号经过运算放大电路放大后变成幅度为0~
5V标准信号,送入A/D转换器,A/D转换器
把模拟信号变成数字信号量,由单片机进行实时
数据采集,并进行处理,根据设定要求控制输出, 同时数码管显示液位高度。通过键盘设置液位高、 |
低和限定值以及强制报警值。该系统控制器特点
是直观地显示水位高度,可任意控制水位高度。
1.2.2软件设计方案
(1)设计框图
第8页
华北科技学院课程设计
(2)原理:通过软件设计将将模拟信号送入A/D转换器,换算出某一时刻水塔水位的实际高度,然后拿它与标定水位进行比较,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制开关的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。现场实时显示测量值,从而实现对水箱液位
第9页
华北科技学院课程设计的监控。
二、硬件设计
2.1液位检测电路
第10页
华北科技学院课程设计
2.2单片机最小系统
2.3LED显示电路
第11页
华北科技学院课程设计
2.4按键电路
第12页
华北科技学院课程设计
2.5报警电路
2.6电源电路
第13页
华北科技学院课程设计
我们组做的是按键电路、报警电路和电源电路
PCB板图如下
第14页
华北科技学院课程设计
三、软件设计
3.1主程序设计
第15页
华北科技学院课程设计
系统主程序设计:
ORG 0000H
AJMP MAIN
ORG 0060H
MAIN:MOV P1, #FFH ;P1P3口初始化置1
MOV P3,#FFH
JNB P1.3 ,AUT ;若手动在自动位置,跳到自动模式子程序AJMP MEN ;否则转到手动模式子程序
END
自动模式子程序设计
AUT:NOP | ;空命令 |
CLR P1.4
Y3: JB P1.7 Y2
SETBP1.5
AJMPY2
LG: CLR P3.2 ;水位高报警
LD: AJMP MAIN ;返回主程序
手动模式子程序设计
MEN:NOP
第16页
华北科技学院课程设计
JNB P1.1 , MAIN | ;水位高返回主程序 |
ACALLKEY
CJNE A ,#FOH,NN ;有无键合
AJMP MEN
NN: JNB ACC.4 ,HM1
JNB ACC.5, HM2
JNB ACC.6 ,DM1
JNB ACC.7 ,DM2
AJMP MEN
HM1: JNB P1.6 ,MEN
CLR P1.4
AJMP MEN
HM2: JNB P1.7, MEN
CLR P1.5
AJMP MEN
DM1: JB
P1.6,MEN SETB P1.4
AJMP MEN
DM2: JB P1.7, MEN
SETB P1.5
AJMP MEN
RET
3.2子程序设计
3.2.1键盘子程序设计
有无键合子程序:
KEY: ACALL KS1 | ;有无闭合 |
第17页
华北科技学院课程设计
JNZ | LK1 |
ACALL TIM
AJMP | KEY | ;无键闭合返回 |
LK1: ACALL TIM
ACALL TIM
ACALL KS1
JNZ | LK2 |
延时1S主程序:
T1M1: MOV | R1, #F0H | |
L4: | MOV | R2, #08H |
L1: | MOV | R3, #FAH |
L2: | MOV | R4, #FAH |
L1: | DJNZ R4, L1 |
DJNZ R3, L2
DJNZ R2, L3
DJNZ R1, L4
RET
3.2.2A/D转换子程序设计
A/D模数转换程序
入口参数:30H---33H
;出口参数:BAI,SHI,GE
CHANGE
CLRF BAI
CLRFSHI
CLRF GE ;先清除结果寄存器
第18页
华北科技学院课程设计
MOV FW 31H | ; |
ADDWF 30H,1
MOV FW 32H
ADD WF 30H,1
MOV FW 33H
ADD WF 30H,1
RRF 30H,1
RRF 30H,0
MOVWF TEMP
MOVLW 64H ;减100,结果保留在W中SUBWF TEMP,0
BTFSS | TATUS,C | ;判断是否大于100 |
GOTO | SHI_VAL | ;否,转求十位结果 |
MOVWF | TEMP | ;是,差送回TEMP 中 |
INC F BAI,1 | ;百位加1 | ;返回继续求百位的值 |
GOTO | $-6 |
SHI_VAL
MOV LW 0AH | ;减10,结果保留在W 中 ;判断是否大于10 | |
SUBWF | TEMP,0 | |
BTFSS STATUS,C | ||
GOTO | GE_VAL | |
MOVWF | TEMP | |
INCF | SHI,1 | |
GOTO | $-6 |
GE_VAL
MOVFW | TEMP | ;个位的值 |
MOVWF | GE |
RETURN
显示程序
入口参数:BAI,SHI,GE
出口参数:无
DISPLAY
MOV FW | BAI | ;显示百位 |
CALL | TABLE | |
MOVWF | PORTD |
第19页
华北科技学院课程设计
BCF | PORTA,3 |
MOVFW SHI ;显示十位
CALL | TABLE | ;显示个位 |
MOVWF | PORTD | |
BCF | PORTA,4 | |
CALL | DELAY | |
CALL | DELAY | |
BSF | PORTA,4 | |
MOVFW | GE | |
CALL | TABLE | |
MOVWF | PORTD | |
BCF | PORTA,5 | |
CALL | DELAY | |
CALL | DELAY | |
BSF | PORTA,5 |
RETURN
四、结论
该自动系统才用自带存储空间的8051单片机芯片,造型袖珍,线路简单,运行效率高。与外部的联系小,减少了外部干扰对系统的运行影响,具有很好的稳定性。在内部干扰中,由于所有运算都有单片机芯片内部自己完成,减少了数据传
第20页
华北科技学院课程设计输损耗的可能性,对数据的运算传输可靠性高。
五、设计体会
在做这次课程设计的过程中,为了让自己的设计更加完善,我感触最深的当属查阅大量的设计资料。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:proteus仿真、C语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真
第21页
华北科技学院课程设计
正的意识到,在以后的学习中,要理论联系实际,把我
们所学的理论知识用到实际当中,学习单片机更是如此,
程序只有在经常写与读的过程中才能提高,这就是这次
课程设计的最大收获。
参考文献
[1]胡汗才.单片机原理及其接口技术[M].北京:清华大学出版社,2004
[2]钱晓捷.汇编语言程序设计[M].北京:高等学校教材,2005[3] 吴号烈.电机及电力拖动基础[M].重庆:重庆大学出版社,1996
[4]顾乐观.电机学[M].重庆:重庆大学出版社,2002
[5]张洪润,张压凡.传感器与应用教程[M].北京:清华大学出版社,2005
[6]张洪建,蒙建波.自动检测技术与装置[M].北京:化学工业出版社,2004
第22页
因篇幅问题不能全部显示,请点此查看更多更全内容