基于STC单片机的智能灯控系统设计 2013-07-24
2.7 串口调试模块 3 系统软件设计 3.1 主程序
本系统的串口调试模块采用RS-232串口通信,其最远传输距离是50英尺,最高传输速率是20 kbps。能做到双向传输,全双工通信。因为RS-232上传输的数字量采用负逻辑,只与地对称,所以与单片机连接时需要加入电平转换芯片MAX232。串口调试模块原理图如图8所示。
本系统软件程序使用C语言编程,采用模块化设计思想,以主程序为核心设置了A/D转换程序、I/O口输出照明控制程序、串口发送程序及中断函数4个模块。主程序流程图、中断函数流程图如图9、图10所示。
系统开始工作后主程序首先对系统功能初始化,启动看门狗以防止程序以外跑飞,然后开启下降沿中断。接下来循环调用各个功能模块函数,并执行喂狗程序。
3.2 A/D转换程序
A/D转换程序主要用于人体红外热释传感器和可见光照度传感器检测信号的转换。主程序每次调用各传感器对应的A/D转换程序时,将其检测信号的模拟量转换成对应的数字量.供其它程序使用。
3.3 I/O口输出照明控制程序
此程序模块的功能主要在于接收两个传感器经A/D转换后的数字量信号,然后由此信号依据系统设定的规则计算出照明灯在一个周期内的关断时间,供中断函数使用。主程序流程图中的T即是照明灯在一个周期内的关断时间,X即是可见光照度传感器的检测信号。
3.4 串口发送程序
串口发送程序把两个传感器的检测信号发送到上位机,便于实际参数观察和软件调试。
3.5 中断函数
中断函数利用主程序中得到照明灯在一个中断周期内的关断时间T来控制照明灯的开关和亮度。
4 结论
本智能灯控系统以节能减排为背景、选用节能卤钨灯作为照明灯,主要针对众多公共场所照明用电浪费严重的现象而设计。此系统达到了良好的照明,节能和环保效果。既消除了传统声控灯的扰民问题,又解决了以控制照明灯的开关和亮度来节省能源的问题。经过实验验证该系统体积小、工作稳定、无误动作、自动化程度高,是一种具有较高实用价值的智能灯控制系统。
- STC单片机内部EEPROM程序(12-02)
- STC单片机 EEPROM/IAP 功能测试程序演示(12-01)
- stc单片机IO配置与PWM(12-01)
- STC单片机I/O口控制程序(两个不同的跑马灯效果)(12-01)
- STC单片机实现水滴效果程序(12-01)
- STC单片机8个LED闪烁程序(12-01)