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