4. 系统组成及电路设计
4.1 最小系统电路如下:
如果要使单片机运行良好,就必须对它进行充分的设计,包括安装合适的外壳、电源、振荡和时序传输。此外,还应该设置一个复位功能,以确保它在初始条件下仍然处于运行状态。通过引入蜂鸣器、LED和八段数码管等外部电路,可以大大增强单片机的可拓展性,同时,它们还可以作为单片机的输入输出接口,支持快速、高效地传输数据。
4.2 红外热释电传感器电路
如果传感器未能接收到来自人类的红外光,那么由于电容的两端会形成具有不同极性和数值的正、负电荷,因此这些正、负电荷会彼此抵消,导致整个系统缺乏电流,从而使得传感器失去了功能。
当人体处于静止状态时,两个电容上发出的红外线光能量完全一致,形成一个完美的平衡,而两个电容之间的光电流也完全相反,这样,即使是在这种情况下,传感器也不会产生任何信号。
随着人们的行走,两个电容受到的红外线辐射的强度会发生变化,从而导致两个电容之间的光电流无法完全交换,从而使得传感器产生了一个可以被接收的信号。
1.当感应模块接上电源,它将开启一段大约一分钟的预处理过程,这段过程中,它将不断地发射0-3次信号,一分钟之后,它将处于静止不动的状态。
2.为了确保测量结果的准确性,应该尽量避免将光线或其他外部因素直接照射到模块表面,以防止引入干扰信号并导致误操作;同时,应该尽量避免使用流动的风,因为它们也会对测量结果造成干扰。
3.使用双元探头的传感器系统,其探头的视窗呈现出一个长方状,A元B元分别设置在探头的两侧,在探头的前后,随着探头的移动,红外光的传播速度和距离也会发生变化,而这种差值会影响探头的性能,如果探头的前后移动,a元探头会发现差值,而b元探头则无法发现差值,这样就会导致探头的性能变差,无法发挥出它的功能。因此,在安装探头的时候,要确保探头的前后移动的方向和探头的前后移动的方向保持一致,这样才能保证探头的性能和功能的高效运转。通过引入圆形透镜,我们可以让探头的四个部分同步检测到人体的动作,从而提高检测的精确性。此外,我们还可以通过扩展检测的视野,让检测的范围更广,更精确,更有效。
4.3继电器电路
电磁继电器通常用于电气设备中,作为一种电气元器件,其作用在于连接输入回路与受控对象。。
“自动开关”,也称输出回路,一种被广泛使用的自动控制技术,可以以极少.极少的电流.极少的极少的电压来完成极多.极多的极限操纵,因此,“自动开关”可以被广泛地用来进行自动调整、安全防范和变更电路。
第5章 软件程序设计
5.1 主程序流程图
Stc89c52主程序流程图如下所示:图12
本系统基于单片机,采用红外光控技术,实现了通过声音和光控制灯的功能。主要包括硬件设计和软件设计两个部分。
硬件设计部分:
本系统的硬件设计主要包括红外接收模块、声音控制模块、光控制模块、单片机控制模块和灯光控制模块。
红外接收模块:通过红外遥控器发送信号,红外接收模块接收信号并将信号转换为电信号,传递给单片机。
声音控制模块:通过麦克风检测声音信号,经过滤波、放大等处理后,传递给单片机。
光控制模块:通过光敏电阻检测光照强度,将检测到的光照强度值传递给单片机。
单片机控制模块:通过对红外信号、声音信号和光照强度值的处理,控制灯的开关、亮度、颜色等参数。
灯光控制模块:根据单片机控制模块的指令,控制灯的开关、亮度、颜色等参数。
软件设计部分:
本系统的软件设计主要包括程序设计和算法设计两个部分。
程序设计:通过编写程序,实现对红外信号、声音信号和光照强度值的处理,进而控制灯的开关、亮度、颜色等参数。
算法设计:通过算法实现对红外信号、声音信号和光照强度值的处理,进而控制灯的开关、亮度、颜色等参数。例如,通过对声音信号进行分析,判断声音的大小和类型,进而控制灯的亮度和颜色。总体来说,本系统通过红外光控技术实现了通过声音和光控制灯的功能,具有较高的实用性和可扩展性。
第6章 系统调试
6.1 硬件调试
当进行基于单片机的红外光控灯系统硬件调试时,我们需要对每个硬件组件进行检查和优化,以确保整个系统能够正常运行。以下是可能的硬件调试步骤:
红外线接收模块调试:如果红外线接收模块无法正常解码和响应传输的信号,则需要检查红外线接收头是否正确连接、是否存在干扰等问题。可以尝试更换红外线接收头或者增加滤波电路来解决干扰问题。
单片机控制模块调试:如果单片机控制模块无法启动、操作不正确等问题,则需要检查芯片是否损坏、引脚连接是否正确等问题。可以使用编程器重新烧录程序或者更换芯片来解决问题。
继电器驱动模块调试:如果继电器驱动模块无法正常控制灯泡的开关,则需要检查继电器是否损坏、驱动电路是否正确设计等问题。可以通过更换继电器或者重新设计驱动电路来解决问题。
LED指示灯调试:如果LED指示灯亮度不足、无法正常显示等问题,则需要检查指示灯是否损坏、驱动电路是否正确设计等问题。可以通过更换LED或者重新设计驱动电路来解决问题。
总体而言,基于单片机的红外光控灯系统硬件调试需要仔细检查每个硬件组件,并解决可能存在的问题。在解决问题时,可以采用逐渐排除法,逐步缩小问题范围,最终找到并解决问题。
6.2 系统软件测试
当进行基于单片机的红外光控灯系统软件调试时,我们需要对程序进行检查和优化,以确保系统能够正常运行。以下是可能的软件调试步骤:
首先,我们需要对程序进行编译,然后将其通过仿真器或下载器烧录到单片机中,最后,我们可以在单片机上运行这个程序,以便进行调试。当发现程序无法启动、崩溃等问题时,可以通过调试工具进行逐步调试,查找程序中的错误。
红外线解码调试:如果在使用红外线遥控器发送控制信号时,系统没有正确响应,则需要检查程序中的红外线解码部分。可以使用示波器等工具检查接收到的红外线信号是否与预期相符,同时检查解码算法是否正确实现。
控制逻辑调试:如果系统无法按照预期控制灯泡的开关,则需要检查程序中的控制逻辑。可以通过模拟不同情况下的输入信号并观察输出结果,以确定程序中的逻辑错误。
系统稳定性调试:如果系统在长时间运行后出现异常或者崩溃,可能是由于内存泄漏或其他错误引起的。可以通过调试工具进行程序运行状态监测,检查并解决问题。
总体而言,基于单片机的红外光控灯系统软件调试需要仔细检查每个程序模块,并解决可能存在的问题。在解决问题时,可以采用逐渐排除法,逐步缩小问题范围,最终找到并解决问题。
项目总结
基于单片机的红外光控灯系统是一种智能化的照明控制系统,旨在实现远程控制和自动感应控制,提高灯具的使用效率和舒适性,并节约能源。该系统主要由红外接收模块、单片机控制模块、继电器驱动模块、LED指示灯等硬件组件构成。我们使用STC89C52单片机来控制系统,并配备了红外接收头、四位七段数码管、LED指示灯和继电器模块来实现各种功能。程序部分使用了C语言,可以实现红外解码、控制逻辑和自动感应控制。 软硬件相结合,我们可以通过遥控器发送控制信号,或者根据环境光线自动调整灯泡亮度;同时,系统还有提示音、状态显示等附加功能。该系统低成本、易实现,已经被广泛应用在家庭、办公室等场所。这个项目为智能照明领域的技术研发提供了一个典型示例,也为学生们提供了一次锻炼硬件设计、软件开发、调试调优等方面综合能力的机会。
参考文献
赵国强,智能控制灯系统,科学启蒙,2007, 第21期
赵继文,传感器与应用电路设计,北京,北京科学出版社,2002.3.6
毕淑娥,电工与电子技术基础,哈尔滨,哈尔滨工业大学出版社,2008.6
李全利,单片机原理及应用,北京,清华大学出版社,2006.2
金发庆,传感器技术与应用,北京 : 机械工业出版社, 2004.8,281-290
王港元,电子技能基础,成都,成都科技大学出版社,1999
李朝青,单片机原理及接口技术,北京,北京航空航天大学出版社,2004
致谢
经历了一个艰辛的时期,最后的毕业设计得以圆满实现,标志着我的大学时光正式告一段落。在此期间,我从中获得的知识、经验以及感悟无穷,全部归功于所有的老师、同伴以及家人的热情帮助。
在这篇论文的撰写过程中,我的指导教授付出了巨大的努力,他们仔细审查并一一解答所有的细节,并且不断地鼓励我继续努力。对于那些对我的工作非常重视并且一直对我的学业有所帮助的教授们,我深表歉意。
附录:
原理图和PCB图
源程序代码
#include <REGX52.H> sbit Light = P1^1; sbit JDQ = P2^0; sbit RSD = P1^6; sbit Sound = P2^2; //声明IO unsigned char Trig_Time = 0; //触发灯控时间 void Timer0_Int() //定时器初始化,使用定时器 0 ,定时中断周期是 50ms { TMOD=0x01; TH0=0x4C; TL0=0x00; ET0=1; TR0=1; EA=1; } void Control() //控制函数 { if(Light==1) //光检测为高电平说明此时是光暗 { if(RSD==1||Sound==0) Trig_Time = 60; //光暗情况下,检测到人,或者声音,就刷新灯亮时间,3S , 20是一秒 } if(Trig_Time!=0) JDQ = 0; //只要灯亮时间不为 0 ,那就一直触发灯亮 else JDQ=1; } void main() //主函数 { Timer0_Int(); //定时器初始化函数 while(1) { Control(); //调用控制 } } void Timer0() interrupt 1 //定时器 0 中断回调 { TH0=0x4C; TL0=0x00; //重新装载初值 50ms if(Trig_Time!=0) Trig_Time--; //只要不为0 ,就自减 }