单片机是一种可以利用程序控制引脚高低电平,并借此控制外部电路,来实行众多功能的一种元器件。
#include <STC12C5A60S2.H>
sbit a=P1^1;
sbit b=P2^0;
sbit c=P2^1;
sbit d=P2^2;
void main()
{
void Timer0Init(); //延时函数
unsigned int cut=0,cut1;
a=0; //a为74HC245的ENLED,需要为零,74HC245才能运行
b=0; //b,c,d为74HC245左侧的三个引脚,0 1 1 对应八个LED的小灯
c=1;
d=1;
while(1)
{
for(cut1=0;cut1<=7;cut1++) //亮的LED向右移动
{
P0 = ~(0x01 << cut);
cut++;
Timer0Init();
}
for(cut1=0;cut1<=7;cut1++) //亮的LED向左移动
{
cut--;
P0 = ~(0x01 << cut);
Timer0Init();
}
}
}
void Timer0Init(void) //用定时器做一个延时函数
{
unsigned int num=0;
AUXR &= 0x7F;
TMOD &= 0xF0;
TMOD |= 0x01;
TL0 = 0xB0;
TH0 = 0x3C;
TF0 = 0;
TR0 = 1;
while(1)
{
if(TF0 == 1)
{
TF0 = 0;
TH0 = 0x3C;
TL0 = 0xB0;
num++;
if(num>=20) //通过循环延长函数的时间
{
break;
}
}
}
}
|