寻路机器人单片机程序示例_C51独立按键的识别示例程序
每按一次獨(dú)立鍵盤的S2鍵,與P1口相連的一個(gè)發(fā)光二極管往下移動(dòng)一位。
#include
sbit BY1=P3^4;? ? ? //定義按鍵的輸入端S2鍵
unsigned char count; //按鍵計(jì)數(shù),每按一下,count加1
unsigned char temp;
unsigned char a,b;
void delay10ms(void) //延時(shí)程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
key()? ? ? ? ? //按鍵判斷程序
{
if(BY1==0)? //判斷是否按下鍵盤,當(dāng)單片機(jī)上電時(shí)所有IO口為//高電平,S2鍵一端接地另一端接P3.4,所以當(dāng)鍵被按下時(shí)P3.4口//直接接地,此時(shí)檢測(cè)P3.4肯定為低電平。
{
delay10ms(); //延時(shí),軟件去干擾
if(BY1==0)? //確認(rèn)按鍵按下
{
count++;? ? //按鍵計(jì)數(shù)加1
if(count==8) //計(jì)8次重新計(jì)數(shù)
{
count=0;? ? //將count清零
}
}
while(BY1==0);//等待按鍵釋放,如果鍵未釋放則一直在此等待。
}
}
move()? ? ? ? //廣告燈向下移動(dòng)移動(dòng)函數(shù)
{
a=temp>(8-count);//? _crol_()函數(shù)
P1=a|b;
}
main()
{
count=0;? //初始化參數(shù)設(shè)置
temp=0xfe;
P1=0xff;
P1=temp;
while(1)? //永遠(yuǎn)循環(huán),掃描判斷按鍵是否按下
{
key();? ? //調(diào)用按鍵識(shí)別函數(shù)
move();? //調(diào)用廣告燈移動(dòng)函數(shù)
}
}
本網(wǎng)站轉(zhuǎn)載的所有的文章、圖片、音頻視頻文件等資料的版權(quán)歸版權(quán)所有人所有,本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如果本網(wǎng)所選內(nèi)容的文章作者及編輯認(rèn)為其作品不宜公開自由傳播,或不應(yīng)無(wú)償使用,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。
總結(jié)
以上是生活随笔為你收集整理的寻路机器人单片机程序示例_C51独立按键的识别示例程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能卡门禁管理系统_出入口门禁控制系统与
- 下一篇: valgrind 内存泄漏_应用 Add