資源簡介
“流速”可控的彩燈控制器
1、8個發(fā)光二極管,當(dāng)按下“開始鍵”,發(fā)光二極管按照自然數(shù)序列(1、2、3、4、5、6、7、8)、奇數(shù)序列(1、3、5、7)、偶數(shù)序列(2、4、6、8、)和音樂符號序列(1、2、3、4、5、6、7、1)四種樣式不斷循環(huán);
2、用一個數(shù)碼管上顯示當(dāng)前亮燈的數(shù)字;
3、另外設(shè)置1個按鍵,修改流速,第一次按下按鍵每個二極管點亮的時間為1s,連續(xù)二次按下按鍵每個二極管點亮的時間為0.5s;
4、按下開始按鍵,四種樣式循環(huán);
5、通過4個按鍵分別選擇自然數(shù)序列、奇數(shù)序列、偶數(shù)序列、音樂序列單獨樣式循環(huán)。(按鍵由遙控器鍵盤實現(xiàn))
壓縮包包含源碼,仿真圖,報告,PPT

代碼片段和文件信息
#include?
#define??GPIO_KEY?P3
typedef??unsigned?char??uint8;
sbit?KeyOut1?=?P1^3;
sbit?IRIN=P3^2;
unsigned?char?Time;
unsigned?char?IrValue[6];
unsigned?char?code?LedChar[]?=?{0xFF0xF90xA40xB00x990x920x820xF80x80};???//用數(shù)組來存儲數(shù)碼管真值表
/*******************************************************************************
*?函數(shù)名?????????:?delayms()
*?函數(shù)功能 ?:?彩燈延時
*?輸入???????????:?x
*?輸出????????? ?:?無
*******************************************************************************/
void?delayms(unsigned?int?c) ?//?延時子程序???對應(yīng)12M晶振
{
unsigned?int?i;
while(c--)????????????????????????????????//每一次循環(huán)1ms
{
for(i?=?0;?i?120;?i++);
}
}
/*******************************************************************************
*?函數(shù)名?????????:?led?x()
*?函數(shù)功能 ?:?彩燈序列
*?輸入???????????:?x
*?輸出????????? ?:?無
*******************************************************************************/
void?led1(unsigned?int?c)?//自然數(shù)序列
{???????
uint8?jk;
????????for(j=0k=1;j<=8k<=8;?j++k++)
{??
P0?=?~(1?< {
???????? P2=LedChar[k];
}
?? delayms(c);
}
}
void?led2(unsigned?int?c)?//奇數(shù)序列
{
????????????
uint8?jk;
for(j=0k=1;j<=8k<=7;?j+=2k+=2)
{
P0?=?~(1?< {
???????? P2=LedChar[k];
}
delayms(c);
}
}
void?led3(unsigned?int?c)??//偶數(shù)序列
{
???????????
uint8?jk;???????
for(k=0j=2;k?<=8j<=8;?k+=2j+=2) ?
{?
P0?=?~(2?< {
P2=LedChar[j];
}
delayms(c);
}
}
void?led4(unsigned?int?c) ?//音樂序列
{??
uint8?jk;
????????for(j=0k=1;j<=7k<=7;?j++k++)
{??
P0?=?~(1?< {
???????? P2=LedChar[k];
}
delayms(c);
}
??}
/*******************************************************************************
*?函數(shù)名?????????:?dispay()
*?函數(shù)功能 ?:?循環(huán)顯示彩燈序列
*?輸入???????????:?x
*?輸出????????? ?:?無
*******************************************************************************/
void?dispay(unsigned?int?x){
led1(x);
led2(x);
led3(x);
led4(x);
}
/*******************************************************************************
*?函數(shù)名?????????:?Delayns()
*?函數(shù)功能 ?:?紅外延時
*?輸入???????????:?x
*?輸出????????? ?:?無
*******************************************************************************/
void?Delayns(unsigned?int?x)???//0.14ms誤差?0us
{
unsigned?char?i;
while(x--)
{
for?(i?=?0;?i<13;?i++)
{}
}
}
/*******************************************************************************
*?函數(shù)名?????????:?IrInit()
*?函數(shù)功能 ?:?初始化紅外線接收
*?輸入???????????:?無
*?輸出????????? ?:?無
*******************************************************************************/
void?IrInit()
{
IT0=1;//下降沿觸發(fā)
EX0=1;//打開中斷0允許
EA=1; //打開總中斷
IRIN=1;//初始化端口
}
/*******************************************************************************
*?函數(shù)名?????????:?ReadIr()
*?函數(shù)功能 ?:?讀取紅外數(shù)值的中斷函數(shù)
*?輸入???????????:?無
*?輸出????????? ?:?無
*****************************************************************************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7658??2014-07-17?16:25??src\pro
?????文件???????5145??2014-07-17?16:25??src\pro.c
?????文件???????2146??2014-07-17?16:25??src\pro.hex
?????文件?????????39??2014-07-17?16:25??src\pro.lnp
?????文件??????12914??2014-07-17?16:25??src\pro.LST
?????文件??????13888??2014-07-17?16:25??src\pro.M51
?????文件???????8482??2014-07-17?16:25??src\pro.OBJ
?????文件????????159??2014-07-20?21:04??src\pro.plg
?????文件??????55652??2014-07-17?17:41??src\pro.uvopt
?????文件??????13393??2014-06-21?23:29??src\pro.uvproj
?????文件??????55654??2014-07-10?00:04??src\pro_uvopt.bak
?????文件??????????0??2014-06-21?23:14??src\pro_uvproj.bak
?????文件???????6376??2009-05-07?14:37??src\STARTUP.A51
?????文件??????14048??2014-06-21?23:16??src\STARTUP.LST
?????文件????????749??2014-06-21?23:16??src\STARTUP.OBJ
?????文件??????99416??2014-07-09?09:37??仿真圖\流水燈.DSN
?????文件??????11096??2014-06-23?17:39??仿真圖\流水燈.EDF
?????文件????????768??2014-07-09?21:31??仿真圖\流水燈.PWI
?????文件????2846208??2014-12-15?20:57??單片機課程設(shè)計.ppt
?????文件?????156827??2014-12-15?20:58??“流速”可控的彩燈控制器.doc
?????目錄??????????0??2014-12-15?20:54??src
?????目錄??????????0??2014-12-15?20:54??仿真圖
-----------?---------??----------?-----??----
??????????????3310618????????????????????22
評論
共有 條評論