PIC16F的按键时间判断程序

[复制链接]
3073|6
 楼主| lkduo 发表于 2009-4-19 17:38 | 显示全部楼层 |阅读模式
为区分出0.5秒和2秒的键值返回<br />总是分不出时间的长短<br />不知道有那出现问题,<br />各位高手请教<br />或给个参考程序也可以.<br />小弟初学PIC&nbsp;C语言程序,<br />谢谢大家能来帮我入门.....<br />感激<br /><br />UCHAR&nbsp;Key_Scan()&nbsp;<br />{<br />UCHAR&nbsp;i=0;&nbsp;<br />UCHAR&nbsp;aKey_Data=0&nbsp;,&nbsp;aKey_Data1=0;<br />UCHAR&nbsp;aTime_Cnt;<br /><br />Delay(40);&nbsp;&nbsp;//&nbsp;50msec&nbsp;Delay<br />aKey_Data&nbsp;=&nbsp;(PORTC&nbsp;&&nbsp;0x0F);<br /><br />for(i=0;&nbsp;i&lt220;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;aTime_Cnt++;&nbsp;&nbsp;<br />&nbsp;&nbsp;Delay(3);//&nbsp;5msec&nbsp;<br />&nbsp;&nbsp;if((PORTC&0x0F))&nbsp;aKey_Data1&nbsp;=&nbsp;(PORTC&0x0F);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;if((aKey_Data1&nbsp;!=&nbsp;0x01)&&(aKey_Data1&nbsp;!=&nbsp;0x02)&&(aKey_Data1&nbsp;!=&nbsp;0x04)&&(aKey_Data1&nbsp;!=&nbsp;0x08))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aKey_Data&nbsp;=&nbsp;aKey_Data1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((PORTC&0x0F)==0x00)&nbsp;break;<br />}&nbsp;<br /><br />if(aTime_Cnt&nbsp;&lt&nbsp;5){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(0);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(&nbsp;(aTime_Cnt&gt5)&&(aTime_Cnt&nbsp;&lt&nbsp;160)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gKey_Data&nbsp;=&nbsp;aKey_Data;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(1);<br />}else&nbsp;if(&nbsp;aTime_Cnt&nbsp;&gt&nbsp;190){<br />&nbsp;&nbsp;&nbsp;gKey_Data&nbsp;=&nbsp;(aKey_Data|0x10);<br />&nbsp;&nbsp;&nbsp;return(1);<br />}else&nbsp;return(0);<br /><br />}
 楼主| lkduo 发表于 2009-4-19 17:41 | 显示全部楼层

附上按键部分电路

附上按键部分电路
yewuyi 发表于 2009-4-19 17:58 | 显示全部楼层

这和PIC没关系。。。

这是基本的C编程能力,用谁家的MCU都一样处理。。。
 楼主| lkduo 发表于 2009-4-20 12:17 | 显示全部楼层

问题点

能指正一下问题点吗?<br /><br />谢谢!<br /><br />以前是学过了C,但久了没用,能力是有点问题~~
 楼主| lkduo 发表于 2009-4-22 16:07 | 显示全部楼层

高人指点我吧...

高人指点我吧...
yewuyi 发表于 2009-4-22 17:18 | 显示全部楼层

请搜XWJ先生的旧帖,他写了一些文字讲的比较全面

俺们就没必要再写了。
 楼主| lkduo 发表于 2009-5-16 16:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部