2 系统软件设计
本系统软件部分比较简单,系统的主程序流程图如图4所示。
系统上电后首先初始化PIC18F448,并读取其光通量的检测信号和温度信号,然后调整输出PWM脉冲的占空比并发送至LXT604的PWM引脚,循环往复,从而达到动态调光的目的。根据光通量和温度信号值动态调整PWM输出脉冲的占空比是系统软件设计中的关键内容。操作PIC18F448内部的寄存器可调整输出PWM脉冲的占空比,其实现步骤如下:(1)初始化CCP1模块控制寄存器CCP1CON的低4位为11XX,并将TRISC.2位清零,使CCP1模块工作在PWM脉冲输出模式下,可输出分辨率达10位的PWN脉冲;(2)写定时器TMR2的8位周期寄存器PR2,设置PWM输出脉冲的周期;(3)写定时器TMR2的控制寄存器T2CON,使能定时器TMR2并初始化TMR2的前分频值;(4)CCP1模块包含2个8位寄存器CCPR1H(高字节)和CCPR1L(低字节),通过写入CCP1CON控制器CCPR1L寄存器的4、5位可得到PWM脉冲的高电平时间,可在任意时刻写入,但仅当定时器TMR2的增量计数值与周期寄存器PR2的值相等时,数据才真正写入到CCPR1H寄存器内部。其中PWM脉冲周期=[(PR2)+1]×4×Tosc×(TMR2前分频值),PWM高电平时间=(CCPR1L:CCP1CON[5:4])×Tosc×(TMR2前分频值),PWM输出占空比=(CCPR1L:CCP1CON[5:4])/(PR2+1)×4。
本系统采用以单片机为控制中心及大功率LED照明的设计方案,具有很好的灵活性和扩展性。利用光敏传感器和温度传感器分别测得周围环境的光强和温度,并根据这些信息实现动态调整LED亮度,能很好地节约能源。将该照明系统作为汽车尾灯照明,由于LED亮灯快,能及时让尾随后面的汽车司机知道前方车辆的行使状况,减少汽车追尾碰撞事故的发生。高亮度LED已广泛应用于汽车照明系统中