//譯碼器
#include <reg52.h>
#define uchar unsigned char
sbit ba=P2^2;
sbit bb=P2^3;
sbit bc=P2^4;
uchar num=0,num0=0;
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(num0==20) //延時1s
{
num0=0;
switch(num) //點亮第num個LED
{
case(0):
ba=0;bb=0;bc=0;break;
case(1):
ba=1;bb=0;bc=0;break;
case(2):
ba=0;bb=1;bc=0;break;
case(3):
ba=1;bb=1;bc=0;break;
case(4):
ba=0;bb=0;bc=1;break;
case(5):
ba=1;bb=0;bc=1;break;
case(6):
ba=0;bb=1;bc=1;break;
case(7):
ba=1;bb=1;bc=1;break;
}
num++;
if(num==8)
num=0;
}
}
}
void time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num0++;
}
|