蓝桥杯的外设NE555
硬件连接
NE555方波信号发生器在蓝桥杯板子上通过Rb3来控制频率的大小,通过NET_SIG输出,然后与计数器0的外部脉冲计数引脚P34连接。
软件实现
通过计数器0实现脉冲计数,定时器1实现精准计时;
具体计数器0工作在8位自动装载模式,定时器1工作在16位自动装载模式。
代码块
void TimerInit(void) //5毫秒@12.000MHz
{
AUXR = 0xc0; //定时器时钟1T模式,不分频
TMOD = 0x06; //设置定时器模式
TH0=TL0=0xff; //计数器初值为满值
TL1 = 0xA0; //设置定时初值
TH1 = 0x15; //设置定时初值
TF1 = 0; //清除TF1标志
TR0=1;TR1 = 1; //定时器1开始计时
ET0=1;ET1=1;
EA=1;
}
void Timer0() interrupt 1
{
NE555_Falling++;
}
void Timer1() interrupt 3
{
NE555_Time++;
if(NE555_Time==20)
{
NE555_Frequency=NE555_Falling*10;
NE555_Time=0;
NE555_Falling=0;
}
}
可实现120HZ~25KHZ左右的方波频率