购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

程序设计

如前文所述,电子调光灯的核心是通过单片机控制双向晶闸管的导通角来实现调光。在交流电压的每个过零点,通过过零检测电路向单片机的INT1引脚发出中断触发信号,单片机获得控制周期的起点信号,控制双向晶闸管关断,并启动定时器。在定时器定时结束后才改变双向晶闸管控制端口的驱动信号,导通双向晶闸管。假设定时器的定时时间为 T ,则在交流电压的一个正弦周期20ms内,双向晶闸管导通的时间为20ms-2 T

电子调光灯的主要功能由子程序Check()和子程序ServiceINT1()实现。子程序Check()的功能是进行按键响应。该程序对按键的处理包括去抖及区分长时间按下、短时间按下,从而设置相应的标志位,为灯光控制决策提供依据。Check()的代码如下。

外部中断响应子程序ServiceINT1()的功能是根据按键状态进行电子调光灯的亮灭或灯光的调节处理。按键的响应机制:当短时间按下按键(按下时间大于6ms,否则认为是抖动,不予处理)时,电子调光灯在开和关两种状态下切换;当长时间按下按键时,电子调光灯进入调光状态,灯光先由暗到亮,再由亮到暗。ServiceINT1()的代码如下。

主程序主要用于初始化系统,调用相关子程序实现系统功能,代码如下。 ZVx0Kfog9yzPqMJfKvvyHs6AWfKwtCKsp41tAe+6klbYSI+PyrWdTdX5SA0SJ2Ix

点击中间区域
呼出菜单
上一章
目录
下一章
×