基于PSoC3的‘人走灯灭’系统设计

基于PSoC3的‘人走灯灭’系统设计

ID:46583136

大小:824.56 KB

页数:7页

时间:2019-11-25

基于PSoC3的‘人走灯灭’系统设计_第1页
基于PSoC3的‘人走灯灭’系统设计_第2页
基于PSoC3的‘人走灯灭’系统设计_第3页
基于PSoC3的‘人走灯灭’系统设计_第4页
基于PSoC3的‘人走灯灭’系统设计_第5页
资源描述:

《基于PSoC3的‘人走灯灭’系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于PSoC3的‘人走灯灭’系统设计2014-12-12UESTC基于PSoC3的‘人走灯灭’系统设计设计背景:学校很多教室和寝室在没人的时候灯依然是亮着的,这样造成了很严重的浪费。可以设计一个系统,做到“人走灯灭”,从而使得这方面的浪费减少。设计思路:用两路光电路(激光扫描计数或红外对管感应计数)实现进出分别计数,相减所得室内人数。判断室内人数,大于零输出高电平驱动LED灯,人数等于零输出低电平熄灭LED灯。考虑到功耗问题,(激光扫描功耗大)最终选择红外对管感应计数。设计框图:器材选用:序号名称型号与规格数量备注1PSOC开发板CY8CK

2、IT-03012电脑13红外对管TCRT500024面包板15电阻200Ωx2、100Ωx1、10kΩx26LED1彩色7LCD模块11/6基于PSoC3的‘人走灯灭’系统设计硬件电路:在面包板上搭建相应硬件开发电路P0[0]经一个100Ω的电阻接到LED正极,LED负极接地。电路原理图:2/6基于PSoC3的‘人走灯灭’系统设计模块配置(2个counter模块配置相同,control-Reg配置默认,LCD默认)(注:pin_1和pin_2脚只是为了调试方便,实际可删除。)3/6基于PSoC3的‘人走灯灭’系统设计pin_1和pin_2配

3、置相同,pin_in和pin_out配置相同。管脚配置程序:#includevoiddelay(intx)/延迟函数/{intk,j;while(x){for(k=0;k<=0xff;k++)for(j=0;j<=0xff;j++);x--;}}intmain(){4/6基于PSoC3的‘人走灯灭’系统设计/*Placeyourinitialization/startupcodehere(e.g.MyInst_Start())*/uint16a;uint16b;uint16c;intflag;Control_Reg_W

4、rite(3);Counter_In_Start();Counter_Out_Start();LCD_Start();LCD_Init();LCD_Position(0,0);LCD_PrintString("NumOfPepleIn");LCD_Position(1,0);LCD_PrintString("TOTALIn");flag=0;/*CyGlobalIntEnable;*//*Uncommentthislinetoenableglobalinterrupts.*/for(;;){{if(flag==0&&Pin_In_Read(

5、)==0){a=Counter_In_ReadCounter();Control_Reg_Write(2);flag=1;delay(10);/调用延迟,锁住电平,使counter_out不计数/flag=0;}if(flag==0&&Pin_Out_Read()==0){b=Counter_Out_ReadCounter();Control_Reg_Write(1);flag=1;delay(10);/调用延迟,锁住电平,使counter_in不计数/flag=0;}else{Control_Reg_Write(3);}}a=Counte

6、r_In_ReadCounter();b=Counter_Out_ReadCounter();c=a-b;LCD_Position(0,13);LCD_PrintNumber(c);/lcd第一行显示室内现有人数/LCD_Position(1,10);LCD_PrintNumber(a);/LCD第二行显示进入此室的人次统计/5/6基于PSoC3的‘人走灯灭’系统设计if(c>0){LED_Write(1);}else{LED_Write(0);}/*Placeyourapplicationcodehere.*/}}/*[]ENDOFFIL

7、E*/设计结论:设计结果总体达到了预期要求,但是不足在于只适用于单行进出的门。也就是一次仅能进(出)一个人。而且人们进出门的速度稳定在一个阈值内,延迟才有效。如果太快或者连续进入可能会带来计数误差。设计的难点在于如何保证进出时只相应的一个计数器计数,另一个计数器停止计数。最终是通过调用延迟锁住电平,从而使另一个计数器使能端无效实现。6/6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。