蓝桥杯单片机之闪烁

本文介绍了使用定时器驱动500ms周期的数码管闪烁,并详细描述了根据不同模式(温度显示和参数显示)动态更新数码管显示的内容,包括温度值和参数数据的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*变量声明*/
unsigned int Timer_500ms;//五百毫秒
bit Seg_Star_Flag;//数码管闪烁标志位
unsigned char P_Dat_Index;//参数数据数组指针 0——上限 1——下限
/*定时器中断服务函数部分*/
	if(++Timer_500MS==500)
	{
   Timer_500MS=0;		
	 Seg_Star_Flag^=1;	
	}    

/*数据显示区域*/
	switch(Seg_Disp_Mode)
	{
		case 0:
			Seg_Buf[0]=11;	
			Seg_Buf[3]=10;
	    Seg_Buf[4]=(unsigned char)Temperature/10%10;	
	    Seg_Buf[5]=(unsigned char)Temperature%10;	
		  Seg_Buf[6]=(unsigned char)(Temperature*10)%10;	
	   	Seg_Buf[7]=11;	
		  Seg_Point[5]=1;
		  break;
		case 1:
			Seg_Buf[0]=12;
			Seg_Buf[3]=P_Dat[0]/10%10;
		  Seg_Buf[4]=P_Dat[0]%10;
		  Seg_Buf[5]=13;
		  Seg_Buf[6]=P_Dat[1]/10%10;
		  Seg_Buf[7]=P_Dat[1]%10;
		  Seg_Point[5]=0;
	  	if(P_Dat_Index==0)
		{
		  Seg_Buf[3]=Seg_Star_Flag?P_Dat[0]/10%10:10;
		  Seg_Buf[4]=Seg_Star_Flag?P_Dat[0]%10:10;
		}
		else
		{
			Seg_Buf[6]=Seg_Star_Flag?P_Dat[1]/10%10:10;
		  Seg_Buf[7]=Seg_Star_Flag?P_Dat[1]%10:10;
		}
		Seg_Point[5]=0;
		break;
	}

### 蓝桥杯单片机闪烁的实现方法 蓝桥杯单片机竞赛中,LED灯的控制是一个常见的考点。通常情况下,通过编写简单的延时程序来控制LED的状态变化即可完成灯的闪烁功能[^1]。 #### 控制逻辑概述 在主函数中,一般会先调用系统的初始化函数`init_sys()`,用于配置端口、定时器以及其他必要的硬件资源。之后,在一个无限循环结构中交替执行两个主要操作:一个是更新LED状态(如点亮或熄灭),另一个可能是其他外设的操作(例如数码管显示)。这种设计模式能够确保LED按照设定的时间间隔持续切换其亮暗状态[^3]。 下面提供了一个典型的C语言代码片段作为参考: ```c #include <reg52.h> // 包含头文件 sbit LED = P1^0; // 定义P1.0引脚连接LED void delay(unsigned int i); // 延时函数声明 void main() { while (1) { // 无限循环 LED = 0; // 点亮LED delay(500); // 延时约半秒 LED = 1; // 关闭LED delay(500); // 再次延时 } } // 延时子程序定义 void delay(unsigned int i) { unsigned int a, b; for(a=i;a>0;a--) for(b=110;b>0;b--); } ``` 上述代码展示了如何利用嵌套循环创建软件延迟效果,从而让LED每隔一定时间改变一次状态。这里需要注意的是实际应用中的具体参数可能依据所使用的单片机型号及其晶振频率有所不同,因此需适当调整以达到理想的视觉效果。 另外值得注意的是,在准备此类比赛过程中除了掌握基本原理之外,还应熟悉更多外围器件的应用技巧比如数码管驱动等;不过像LCD1602这样的组件虽然很有帮助但在本赛事范围内并非强制要求深入研究[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值