1、基于51单片机带LED灯显示的水箱液位定点控制系统设计论文设计题目: 带LED灯显示的水箱液位定点控制系统设计 摘要本设计阐述了以AT89S51和其他一些外围元器件组成的具有LED显示水箱液位定点控制。该电路采用各色LED灯显示的水箱动态液位。通过两个按键分别控制单片机的两种工作模式。单片机通过各色LED来模拟液位信号产生及控制驱动设定。关键词: 水箱液位定点控制,单片机,按键,模式切换,LED显示目录1 概述 31.1 课程设计的意义 31.2 设计的任务和要求 32系统总体方案及硬件设计 42.1水箱液位定点控制系统方案论证 42.1.1方案 42.2系统总体设计 52.3系统模块 52.
2、3.1 主控制器 52.3.2 显示电路 62.3.3按键 72.3.4报警 83 实验仿真 94 总结与体会 10查考文献 11附1 实物照片 12附2 源程序代码 141 概述1.1 课程设计的意义 本次课程设计是在我们学过单片机后的又一次实践,可增加我们的动手能力。特别是对单片机的系统设计有很大帮助。本课程设计由两个人共同完成,在锻炼了自己的同时也增强了自己的团队意识和团队合作精神。1.2 设计的任务水箱液位定点控制系统设计1) 显示:4个绿色LED竖排显示高、中、低、超低液位;1个双色LED代表模拟水泵(红色亮开/绿色亮停); 1个黄色LED超低液位报警,要求闪亮(1秒亮,1秒暗)2)
3、可选操作:A按键(按下启动)低液位LED灭时,启动水泵开启并保持;当高液位LED亮时,停止水泵运转。 B按键(按下启动)超低液位LED灭时发出报警信号(黄色LED闪亮),同时启动水泵开启并保持;当高液位LED亮时,停止水泵运转。3)模拟液位信号产生: 应用单片机内定时器编程设定输出模拟液位信号a. 停泵后5秒,高位LED灭;10秒后,中位LED灭;15秒后,低位LED灭;20秒后,超低LED灭。b. 开泵后5秒,超低LED亮;10秒后低位LED亮;15秒后中位LED亮;20秒后高位LED亮。4)控制驱动设定: 用高位信号驱动延时3秒停泵;用低位(常规)或超低(报警)信号驱动延时3秒开泵。2系统
4、总体方案及硬件设计2.1水箱液位定点控制系统方案论证2.1.1方案系统功能要求,决定控制系统采用AT89S51单片机,该电路采用LED显示水箱动态液位。以AT89S51和其他一些外围元器件组成的具有LED显示水箱液位定点控制。该电路采用各色LED灯显示的水箱动态液位。通过两个按键分别控制单片机的两种工作模式。单片机通过各色LED来模拟液位信号产生及控制驱动设定。本文采用AT89S51作为核心元件,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATME
5、L公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89s51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.2系统总体设计温度计电路设计总体设计方框图如图1所示,控制器采用单片
6、机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。 图2.21总体设计方框图图2.22系统仿真图2.3系统模块系统由单片机最小系统、LED显示电路、按键等组成。2.3.1 主控制器单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用12MHZ。复位电路采用上电复位。图2.3.11晶振电路图2.3.12复位电路2.3.2 显示电路显示电路采用4位共阳极LED数码管,P0作为段码输出并作为各色LED的显示。图2.3.2 LED显示电路2.3.3按键
7、P3.2口和P3.3口。作为两个按键的输入端口。 与P3.2连接的是A按键,A按键(按下启动):低液位LED灭时,启动水泵开启并保持;当高液位LED亮时,停止水泵运转。 与P3.2连接的是B按键,B按键(按下启动):超低液位LED灭时发出报警信号(黄色LED闪亮),同时启动水泵开启并保持;当高液位LED亮时,停止水泵运转。图2.3.3 按键与单片机的连接2.3.4报警 本设计采用黄色LED闪烁报警。若超低液位LED灭时发出报警信号。图2.3.4 报警电路3 实验仿真进入protuse后,连接好电路,并将程序下载进去,并运行。图41 LED显示仿真4 总结与体会通过这次对带LED灯显示的水箱液位
8、定点控制系统的设计与制作,让我了解了设计电路的程序,也让我了解了关于水箱液位定点控制系统的原理与设计理念,要设计一个电路要先用仿真程序仿真尝试验证可行性之后才实际接线的。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识
9、用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。查考文献【1】陈海宴. 51单片机原理原理及应用基于Keil与Proteus 北京航天航空大学出版社【2】马忠梅,张凯,等. 单片机的C语言应用程序设计(第四版) 北京航空航天大学出版社 【3】张俊谟. 单片机中级教程原理与应用(第二版) 北京航空航天大学出版社【4】张毅,张宝芳,曹丽等. 自动检测技术及仪表控制系统(第二版) 化学工业出版社附1 实物照片图1 实物全照图2 工作状态图3 电路板背面附2 源程序代码 #include#define uchar unsigned cha
10、r#define OFF 1 /灯灭#define ON 0 /灯亮sbit High_level=P00; /高液位sbit Middle_level=P01; /中液位sbit Low_level=P02; /低液位sbit Ultra_Low_level=P03; /超低液位sbit RED=P05; /水泵运行指示灯sbit GREEN=P06; /水泵停止指示灯sbit Alert=P04; /报警指示uchar time=0;uchar count=0;uchar sign; /按键标志位uchar flag=0; /闪烁标志位/*计时*/void Time_count()inte
11、rrupt 1 using 1 TH0=(65536-50000)/256; /50ms TL0=(65536-50000)%256; time+; if(time=20) /1s定时 time=0; flag=1; count+; /每1s计时 void Style(void) /这个模拟环境 if(count=5&count=10&count=15&count=20&count=23) GREEN=ON; /水泵停止LED亮 RED=OFF; if(count=28&count=33&count=38&count=43&count=46) RED=ON; /水泵打开LED亮 GREEN=O
12、FF; count=0; /一个循环 void Alert_LED(void) /发出警报信号,黄色LED灯亮 if(flag=1) Alert=!Alert; flag=0; /*A按键信号控制*/void A_key()interrupt 0 using 0 TR0=!TR0; sign=A; /*B按键信号控制*/void B_key()interrupt 2 using 2 TR0=!TR0; sign=B; /*初始化*/void Initial(void) EA=1; /总允许 打开 ET0=1; /定时器0 源允许 打开 EX0=1; /外部中断0 源允许 打开 EX1=1; /
13、外部中断1 源允许 打开 IT0=1; /打开外部中断0 IT1=1; /打开外部中断1 TR0=0; TMOD=0X01; /设置定时器方式1 TH0=(65536-50000)/256; /50ms TL0=(65536-50000)%256; High_level=OFF; /高液位 Middle_level=OFF; /中液位 Low_level=OFF; /低液位 Ultra_Low_level=OFF; /超低液位 Alert=OFF; /警报LED亮 RED=OFF; / GREEN=ON; /水泵停止 /*主程序*/void main() Initial(); /初始化 while(1) if(sign=A) Style(); if(sign=B) Style(); if(Ultra_Low_level) /超低液位LED灭 Alert_LED(); /发出警报信号,黄色LED灯亮 else Alert=OFF; /*结束*/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1