void AutoHandle(void)//自动模式处理函数,根据光线调节LED亮度 { u16 test_adc=0; u16 light=0; /////////////获取光线值 test_adc = Get_Adc_Average(ADC_Channel_9,10);//读取通道9的5次AD平均值 light = test_adc*99/4096;//转换成0-99百分比 light = light >= 99? 99: light;//最大只能到百分之99 if(mode==0)//在自动模式下,根据光线调节档位 { if(miao==0)GearTemp=0;//秒计时到0,说明没有人了,关闭LED else//否则根据光线调节 { if(light>=85)GearTemp=0; if(light<85)GearTemp=1; if(light<55)GearTemp=2; if(light<25)GearTemp=3; } } }
时间: 2023-12-12 21:03:23 浏览: 51
这段代码是一个自动模式处理函数,根据光线强度来节LED的亮度。首先获取光线值,然后将其转换成0-99百分比的形式。如果当前处于自动模式下,根据光线强度来调节LED的档位。如果光线强度大于等于85,就将档位设为0,即关闭LED。如果光线强度小于85且大于等于55,就将档位设为1;如果光线强度小于55且大于等于25,就将档位设为2;如果光线强度小于25,就将档位设为3。最后,根据档位来调节LED的亮度。
相关问题
void Adc_Init(void); u16 Get_Adc(u8 ch);逐句解读代码
`void Adc_Init(void);`: 这是一个函数声明,表明该函数没有返回值(void),且无参数(void)。函数名为Adc_Init,表示初始化模块。
`u16_Adc(u8 ch`: 同样是一个函数,返回值为u类型,即无符号16位整数。该函数有一个参数ch,为一个无符号8位整数。函数名为Get_Adc,表示获取ADC模块的值。
`逐句解读代码`的意思是分别解读每行代码的含义。
int main(void) { delay_init();//延时函数初始化 delay_ms(500);//上电瞬间加入一定延时在初始化 KEY_GPIO_Init();//GPIO 按键引脚初始化 Adc_Init();//ADC初始化 LED1 = 1; LED2 = 0; TIM2_Init(49,71); //定时器初始化,定时50us TIM3_Init(499,7199); //定时器初始化,定时50ms while(1) { keyscan();//按键扫描 AutoHandle();//自动模式处理函数 LedGearHandle(GearTemp); delay_ms(10); } }
这是主函数,程序在进入主函数后,先对延时函数进行初始化,并加入一定的延时以确保初始化完成。接着对 GPIO 引脚和 ADC 进行初始化,设置 LED1 亮,LED2 灭。然后调用 TIM2_Init 和 TIM3_Init 进行定时器的初始化,分别设置定时周期为 50us 和 50ms。接下来进入一个无限循环,循环中先对按键进行扫描,然后调用 AutoHandle 和 LedGearHandle 处理自动模式和灯光档位的变化,并加入 10ms 的延时。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)