|
51单片机的 跑马灯程序
功能:使用定时器0定时50ms,每隔1秒钟检测键盘状态,K1闭合,指示灯状态左循环;
K2闭合,指示灯状态右循环;K3闭合,指示灯状态闪烁。
程序:
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
void int_TIM0();
void isr_t0(void); //中断服务函数声明
unsigned char counter; //定义一个变量counter用来计数
sbit K1=P3^2;
sbit K2=P3^3;
sbit K3=P3^4;
void main(void) //主函数
{
counter=0;
P2=0xfe
int_TIM0();
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1;
while(1);
{ }
}
void int_t0(void)
{
TR0=0;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
}
void isr_ t0 (void) interrupt 1 //中断服务函数
{
TH0=0x3c;
TL0=0xb0;
counter++;
If(counter==20)
{
counter=0;
if(K1=0)
{
P2<<=1;
}
else
{
If(K2=0)
{
P2>>=1;
}
else
P2^=0xff;
}
}
}
|
评分
-
查看全部评分
|