資源簡介
這是一個51單片機五向搖桿程序,分享給大家參考,有詳細注釋

代碼片段和文件信息
/*******************************************************
程序功能:搖桿控制LED燈的亮滅
開發(fā)環(huán)境:Keil3
硬件環(huán)境:CEPARK多功能開發(fā)學(xué)習(xí)板/實驗箱(2013版),STC12C5A60S2,11.092M晶振
???
接線說明:使用杜邦線連接P3口與底板單色流水燈模塊的JP15?,具體接法:P30-I1,P31-I2,P32-I3P33-I4P34-I5P35-I6P36-I7P37-I8.
??使用杜邦線連接P1口與底板五向搖桿模塊的JP39?,具體接法:P10-F1,P11-F2,P12-F3P13-F4P14-F5
跳線說明:無
實驗現(xiàn)象:五向搖桿朝上按下,L1點亮
??????????搖桿朝左按下,L2點亮
??搖桿朝下按下,L3點亮
??搖桿朝右按下,L4點亮
??搖桿中間按下,L5點亮
??????????
?
論壇支持:http://bbs.cepark.com
淘寶店鋪:http://cepark.taobao.com
作者:cepark?
時間:2013-01-23
*******************************************************/
#include?“REG52.h“
/******************************************************
???????????????????查表表格
*******************************************************/
unsigned?char?code?table[]={0xfe0xfd0xfb0xf7
????????????????????????????0xef0xdf0xbf0x7f
0xff//?關(guān)閉所有LED
};???//rom允許情況可以無限添加
void?Delay(unsigned?int); //延時函數(shù)
unsigned?char?KEY_Detect(void);
void?main(void)
{
unsigned?char?i;??//定義一個無符號字符型局部變量?i?取值范圍?0~255
P1=0xff;
P3=0xff;
while(1)
{
?i=KEY_Detect();
?if(i!=0)
?{
?????P3=table[i-1];
?????}
?
}
}
/******************************************************************************
函數(shù)名稱:Delay
函數(shù)功能:延時函數(shù)
入口參數(shù):uiCount-延時參數(shù),每加1增加0.5ms
返回值:無
備注:無
*******************************************************************************/
void?Delay(unsigned?int?uiCount)
{
unsigned?char?j?=?244;
for(;uiCount?>?0;uiCount--)?while(--j);
}
/*******************************************************
函數(shù)功能:獨立按鍵掃描
參數(shù)說明:無
返回值:返回當(dāng)前按鍵值key
*******************************************************/
unsigned?char?KEY_Detect(void)
{
unsigned?char?ucTemp;
???unsigned?char?key;
ucTemp?=?P1?;
if(ucTemp?!=?0xFF)?//判斷是否有按鍵按鍵,如果有按鍵按下,進去下面的程序
{
Delay(200); ??//消抖
ucTemp?=?P1;
if(ucTemp?!=?0xFF)//再次判斷是否有按鍵按下,如果ucTemp仍然不是0XFF,則說明確實有按鍵按下
{
switch(ucTemp)
{
case?0xFE:
key=1;?
???//第一個按鍵
break;
case?0xFD:
????key=2;
???//第二個按鍵
break;
case?0xFb:
key=3;
???//第三個按鍵
break;
? case?0xF7:
key=4;
???//第四個按鍵
break;
case?0xef:
key=5;
???//第五個按鍵
break;
case?0xdf:
key=6;
???//第六個按鍵
break;
case?0xbf:
key=7;
???//第七個按鍵
break;
case?0x7f:
key=8;
???//第八個按鍵
break;
default:key=0;
break;
}
}
}
???return?key;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2565??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\CEPARK
?????文件????????212??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\CEPARK-.plg
?????文件????????532??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\CEPARK.hex
?????文件?????????78??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\CEPARK.lnp
?????文件???????1050??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\CEPARK.plg
?????文件???????2845??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\main.obj
?????文件????????212??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Out\main.plg
?????文件???????5573??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Project\CEPARK.m51
?????文件???????7745??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Project\main.lst
?????文件????????887??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Project\五向搖桿-點亮LED.Opt
?????文件???????2165??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Project\五向搖桿-點亮LED.Uv2
?????文件???????2919??2017-10-25?14:14??11-1?五向搖桿-點亮LED\Source\main.c
?????目錄??????????0??2018-12-25?13:26??11-1?五向搖桿-點亮LED\Out
?????目錄??????????0??2018-12-25?13:26??11-1?五向搖桿-點亮LED\Project
?????目錄??????????0??2018-12-25?13:26??11-1?五向搖桿-點亮LED\Source
?????目錄??????????0??2018-12-25?13:26??11-1?五向搖桿-點亮LED
-----------?---------??----------?-----??----
????????????????26783????????????????????16
- 上一篇:基于labview的噪聲采集和分析軟件
- 下一篇:地震波場數(shù)值模擬
評論
共有 條評論