桂一元
1.硬件电路设计
(1)电源电路的设计。本系统设计了一个+5V的直流电源给单片机供电,该电路将市电220V交流电降压为10V交流电,再经过二极管桥式整流、电容滤波、LM7805稳压,最后输出一个稳定的+5V直流电,输出的电压偏差不超过0.1V,整体性能达到预期要求。
(2)主控制器的电路设计。主控制器选用单片机(AT89S51),搭配键盘、数码显示、复位、晶振及通讯外围接口。键盘主要是用来输入信息,这些信息包括各种启停信号、分控制器地址号、复位等。
(3)分控制器电路设计。分控制器实现的控制和数据处理任务相对简单,采用单片机(AT89S2051),搭配晶振、实时时钟芯片、可控硅控制电路、零点检测电路、看门狗电路、通信接口电路。
照明亮度控制系统是将前面放大的硅光电池信号强度与设定的亮度信号进行比较,根据差值情况调整输出电压来控制照明灯的亮度。
(4)RS485通信电路的设计。根据任务,本系统设计由一个主机带多个从机的通信系统。具体选用专用的485低功耗通信芯片(MAX485),用一对双绞线将各个接口连接起来实现。将该芯片的RO和DI端连接到单片机的RXD和TXD,利用单片机控制芯片的和DE端,接收数据时令=0,发送数据时令DE=1。另外,采用光电耦合器提高系统的抗烦扰能力。
2.系統软件设计
(1)程序总体结构设计。整个程序设计要完成照明启停、照明亮度调节、人机交互、通信控制这四大部分的控制任务。
(2)照明启停控制程序设计。全部启停控制程序步骤:①数据初始化。②调用键盘扫描子程序,并判别是否有启停控制信号输入;如果没有则返回上一步,如果有则进入下一步。③读取输入信号。④主控制器发送全部启停信号到各个分控制器。⑤各分控制器反馈给主控制器地址信号。⑥判别主、分地址是否一致。如果一致,主控制器给分控制器发送确定信号后返回;如果不一致,显示错误信息后返回。
单独启停控制程序步骤:①数据初始化。②主控制器发送给某分控制器地址信号。③分控制器系统判别地址是否与主控制器发送的一致。如果不一致,关闭该分控制器系统;如果一致,向主机汇报地址接收主机一致信息。④分控制器执行主控制器发送的启停信号。⑤执行完成后返回。
(3)人机交互程序设计。键盘扫描程序设计:键盘扫描程序主要完成前面提到的启停控制、分控制器控制、确认等任务,由于动作的特殊性,需要在程序中考虑防抖,引入延时程序,在延时一段时间后再次键盘扫描,如果3次检测都有信号即可说明该按键确实动作。
显示程序设计:本显示系统主要是完成分控制器地址的显示,具体的程序流程如下。①数据初始化。②查表读取段码。③将上面的码送到驱动显示。④送信息给译码器选通低电位数码管。⑤判别显示是否完整。如果是则结束返回;如果不是则将显示的缓冲区左移并返回到第二步,继续往下执行。
(4)RS485通信程序设计。主控制器通信程序设计:
主控制器通信部分主要是完成向分控制器下达指令、接收分控制器反馈的各种信息。具体程序设计流程包括:第一步,初始化。第二步,主控制器向各个分控制发送地址帧。第三步,判别是否为广播模式。如果不是,将等待从机信息反馈;如果是,执行下一步。第四步,主控制器向分控制器发送数据。第五步,等待分控制器应答,发送成果结束并返回。
分控制器通信程序设计:第一步,数据初始化。第二步,判别主控制器发送的地址是否与本分控制器地址一致。如果一致,反馈给主控制器一致信息,然后到下一步;如果不一致,结束。第三步,执行主控制器发送的控制任务。第四步,反馈给主控制器执行成功信号。第五步,结束返回。
参考文献:
[1]盛啸涛,姜延昭.楼宇自动化[M].西安:西安电子科技大学出版社,2004.
[2]陈元丽.现代建筑电气设计实用指南[M].北京:中国水利水电出版社,2000.