基于STM32的智能台灯_第1页
基于STM32的智能台灯_第2页
基于STM32的智能台灯_第3页
基于STM32的智能台灯_第4页
基于STM32的智能台灯_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32的智能台灯摘要:台灯早已成为人们生活的必需品,但是随着科技的发展,以及人们对生活质量的追求,市面上的普通台灯已经不能满足智能家居的应用要求,所以台灯也随着科技的进步走向智能化。此次设计的智能台灯拥有多种功能,作为以STM32为基础的台灯,其主控制器为Cotex-M3控制器,它的生产者是意法半导体企业,在完成软硬件设计之后,此智能台灯便能够拥有多种功能,比如能够进行短距离无线遥控以及多级亮度调节等,使得台灯更加智能化,更方便。首先是台灯的多级调亮功能,本设计为了实现台灯不同亮度的调节,采用的是控制LED的闪烁间隔时长的方法。多级调亮可以满足人们对不同光照亮度的需求,比如睡前看书时可以选择较亮的亮度,睡觉时有开夜灯习惯的人就可以把亮度调低,以充当夜灯的效果。然后是遥控功能,这里采用的是红外来实现无线短距离遥控。红外遥控器可以控制台灯的开和关,以及台灯的亮度。这个功能主要是防止忘记关灯是可以不用再走到灯前,更加方便。最后是触摸按键控制,触摸按键的增加使得台灯更加的简洁,只需要一个触摸按键就可以实现亮度的调高或调低。此次通过实验测试结合系统总体设计方案这一手段来展开研究,通过研究发现,通过对STM32的运用,智能台灯能够展开多任务管理工作,这使得系统不但具备实时性特点,而且也十分稳定。关键字:STM32智能台灯红外触摸按键Intelligenttablelampbasedonstm32Abstract:Desklamphasalreadybecomeanecessityofpeople'slife,butwiththedevelopmentofscienceandtechnology,aswellaspeople'spursuitofqualityoflife,thecommondesklamponthemarkethasnotbeenabletomeettheapplicationrequirementsofsmarthome,sothedesklampalsomovestowardsintelligencewiththeprogressofscienceandtechnology.Inthispaper,amultifunctionalintelligentlampbasedonSTM32real-timeoperatingsystemisdesigned.ThemaincontrollerofSTM32isacotex-m3coremicrocontrollerofItalianFrenchsemiconductorcompany.Bybuildinghardwarecircuitandwritingsoftwareprogram,themulti-levelbrightnessadjustment,wirelessshort-rangeremotecontrolandtouchswitchfunctionsoftheintelligentlamparerealized,whichmakesthelampmoreintelligentandconvenient.Thefirstisthemulti-leveldimmingfunctionofthetablelamp.Inordertorealizetheadjustmentofdifferentbrightnessofthetablelamp,thisdesignadoptsthemethodofcontrollingtheflashintervaloftheLED.Multileveldimmingcanmeetpeople'sneedsfordifferentbrightness.Forexample,whenreadingbeforesleep,youcanchooseabrighterbrightness.Whensleeping,peoplewhohavethehabitofturningonnightlightscanturnthebrightnessdowntoactastheeffectofnightlights.Thenthereistheremotecontrolfunction,whichusesinfraredtorealizethewirelessshortdistanceremotecontrol.Theinfraredremotecontrolcancontroltheonandoffofthedesklampandthebrightnessofthedesklamp.Thisfunctionismainlytopreventforgettingtoturnoffthelight.Itismoreconvenienttowalkinfrontofthelight.Finally,touchkeycontrol.Theincreaseoftouchkeymakesthetablelampmoreconcise.Onlyonetouchkeyisneededtoadjustthebrightnessupordown.Thistime,throughexperimentaltestingcombinedwiththeoveralldesignofthesystemasameanstocarryoutresearch,theresearchfoundthatthroughtheuseofSTM32,intelligentdesklampscancarryoutmulti-taskmanagement,whichmakesthesystemnotonlyreal-timefeatures,butalsoverystable.Keywords:STM32IntelligentdesklampInfraredTouchbutton绪论1.1课题研究的意义及背景当今社会,不仅科学技术在不断发展,人们的生活质量水平和以往相比也有了极大进步,所以在各种家居中,对于智能化技术的运用也愈加频繁。通过对以往的照明系统进行分析能够发现,以往选用的通常为综合布线方式,在对电路进行控制时选用的则是翘板开关,如此设计会令灯具受损,同时会极大地缩短灯具寿命,并且还容易造成长时间的明灯,从而浪费能源。当前不论是嵌入式技术,还是半导体技术都有了极大改进,同时电子产品也愈发重视环保节能性能,所以人们对照明系统也提出了更高的要求,智能化的台灯也应运而生。从市场的角度看,人们对于台灯的要求具体有以下两点:首先是有较强的装饰性,有设计感,可以体现出不同的个性:其次是多元功能能够令人们多元需求获得充分满足。此时这种智能台灯向组合化、系统化、网络化、装饰化、高效节能化方向发展,智能台灯的出现改变了台灯行业的现状。但是,我国在研发新能源上起步比较晚,而且和发达国家相比相关技术也存在较大差距。如今在我国市场翘板开关依旧为主流产品,人们长久以来的生活习惯以及翘板开关不方便控制的缺点,导致了大量的能源浪费。我们身边到处都是这样的例子,比如放学后空无一人的教室依然开着十数盏灯,夜深后楼道里却还是耀如白昼,没有人的书房却依旧开着灯。这些不光会造成每年的能源浪费,长明灯也会导致灯具寿命的缩短。灯具和开关的损坏也会反映到资金的浪费,这样的恶性循环是经济社会不能忍受的。现在,智能台灯的开发基于LED,不论是色温还是亮度都是可以进行调整的,其主要技术方向是实现远程控制的同时能够提供诸多场景模式。而它的照明目标有三个,一是状态反馈;二是对光源进行控制;三是对环境情况进行自动识别。能够发现在照明控制系统里,三方面之间的协调与可靠的通信平台密不可分,这三方面首先是光源;其次是管理平台;最后是传感器。当前伴随着物联网的充分发展,当照明系统有了新的发展机会的同时,也需要面临许多新挑战,作为和生活实现紧密联系的一种物联网应用,对于智慧城市而言,照明的重要性不言而喻。通过对我国灯具市场进行分析能够发现,当前市场灯具拥有丰富的种类,普通台灯光源选择的是白炽灯或者日光灯,供电选择的交流电源(220V),控制开关则是前文所提到的翘板开关。然而此类台灯拥有诸多不足,首先,其电压比安全电压高得多,容易产生用电隐患;其次会消耗许多电量;最后如果使用的是日光灯,由于日光存在频闪效应,所以会在一定程度上令人的眼睛受到伤害。截至目前,虽然人体智能台灯拥有诸多优点,比如它的供电选择的是直流电源(+5V),不但没有辐射,而且也十分安全,不但并不会产生污染,而且能够使用很久等等,但是在市场上这类产品并不多。而智能台灯克服了传统台灯供电方式单一的缺点,可进行灯光的亮度调节,且将寻迹功能和短距离无线通信功能与传统的台灯相结合,不仅实现了智能化、极大地方便人们的生活需要,而且也能够对室内环境进行装饰,令人们的生活质量得到提升。从能源角度观察,因为它的高科技特点,它更加能够在能源节约方面做出更大的贡献,也是节能的一个代表。1.2本文主要研究的内容当前人们生活质量和以往相比有了极大变化,人们对于安全问题也愈发重视,所以对于访问控制系统性能要求也在不断提高。可以预见,在照明系统的未来发展过程中,照明系统将进一步网络化,数字化,集成化,多元化和智能化。本文共分为五章,具体内容如下:第一章:绪论,先对台灯现实存在意义进行了阐述,然后对照明系统在我国和其他国家的发展情况进行了叙述。第二章:详细介绍了智能台灯技术所涉及到的相关理论知识,然后根据系统具体的需求和设计目标,确定智能台灯的总体方案。第三章:嵌入式硬件平台设计。主要包括主控模块、2.5G红外发送和接收模块、TTP223电容式触摸按键模块和LED模块,介绍各个模块芯片的特性以及与STM32的接口通信。第四章:系统软件测试。详细分析系统启动流程,对系统的核心识别算法进行理论研究。同时分析了评价施行的条件、具体过程以及设施要求等内容。第五章:总结部分。在总结此次设计系统的情况之后,提出了下一步研究方向。系统总体结构2.1设计的需求分析此次研究的对象是多功能智能台灯,在设计时选择的主控芯片为STM32F103C8T6芯片,系统的所有开发都围绕该芯片展开,底层开发尽可能的利用主控芯片的资源。该芯片系统时钟为72

MHz,为48引脚LQFP贴片封装,具有64KBFlash,不仅性价比较高,功耗较低且自带的计数器可产生足够的PWM信号及用作触控捕获。其硬件系统整体设计方案如图1所示。图1硬件系统方案2.2系统的功能需求内容及要求:制作采用STM32系列MCU作为主控芯片来负责驱动其他外设模块的智能台灯,其特点是可以多级双控调整亮度,一种是用触摸按键,另一种采用红外作为无线模块以达到无线遥控控制的效果。具体要求如下:插上电源,打开自锁开关后,台灯默认处于不亮状态,此时可以使用手中的红外遥控器对准台灯的红外接收模块,按下开关按钮,台灯就会亮起,再次按下开关按钮,台灯就会关闭。此时按下调亮按钮,台灯的亮度就会增加,当增加到一定的亮度后按下调亮按钮台灯的亮度也不会改变。但若是按下调暗按钮,灯光就会随之变暗。台灯主体上的触摸按键也可以控制台灯的开启和关闭以及灯的亮度,轻触触摸按键是开启或关闭台灯,开启后台灯依旧默认是最暗的状态,此时长按触摸按键后抬起就可以增加亮度,增加到最亮后再这样操作就会变暗。如果用触摸按键增加灯光到一定亮度,但不是最亮,这时用遥控器按一下调暗的按钮,再用触摸按键控制灯光就会跟着变暗,反过来操作也是一样。2.3系统总体设计通过对LED应用电路进行分析能够发现,它主要包括三部分,首先是TTP223;其次是红外;最后是MCU。其中的MCU芯片,能够操作TTP223芯片寄存器,同时还能够处理红外接收信号。能够发现,此系统中需要通过寄存器来操作TTP223芯片,比如进行标志位的设置以及得到识别结果等。它的寄存器有许多类型,比如语音识别控制寄存器以及各类辅助寄存器等。它有两类读写操作方式,一个是串行方式;一个是并行方式。通过对LD3320寄存器进行分析能够发现,它拥有00H→FFH编号的八位地址空间。此次设计以STM32F103C8T6为主控MCU。演示的软件程序全部烧录在MCU的内置Flash中。主控MCU直接控制红外和TTP223完成所有的开关以及亮度调整的工作。第三章系统电路设计3.1主控系统硬件设计多功能智能台灯有两种供电方式,直接供电和USB供直接供电

即为把所设计的电源模块可分两级,第一级电源模块为一个双路输出的隔离型反激式ACDC开关电源模块,可将输人的220

V市电经AC/DC转换,同时输出12V及5V直流电压,该模块具有高效的沈波功能,可保证输出电能的质量,第二级电源模块为一款基于LM2596S芯片的调压模块,可将5V电平转为3.3V输出。3.2最小系统STM32F103ZET6最小系统主要由电源电路、系统时钟、复位电路和启动模式选择电路组成。(1)电源电路在设计系统中,电源设计属于重中之重的工作。要想令系统运行足够稳定,就必须确保设计的电源电路足够稳定和优质。通过对STM32进行分析能够发现,它拥有四个引脚,其中两个为电源地,这两个一个是VSSA;一个是VSS,而另外两个,一个是GPIO等的供电者,它就是VDD;一个是比较器以及复位模块等的供电者,它就是VDDA,两者电压范围都不低于2V,不超过3.6V。如果STM32并无VDD引脚,那么它就需要使用到一个备份域来负责供电工作,它就是VBAT。若是两类引脚拥有的电源一样,这两类引脚一是VDDA引脚;二是VDD引脚,那么便可以利用外部滤波电路来令这两个引脚相连,从而保证两类电源足够稳定,这两类电源一个是参考电源;一个是模拟电源。如果上述两类引脚使用的电源不同,那么就就必须令VDD引脚电源不超过VDDA引脚电源。到了上电环节,上电顺序为VDDA→VDD。如果已经关闭了电源,那么在短时间内,VDD可以比VDDA高,然而两者差距也不能够超过0.4V。(2)系统时钟通过对STM32进行分析能够发现,它的时钟源数量有四个,首先是两个内部时钟,高速低速各一个,这两个时钟能够进行快速启动;其次是两个外部时钟,高速低速各一个,这两个时钟不但十分稳定,而且准确度也很高。一般情况下,当进行芯片加电操作时,使用的时钟为内部时钟中的高速时钟,当完成对芯片的上电操作之后,就可以利用软件配置来对外部时钟进行利用。(3)复位电路通过对STM32进行分析能够发现,它的复位模式主要有三类,首先是系统复位,它能够对除了两类寄存器的全部寄存器进行复位操作,这两类寄存器一个是时钟控制寄存器;一个是备用区寄存器。当NRST引脚电平为低电平,窗口看门狗不再进行计数,低功耗管理以及软件就会复位,此时便是系统复位。其次是备用区域复位,当存在两类情况时,就会出现这一复位模式,这两类情况首先是VBAT引脚与VDD引脚都掉电时其中一个上电;其次是软件复位。最后是开机复位。若是存在两类情况,那么便会出现上电复位,这两类情况首先是从待机模式返回;其次是上电/掉电复位。一般情况下,当系统复位实现时,NRST引脚的电平就会变成低电平。(4)启动电路设计通过对STM32进行分析能够发现,它的启动模式主要由两个PIN引脚来进行选择,它们一个是BOOT0引脚;一个是BOOT1引脚,如果前者的值为零,后者的值为X,那么芯片就会从内部Flash进行启动;如果前者的值为一,后者的值为零,那么系统就会从内存进行启动;如果两者的值都为一,那么系统从SRAM启动。3.3LED设计LED灯光调节功能由自开功能、白动调级和色光调级3部分组成,调光可降低等节点的发热量,提高等节点的寿命和可靠性中。本设计使用RE200B配以外围电路由单片机AD采集完成对人体的感应。由于RE200B输出信号波动很小,应用时放大电路是必不可少的,可专用芯片BISS0010的前两级放大电路,使用运放LM324N进行搭建,电路图如图2所示。图2LM324N放大电路作为热释电红外传感器,RE200B只对一种红外辐射敏感,那就是波长在十微米的红外辐射。若是它进入到探测区域内的时候,人体红外辐射便能利用部分镜面聚焦,从而被接收到热释电元中,因为热释电元有两片,它们接收的热量并不一样,所以热释电也不一样,此时便能够将检测信号进行输出。灯光照控制方案采用PWM数字调光,也就是对PWM占空比进行调整,从而达到两个目的,一个是通过色光调节达到个性化需求,色光调节是利用RGB三色LED所发出的3种基色进行混合,得到七色光彩。一个是通过自动调级达到节能的目的,所谓自动调级,指的是根据环境光强情况来对台灯亮度进行调节。灯条采用RGB三色5050贴片LED,每颗芯片大小为5

mm×5

mm,具有亮度高,损耗相对较少的特点。相较于220

V灯条,12

V灯条更加安全且可控性较好,不需要高低压隔离电路。灯条标称值为12

W/m,即12

V额定电压下每m灯条工作电流为1

A,为合理计算放大电路参数取25

cm灯条进行测试,测得均值如表1所示。表112V电压下没5cm灯条电流RGBI/mA19.3818.2617.225

cm长度灯条等效电路如图3所示。灯条采用小功率NPN三极管D882,集电极最大电流2

A,放大倍数约260。功率放大电路如图4所示。图35cm长度灯条等效电路图4功率放大电路光敏电阻与47

kΩ电阻申联,由AD采集中点值,输人单片机确定环境亮度。跟踪功能是采用5

V小功率舵机提供转动力矩,并且复用了自开功能中使用红外模块,使台灯照射方向可跟随人的移动而改变,其功能可防止人因偏离台灯照射区域而使眼睛长时间处于弱光照射。显示功能利用的是ARM口仿SPI时序使之与OLED通信。在该显示屏上可实时显示由数字式温度传感器DS18B20采集到的室温;显示由STM32最小系统板自带的内量RTC时钟3.4红外遥控系统通过对红外遥控系统进行分析能够发现,它主要由三部分构成,首先是接收部分;其次是发射部分;最后是调制部分,具体情况见图5.图5红外遥控系统图5红外遥控系统3.4.1调制通过调制手段,红外遥控完成对数据的发射操作,也就是将数据和特定载波来进行操作,从而令电源功耗得以下降,令发射效率得以提升。此处的载波频率通常不低于三十千赫,不高于六十千赫,一般选择的是方波,其频率为三十八千赫,占空比为三分之一。具体情况见图2.它的决定者是四百五十五千赫的晶振。在发射端,晶振会被进行整数分频操作,其分频系数为十二,此时则有。图6载波波形图6载波波形3.4.2发射系统如今拥有红外发射功能的芯片有许多,能够按照选择来进行编码的发出。因为发射系统的供电者通常都是电池,所以芯片不能拥有较大功耗,而且在未按下按键时,它都需要保持休眠状态,如此其功耗才能够尽可能降低,同时其晶振也必须具备耐撞性能,需要选择陶瓷共鸣器,而不是石英晶体。当通过LED发射了红外线后,因为它和一般的发光二极管并不一样,当其两端受到电压影响时,发出的光并非可见光,而是红外线。图7简单驱动电路图8设计输出驱动电路LED驱动电路见图7、图8.如果是简单的驱动电路,不但需要对LED两类电流进行考虑,这两类电流一个是正向电流,其最大值为一百毫安,它的电流和发射波形强度成正比关系;其次是反向漏电流。此外,还必须确保三极管拥有较快的开关速度。需要注意的是,简单驱动电路存在一些不足,比如当电池电压降低时,LED电流也会变少,此时发射波形强度以及遥控距离都会变小。为了对这一不足进行弥补,需要选择图8的驱动电路,它通过两个二极管,令三极管基极电压保持在1.2V附近,此时期发射极电流和电压分别为IE、0.6V,按照,因此及时电池电压出现下降,LED电流也不会出现变化,遥控距离就也不会缩短。3.4.3一体化红外接收头图5为红外信号收发系统电路情况,通常厂家会将此电路集成在一个元件里,此时就得到了一体化红外接收头。其内部电路元件十分丰富,比如积分电路以及放大器等。当红外信号被红外监测二极管监测到时,信号就会被发送至两类元件,这两类元件一个是限幅器;一个是放大器。前者能够对脉冲幅度进行控制。而交流信号由带通滤波器→负载波→解调电路→积分电路这一路径进入到比较器中,此时比较器输出的电平为高电平,它能够对发射端信号波形进行还原。为了令接收更加灵敏,所以此处输出电平与发射端电平正好相反。图9为一体化红外接收头情况。图9红外接收头通常,红外接收头类型十分丰富,而且它的引脚定义也不一样,其引脚主要有三类,首先是信号输出脚;其次是接地脚;最后是供电脚。平常在选择接收头时需要根据发射端调制载波来进行选择。因为在这一接收头内部,其放大器拥有较大增益,因此很容易产生干扰,要想解决这一问题,就必须将高于22uf的滤波电容放到供电脚上或者将330Ω电阻放到电源和供电脚之间。要想得到红外发射器,通常有两个途径,一是由单片机PWM产生;二是由厂家定制。此处最好选择这类红外发射器,也可,它们的PWM频率以及占空比分别为37.91千赫、1/3,通过简单的定时中断开关PWM,即可产生发射波形。3.5触摸按键模块TTP223/TTP223N

TonTouchN为触摸键检测IC,它的触摸键有一个,此处是把传统按钮键用触摸检测IC进行了替代,触摸键在DC应用特征为低功耗,在AC应用特征为宽工作电压,图10显示了它具体工作流程情况。图10触摸模块流程图第四章系统软件平台设计与测试4.1KEIL操作平台本设计的代码实现平台基于KeilMDKV5进行开发,它出现于2013年,推出者为Keil企业,对于ARM微控制器而言,它是集成开发工具的首选。以ARM7等为基础,MDK-ARM软件为处理器设备进行了良好开发环境的提供,它是设计初衷是应用于微控制器中,此软件不但拥有丰富功能,而且使用起来也不复杂,因此在多种嵌入式应用中都十分适用,其具体特征有:其TCP/IP网络套件能够进行诸多应用以及协议的提供。存在诸多项目例程,可以让你对此软件内置特征有充分了解。能够对仿真和开发环境、调试器进行集成。USB主机栈和设备为标准驱动类设备。拥有ARMC/C++编译工具链。拥有小封装实时操作系统。能够提供GUI库支持给嵌入式系统。拥有和程序运行有关的完整代码覆盖率信息。能够对Cortex-M等器件提供支持。存在ULINKpro,能够对应用程序进行实时分析,能够对Cortex-M指令执行情况进行记录。通过两类工具来优化程序,这两类设备一是性能分析器;二是执行分析工具。和CMSIS标准相符。通过对MDK5进行分析能够发现,它主要包括两部分,一个是SoftwarePacks,它能够对中间库升级以及新芯片提供支持;一个是MDKCore。它主要包括4部分,首先是编辑器;其次是编译器;然后是包安装器;最后是调试跟踪器。其中包安装器主要包括三部分,首先是中间库;其次是CMSIS;最后是芯片支持。经由包安装器,能够完成最新组件安装工作,从而对最新例程、设备以及器件等进行支持,令产品开发速度得以加快。4.2红外遥控解码程序4.2.1遥控发射器及其编码通过编码格式来对遥控发射器专用芯片机械能分类,可以分为两类。本文以uPD6121G组成发射电路作为案例来对其中更容易解码的一类的编码原理进行说明。当按下发射器按键之后,就会发射出遥控码,遥控码特点为:存在脉宽调制的串行码,其中二进制1指的是周期、脉宽以及间隔分别为、、毫秒。二进制0指的是周期、脉宽以及间隔分别为、、毫秒。能够发现,UPD6121G的遥控码属于三十二位二进制码组,在这三十二位中,前十六位属于用户识别码,后十六位属于操作码和反码。它的编码组合最多有一百二十八种。当按下遥控器按键后,便会以108毫秒为周期进行二进制码的发送,其具体持续时间会根据二进制1和0的个数而产生区别,通常不低于45毫秒,不超过63毫秒。当按下按键高于36毫秒时,便会激活芯片,此时将有108毫秒的编码脉冲被发射出去,此编码脉冲主要由六部分构成,首先是八位数据码;其次是八位数据码反码;然后是高八位地址码;接着是低八位地址码;另外是结果码;最后是起始码。其中前四部分都为9毫秒到18毫秒,第五部分为4.5毫秒;最后部分为9毫秒。如果按下按键高于108毫秒,那么将会将连发代码发送出去,它主要包括两部分,一个是起始码,一个是结束码,两者分别为9毫秒和2.5毫秒。4.2.2接收器及解码能够发现,不需要借助外接元件,一体化红外线接收器就能做好输出和接收红外线等兼容TTL电平信号的一切工作,在红外线数据传输以及遥控中它十分适用。它发送的依次为引导码→系统码→系统反码→按键码→按键反码→重复码→短脉冲,而接收器解码为://串口通信程序//想pc串口发送数据//pc端使用超级终端建立连接//96008位数据1位停止#include

<iom16v.h>

#include

<macros.h>

#include

"uartO.h"

#define

uint

unsigned

int#define

uchar

unsigned

char

ucharirr_b=0,s_s=0;uchar

wb=0,a=O,ds=O;

long

da=O;

uchard1,d2,d3,d4;

ucharten_1,ten_2,ten_3,ten_4,i;

voidms(uintaa)

{for(;aa0,;a--);}

void

write_cn(uchar*cn,ucharcn_nub){unhari;for(i=0;i<(cn_nub);i++){uart_tx(cn[i]);

//发送数据i

PORTA=i;

ms(60000);

}}

//定时器T1初始化voidt1_init()

{

TCCR1B=0x00;//关闭定时器TCNT1H=0x00;//定时器初值TCNT1L=0x00;

TCCR1A=0x00;//普通模式TCCR1B=0x05;//1024分频

}

#pragma

iterrupt_handlerext_intO_is.2//指定外部中断函数//中断接收

void

ext_jnt0_isr(void)

{

if(irr_b==0)//第-一个中断

{

ir_b=1;

//状态为:开始接收TCNT1L=0x00;

//定时器清零

}

elseif(irr_b==1)

//第二个以后的中断

{

a=TCNT1L;//读取定时器的值//判断是引导,还是数据

if(170<a)&&(a<235))//引导{wb=0;//数据计数清零

da=0;//数据清零

TCNT1L=0x00;//定时器清零

}

elseif(8<a)&&(a<25))

//数据0{

wb++;

da=(da<<1);TCNT1L=0x00;}

else

if((25<a)&&(a<45))

//数据1

{

wb++;

da=(da<<1)+1;TCNT1L=0x00;}

}

if(wb==32)//数据长度够32位

{

ir_b=0;//状态为停止接收

Wb=0;//数据计数清零

s_s=1;/打开显示许可

}

}

//与计算机通信的程序

//计算机端使用超级终端,建立一个连接,9600,8位,1个停止位void

main()

{

uchar

i=0,rx_temp;

init_devices();

//串行口初始化

DDRA=0xft;

PORTA=0x00;

DDRB=0xf;

DDRD=0x00;//中断输入

PORTD=0xf;//内部上拉t1_init();//定时器t1初始化MCUCR=0x02;//下降沿中断

GICR=0x40;//开外部中断int_0TIMSK=0x00;

SREG=0x80;//开全局中断

s_s=1;//开机进行一次显

ms(3000);

write_cn("开始红外实验rI

温馨提示

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

评论

0/150

提交评论