这里写目录标题
- 1. 主要功能:
- 2. 讲解视频:
- 3. 仿真
- 4. 程序代码
- 5. 设计报告
- 6. 原理图
- 7. 设计资料内容清单
- 资料下载链接:
基于51单片机智能垃圾桶仿真设计( proteus仿真+程序+设计报告+原理图+讲解视频)
仿真图proteus8.9及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0089
1. 主要功能:
基于51单片机的智能垃圾桶仿真设计proteus仿真设计
1、人体感应和机体震动感应控制舵机转动90度开启桶盖;
2、开启后人体感应在感应范围内感应不到人体,电机反转90度关盖;
3、超声波模块SRF04进行高度感应,检测垃圾桶内的垃圾高度;
4、可以通过按键设置垃圾高度限定范围,LCD1602显示高度测量值和限定值;
5、垃圾压缩电机在垃圾高度限定范围内工作,正转压缩垃圾,反转归位;
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
以下为本设计资料展示图:
2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
3. 仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示当前垃圾高度和垃圾高度阈值,如果垃圾高度低于阈值,则在扔垃圾后启动压缩电机,否则不启动。
通过拨动开关模拟人体感应,桶盖电机转动90度,模拟打开垃圾桶。等待人体感应消失,电机反转90度关盖。
桶盖关闭后,垃圾压缩电机在垃圾高度限定范围内工作,正转压缩垃圾,反转归位。
可以通过按键设置垃圾高度限定范围,LCD1602显示高度测量值和限定值;
4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。
#include "reg51.h"
#include "lcd1602.h"
#include"HC_SR04.h"
sbit out1=P2^3;//压缩电机
sbit out2=P2^4;
sbit out3=P2^5;//桶盖电机
sbit k1=P3^3;//人体感应
sbit k2=P3^4;//震动
sbit set1=P1^2;//高度设置
sbit set2=P1^3;
sbit set3=P1^4;//速度设置
sbit set4=P1^5;
uint high=0,high_lim=100;//垃圾高度
uint high_time=0;//超声波定时
uint speed=0,speed_lim=2,speed1=0;//压缩电机速度
uint speed_time=0;//测速计时
uchar pwm=1,time=0;//桶盖电机控制
uchar mode=0;//模式
uint sec=0;//延时变量
uchar hang1[]="high:000 lim:000";
uchar hang2[]=" ";
void main()
{
init_1602();//初始化LCD
HC_SRinit();//初始化超声波
TMOD|=0X11;
TH1=0XFC;//1MS
TL1=0X18;
ET1=1;//打开定时器0中断允许
EA=1;//打开总中断
TR1=1;//打开定时器
while(1)
{
if(!set1)//高度设置
{
high_lim++;
while(!set1);
}
if(!set2)//高度设置
{
high_lim--;
while(!set2);
}
//==================================
if(mode==0)//等待
{
if(!k1 || !k2)//人体感应+震动
{
pwm=2;//开盖
mode=1;
}
}
if(mode==1)
{
if(k1 && k2)//等待离开
{
sec=3000;//等待3s
while(sec>0);
pwm=1;//关闭
if(high<high_lim)//超声波判断
{
out1=0;
out2=1;
sec=2000;//等待2s
while(sec>0);
// while(speed1>speed_lim);//等待压缩完成
out1=1;//电机反转5s
out2=0;
sec=5000;
while(sec>0);
out1=1;//停止
out2=1;
}
mode=0;
}
}
}
}
void Timer01() interrupt 3//定时器1中断函数
{
if(time<20)//周期20ms
time++;
else
time=0;
if(time<pwm)//输出PWM
out3=1;
else
out3=0;
//==========================//延时
if(sec>0)
sec--;
//==========================超声波
if(high_time<500)
high_time++;
else
{
high_time=0;
high=HC_SRread()/2+1;
hang1[5]=high/100+0x30;//显示高度
hang1[6]=high%100/10+0x30;
hang1[7]=high%10+0x30;
hang1[13]=high_lim/100+0x30;//显示高度阀值
hang1[14]=high_lim%100/10+0x30;
hang1[15]=high_lim%10+0x30;
write_string(1,0,hang1);
}
TH1=0XFC;//1MS
TL1=0X18;
}
5. 设计报告
7634字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
随着科技日新月异的发展以及全球环保理念的深入人心,智能化家居设备在现代社会中扮演着越来越重要的角色。智能垃圾桶作为智能家居生态体系中的一个组成部分,以其高效便捷的功能设计和人性化体验受到了广大用户的青睐。它通过集成先进的自动化技术,不仅实现了垃圾投放过程的无接触操作,还具备了垃圾压缩以优化空间利用、满载自动提醒等功能,这些创新功能大大提升了居民的生活便利性与居住环境质量,并有力地推动了垃圾分类处理及资源循环利用的实施。
本课程设计项目正是顺应这一趋势,选择经典的51系列单片机为核心控制元件,结合强大的电子设计仿真软件Proteus平台,旨在模拟构建一款集成了人体感应控制、高度检测和自动压缩功能于一体的智能垃圾桶系统。此设计的目标在于让学生通过亲自动手实践,深入理解并熟练掌握单片机系统的硬件结构原理、微控制器编程逻辑、各类传感器(如红外或超声波传感器)的应用方法,以及电机驱动等关键领域的技术知识。此外,学生还将学习到如何将这些技术有效地整合在一起,从而解决实际生活场景中的问题,提升产品实用性和用户体验。
通过这个项目的实施,学生不仅能获得宝贵的实践经验,增强理论联系实际的能力,更能深刻体会到科技进步对日常生活改善和社会可持续发展的重要意义。同时,这也是对未来智能家居领域人才创新能力培养的一次有益尝试和探索。
6. 原理图
原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。
Proteus仿真和实物作品的区别:
1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。
2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。
电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。
3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。
4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。
7. 设计资料内容清单
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1、程序
2、proteus仿真
3、功能要求
4、软硬件流程图
5、开题报告
6、设计报告
7、原理图
8、元器件清单
9、讲解视频
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接:
https://docs.qq.com/doc/DS0tmcmlhSXBtVnVF