按鍵控制單片機(jī)改變流水燈速度
程序效果:有三個按鍵,按下其中任意一個流水燈的速度改變
*/
#includereg52.h> //52系列單片機(jī)的頭文件
#define uchar unsigned char//宏定義
#define uint unsigned int
uchar count=40,flag=0; //定義剛開始的流水燈的速度,后一個為標(biāo)志變量
void main()
{
uchar i=0;//定義局部變量
EA=1; //打開總中斷
ET0=1; //打開定時器
TR0=1; //啟動定時器
TH0=(65536-50000)/256; //裝初值
TL0=(65536-50000)%256;
P2=0xfe; //點亮第一個數(shù)碼管,為下次循環(huán)做準(zhǔn)備
while(1)
{
if(flag) //flag被置位
{
flag=0;//清零,為下次做準(zhǔn)備
P2=~P2; //取反
P2=1; //左移一位
P2=~P2; //取反
i++;
if(i==8) //移到第八個數(shù)碼管,則從新裝初值
{
i=0;
P2=0xfe;
}
}
P0=0xf0; //賦初值
if((P00xf0)!=0xf0) //判斷是否有按鍵按下
{
if(P0==0x70) //按下第一個按鍵
count=60; //給count從新賦值
if(P0==0xb0)
count=20;
if(P0==0xd0)
count=10;
}
}
}
void time0() interrupt 1 //定時器0
{
static uchar cnt; //定義靜態(tài)變量
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++; //計數(shù)
if(cnt==count)
{
cnt=0; //清零
flag=1; //置標(biāo)志位
}
}
萬能遙控器相關(guān)文章:萬能遙控器代碼
加速度計相關(guān)文章:加速度計原理
評論