论文部分内容阅读
摘 要:垃圾桶是日常生活中必不可少。无论在家庭还是公共场合垃圾桶都发挥着洁净生活、方便生活的作用。现在市场上流通的垃圾桶,都是传统的垃圾桶,在日常生活中暴露出了诸多不便。在c8051f020单片机的基础上,开发此智能控制系统。编程语言采用广泛使用的C语言。控制系统操作简单,配合垃圾桶的机械装置,并控制机械装置,达到自动感应打开垃圾桶盖和自动将垃圾桶打包的功能。
关键词: 工业技术;控制系统;智能垃圾桶;单片机;电动封口
中图分类号:TS976.9;TS04;TM925.39
1 引 言
在智能化改变生活的今天,日常生活中的垃圾桶已经显示出了其不足。垃圾桶的智能化趋势随着科技的发展已经势不可挡。本设计基于c8051f020型号单片机,并经过实物制作,进行多次试验证明了其可行性。此垃圾桶将巧妙、实用的机械构造和单片机的电气智能化结合在一起,不用手、脚开桶盖,也不用手打包垃圾,充分解放了人的身体,让人们远离垃圾中滋生的细菌,和垃圾、细菌保持距离。让生活更加洁净,提高生活品质。经实用证明此设计方便、卫生,性能可靠,从而有效预防接触性感染。通过机械结构装置实施智能动作。硬件系统由检测信号装置、控制系统电路、和实施机构三大部分组成。检测信号装置包括按键检测和红外感应检测,主要感知用户的需求和命令,用以下一步的分析和处理;控制系统电路将用户的需求和命令信号加以处理,而后传送到执行机构;执行机构是利用直流电动机将电信号转变为机械动作,实现最终效果。本文主要对此智能垃圾桶的电路和程序设计进行阐述和说明。
2 控制系统
新型多功能自动垃圾桶的智能控制系统基于C8051F020单片机。输入信号是红外感应模块HC-SR501。当有人进入HC-SR501感应范围其输入高电平,人离开感应范围则关闭高电平,输出低电平。C8051F020检测HC-SR501的信号,输出信号控制开盖电动机M4,实现垃圾桶的自动开盖。其他是输入信号通过按钮实现,C8051F020输出信号到执行电路,实现一键封口和顶出垃圾的功能。
封口信号目前由按键进行检测,当检测到按键信号时,控制封口电动机M1运转指定时间,此时封口完成并为下一次封口做准备。
提取垃圾操作由红外感应和按键同时检测,分析信号后控制顶出电动机M2、M3运转,并等到人离开后自动复位。
3 电路部分
電路电路图如图2。C8051F020的P0检测信号输入。单片机端口P0.0、P0.1、P0.2、P0.3、P0.4分别检测K1、K2、K3、K4、K5的状态。P0.5检测红外感应器HC-SR501的输出信号。
电动机M1、M2、M3用L298N进行驱动,电动机M4用ULN2003驱动。单片机端口P1.0~P1.5通过输出信号到L298N分别控制电动机M1、M2、M3的正转、反转和停转以及运转时间。开盖装置由于使用凸轮,故电动机M4无需反转。单片机端口P1.6通过输出信号到ULN2003控制电动机M4的正转和停转以及运转时间。
4 程序
C语言程序如下:
#include "C8051F020.h"
// Peripheral specific initialization functions,
// Called from the Init_Device() function
sbit K1=P0^0;
sbit K2=P0^1;
sbit K3=P0^2;
sbit K4=P0^3;
sbit K5=P0^4;
sbit SR501=P0^5;
sbit ENA=P1^0;
sbit ENB=P1^1;
sbit IN1=P1^2;
sbit IN2=P1^3;
sbit IN3=P1^4;
sbit IN4=P1^5;
sbit ULN1=P1^6;
sbit ULN2=P1^7;
sbit LED1=P2^6;
sbit LED2=P2^7;
void Port_IO_Init()
{
XBR2 = 0x40;
}
void Oscillator_Init()
{
int i = 0;
OSCXCN = 0x77;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
OSCICN = 0x0C;
}
// Initialization function for device,
// Call Init_Device() from your main program
void delay(unsigned int z)
{
unsigned int x,y;
for(x=0;x for(y=0;y<180;y++);
}//延时程序
void Init_Device(void)
{
Port_IO_Init();
Oscillator_Init();
} void K1_1(void)
{
ENA=1;
IN1=1;
IN2=0;
delay(2000);
ENA=0;
LED1=1; //已打包指示灯亮
}//K1闭合时,电动机M1正向转动
void K1_2(void)
{
ENA=1;
IN1=0;
IN2=1;
delay(30000);
ENA=0;
}//电动机1复位
void K2_1(void)
{
ENB=1;
IN3=1;
IN4=0;
delay(1050);
ENB=0;
delay(10000); //頂出后停顿10s
ENB=1;
IN3=0;
IN4=1;
delay(1050);//电动机M2、M3复位
LED1=0; //已打包指示灯灭
}
void SR501_1(void)
{ ULN1=1;
delay(5250);
ULN1=0;
}
unsigned int i;
void main()
{
WDTCN=0xde;
WDTCN=0xad; //禁止看门狗定时器
Init_Device();
i=15;
P0=0xdf; //置P0为输入方式
while(1)
{
if(P0!=0xdf)
{
delay(10);
}
else continue;
if(K1==0)
{
K1_1();
i--;
}
if(i==0)
{
LED2=1;
K1_2();
}
if(K2==0)
{
K2_1();
}
if(K3==0)
{
i=15;
LED2=0;
}
if(SR501==1)
{
SR501_1();
}
}
}
5 结论
基于c8051f020单片机设计的自动垃圾桶智能控制系统,在提供智能化的服务同时,将用户操作过程简化,方便用户使用,适合多种场合。用户无需亲自动手开盖即可扔垃圾,无需亲自打包,无需提出,自动顶出,有良好的市场前进和应用价值。
参考文献:
[1] 胡乾斌. 单片微型计算机原理与应用[M] ..武汉:华中科技大学出版社,2006.
[2]倪晓军. 单片机原理与接口技术教程[M] . 北京:清华大学出版社,2009.
关键词: 工业技术;控制系统;智能垃圾桶;单片机;电动封口
中图分类号:TS976.9;TS04;TM925.39
1 引 言
在智能化改变生活的今天,日常生活中的垃圾桶已经显示出了其不足。垃圾桶的智能化趋势随着科技的发展已经势不可挡。本设计基于c8051f020型号单片机,并经过实物制作,进行多次试验证明了其可行性。此垃圾桶将巧妙、实用的机械构造和单片机的电气智能化结合在一起,不用手、脚开桶盖,也不用手打包垃圾,充分解放了人的身体,让人们远离垃圾中滋生的细菌,和垃圾、细菌保持距离。让生活更加洁净,提高生活品质。经实用证明此设计方便、卫生,性能可靠,从而有效预防接触性感染。通过机械结构装置实施智能动作。硬件系统由检测信号装置、控制系统电路、和实施机构三大部分组成。检测信号装置包括按键检测和红外感应检测,主要感知用户的需求和命令,用以下一步的分析和处理;控制系统电路将用户的需求和命令信号加以处理,而后传送到执行机构;执行机构是利用直流电动机将电信号转变为机械动作,实现最终效果。本文主要对此智能垃圾桶的电路和程序设计进行阐述和说明。
2 控制系统
新型多功能自动垃圾桶的智能控制系统基于C8051F020单片机。输入信号是红外感应模块HC-SR501。当有人进入HC-SR501感应范围其输入高电平,人离开感应范围则关闭高电平,输出低电平。C8051F020检测HC-SR501的信号,输出信号控制开盖电动机M4,实现垃圾桶的自动开盖。其他是输入信号通过按钮实现,C8051F020输出信号到执行电路,实现一键封口和顶出垃圾的功能。
封口信号目前由按键进行检测,当检测到按键信号时,控制封口电动机M1运转指定时间,此时封口完成并为下一次封口做准备。
提取垃圾操作由红外感应和按键同时检测,分析信号后控制顶出电动机M2、M3运转,并等到人离开后自动复位。
3 电路部分
電路电路图如图2。C8051F020的P0检测信号输入。单片机端口P0.0、P0.1、P0.2、P0.3、P0.4分别检测K1、K2、K3、K4、K5的状态。P0.5检测红外感应器HC-SR501的输出信号。
电动机M1、M2、M3用L298N进行驱动,电动机M4用ULN2003驱动。单片机端口P1.0~P1.5通过输出信号到L298N分别控制电动机M1、M2、M3的正转、反转和停转以及运转时间。开盖装置由于使用凸轮,故电动机M4无需反转。单片机端口P1.6通过输出信号到ULN2003控制电动机M4的正转和停转以及运转时间。
4 程序
C语言程序如下:
#include "C8051F020.h"
// Peripheral specific initialization functions,
// Called from the Init_Device() function
sbit K1=P0^0;
sbit K2=P0^1;
sbit K3=P0^2;
sbit K4=P0^3;
sbit K5=P0^4;
sbit SR501=P0^5;
sbit ENA=P1^0;
sbit ENB=P1^1;
sbit IN1=P1^2;
sbit IN2=P1^3;
sbit IN3=P1^4;
sbit IN4=P1^5;
sbit ULN1=P1^6;
sbit ULN2=P1^7;
sbit LED1=P2^6;
sbit LED2=P2^7;
void Port_IO_Init()
{
XBR2 = 0x40;
}
void Oscillator_Init()
{
int i = 0;
OSCXCN = 0x77;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
OSCICN = 0x0C;
}
// Initialization function for device,
// Call Init_Device() from your main program
void delay(unsigned int z)
{
unsigned int x,y;
for(x=0;x
}//延时程序
void Init_Device(void)
{
Port_IO_Init();
Oscillator_Init();
} void K1_1(void)
{
ENA=1;
IN1=1;
IN2=0;
delay(2000);
ENA=0;
LED1=1; //已打包指示灯亮
}//K1闭合时,电动机M1正向转动
void K1_2(void)
{
ENA=1;
IN1=0;
IN2=1;
delay(30000);
ENA=0;
}//电动机1复位
void K2_1(void)
{
ENB=1;
IN3=1;
IN4=0;
delay(1050);
ENB=0;
delay(10000); //頂出后停顿10s
ENB=1;
IN3=0;
IN4=1;
delay(1050);//电动机M2、M3复位
LED1=0; //已打包指示灯灭
}
void SR501_1(void)
{ ULN1=1;
delay(5250);
ULN1=0;
}
unsigned int i;
void main()
{
WDTCN=0xde;
WDTCN=0xad; //禁止看门狗定时器
Init_Device();
i=15;
P0=0xdf; //置P0为输入方式
while(1)
{
if(P0!=0xdf)
{
delay(10);
}
else continue;
if(K1==0)
{
K1_1();
i--;
}
if(i==0)
{
LED2=1;
K1_2();
}
if(K2==0)
{
K2_1();
}
if(K3==0)
{
i=15;
LED2=0;
}
if(SR501==1)
{
SR501_1();
}
}
}
5 结论
基于c8051f020单片机设计的自动垃圾桶智能控制系统,在提供智能化的服务同时,将用户操作过程简化,方便用户使用,适合多种场合。用户无需亲自动手开盖即可扔垃圾,无需亲自打包,无需提出,自动顶出,有良好的市场前进和应用价值。
参考文献:
[1] 胡乾斌. 单片微型计算机原理与应用[M] ..武汉:华中科技大学出版社,2006.
[2]倪晓军. 单片机原理与接口技术教程[M] . 北京:清华大学出版社,2009.