CT107D-爆闪LED的实现
#include <reg52.h>
#include <intrins.h>
#define pl 1000 //爆闪频率,单位ms
sbit relay=P0^4; //继电器
sbit buzzer=P0^6; //蜂鸣器
void delay_ms(unsigned int ms);//延时ms
void Led_run();//爆闪灯
int main()
{
P2=0xa0; //关蜂鸣器
buzzer=0; //关蜂鸣器
relay=1; //关蜂鸣器
P2=0x00; //初始化锁存器选择
P2 =(P2&0x1f)|0x80; //选择LED寄存器
P0 = 0x00; //初始化LED灯亮
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(pl); //延时
P2 = ((P2&0x1f)|0x80);
P0=~P0;
P2 &= 0x1f;
}