求程式設計實現倒計時的秒錶,2位LED數碼管顯示,延時採用硬體延時的方法

  • 作者:由 匿名使用者 發表于 動漫
  • 2022-11-02

求程式設計實現倒計時的秒錶,2位LED數碼管顯示,延時採用硬體延時的方法落崖驚風2018.10.31 回答

用微控制器的定時器T0定時,計時1秒,實現倒計時的秒錶的功能。

程式如下

#include

unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽數碼管段碼錶

unsigned char second;//秒倒計時變數

unsigned char t0n;//T0中斷次數計數

sbit k1=P3^2;//定義按鍵

void delay()

{

unsigned int j;

for(j=400;j>0;j——);

}

void display()//顯示子程式

{

P2=0x01;

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

delay();

P2=0x02;

P0=tab[second%10];//顯示個位

delay();

}

void main()

{

TMOD=0x01;//用T0定時,中斷方式

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

TL0 =0xB0;

IE  =0x82;

while(1)

{

display();//調顯示子程式

if(k1==0)//按鍵按下

{

if(TR0==0)

{

TR0=1;//啟動開始計時

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

}

else

TR0=0;

while(k1==0);//等待按鍵釋放

}

}

}

//T0中斷程式

void T0_int() interrupt 1

{

TH0 =0x3C;

TL0 =0xB0;

t0n++;

if(t0n>=20)//1秒到

{

t0n=0;

second——;//減1秒

if(second==0)TR0=0;

}

}

模擬圖如下

求程式設計實現倒計時的秒錶,2位LED數碼管顯示,延時採用硬體延時的方法

Top