久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 時間可調的定時鬧鐘C51程序

時間可調的定時鬧鐘C51程序

作者: 時間:2012-10-31 來源:網絡 收藏

void jia() //加1子函數
{
if(cnt==2) //判斷key1按下的次數是否為2
{
miao++; //是,則秒加1
if(miao>59) //判斷秒是否大于59,是,則秒清零
miao=0;
}
if(cnt==3) //以下含義同上
{
fen++;
if(fen>59)
fen=0;
}
if(cnt==4)
{
shi++;
if(shi>23)
shi=0;
}
if(cnt==5)
{
miao2++;
if(miao2>59)
miao2=0;
}
if(cnt==6)
{
fen2++;
if(fen2>59)
fen2=0;
}
if(cnt==7)
{
shi2++;
if(shi2>23)
shi2=0;
}
}
void jian() //減1子函數
{
if(cnt==2) //判斷key1按下的次數是否為2,是則秒減1
{
miao--;
if(miao==255) //判斷秒是否減到255,是,則秒清零
miao=59;
}
if(cnt==3)
{
fen--;
if(fen==255)
fen=59;
}
if(cnt==4)
{
shi--;
if(shi==255)
shi=23;
}
if(cnt==5)
{
miao2--;
if(miao2==255)
miao2=59;
}
if(cnt==6)
{
fen2--;
if(fen2==255)
fen2=59;
}
if(cnt==7)
{
shi2--;
if(shi2==255)
shi2=23;
}
}
void clock() //鬧鈴子函數
{
if(miao2==miao) //顯判斷秒的數值是否相等
if(fen2==fen) //是,在判斷分是否相等
if(shi2==shi) //是,再判斷時是否相等
{
flag1=0; //是,則標志位,flag1清零
while(!(flag1==100)) //判斷flag1是否到100
{
fmq=0; //沒有,則,繼續驅動蜂鳴器響,時間約為:5s
shijian(); //調用時間子函數
display(); //調用顯示子函數
}
fmq=1;//關閉蜂鳴器
}
}
void main()
{
init();//調用初始化子函數
while(1)
{
key_scan(); //調用鍵盤掃描子函數
shijian(); //時間子函數
clock(); //鬧鐘子函數
//顯示子函數
if(cnt==0||cnt==1||cnt==2||cnt==3||cnt==4||cnt==8)
{
display();
}
if(cnt==5||cnt==6||cnt==7)
{
display_1();
}
}
}
void time0() interrupt 1 //定時器0
{
TH0=(65536-50000)/256; //初值50ms
TL0=(65536-50000)%256;
flag++; //標志位
flag1++;
}


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉