目录

蓝桥杯13届省题

蓝桥杯13届省题

实现一个动作触发后,延时一段时间后再关闭这个动作,比如继电器,蜂鸣器,led

        具体结构是,当这个动作触发后,我们把定时器里面的计数值给清零,然后就在下面判断这个定时器计数值是否大于我们要延时的时间,大于就执行关闭这个动作的语句,

https://i-blog.csdnimg.cn/direct/ea7eb769bd594bd1a46755e68f8dade9.png

L3指示灯以0.1秒间隔亮灭,定时器实现


	if(T1_register_L3_100ms_flag==1)  //继电器吸合L3间隔100ms闪烁
	{
		if(T1_register_L3_100ms_count/100)  //
		{
			T1_register_L3_100ms_count=0;  //
			L3_flag=~L3_flag;  //
		}
		LED[2]=L3_flag;  //
	}
	
	else if(T1_register_L3_100ms_flag==0)
	{
		LED[2]=0;
	}

亮点是画斜线的点,用了一个除操作,没到一百除都是等于0的,所以达到了定时一百毫秒,到了一百毫秒,进去首先把定时器计数值清零,以便下次计数定时,在里面把一个标志位取反再赋回来,然后就然后这个标志位就赋给LED[ ]数组,最终实现100毫秒亮灭,