首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于红外线接收有关问题

2012-02-27 
关于红外线接收问题89s52中我用INT0和计时器T1做了个红外线接收器能接收但还是有点问题我把程序烧进单片机

关于红外线接收问题
89s52中我用INT0和计时器T1做了个红外线接收器   能接收   但还是有点问题
我把程序烧进单片机去     按键   有时按一下   它会处理几次甚至无数次相应操作   有时有不会只操作一次   比如说我按了 "Down "向下键   它会处理了几次 "向下 "的操作     我在处理按键的程序中已经对中断INT0和T1置0了   并且也把   "是否有按键 "的控制字   复位了     但在硬件显示来看   好像我这个   "是否有按键 "的控制字   没复位     不知道是什么原因了??

[解决办法]
把按键改成消息形式

Key{
int State;
int Vale;
}

在按键处理函数中,置状态,如果有了,就不扫按键了

用的时候,记得清一下状态就可以
[解决办法]
dddd
[解决办法]
用消息方式,可以说不大会出问题...

因为,如果有一个按键不处理,那么是永远不会再扫按键,怎么可能会反复的响应按键呢?
如果再有,那就跟踪按键放开这个动作,然后再结束扫按键工作
[解决办法]
你要置标志或用计数变量啊,检测到第一次或第N去执行,其它检测到不去执行,不能不检测的呀,不检测连续键你什么做?

热点排行