基于单片机的智能台灯设计_第1页
基于单片机的智能台灯设计_第2页
基于单片机的智能台灯设计_第3页
基于单片机的智能台灯设计_第4页
基于单片机的智能台灯设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论论文选题的背景和意义基于单片机的智能台灯设计是一种结合现代电子技术和智能家居需求的创新设计方向。在生活条件提升和科技进步的同时,人们的生活中多了智能家居,为人们带来更加便捷、舒适、智能化的生活体验。在这样的背景下,基于单片机的智能台灯设计应运而生。首先,随着人们对生活品质的要求不断提高,传统的照明设备已经不能完全满足用户的需求。传统台灯只有简单的开关和调光功能,无法实现智能化控制和个性化定制。因此,基于单片机的智能台灯设计可以通过引入先进的单片机技术,为用户打造一个智能、舒适的照明环境。其次,随着节能环保意识的增强,人们对照明设备的能源消耗也开始关注。传统的照明设备存在能源浪费的问题,而基于单片机的智能台灯设计采用PWM调光技术,可以实现精准调光,降低能源消耗,节约用电成本,符合现代社会对节能环保的要求[1]。基于单片机的智能台灯设计在结合单片机和智能化的照明需求,实现台灯功能的智能化、便捷化和节能化。本设计的意义体现在首先,通过将单片机技术与智能照明相结合,实现台灯的智能化控制。传统的台灯通常只具备简单的开关和调光功能,而基于单片机的智能台灯设计可以实现坐姿控制、自动调节灯光强弱、人走灯灭等功能,大大提升了用户对灯光的控制便利性和灵活性。二是采用PWM调光技术进行设计,通过单片机控制电压大小在PWM的占空比上发生变化,使灯光亮度达到精确调整的目的。这种调光方式不仅能够提供舒适的光照环境,还能实现节能的效果,符合节能减排的现代社会需求。智能台灯设计的意义还在于提升用户体验和生活品质。通过智能化的控制方式,用户可以根据自身需求随时调节灯光亮度,营造出适合工作、学习或休息的环境,提高室内舒适度。同时,定时开关功能也为用户带来更便捷的生活体验,特别是在忙碌的现代生活中,智能台灯的设计可以为用户节省时间和精力[2]。此外,基于单片机的智能台灯设计还具有一定的教育意义和示范效果。通过这样的毕业设计项目,可以促使学生深入理解单片机技术和智能系统的应用,培养其综合应用技术的能力和创新精神。同时,这种智能化产品的设计也可以为智能家居领域的发展提供有益的参考和借鉴,推动智能化生活的普及和发展。1.2国内外的研究现状近年来,国内外在智能照明领域的研究重点主要包括通过单片机技术,研究智能台灯如何通过提高照明设备的智能化程度,实现远程控制、定时开关、调整亮度等功能。通过PWM调光技术等手段,降低能源消耗,提高能源利用效率,符合节能环保的发展趋势。研究如何设计用户友好的智能控制界面,提升用户体验,满足不同用户对灯光的个性化需求。索智能算法在智能照明系统中的应用,如光照传感器反馈控制、智能场景识别等,实现智能台灯更智能化、自适应性更强[3]。基于单片机的智能台灯设计是一项结合电子技术和智能化需求的创新设计,国内外都有相关研究和应用。在国外,智能家居领域的发展比较成熟,智能照明产品已经得到广泛应用。许多公司和研究机构致力于开发基于单片机的智能台灯设计,并取得了一定的成果。例如,一些知名的智能家居品牌如PhilipsHue、LIFX等推出了智能台灯产品,可以通过手机App实现远程控制、定时开关、光照传感器自动调节亮度等功能,提升用户体验。此外,一些照明公司也在研究智能照明系统,包括基于单片机的智能台灯设计,致力于提高灯光控制的便捷性和智能化程度。在国内,随着智能家居市场的快速发展,越来越多的企业和研究机构开始关注智能照明领域,包括基于单片机的智能台灯设计。国内一些科研院所和高校也开展了相关研究,探索如何通过单片机技术实现智能照明系统的设计与控制。一些智能家居企业也推出了智能照明产品,逐渐受到消费者的青睐[4]。总的来说,国内外在基于单片机的智能台灯设计领域都有相应的研究和实践,通过引入先进的技术和理念,不断完善智能照明产品,为用户提供更加智能、舒适、节能的照明体验。未来随着智能家居市场的不断扩大和技术的不断创新,基于单片机的智能台灯设计将会有更广阔的发展空间和应用前景。1.3论文的主要研究内容及章节安排1.3.1主要研究内容本文是利用红外坐姿感应器、人体感应器、感光阻应器,在台灯处于自动模式的情况下,通过对周围环境的感觉变化,在自动模式和手动模式下,通过按键进行切换,设计一款由单片机控制的智能台灯,核心控制器STC89C51单片机。感光电阻可在台灯手动模式下,根据周围环境光线强弱智能调节亮度,其中以PWM调光技术调节亮度,体现智能台灯智能作用的是亮度的变化。1.3.2章节安排第一章为绪论,阐述了智能台灯控制系统基于单片机的重要性及国内外发展形势,同时展望了未来应用领域和市场需求。第二章系统方案论证,详细介绍了本设计的总体方案及各模块的构成,深入阐述了各模块的优势与特色。第三章硬件设计,详细描述了控制器、传感器、按键等所选硬件设备的特性和原理图设计。第四章软件设计展示系统的软件控制逻辑和工作流程,包括设计的程序流程图和一些传感器的工作流程图。第四章软件设计展示系统的软件控制逻辑和工作流程,包括设计的程序流程图和一些传感器的工作流程图。第五章实物调试完成对系统功能、性能等进行验证的系统软硬件联调的实际系统测试工作。第2章方案论证2.1系统的设计要求1、自动切换通过按键的方式,自动切换系统分为自动和手动两种模式。2、增加按键和降低按键的手动模式都能调节亮度。自动模式下,透过感应器侦测是否有人开启或关闭台灯,调整感光电阻,模拟光照的变化,可以看到台灯的亮度会随着光照的强弱而变化,而台灯的亮度也会随着光照的强弱而变化,它的亮度会随着环境的不同而变化,台灯的亮度会随着光照的强弱而变化,台灯的亮度4、自动模式下,台灯自动熄灭,人体感应器在20s范围内是无法察觉到人的。5、坐位矫正功能通过将红外感应器放置在用户前方一定的距离,如果检测距离太近,就会发出提醒坐着的蜂鸣警报。2.2系统的总体方案设计系统的总体方案设计主要是按键模块、人体传感器、光敏电阻传感器、红外坐姿传感器,他们的信号传输到单片机的处理单元,处理传输过来的信号后发出给智能台灯与蜂鸣器声光报警装置来控制台灯的亮度与蜂鸣器的响应。如图2-1所示。图2-1系统总体方案图2.3系统的硬件的方案论证2.3.1主控制器的选择方案一:系统控制器采用DigitalSignalProcessor(DSP)。DSP是专门处理大量数字信号信息的专用微处理器。它不敏感于元件值的容限,较少受到外界因素的影响,易于整合和分时复用,并且能够共享处理器,能够方便地调整系数以实现自适应,例如对信号进行极低的处理频率(例如处理频率)。但DSP的硬件电路较为复杂,价格昂贵,数字系统由耗电的有源器件构成,缺乏可靠的无源设备[5]。方案二:采用单片机的系统控制器。单片机发展较快,市场推广较广,产品可靠性强,具有较高的性价比、较低的电压和较低的功耗等特点。单片机拥有强大的算术操作功能,灵活的软件编程,可以实现定时和计数的各种逻辑功能,同时具备定时和计数的功能。而且单机技术消耗低、体积小、技术成熟、成本不高。方案三:ARM单片机的主控。功能比传统单片机更强大的ARM单片机,采用32位处理系统,软件上的操作系统也在处理数据时迅速推出。但是因为它的编写程序比较复杂,而且对于这个设计来说,用起来也没有那么厉害,所以就显得有些大材小用,也没有便宜到哪儿去。这样的设计是不可以选择的。综合以上分析,建议以STC89C52单片机方案为蓝本进行蓝本控制。2.3.2光照检测传感器的选择感光电阻也叫光导管,常用的制作材料是硫化镉,除了硒,硫化铝,硫化铅,硫化铋等材料。这些制作材料在特定波长的光线照射下,阻值迅速降低。这是因为光产生的载流子全部参与导电,在外加电的作用下做漂移运动,电子跑到电源的正极,空穴跑到电源的负极,所以光敏电阻的阻值下降很快,这就造成了光敏电阻的电阻值下降很快,这就造成了电阻值下降非常感光电阻是利用半导体导光效应制成的电阻,又称感光探测器,是电阻值随射入光线的强弱而变化的电阻;入射光强,电阻减小,入射光弱,电阻增大[6]。还有一种如图2-2所示的入射光弱、阻力减小、入射光强、阻力较大。图2-2光敏电阻2.3.3坐姿矫正传感器的选择在智能台灯的使用过程中,使用者会发生坐姿前倾的问题,因此为了更好的纠正坐姿,选用一款坐姿矫正传感器,当使用者身体前倾的时候,发生声光提醒,一定程度上能够改变身体姿态,由于台灯位于左前方或者右前方,选用一款能够发生漫反射的传感器,这样能够实时的检测距离的变化,采用的是一款红外漫反射传感器[7]。如图2-3所示。图2-3红外漫反射传感器2.3.4人体检测传感器的选择本文设计的传感器模块需求是,当使用台灯为自动模式时,当人体靠近台灯控制系统时,传感器系统可以检测到有外部人员靠近,及时点亮台灯,提供照明,所以我们采用的是红外人体感应传感器,它可以在各种环境条件下稳定工作,实现人走灯灭,人来灯亮,人走灯灭人体感应装置——红外线就是人类所使用的。人体红外传感器主要是通过发射红外线来检测,具体原理是根据人体恒定的人体温度,当模块在工作时,会产生一定波长的红外线光,人体红外传感器发出的波长值为10um,我选用的人体红外传感器的组成是人体红外传感器由热释电电子元件组成,在被人体接收到发送信息后,人体红外传感器会产生一定波长的红外线光,人体红外传感器的波长值为10um,而人体红外传感器再由红外传感器发出的波长为10um的红外线光,这是人体红外传感器的组成,它的波长为10um,通过外部电路放大,通过单片机处理,输出报警信号,实现自动感应侦测原理,如图2-4所示,即为传感器实物图,在此基础上实现自动感应侦测,10um热释电元件内部温度会发生变化,因此,10um热释电元件内部的温度会随着温度的变化而发生变化,它的电荷平衡被破坏,从而导致人体红外传感器的波长——电压值的不同。图2-4人体感应模块2.3.5智能台灯调光的选择台灯的灯泡亮度选择,目前有多种方案,各有优劣,有以下三种方案可供调光,供智能科技常用技术选择。方案一:直流电压用于LED亮度调节。LED是单精灵器件,靠电流通过,电流越大亮度越高,反之亮度越低,LED是单精灵器件。LED的工作电流很小,只需改变电流大小就可以调节LED的亮度,通常需要串联限流电阻。因此改变限流侦测电阻的阻值,就可以改变LED的电流,从而调整亮度。但限流检测电阻的阻值通常很小,通过电位器很难调节电流的运行。因此,一般不需要调节电阻值大小就可以调节电流。为了解决这一问题,一些芯片提供了控制电压接口,通过改变输入的控制电压来改变输出的恒流值,实现了较为容易的电流调节[8]。然而,调节正电流调节亮度会出现一些问题,例如光谱和色温可能会在调节亮度的同时有所改变。另外,调节电流可能会使恒流源不能正常工作,而降压型恒流源则会出现不能正常工作的现象,因为它的亮度低,效率低,温度高,工作时间长。因此,精确的调光是不能通过调节正电流来实现的。方案二:LED光亮度调节采用脉冲宽度调制(PWM)LED是一种发光二极管,可以快速开关,使LED的发光速度比其它发光器件快。改变PowerPull宽度,将Power转换成Pull恒定流源,达到LED亮度调节的目的。这种调节方式叫做脉冲宽度调制(PulsewideModing)。工作占空比为Ton/T,假设脉波周期为T,脉波宽度为Ton/T。LED的亮度可以通过调节恒流源脉冲的工作占空比而发生变化。简单地说,PWM就是用数字编码模拟信号电平的方法。在高解析度计数器的帮助下,为了编码特定模拟讯号的电平,调整了方波的占空比。由于在任何给定时刻,满幅直流电压不是完全打开就是完全关闭,PWM信号仍然维持数字形式。在模拟负载中加入电压或电流源,形式为连续通脉或断脉冲序列。通时表示负荷上加了直流电压,断了则说明电源断开了。任何模拟值都可以用PWM编码,只要带宽足够。脉冲宽度调制调光的好处在于不会造成色谱偏移,而且调光精确度极高,可以通过结合了数字控制技术(DigitalControl)的软件轻松实现,广泛适用于数字控制技术。方案三:可控硅用于调光一般用白炽灯、卤素灯等可控硅制成普通照明灯进行调光。光系统由于基本都是纯阻性器件,所以对输入电压的要求不高,正弦波交流电对它的影响也不大。纯阻性器件的调光通过调节有效的电压数值进行调节。但由于LED不是单纯的阻断器,因此可控硅不能用于光变LED照明系统。整体来看,采用PWM调光是目前LED调光技术中最优秀的一种。通过应用PWM调光,利用Microtroller单片机控制器,可实现对光亮度的调整,通过预设光亮度等级和调节等级两种方式。PWM调光的调光台灯是可以直接使用的,所以PWM调光是最后选定的。2.3.6坐姿提示模块的选择当智能台灯处于自动工作模式时,需要能够用来矫正使用者的坐姿,当坐姿的距离前倾时,系统能够及时发出提醒信息,用来提醒使用者坐姿不正确,因此我们采用的是蜂鸣器和LED二极管显示组合作为系统的提升系统,当系统发出提升报警时,该报警模块发出声音报警和灯光报警。2.4本章小结本章通过分析和整理智能台灯系统的设计要求,查阅台灯控制的相关文献资料,对其模块的选择分别阐述整个系统使用的模块部分,对同一模块进行不同的方案选择对比,最终确定适合本方案的控制器和传感器,完成方案制定后,最终制定出系统的总体方案。系统已完成方案设计。

第3章系统的硬件设计3.1单片机最小系统的设计单片机是一个系统的核心时期,同时这个单片机的最小系统有三个组成部分,分别是为单片机芯片和为芯片提供时钟的时钟电路,以及复位电路,本次毕设采用的核心器件是选用单片机STC89C52微处理器的STC89C52芯片,内部配置C51内核,这是一套单片机芯片的核心器件STC89C52属于STC公司生产的系列产品,属于常见的8BIT单芯片。它以Intel8051架构为基础,外设资源丰富,性能优良,在各种嵌入式系统中应用广泛。STC89C52的主要技术参数如表3-1所示。表3-1单片机芯片的参数1.工作电压范围:2.4V-5.5V2.4K×8内部可编程Flash存储器3.128×8内部数据存储器(RAM)4.32个通用I/O引脚5.3个定时/计数器6.串行通信接口(UART)7.具有多种工作模式的定时器8.6个中断源STC89C52具备低功耗、高性能和丰富的外设资源,适合用于各种控制应用,如家用电器控制、工业控制、仪器仪表等领域。同时,由于其基于8051架构,因此具有丰富的开发资源和成熟的开发工具链,便于开发人员进行软件开发和调试。时钟电路在保证单片机按特定时间节奏运行并提供稳定时钟信号的单片机运行中起着至关重要的作用。时钟电路有两种产生方式,一种是外部的,一种是内部的,即STC89C52单片机。时钟信号输入是通过软件配置将外部晶振连接到XTAL1和XTAL2引脚上来实现的,设计时选用了内部时钟电路的方式。这个过程主要涉及震荡回路的设计,通过适当的回路设计来保证时钟信号的稳定输出,震荡器能够从震荡中稳定下来。为了保证温度稳定性,通常会选择使用电容进行补偿[9]。STC89C52微处理器的正常工作也少不了复位电路。复位引脚RST在每一个时钟周期内对电路的状态进行复位,从而得到内部复位所需要的讯号(Complex)。复位电路的方式一般有两种,一种是按键复位,另一种是自动复位上电。上电自动复位通过电容充电相对来说更为简单。单片机最小系统设计图如图3-1所示,自动复位操作可以完成,保证开机时系统能够正常初始化,前提是VCC的上升时间低于1ms。图3-1单片机最小系统3.2光敏传感器的电路设计光强采集采用的方案是光敏电阻,因为光敏电阻采集的是光照强度的模拟量,所以光敏模拟量是用ADC0832转换成数字量,然后传送到MCU处理。作为一款精度为1/32的AD转换芯片,ADC0832的引脚数量为DIP8,具体描述为在ADC0832无需使用的情况下,将时钟信号提供给系统转换,并作为传感器输入引脚,输出DO和DI作为信号数据,使用CLK作为芯片时钟引脚。CS将电平拉高,其它引脚可任意将电平拉高。在使用ADC0832进行模数转换时,首先需要将CS电平通过强制的方式转换为低电平,然后同时保持一段时间的低电平,然后由于低电平时间的不断推移,芯片开始工作,将输入的模拟量转换为数字量的转换工作,完成芯片的转换工作,该模块的电路图如图3-2所示图3-2光敏传感器的电路设计光敏电阻是一种光敏感元件,其原理基于光照对半导体材料电阻值的影响。在光照作用下,光敏电阻的电阻值会发生变化,通常是随着光照强度的增加而降低。这是因为光子能量被半导体吸收后,会激发材料中的电子跃迁至导带,从而增加了电子在导带中的浓度,导致电阻减小[10]。工作流程如下:当光照射到光敏电阻表面时,光子能量被半导体材料吸收,导致半导体中的载流子浓度发生变化。这一变化引起了电阻值的变化,导致电路中的电压或电流发生相应的变化。通过测量这种变化,可以获取到光照强度的信息。如图3-3所示。图3-3光敏传感器原理3.3人体红外传感器的电路设计智能台灯人体感应检测系统,采用HC-SR505机型红外热释电传感器。感应器内部装有灵敏度高、稳定性强、工作方式超低的LHI778探头,为红外测量控制模块,采用自动控制。根据反射原理,人体红外感应答发挥作用。当有人进入感应器的探测范围时,红外线就会受到人体的反射,被感应器所接收,并对其进行探测。传感器在无人进入探测范围的情况下,由于不能接收到反射的红外线信号,所以也就不会发出打开台灯的指令。这样,在检测到人体时,系统会执行台灯点亮指令;而当没有人体存在时,系统不会点亮台灯。图3-4人体红外传感器的电路设计人体红外传感器(HumanResearch)是一种利用红外线技术对人体进行探测的传感器。其工作原理是通过对这种差异的检测,达到人体探测的目的,根据人体发出的红外辐射与环境的红外辐射不同。工作流程如下:当有人接近传感器时,人体会发出较为明显的红外辐射,这些辐射经过有菲涅尔镜聚焦后,会反射到传感器的探测单元上。探测单元内部设有红外接收器,能够感知到接收到的红外辐射信号。当探测单元接收到红外辐射信号时,会输出一个电信号,告知系统有人经过。系统接收到这个信号后,会触发相应的操作,比如开启照明灯、报警等。有菲涅尔镜的存在能够增强传感器的检测范围和灵敏度,菲涅尔镜通过其特殊的表面结构将入射光线聚焦,从而增强了传感器对人体红外辐射的接收能力。这样,即使在远距离或者低光照条件下,传感器也能够准确地检测到人体的存在,提高了传感器的实用性和可靠性[11]。这种传感器广泛应用于安防监控系统、自动门禁系统、智能家居等领域。其快速响应、高灵敏度、不受光照影响的特点,使其在各种环境下都能够可靠地实现人体检测功能。人体红外传感器的电路如图3-4,图3-5所示。图3-5人体红外传感器的电路设计3.4智能台灯的开关电路设计智慧型台灯采用LED球泡灯,通过三极管S8550三极管基极控制LED灯的照明与熄灭。软件采用PWM控制方式,使LED灯具达到特定电路的亮度控制,如图3-6所示。图3-6智能台灯的电路设计3.5按键的电路设计在人与单片机的交互中,键盘起着举足轻重的作用。在单片机应用中,常见的键盘形式有独立键盘(IndieKeyboard)和矩阵键盘(MatrixKeyboard)。它们各具特色,在对硬件要求不高的简单电路中,通常使用独立键盘的硬件电路简单,程序设计相对不复杂;而且矩阵键盘和独立键盘的区别很大,硬件电路复杂很多,在程序算法上比较繁琐,但是在节省端口资源上有优势,所以多按键电路使用起来比较合适。还有一个问题,就是要杜绝按键时可能出现的“抖动”现象。常见的解法为延时重复扫描法,其原理如下:单片机在检测到按键动作后会延迟一段时间后再判断电平是否保持原来的状态,从而区分出有效按键和无效按键,因为“抖动”脉冲的持续时间较短,大约在几秒钟左右,而我们按键的时间一般要远远大于这个时间。在这一设计中,采用了独立键盘的方式来实现,因为按键数量较少(只有3个),分别是“模式切换按键”、“亮度缩减按键”和“亮度提升按键”。图3-7所示为按键的电路设计。图3-7按键的电路设计3.6报警模块的电路设计5V蜂鸣器用于报警提示电路。报警电路由一个带有蜂鸣器的三极管9012和一个1K上拉电阻组成。通常在低功耗的单片机上导通三极管,蜂鸣器可以通过语音提示的方式进行播放。蜂鸣器报警电路如下图3-8所示。图3-8报警模块的电路设计3.7智能台灯的总电路设计智能台灯的总电路设计如图3-9所示。图3-9智能台灯总电路设计3.8本章小结本章主要介绍利用专业的电路图绘制软件绘制完整的电路图,叙述系统各部分功能的电路设计,以单片机的智能台灯硬件设计为基础。

第4章软件设计4.1编程软件单片机作为控制器,编写程序需要使用专门的编译软件。在这套系统中,我们把Keil4作为软件编译的一个环境来使用。该软件支持C51、ARM等硬件,编程人员可以选择使用C语言、汇编等常用的编程语言,这些语言提倡模块化编程。在使用Keil4软件进行编程时,首先要创建一个新的项目,然后在此文件中建立一个新的.c文件,并着手编写程序。定义头文件、端口等内容都会涉及到程序编写过程中,具体操作可参考图4-1。图4-1开发环境界面4.2程序流程图4.2.1主程序流程图本设计智慧型台灯软体程式采模组化设计,即各模组先以子函数形式编为模组化,再在主函数中调用,先由子函数包含系统初始化,再由按键初始化,台灯模式透过按键进行切换,包含人工模式自动模式,再由按键+及按键-在人工模式下切换的方式进行,在主函数中调用,先由子函数包含系统初始化,再由在自动模式中,首先进行判定台灯范围内是否有人到来,有人到来时,自动开启灯光,同时检测当前环境的光照强度进行PWM调节灯光亮度,同时还进行坐姿检测,检测距离台灯的距离,当距离过近时,系统会发出报警提示[12]。系统的主程序流程图如图4-1所示,主程序如代码4-2所示。图4-2主程序流程图voidmain(){voidmain(){ init(); //调用初始化函数 while(1) //循环 { work(); //调用函数 zzbj(); }}4.2.2光照检测子程序流程图光照强度的检测程序在进行编写时,因为光照强度是一个模拟量,因此需要采用ADC0832进行模数转换,然后将读取的值发送给单片机进行控制,通过不同的光照强度,单片机输出不同的PWM波给智能台灯进行不同亮度的调节[13],如4-3图所示为子程序流程图。图4-3光照检测子程序流程图4.3本章小结本章主要介绍的是程序设计,使用C语言在Keil软件开发平台上完成了智能台灯的软件设计,其中包括主程序的设计以及各个子程序模块的编写,通过软件设计,让我明白了程序是一个控制系统的灵魂,再好的硬件设计,如果软件设计不合理,也无法实现它的目的。

第5章实物调试5.1硬件调试在完成焊接实物之后,需要进行硬件的调试,用于检测焊接的是否成功,首先进行电源的通电,用电压表检查是否电源符合要求的5V,其次在进行检查各个传感器是否能够正常运行,硬件的实物如图5-1所示[13]。图5-1系统实物图5.2软件调试5.2.1初始化函数Debug调试首先,程序执行到初始化函数init(),会逐行执行其中的指令。TMOD=0x11;设置了定时器工作方式为模式1,这表示定时器T0和T1都采用了模式1工作。TH1=0x3c;和TL1=0xb0;分别设置了定时器T1的初值为0x3c3b(十进制为60),这表示T1每隔50ms溢出一次。TH0=0xff;和TL0=0xe7;分别设置了定时器T0的初值为0xffe7(十进制为65511),这表示T0每隔25us溢出一次。ET0=1;和ET1=1;打开了定时器T0和T1的中断允许开关,允许定时器溢出时产生中断。EA=1;打开了中断总开关,允许所有中断响应。TR0=1;和TR1=1;打开了定时器T0和T1的定时开关,使得定时器开始计时。如图5-2所示。图5-2初始化程序Dubug步进图在调试过程中,通过打开watch窗口选择定时器中断相关的变量,可以实时观测这些变量的值是否如预期般变化。例如,在初始化函数init()执行完成后,可以选择监视定时器T0和T1的计时数值,以及与中断相关的标志位,如溢出标志位。通过观察这些变量的值,可以验证定时器的计时功能是否正常工作,以及中断是否按照预期被触发。如果变量的值与预期不符,可以进一步检查代码逻辑或者定时器设置是否存在问题。此外,通过观察变量的变化,还可以评估程序的性能和稳定性,确保系统能够按照设计要求正常运行[14],如图5-3所示。图5-3初始化程序调试变量值5.2.2定时器0中断服务函数Debug调试当定时器T0溢出时,也就是计时器达到设定的时间间隔时,中断服务程序会被调用执行。首先,程序重新设置了定时器T0的初值,以确保定时器能够继续计数。然后,程序会将一个计数变量n递增,以记录溢出次数,每次溢出表示经过了一段时间,这段时间为设置的基准时间间隔(在这里是25微秒)。接着,程序检查计数变量n是否小于预设的比例值(scale),若小于,则点亮LED(假设LED为0表示点亮),表示LED需要持续点亮一段时间。若计数变量n大于等于预设的比例值,程序关闭LED。此外,程序还会检查计数变量n是否达到40,这表示经过了1毫秒的时间(因为25微秒*40=1毫秒),如果是,则将计数变量n重置为0,以便重新开始计数,定时器0中断服务程序步进Debug图见5-4所示[15]。图5-4定时器0中断服务程序Debug调试图在调试该函数时,应监控TH0、TL0寄存器的值以确保定时器计数设置正确,还要关注计数变量n的递增情况,以及LED的状态变化,确保LED在预期的时间间隔内正确地点亮或熄灭。这些变量的监控能够帮助及时发现和解决程序中的问题,保证程序的正确执行,见图5-5所示。图5-5定时器0中断服务程序调试变量值5.2.3按键函数Debug调试‘调试`work()`函数的关键在于观察程序的执行情况和变量的值。首先,在关键代码行添加断点,以便在程序执行到该处时暂停。然后,在需要关注的变量前添加监视点,以实时观察其值的变化,比如`qiehuan`、`flag_auto`、`add`、`dec`、`flag_rsd`和`scale`等。此外,在关键代码处加入输出语句,将关键变量的值输出到debugwindow上,帮助了解程序的执行情况,将代码逐行执行,并通过对各步骤执行情况进行观察的单步执行功能,从而对问题进行定位和解决。通过这些调试手段,可以有效排查程序中的错误,保证程序的正确性和稳定性,按键子程序断点调试见图5-6所示。图5-6按键子程序断点调试图在Debug模式中检测`flag_auto`变量时,可进入`work()`函数中对自动模式的逻辑。首先程序会检查是否按下了Autopilot和甩键。如果按下按钮,`flag_auto`会被取反,代表切换到Auto模式或切换回Auto模式。AUTO模式,根据按键状态调节灯光比例;如果是手动模式,则会根据LOGO位置在人体内的状态来调节灯光亮度。因此,在检测`flag_auto`变量时,可进入这些逻辑分支,观察程序在不同模式下的执行情况,见图5-7所示。图5-7按键子程序flag_auto变量检测5.3综合调试首先启动电压,通过USB连接外接的+5V电压,通过自动/手动按键进行切换,当选择手动按键时,通过加减按键调节灯光亮度,如图5-8所示。图5-8手动调节灯光亮度此刻,当有人靠近智能台灯时,人体热释电传感器检测到有人到来,台灯开启,如图5-9所示。图5-9自动开启灯光通过检测周围环境的不同光照强度,系统控制台灯调节不同的台灯亮度,光强时,台灯变暗,光弱时,台灯变亮,如图5-10所示。图5-10不同光强的台灯亮度当坐姿侦测感应器侦测到人与台灯的距离变近后,系统会像图5-11所示,发出提醒使用者注意身体距离、及时矫正坐姿的警讯提示。图5-11坐姿检测提醒通过以上对智能台灯的各项功能进行实际调试,证明该款智能台灯实现了手动自动切换功能,能够做到人走灯灭,人来灯亮的功能,其次,该台灯能够通过周围环境的亮度进行自动调节,另外还可以实现坐姿提醒功能,真正实现了智能的台灯设计。总结本毕业设计,以实现多种智能功能的单片机为基础,开发出一款智能台灯。首先,台灯的亮度和色温都是通过单片机来控制的,首先这套系统是有自动手动切换功能的。二是坐位侦测功能的设计,让使用者可以预先设定侦测距离,达到自动化的控制。另外,加入了光敏传感器,根据环境光强度自动调节台灯亮度,节省能源并保护视力。在毕业设计过程中,我对增强实际操作能力和创新思维的单片机编程、电路设计及传感器应用等方面的知识进行了深入的学习。通过实践,我解决了硬件与软件结合的问题,理清了各模块间的逻辑关系,提高了系统稳定性和可靠性。整体来看,这款智能台灯的设计,不仅锻炼了专业知识的运用和操练,同时也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论