新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 單片機鬧鐘程序及PROTUES仿真文件

單片機鬧鐘程序及PROTUES仿真文件

作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏


/*/
//////////////////////////////////////////

本文引用地址:http://butianyuan.cn/article/201612/324567.htm


}


//////////////// //延時程序///////////////////////////////
void delay_5ms(void)
{
uchar i,j;
for(i=10;i>0;i--)
for(j=248;j>0;j--)
;
}

////////////顯示程序,這個寫法不錯啊。//////////////////////////
void disp(uchar m,uchar n)
{
P2=pos[n]; //查表法 把對應的段碼送P2?
P0=seg[m]; //查表法 把對應的未碼送P0口
delay_5ms();
P2=0x00;
}


////////////顯示程序,這個寫法不錯啊。//////222222222222222/////
void disp00(uchar x,uchar y)
{
P2=pos00[y]; //查表法 把對應的段碼送P2?
P0=seg00[x]; //查表法 把對應的未碼送P0口
delay_5ms();
P2=0x00;
}

////////////////////主程序//////////////////////////////
void main(void)
{

uchar j;
uchar p;
TMOD=0x01;
// TH0=-50000/256;
// TL0=-50000%256;
TR0=1;
ET0=1;
EA=1;
second=0;
minite=0;
hour=0;

second00=7;
minite00=8;
hour00=9;

jidianqi1=1;
naozhongqiyongFlag=0;
led=1;

while(1)
{

TimeCompate();
if(k1==0)
{
delay_5ms();
if(k1==0) //判斷按鍵是否按下
{
second=0;
while(k1==0);
}
}
if(k2==0) //判斷按鍵是否按下
{
delay_5ms();
if(k2==0)
{
minite++;
if(minite==60) minite=0;
while(k2==0);
}
}
if(k3==0) //判斷按鍵是否按下
{
delay_5ms();
if(k3==0)
{
hour++;
if(hour==24) hour=0;
while(k3==0)
{for(j=0;j<8;j++) //掃描顯示程序,循環(huán)有8次,01234567.
disp(k[j],j); //掃描顯示程序
}
}
}

//////////////////////////////////////////////////////////////////////

if(k4==0) //判斷按鍵是否按下
{
delay_5ms();
if(k4==0)
{
while(k4==0)
{
for(p=0;p<8;p++)
disp00(k00[p],p);
TimeCompate();
;
}
}
}

///////////////////////////////////////////////////////////////////////////////
if(k5==0) //判斷按鍵是否按下
{
delay_5ms();
if(k5==0)
{
second00=57;
minite00=0;
hour00=0;


while(k5==0)
{
for(p=0;p<8;p++)
disp00(k00[p],p);
;
}
}
}



評論


技術(shù)專區(qū)

關(guān)閉