定时器_秒表

#

typedefunsignedintu16;

typedefunsignedcharu8;

sbitLSA=P2^2;

sbitLSB=P2^3;

sbitLSC=P2^4;

u8codesmgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

u16s;

u8sec,mb[2];

voidTimer0Init()

{

TMOD|=0x01;

TH0=0xfc;

TL0=0x18;

TR0=1;

}

voiddelay(u16i)

{

while(i--);

}

voidDigDisplay()

{

u8i;

for(i=0;i2;i++)

{

switch(i)

{

case(0):

LSA=0;

LSB=0;

LSC=0;break;

case(1):

LSA=1;

LSB=0;

LSC=0;break;

}

P0=smgduan[mb[i]];

delay(1);

P0=0x00;

}

}

voidmain()

{

Timer0Init();

while(1)

{

if(TF0==1)

{TF0=0;

TH0=0xfc;//给定时器赋值,1ms

TL0=0x18;

s++;

}

if(s==1000)//到达1ms

{

s=0;

sec++;

if(sec==100)

sec=0;//到100清0

}

mb[0]=sec%10;//个

mb[1]=sec/10;//十

DigDisplay();

}

}

发布于 2024-11-15
151
目录

    推荐阅读