序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的智能垃圾桶控制系统设计
2 系统硬件电路
2.1 系统总体框图
该智能垃圾桶能够实现的功能有:垃圾桶根据红外检测是否有人然后自动翻盖、垃圾桶满溢情况能显示出来、垃圾箱满则响。这次的设计就是要满足这些功能,可以让用户们更好的、更方便的投垃圾,也可以很好地防止垃圾桶内外会有细菌的滋生而导致疾病,也能及时处理垃圾。在选择单片机的时候,是因为STC89C52单片机是目前51单片机中应用比较方便的,而且在烧录程序,用USB接口连接就可以,操作较简单,最后决定使用的是STC89C52RC单片机为核心元件。
2.2 单片机最小系统
2.2.1 STC89C52RC单片机简介
本设计用的是STC89C52RC单片机[1],它是由MSC-51内核、片内带有8KB的FlashROM组成起来的单片机,STC89C52RC单片机中有CPU、内部数据存储器、程序存储器、定时/计算器、中断系统、并行端口、串行端口、时钟电路。
它的引脚图如图2.2所示。
STC89C52RC引脚的功能介绍:
表2.1 STC89C52RC引脚的含义
P3端口作为第二功能时个引脚的定义。
表2.2 P3特殊功能口的说明
引脚 | 替代功能 | 说明 |
P3.0 | RXD | 串行数据输入 |
P31 | TXD | 串行数据输出 |
P3.2 | INT0 | 外部中断0输入 |
P3.3 | INT1 | 外部中断1输入 |
P3.4 | T0 | 定时器0外部计数输入 |
P3.5 | T1 | 定时器1外部计数输入 |
P3.6 | WR | 外部RAM写选通输出 |
P3.7 | RD | 外部RAM读选通输出 |
2.2.2 复位电路
为了可以让系统每次开启时可以进入正常工作状态,所以每当启动单片机的时候,需要一个重要的操作就是完成重新复位的,初始化CPU,还有初始化系统的每个部分,然后从初始的状态开始启动。这次的设计中决定把它安装在垃圾桶的里面,而且在人们日常生活里,正常都是安装在内部比较方便,因为安装在垃圾桶外部的话,手动复位按钮很有可能会被意料之外的人或物体碰到,会造成预期之外的一些麻烦,因此决定在本次系统使用的是上电复位。复位电路图如图2.3所示。
共有两种比较常见的复位方式:手动复位和上电复位。而图2.3中,输入引脚RST和电源VCC端还有一个电阻组成的是上电复位电路。复位电路通俗来讲,就是利用它把电路恢复成初始的状态。它的原理是将一个信号传给RST端,这个信号是通过电容传的,传到电容的时候,电流很大,电容短路,RST端就会得到了一高电平。这个高电平的信号其实是依据VCC对电容充电,然后慢慢下降的,最后得出:RST端的高电平持续时间的大小主要取决于电容的充电时间。当电容两端的电压和电源VCC的电压一致的时,电流就会变为零,那么就会停止给电容充电,这个时候电容就相当于是开路了,RST为低电平,程序就可以正常运行。
2.2.3 晶振电路
晶振电路这部分的设计是代表该系统的时钟信号。系统各部分为了能够同时进行,一个系统需要共同用一个晶振。当然本次设计系统采用的就是仅仅用一个晶振来实现同步的。晶振电路如图2.4所示。
在这次设计中,是由一个22uF的负载电容和一个为12MH晶振组成的晶振电路。晶振电路中最重要的部分就是晶振,晶振的功能是提供基准的频率给系统。单片机的运行速度和晶振的频率有着紧密的联系,可以说它直接影响单片机的运行速度,晶振频率越缓慢,单片机的运行速度就越缓慢,反之,则越快。
图中C2和C3是负载电容,选用22pF的电容是这次设计最好的选择。晶振的大小范围会选择在在1.2MHz至12MHz。为了能让STC89C52RC单片机的正常运行,经过各方面的考虑和各种的分析,满足要求的是12MHz,最后决定选用12MHz的。当然,在焊接的过程中,也要考虑到元器件在图上的分布情况,一方面是为了美观和方便,另一方面为了达到减少寄生电容、稳定振荡的基本要求,最后决定将单片机和晶振电路靠近着安装。
2.3 红外感应模块
安装红外感应模块目的是在一定的范围内能够检测是否有物体靠近,然后将检测获得的信息传给单片机进行处理操作。在此设计中,是为了判断是否有人靠近,红外感应模块图如图2.5所示。
2.4 电机驱动模块
步进电机是一种开环控制元件[2],它的主要功能是将电脉冲信号转换为角位移或线位移。正常情况下,脉冲信号的频率和脉冲数决定了电动机的转速、停下来的位置,不能受到负载变化的影响,给电动机一个脉冲信号,电动机则转过一个步距角。
电机驱动电路如图2.6所示。
这次设计用的电机驱动是ULN2003,因为ULN2003工作电压高,工作电流大,而且它可以在高负载电流并行运行,还能够在关闭的状态下能承受50V的电压,灌电流能达到500mA。则ULN2003芯片的接法不是很难,将ULN2003的1、2、3、4引脚分别和STC89C52RC的P2.3、P2.2、P2.1、P2.0端口一一连接起来,这样的接法是为了实现单片机和电机驱动之间的信息传输。ULN2003的13、14、15、16引脚分别和步进电机的1、2、3、4端口一一连接起来,是为了可以控制步进电机正反转。
2.5 超声波测距模块
超声波测距的优点是迅速[3],方便而且计算方法容易不复杂,并且测的距离能有2cm-400cm,符合这次设计的标准,它的精度能达到3mm,所以在测量距离精度方面也能达到这次设计的要求,测出的结果能在LCD1602上显示出来,超声波测距也在很多方面得到了广大的应用。
从图2.7超声波的时序图可简单分析,首先,需要提供一个触发信号,然后模块内部发出信号,检查到信号,就输出回响信号。从发射信号到接收信号时间间隔算出测距。
这次设计的超声波电路中用的是HC-SR04超声波测距模块。超声波测距模块如2.8所示。
表2.3 HC-SR04超声波引脚连接法
引脚 | 连接 |
1 | 5V电源 |
2(触发信号的输入端) | P34口 |
3(回响信号的输出端) | P3.5口 |
4 | 接地 |
图2.9 超声波测距模块电路图
2.6 蜂鸣器模块
设计中采用的报警电路是蜂鸣器报警,这种蜂鸣器安装简单,也符合要求。蜂鸣器有两个引脚,一个是正信号输入,另一个是负信号输入,电流通过,蜂鸣器工作,当蜂鸣器的控制端输出的是高电平时,三极管导通,蜂鸣器工作。
蜂鸣器模块电路图如图2.10所示。
2.7 液晶显示模块
在液晶显示这一模块我选择的是LCD1602液晶显示器。因为在这次设计中只需要显示垃圾满溢情况,LCD1602是一款能显示两行数据的工业字符型液晶[3],它可以显示出符号、字母或数字,而这次设计垃圾桶垃圾情况可以利用它显示出来,所以满足设计需要。而且体积小,功耗低和显示效果好,而且内部也可以储存数据的储存器。
LCD1602有16个引脚,它的引脚介绍如下:
表2.4 LCD1602引脚介绍
引脚号 | 引脚名称 | 引脚功能 |
1 | GND | 电源接地端 |
2 | VCC | 5V电源正极 |
3 | VL | 调节显示器对比度 |
4 | RS | 寄存器选择端 |
5 | RW | 读写信号线 |
6 | E | 使能端口 |
7~14 | D0~D7 | 双向数据端口 |
15 | BL+ | 背光正极 |
16 | BL- | 背光负极 |
在3.5V~5V的工作电压下,LCD1602进行工作,复位电路设计在LCD1602的里面,能移动光标和清空屏幕的作用。如果想要调节屏幕的亮度,可以在上部的电位计来调节的。LCD1602是直接和单片机连接起来的[4],液晶的显示内容是单片机的程序来控制的。LCD1602引脚图如2.11所示。
4 组装与调试
4.1 组装
这次设计中用到的元器件有STC89C52单片机、晶振、电容、电阻、LCD1602液晶显示、红外传感器、超声波传感器、二极管、蜂鸣器等等。所有的器件都可以在网上进行购买,这些元器件在焊接前,先要了解每个元器件的特性,从网上和书本中查阅资料,准确无误后,输入程序再进行焊接。在焊接的过程中,要加细心,每个元器件的正负极顺序都不能弄错。
在组装硬件的过程中,在这次设计中用的是万用板,对照原理图的布局,注意是要合理安排布线,为了美观,也为了出错的检查和排查故障,可以先确定每个元器件大概的位置后,再进行焊接。
4.2 软件调试
软件调试是依据程序来进行的。在此过程中,要注意的是程序的编写不能出错,有时也会因为输入法的错误导致程序无法编译,程序正确之后,进行调试时,要具有针对性,这样效率才会高,精确度强。
4.3 成品调试
1.一共有两种模式,自动模式和手动模式
2.当处于自动模式时,当有人靠近垃圾桶,红外传感器感应到有人,电机转动,意思是打开垃圾桶
3.当处于自动模式时,垃圾桶里的垃圾很少或者没有时,显示一格的状态,以8cm为界限,垃圾桶垃圾满,则显示五格,这时蜂鸣器响,灯亮。
原理图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!