|
sbit Feng=Px^x; //定義蜂鳴器端口 蜂鳴器是灌電流 1是關(guān) 0是開
uchar num=0; //變量 秒數(shù) 用于定時(shí)器中斷服務(wù)程序中累加秒中斷數(shù)
bit flag_End=0; //標(biāo)記 停止 用于秒值到99后不再繼續(xù)
void main()
{
Init_Time(); //初始化計(jì)數(shù)器 每1s產(chǎn)生一個(gè)中斷
Init_1602(); //初始化1602顯示 我想你可能會(huì)用這東西吧
while(1) //循環(huán)
{
Show(); //調(diào)用 主程序
}
}
void Show() //主程序
{
uchar a,b;
if(flag_End==0) //如果 結(jié)束標(biāo)記為0 可以計(jì)數(shù)
{
a=num/10; //算出當(dāng)前秒數(shù)的十位
b=num%10; //算出當(dāng)前秒數(shù)的個(gè)位
//定位指令 1602顯示位置
//寫入指令 1602寫入數(shù)據(jù)
}
if(num==99) //如果 秒數(shù)到達(dá)99秒
{
flag_End=1; //結(jié)束標(biāo)記置1 停止顯示
Feng=0; //打開蜂鳴器
Delay(200); //延時(shí)200ms
Feng=1; //關(guān)閉蜂鳴器
}
}
void Server_Time0() interrupt 1 //定時(shí)器服務(wù)程序
{
static uchar numt01,numt02; //5ms到50ms和1s
TH0 = xx; //重裝初值 1s
TL0 = xx;
num++; //計(jì)數(shù)器自加
}
這些是主思路 其它顯示初始化 計(jì)數(shù)器初始化 延時(shí) 寫位置 寫數(shù)據(jù)這些函數(shù)都是基礎(chǔ)函數(shù) 你應(yīng)該自己會(huì) 不會(huì)的話去百度抄 |
|