《智能照明系统的软件电路设计方案.doc》由会员分享,可在线阅读,更多相关《智能照明系统的软件电路设计方案.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、智能照明系统的软件电路设计方案该系统的软件设计是采用模块化程序结构,为提高软件的编写效率,以语言为主体的开发,同时方便控制功能的进一步扩展.而对于一些必要的底层操作则采用内嵌汇编语言的方式实现.试验表明,通过对实时软件结构的优化,可以大大提高执行效率,从而充分满足系统对实时性的要求。灯光控制系统软件主要由CAN通信接口模块,控制面板(键盘和显示)模块,智能继电器模块,传感器模块,调光模块,远程控制模块等组成。1.1 CAN通信接口模块软件设计基于CAN总线的智能照明系统具有便于控制的特点,这个系统可以通过CAN协议设计一种分布式网络结构的数据采集与控制系统.工作时,CAN控制器SJAl000从
2、CAN总线上接收上位机发出的命令和数据,以中断方式通知AT89C51。CPU收中断信号后,将SJAl000接受到的数据存入RAM中,并通过数据对I/O接口电路发出相应的命令,控制各模块执行部件进行相应的操作。若上位机需要获取各个单元的状态信息,则CPU启动数据采集程序,控制I/O接口电路各个检测点的数据进行巡回检测,并由CAN控制器发送CAN总线,由上位机接受。其总的程序框图如1.1所示。图1.1 智能节点的主流程框图基本的CAN通讯软件设计包括3部分:CAN控制器的初始化、发送数据、接收数据.CAN控制器的初始化主要用来实现CAN工作时的参数设置,如果CAN控制器不经过初始化是不能进行工作的
3、.初始化过程如图1.2所示.CAN发送数据子程序,采用查询方式判断发送,其发送过程如图1.3所示.CAN接收数据采用中断方式,并对接收到的据进行判断,如果是总线命令则调用相应命令处子程序.接收程序框图如图1.4所示.图1.2 CAN控制器初始化 图1.3 CAN数据发送图图1.4 CAN数据接收1.2控制面板模块软件设计控制面板模块包括两部分,键盘部分和显示部分。同时我们把红外遥控的红外接收部分也放在了控制面板这一块。单片机通过键盘扫描程序,或红外接收程序判别出按键的键值后,去执行相应的按键子程序,然后调用显示程序,将相应的数据显示出来。图1.5键盘与显示主程序框图图1.6键盘扫描子程序图1.
4、7 键操作及功能处理子程序 图1.8 LED显示子程序1.3智能继电器模块软件设计软件实现电压有效值测量时,定时器T0定时10ms,定时器T1计数10ms内LM331的输出脉冲数D,单片机根据UT与D的比例关系计算出UT。再将UT与按键设定的整定值进行比较,若UT大于整定值,则继电器动作,否则不动作。若要求实现低电压继电器功能,则当UT小于整定值时,继电器动作,否则不动作。T1也是一个16位定时/计数器,让其工作在捕获模式。每隔10ms,在T0中断子程序中触发T1中断,读出T1计数值D,按比例关系计算出UT,并根据T0的定时功能实现时钟功能。主程序、T0、T1中断子程序流程图如图所示。图1.9
5、 智能继电器主程序流程图图1.10 T1中断子程序框图1.4传感器模块软件设计单片机通过编程产生串行时钟,即由CLK先高后低的转变提供串行时钟;并按时序发送与接收数据位,完成通道方式/通道数据的写入和转换结果的读出;用累加器和带进位的左循环移位指令来合成SPI功能;R2暂存高8 bit,R3暂存低4 bit本程序选择12 bit输出数据长度,高位导前。TLC2543在每次I/O周期读取的数据都是上次转移的结果,当前的转换结果在下一个I/O周期中被串行移出第一次读数由于内部调整,读取的转换结果可能不准确,应丢弃。图1.11 A/D转换程序框图1.5调光模块软件设计调光模块是主要根据面板的调光信息,对相应的灯发送数据,实现对灯的调光控制。在调光之前必须将面板上的控制信息存入到对应的调光信息存储寄存器中,以便调光。另外传感器模块将A/D转换后的数据通过CAN总线发送到上位机,上位机将其传送的数据与整定值做比较,得出相应的控制命令,通过CAN总线传送到调光模块的单片机上,也可实现调光功能。 图1.12调光子程序1.6 小结本部分分别对系统的各个子模块进行了软件的设计,尤其是CAN通信模块的软件设计,它使得各模块间的通信变得便利。能实现上位机与各模块的通信,也可各模块间实现通信。通过软件设计,弥补了硬件电路各模块间无法直接通信的缺点,使得照明控制更智能化。