CT107D-流水灯(跑马灯的简单实现)
#include <reg52.h>
#include <intrins.h>
sbit relay=P0^4; //继电器
sbit buzzer=P0^6; //蜂鸣器
void delay_ms(unsigned int ms);//延时ms
void Led_run();//跑马灯
unsigned int a;
int main()
{
P2=0xa0; //关蜂鸣器
buzzer=0; //关蜂鸣器
relay=1; //关蜂鸣器
P2=0x00; //初始化锁存器选择
P2 =(P2&0x1f)|0x80; //选择LED寄存器
a = 0x80; //初始化LED8灯亮
while(1)
{
Led_run();
}
return 0;
}
void delay_ms(unsigned int ms)//延时ms
{
int i,j;
for(i=0;i<ms;i++)
for(j=0;j<110;j++);
}
void Led_run()//跑马灯
{
delay_ms(1000); //延时
a= _crol_(a,1);
P2 = ((P2&0x1f)|0x80);
P0=~a;
P2 &= 0x1f;
}