当前位置:文档之家› 单片机倒数程序

单片机倒数程序

#include

#define uchar unsigned char
#define uint unsigned int


sbit LS138A = P2^0;
sbit LS138B = P2^1;
sbit LS138C = P2^2;

void delay100us(uint us);


uchar code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
uchar LedOut[10];

uint i;
uint x;
int num;
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;//65536-多少就是多少毫秒50000=50毫秒
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;

while(1)
{
LedOut[0]=number[x/10];
LedOut[1]=number[x%10];

for( i=0; i<8; i++)
{
switch(i)
{
case 0:LS138A=0; LS138B=0; LS138C=0; break;
case 1:LS138A=1; LS138B=0; LS138C=0; break;
case 2:LS138A=0; LS138B=1; LS138C=0; break;
case 3:LS138A=1; LS138B=1; LS138C=0; break;
case 4:LS138A=0; LS138B=0; LS138C=1; break;
case 5:LS138A=1; LS138B=0; LS138C=1; break;
case 6:LS138A=0; LS138B=1; LS138C=1; break;
case 7:LS138A=1; LS138B=1; LS138C=1; break;
}

P0=LedOut[i];
delay100us(5);
}
}
}

void T0_time()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==10)
{
num=0;
x++;
if(x==20)
{
x=0;
}


}

}

void delay100us(uint us)
{
uint a;
for(us;us>0;us--)
for(a=47;a>0;a--);

相关主题
文本预览
相关文档 最新文档