當前位置:編程學習大全網 - 編程軟體 - 簡單的十秒倒計時編程

簡單的十秒倒計時編程

編程實現倒計時秒表,2位LED數碼管顯示,並采用硬件延時的方法進行延時。

用單片機的定時器T0計時1秒,實現秒表倒計時的功能。

該過程如下

# include & ltreg 51 . h & gt;

無符號字符代碼tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x 90 };//* * *楊數碼管段代碼表

無符號字符秒;//第二個倒計時變量

無符號字符t0n//T0中斷計數

sbit k1=p3^2;//定義密鑰

無效延遲()

{

無符號int j;

for(j = 400;j & gt0;j-);

}

Void display()//顯示子例程

{

P2 = 0x 01;

P0 = tab[秒/10];//顯示十位數

delay();

P2 = 0x 02;

P0 = tab[秒% 10];//顯示單位

delay();

}

void main()

{

TMOD = 0x 01;//T0的時序,中斷模式

TH0 = 0x3C//晶振12M,定時50ms。

TL0 = 0xB0

IE = 0x82

while(1)

{

顯示();//調整顯示子程序

If(k1==0)//按鍵。

{

如果(TR0==0)

{

TR0 = 1;//啟動計時器。

秒= 60;//從60秒開始倒計時。

}

其他

TR0 = 0;

while(k 1 = = 0);//等待鍵被釋放

}

}

}

//T0中斷程序

void T0_int()中斷1

{

TH0 = 0x3C

TL0 = 0xB0

t0n++;

if(t0n & gt;=20)//1秒到達

{

t0n = 0;

第二-;//負1秒

if(秒= = 0)TR0 = 0;

}

}

  • 上一篇:UG10.0旋轉按中健卡頓
  • 下一篇:江蘇泰興中等專業學校
  • copyright 2024編程學習大全網