1、 1 基于 51 单片机的模拟路灯控制系统 1. 系统设计系统设计 1.1 1.1 设计要求设计要求 一、任务(来自原题) 设计并制作一套模拟路灯控制系统。控制系统结构如图 1 所示,路灯布置如图 2 所示。 输入、显示 装置 支路控制器 单元控制器1单元控制器2 LED灯1LED灯2 图 1 路灯控制系统示意图 2 LED灯1 LED灯2 40 20 40 S A B C S 40 40 40 M 定位点 图 2 路灯布置示意图(单位:cm) 二、设计要求二、设计要求+ 1基本要求基本要求 (1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。 (2)支路控制器应
2、能根据环境明暗变化,自动开灯和关灯。 (3)支路控制器应能根据交通情况自动调节亮灯状态:当可移动物体 M(在物体前端标出定位点,由定位点确定物体位置)由左至右 到达 S 点时(见图 2) ,灯 1 亮;当物体 M 到达 B 点时,灯 1 灭,灯 2 亮;若物体 M 由右至左移动时,则亮灯次序与上相反。 (4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。 (5)当路灯出现故障时(灯不亮) ,支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。 2发挥部分发挥部分 3 (1)自制单元控制器中的 LED 灯恒流驱动电源。 (2)单元控制器具有调光功能,路灯驱动电源输出功率能在规定时间按设
3、定要求自动减小,该功率应能在 20%100%范围内设定并 调节,调节误差2%。 (3)性价比高,工作稳定,符合电磁兼容(EMC)方面的要求,无对外干扰或干扰小。 1.2 1.2 总体设计方案总体设计方案 1.2.1 1.2.1 功能分解及设计思路功能分解及设计思路 本模拟路灯控制系统的设计方案要实现的 主要功能主要分解为以下五个方面: 一是时钟功能及定时开关灯。 二是根据环境明暗变化,自动开灯和关灯。 三是根据交通情况自动调节亮灯状态:当 汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭。 四声光报警功能,当路灯出现故障时而不 亮时,控制器发出信号,并显示有故障路灯的地址编号。 五是
4、根据绿色节能照明要求,采用恒流源 驱动 LED 路灯发亮且能调光,路灯驱动电源输出功率能在 20%100%范围内设定并调节,调节误差2%。 以上功能的实现,都是以单片机为核心,以上功能的实现,都是以单片机为核心, 在单片机系统实现的输入输出和显示功能的基础上,由单片机的内置逻辑和运算功能,加上一定的外围电在单片机系统实现的输入输出和显示功能的基础上,由单片机的内置逻辑和运算功能,加上一定的外围电 路得以实现。路得以实现。针针对以上的五个功能,对以上的五个功能,采用采用模块模块 化的设计思想,以下分别叙述之。化的设计思想,以下分别叙述之。 1.2.2 1.2.2 方案论证与比较方案论证与比较 1
5、.2.2.1 时钟功能及定时开关机。时钟功能及定时开关机。 方案一:采用专用时钟芯片。 4 现在流行的串行时钟电路 很多,如 DS1302、 DS1307、PCF8485 等。其优势是可以单独使用,直接连接到单片机外围,有自己独立的时钟晶振,精 度较高。单片机通过串行接口 读取和写入当前的时钟值,时钟芯片的运行受单片机死机的影响少。其缺点一是消耗了单片机 IO 口资源。二是在编程时 需要增加读写串行口的内容,消耗了单片机的运行时间。三是增加了成本。增加了时钟芯片及其外围电路的开支。 DS1302 的典型应用电路如图 3 所示: 图 3 DS1302 的典型应用电路 方案二:采用单片机内置时钟振
6、荡电路及定时器构建时间平台。 本方案直接利用单片机的内置定时器,通过定时器的中断和简 单运算实现时钟功能。 5 例如: ST C 单片机,在 4M 时钟时,单个指令的运行时间是 1 微秒,设置定时器 1 每 125 个指令周期产生一个中断,即 125 微秒,8 个中断后,时间平台 是 1 毫秒 ,设置以下时间计数变量分别为: uchar To1mS = 0x00; /当该变量增加到某个数值时,表示经过了 1 毫秒 uchar T o2mS = 0x00; /当该变量增加到某个数值时,表示经过了 2 毫秒 uchar Is 2mS = 0; /到达 2 毫秒时刻 uchar To 20mS = 0x00; /当该变量增加到某个数值时,表示经过了 20 毫秒 uchar Is20mS = 0; /到达 20 毫秒时刻 uchar To 1S = 0x00; /当该变量增加到某个数值时,表示经过了 1 秒 uchar Is1 S = 0; /到达 1 秒时刻 在秒时间 平台