当前位置: 首页 > news >正文

整木全屋定制十大名牌windows优化大师好用吗

整木全屋定制十大名牌,windows优化大师好用吗,赣州专业企业网站建设,WordPress打开速度不稳定1、项目概述 功能描述: 检测靠近时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 发生震动时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 按下按键时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 硬件说明…

1、项目概述

功能描述:
检测靠近时,垃圾桶自动开盖并伴随滴一声,2s后关盖。
发生震动时,垃圾桶自动开盖并伴随滴一声,2s后关盖。
按下按键时,垃圾桶自动开盖并伴随滴一声,2s后关盖。

硬件说明:
c52单片机、sg90舵机、超声波模块、震动传感器、蜂鸣器

接线说明:
舵机控制口 P1.1
超声波 Trig 接 P1.5口
Echo 接 P1.6口
蜂鸣器接 P2.0口
震动传感器接 P3.2口(外部中断INT0)

2、编程实现

开发步骤
1、舵机和超声波代码整合,
舵机用定时器0,
超声波用定时器1,
(手册中高 4 位管定时器 1 ,低 4 位管定时器 0。0x0F:F四个一,保持低四位不变,高四位全部为0;0x10:低四位不变,使高四位M0变为16位定时器)
实现物体靠近自动滴一声开盖,2s后关盖
2、查询法实现按键控制
3、查询法实现震动控制
4、使用外部中断0配合震动控制

3、优化

解决靠近超2s抽搐问题,
添加延时关盖
优化关盖震动控制开盖问题

#include "reg52.h"
#include <intrins.h>//距离小于10cm,D5亮,D6灭,反之相反sbit SW1			 = P2^1;	//按键开关接口
sbit D5		     = P3^7;
sbit D6 		   = P3^6;
sbit Trig		   = P1^5;
sbit Echo		   = P1^6;
sbit sg90_con  = P1^1;	//舵机
sbit vibrate   = P3^2;	//振动传感器(外部中断)
sbit beep			 = P2^0;	//蜂鸣器(低电平响)//int换为char,节省空间
char jiaodu;
char jiaodu_bak;
char cnt = 0;
char mark_vibrate = 0;	//外部中断标志位void Delay2000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void Delay150ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 2;j = 13;k = 237;do{do{while (--k);} while (--j);} while (--i);
}void Delay10us()		//@11.0592MHz
{unsigned char i;i = 2;while (--i);
}void startHC()
{Trig = 0;Trig = 1;Delay10us();Trig = 0;
}//定时器0初始化
void Time0Init()
{TMOD &= 0xF0;		//设置定时器 0 模式TMOD |= 0x01;		TL0 = 0x33;		  //给初值,定一个0.5msTH0 = 0xFE;									ET0 = 1;				//打开定时器0中断			EA = 1;					//打开总中断EATR0 = 1;		    //开始计时TF0 = 0;
}//定时器1初始化
void Time1Init()		
{TMOD &= 0x0F;		//设置定时器 1 模式TMOD |= 0x10;TH1 = 0;TL1 = 0;//设置定时器0工作模式1,初值设定为0开始数数,不着急启动定时器
}/*
十进制左移一位相当于乘以10。例:2左移一位为20
二进制左移一位相当于乘以2.  例:1左移一位为10(十进制的2)
左移8位,相当于乘以2的8次方 = 256
*/double get_distance()		//封装函数距离
{double time;//时间//定时器数据清零,方便下一次测距TH1 = 0;TL1 = 0;startHC();					//给TRIG一个10us的高电平while(Echo == 0);		//ECHO由**低电平跳转到高电平**表示开始发送波TR1 = 1;						//波发送时启动定时器while(Echo == 1);		//ECHO由**高电平跳转到低电平**表示波返回TR1 = 0;						//波回来时关闭定时器time = (TH1 * 256 + TL1)*1.085;		//计算中间经过的时间,以 um 为单位return (time * 0.017);//距离=(时间)*波的速度(340m/s)/ 2 ; 340m/s = 34cm/ms = 0.034cm/us
}void openStatuslight()		//封装函数,状态灯开D5亮,开盖
{D5 = 0;D6 = 1;
}void closeStatuslight()		//封装函数,状态灯关D5灭,关盖
{D5 = 1;D6 = 0;
}void initSG90_0()		//封装函数,舵机角度
{jiaodu = 1;	//初始化角度,0°,0.5ms的高电平cnt = 0;		//角度变化,cnt从0计算sg90_con = 1;//给高电平
}void openDustbin()//封装函数,舵机转动角度--打开垃圾桶
{char n;jiaodu = 4;//爆表4次,0.5*4=2ms高电平,转135度if(jiaodu_bak != jiaodu){cnt = 0;beep = 0;		//蜂鸣器响for(n = 0;n < 2;n++);Delay150ms();beep = 1;Delay2000ms();	//每隔两秒转一次}jiaodu_bak = jiaodu;}void closeDustbin()//封装函数,舵机转动角度--关闭垃圾桶
{jiaodu = 1;jiaodu_bak = jiaodu;cnt = 0;Delay150ms();
}void EX0_Init()	//封装函数,外部中断
{EX0 = 1;		//打开外部中断  (下降沿触发IT0/TCON.0 = 1 ;低电平触发IT0/TCON.0 = 0 )IT0 = 0;		//低电平触发
}void main()
{double dis;//距离Time0Init();//定时器0初始化Time1Init();//定时器1初始化EX0_Init();initSG90_0();//舵机角度while(1){dis = get_distance();//超声波测距if(dis < 10 || SW1 == 0 || mark_vibrate == 1){			//小于10cm,或者sw1按键被按下,或者震动产生//振动产生有可能发生在延时期间,电频转变急促,不稳定,所以要使用外部中断(INIT0 )openStatuslight();	//D5亮,开盖openDustbin();			//打开垃圾桶mark_vibrate = 0;		//恢复}else{closeStatuslight();	//D5灭,关盖closeDustbin();			//关闭垃圾桶}}} //定时器0中断
void Time0Handler() interrupt 1
{cnt++;				//统计爆表的次数TL0 = 0x33;		//重新给初值TH0 = 0xFE;if(cnt < jiaodu){		//PWM波形控制sg90_con = 1;}else{sg90_con = 0;}if(cnt == 40){ //爆表40次,经过20mscnt = 0;			//重新计算cntsg90_con = 1;}
}//外部中断
void EX0_Handler() interrupt 0
{mark_vibrate = 1;
}
http://www.dinnco.com/news/5735.html

相关文章:

  • 制作关于灯的网站必应搜索引擎国际版
  • 淘宝做网站可靠吗百度经验怎么赚钱
  • 北京企业建立网站视频号怎么推广流量
  • 企业邮箱哪个好用和安全孝感seo
  • 北京网站建设有限公司window优化大师官网
  • 百度搜不到公司网站seo外链工具
  • 12306网站谁做的成都网站排名生客seo怎么样
  • 临朐县网站建设5月疫情最新消息
  • 做网站需要展示工厂么免费放单平台无需垫付
  • 邢台做网站推广的地方免费的自助建站
  • 网站 手机版 电脑版 怎么做商丘网站建设公司
  • 阿里巴巴怎么做公司网站刷网站关键词工具
  • 石家庄制作网站公司有哪些2345浏览器下载
  • 汕头教育的网站建设江西seo推广软件
  • 杭州建设网杭州造价平台如何做谷歌seo推广
  • 广州涉疫重点场所有更新南京百度seo代理
  • 做网站备案的公司广州seo招聘信息
  • 加强档案网站建设小程序开发工具
  • 做守望先锋h的网站怎样留别人电话在广告上
  • 做职业资格考试的网站有哪些引擎搜索技巧
  • 网站建设市场需求大南宁seo优势
  • 网站资料如何做参考文献百度推广客户端教程
  • 万网域名绑定到其它网站企业培训课程设置
  • 怎样自己做企业网站信息流广告投放平台
  • 合肥有没有做网站的单位关于软文营销的案例
  • 做海报的素材那个网站比较好百度免费发布信息
  • 沧州网站建设哪家好汕头seo
  • 哪些网站做微课赚钱免费推广软件工具
  • 企业网站网页打开慢友情链接的检查方法
  • wordpress 显示视频孝感seo