网站大量收购独家精品文档,联系QQ:2885784924

微处理器程序设计——以51单片机为例 课件 项目3 智慧工厂环境智能监控 任务3.3.pptx

微处理器程序设计——以51单片机为例 课件 项目3 智慧工厂环境智能监控 任务3.3.pptx

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目三智慧工厂环境智能监控

冯蓉珍

《微处理器程序设计》

任务3.3智慧工厂照明系统智能控制任务目标通过本任务的设计和制作,要求学生利用微处理器采集人体红外传感器数据感知是否有人到来,以及采集光敏传感器数据判断光照度是否足够,从而智能控制车间照明灯的亮度及开关状态,培养学生利用人体红外传感器和光敏传感器实现对环境亮度的智能控制灯。知识准备温度传感器、光敏传感器、人体红外传感器、直流电机、步进电机、继电器等工作原理。

任务实施子任务一利用人体红外传感器控制照明系统当有人经过时点亮led灯一段时间,人离开一段时间后熄灭led灯。任务实现:进行硬件电路设计和软件编程。1、硬件电路设计任务3.3智慧工厂照明系统智能控制图3-29硬件电路图

任务实施2、软件编程程序相当简单,当按下开关,即模拟有人经过,则P3.6为低电平,定义位变量表示与红外传感器连接的端口,sbithw=P3^6;位变量led表示连接led的端口。在主函数的while循环中判断位变量hw的值,hw值为低则点亮led灯,即led=0,并延时一段时间后led=1,灯熄灭。当hw值为高电平时,需要延时一段时间继续读取hw的值,若还是高电平,则led=1,灯熄灭,若期间有人经过,则led亮一段时间后再熄灭。任务3.3智慧工厂照明系统智能控制

任务实施主函数代码如下:voidmain(void){while(1){if(hw==0){//检测到有人经过 led=0;//点亮led灯 delay(100);//灯亮一段时间 led=1;//灯熄灭 } else{//检测到没人经过 delay(10);//延时一段时间 if(hw==1){//延时后依然没人 led=1;//灯熄灭 } else{//延时后如果有人,则亮灯延时一段时间后熄灭 led=0; delay(100); led=1; }}}}任务3.3智慧工厂照明系统智能控制

任务实施3、仿真调试任务3.3智慧工厂照明系统智能控制图3-30仿真运行效果

任务实施4、开发板运行任务3.3智慧工厂照明系统智能控制图3-31开发板运行效果图

任务实施5、功能拓展为了节约电能,在校园的教室里或图书馆不开无人灯,我们可以用两个红外传感器,一个放在门外,一个放在门内,当人从门外进入门内时,可以判断教室里或图书馆里有人,自动开灯;当人从门内走出门外,则表示人走出了教室或图书馆,当人数为0时,表示已经没有人了,则自动关灯。我们用将两个人体红外传感器连接到单片机的两个外部中断接口上,用两个按钮模拟两个人体红外传感器的效果。任务3.3智慧工厂照明系统智能控制

任务实施任务3.3智慧工厂照明系统智能控制图3-32硬件电路图

任务实施软件编程思路:当有人经过门外的红外传感器,即相当于按下了k2,触发外部中断0,经过门内的红外传感器,即相当于按下了k3,触发外部中断1。外部中断0连接门外的人体红外传感器1,人从门外进入门内,人数加1,从门内走出门外,人数减1。n1表示经过门外的次数,n2表示经过门内的次数。从门外经过,在外部中断0服务函数中,n1加1,如果不停的进人,则n1n2,若有人出来,则先经过外部中断1,即n2先加1,再经过外部中断0,如果n1n2,表示有人出来。数码管可以显示教室的人数。任务3.3智慧工厂照明系统智能控制

任务实施代码如下://外部中断0连接门外的人体红外传感器1voidmyint0()interrupt0{ if(n1n2){//表示有人出来 count--; if(count0){ count=0; } } n1++;?}任务3.3智慧工厂照明系统智能控制

任务实施//外部中断1连接门内的人体红外传感器2voidmyint1()interrupt2{n2++; if(n1==n2){ //表示有人进去 count++; //教室最多呆100人 if(count100){ count=100;//可采取措施不让进人 n2=0; n1=0; } }}Count表示人数,当人数为0,关灯,否则开灯。用共阳极数码管显示教室里的人数。数码管和单片机的P0端口连接。P0=table[count];任务3.3智慧工厂照明系统智能控制

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档