基于51单片机的智能窗帘控制系统设计与实现毕业论文.doc
毕业设计(论文)题目:基于51单片机的智能窗帘控制系统设计与实现 基于51单片机的智能窗帘控制系统设计与实现摘要:随着现代电子技术和自动化技术的快速发展,人们越来越向往便捷,轻松的生活方式,人们对生活质量的要求越来越高。家用电器产品也在不断的更新换代。从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。这次的毕业设计智能窗帘控制系统的设计与实现是在这个的理念上设计的,本系统主要的模块有单片机驱动模块,电机驱动模块,光敏检测模块,无线收发模块和LED信号显示模块。本系统分为两种模式,在智能模式下利用光敏电阻检测光照强度的变化,通过单片机驱动电机驱动模块中的电机的正反转实现窗帘的来回移动。在手动模式下,利用遥控器中的无线发送模块发送信号,再通过单片机驱动电机。本文设计中的智能遥控窗帘因为操作简单,功能实用和结构简单,所以它基本满足人们对窗帘的智能化的基本需求,也因为前景广泛而有研究的价值。关键字:51单片机, 智能, 无线遥控, 直流电机目录引言3一、绪论31.1问题的提出31.2国外最新的研究成果41.2.1光控帘41.2.2隔音帘41.2.3节能帘41.2.4隐身帘41.2.5日能帘5二、核心芯片和器件介绍52.1 DC电源插口介绍52.2 AT89S52单片机52. 2.1单片机特点和特性62.2.2单片机的引脚功能72.3 SC2262编码解码芯片91.3.1SC2262的特点92.3.2 SC2262的应用范围102.3.3 SC2262的引脚和说明102.3.4 SC2262的功能描述112.3.5 SC2262的工作流程图112.4 SC2272编码解码芯片112.4.1 SC2272的特点122.4.2 SC2272的应用范围122.4.3 SC2272的引脚和说明122.4.4 SC2272的功能描述132.4.5 SC2272的工作流程图132.5 315M发射和接受模块142.5.1315M发射和接受模块应用范围152.5.2 315M无线发射模块介绍152.5.3 315M无线接收模块介绍15三、硬件电路的设计163.1电源和单片机控制部分163.2继电器控制直流电机部分173.4光敏识别部分183.5无线接收和发射部分19四、调试和实现设计20五、软件和程序调试215.1 工作流程图:215.2 管脚定义215.3主函数22总结23致谢24参考文献25附录一:硬件图正反照26附录二:电路原理图和PCB图27附录三:电路仿真图28附录四:C语言程序29引言人民生活水平的不断提高,人们对家庭生活舒适性的需求越来越强烈,窗帘作为每个家庭的家居必须用品,自然也需要满足人们更舒适性的需求。窗帘其基本的作用无非是保护业主的个人隐私以及遮阳挡尘等功能,但传统的窗帘您必须手动去拉动,每天早开晚关也是挺麻烦的,特别是别墅或复式房的大窗帘,比较重,而且长,需要很大的力量才能开关窗帘,很不方便;于是遥控电动窗帘在最近几年得到迅速发展,并广泛应用于智能大厦、高级公寓、酒店和别墅等领域,只要遥控器轻按一下,窗帘就自动开合(百叶窗可以自动旋转),非常方便。在本次设计中,我们主要研究的是利用单片机的无线遥控电路的设计。本设计是基于AT89S52单片机的遥控窗帘。它采用按键和无线遥控两种控制方式,其中SC2262/SC2272 编码解码芯片组成无线发送接收模块;通过控制直流电机的正反转来控制窗帘的开关,并且可以指示运行状态;利用限位开关来控制窗帘停止,防止过卷,利用光敏电阻来智能识别光线,对窗帘智能控制。一、绪论1.1问题的提出现代全球的经济和文化的进入了快速发展的时代,城市的变化日新月异。城市化进程的发展导致高大的建筑物也越来越多,窗户的面积也越来越大,一些大的窗户高度或宽度超过4米以上。这个大型窗户安装上窗帘之后如果要人去拉的话费时又费力,而这些问题开发商往往是不会考虑的,使一些住户或者员工带来的许多不便,这种问题我们往往要借助智能遥控窗帘的帮助,这一可以大大的方便的人们的生产生活,提高了人们的生产生活质量。其实遥控自动窗帘系统在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。其一,改变人们的生活方式。单片机控制的遥控自动窗帘系统具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利、环保的居住环境。这些都将改变人们传统的生活方式,并提高了人们的生活质量。其二,牵动一大批产业。单片机控制的遥控自动窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。1.2国外最新的研究成果智能家居在发达国家,特别是美国、日本、韩国这些电子产品先进的国家应用都比较普遍,并且非常受欢迎。比如说:1.2.1光控帘这种窗帘由日本研制而成。它是在窗户玻璃和窗帘之间安装一种感光器,当光线达到一定程度时,便能将光能转换成电能,使窗帘自动提升或降落,从而保证室内始终处于适宜的光亮环境。1.2.2隔音帘 美国研制生产出一种新式隔音窗帘,它是由一系列长条隔音薄片组成的。从窗帘的一面到另一面,能够形成连续吸音通道,可有效地起到隔音的作用。1.2.3节能帘 英国推出一种翻卷式节能窗帘,它是由高强度的薄型涤纶纤维织物和具有反光性能的铝箔粘合而成的,其节能的主要原理是在铝箔上涂有保护层,使室内外热能减少90以上。同时,也减少了窗玻璃、窗帘之间的冷暖空气的对流。1.2.4隐身帘 这种“我能看到你,你却看不到我”的隐身窗帘由日本研制成功,该窗帘用高透明、高强度的聚碳酸酯片蒸镀上一层很薄的铝膜制成,能把太阳光中的大部分可见光反射掉,使进入室内的可见光减少至15,这样既能使室内保持清爽和阴凉,又能看到室外景色。1.2.5日能帘 国外市场上有一种太阳能百叶窗帘。这种窗帘的每一条叶片的向阳面都有一层薄薄的柔性光电膜,它能将太阳光转变为电能,储存在充电池内。在夜间,叶片朝向室内一边的荧光发出柔和的光线,给房间提供了背景光。在白天,阳光充足时太阳能百叶窗帘可产生49瓦的电,他储存的电能除用于照明外,还可用来驱动其他电器。二、核心芯片和器件介绍2.1 DC电源插口介绍DC全称是Direct-current表示直流的意思。DC 插座是一种与电脑显示器专用电源相配的插座,它是由横向插口、纵向插口、绝缘基座、叉型接触弹片、定向键槽组成,两只叉型接触弹片定位在基座中心部位,成纵横向排列互不相连。叉型接触弹片一端为接线口,外露在基座圆柱体顶面,供连接输入电源软线或软缆用,叉型接触弹片另一端由基体互连的两只弹性臂组成,设置在DC 插头插入方向绝缘基座插孔内,供给电脑显示器之用,使之正常工作。DC电源插口的实物图和参数图如下图:图1.1图1.1 DC电源插口的实物图和参数图2.2 AT89S52单片机AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。AT89S52管脚如下图:图1.2图1.2 AT89S52管脚图2. 2.1单片机特点和特性AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。AT89S52的主要特性如下:1. 兼容MCS51产品2. 8K字节可擦写1000次的在线可编程ISP 闪存3. 4.0V到5.5V的工作电源范围4. 全静态工作:0Hz 24MHz5. 3级程序存储器加密6. 256字节内部RAM7. 32条可编程I/O线8. 3个16位定时器/计数器9. 8个中断源10. UART串行通道11. 低功耗空闲方式和掉电方式12. 通过中断终止掉电方式13. 看门狗定时器14. 双数据指针15. 灵活的在线编程(字节和页模式)2.2.2单片机的引脚功能按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O口、控制和复位等。2.2.2.1 多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 P0.7,P1.0 P1.7,P2.0 P2.7,P3.0 P3.7,共32根I/O线。每根线可以单独用作输入或输出。1、P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。2、P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如表1所示。表1 P1口管脚复用功能端口引脚复用功能P1.0T2(定时器/计算器2的外部输入端)P1.1T2EX(定时器/计算器2的外部触发端和双向控制)P1.5MOSI(用于在线编程)P1.6MISO(用于在线编程)P1.7SCK(用于在线编程)3、P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器或16位的外部数据存储器(如执行MOVX DPTR指令)时,P2口送出高8位地址,在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。4、P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在AT89S52中,同样P3口还用于一些复用功能,如表2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。表2 P3端口引脚与复用功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)2.2.2.2 RST复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。2.2.2.3 ALE/PROG地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。2.2.2.4 PSEN程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。2.2.2.5 EA/Vpp 外部存取允许信号。为了确保单片机从地址为0000HFFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。2.2.2.6 XTAL1振荡器的反相放大器输入,内部时钟工作电路的输入。2.2.2.7 XTAL2振荡器的反相放大器输出。2.3 SC2262编码解码芯片SC2262是CMOS工艺制造的低功耗通用编码电路,它和SC2272配对使用,最多有12位三态编码。电路具 有省电模式,可用于无线电或红外线遥控应用。2.3.1 SC2262的特点1. COM工艺制造,低功耗2. 外部应用线路元器件少3. 工作电压范围宽:2.3V13.8V4. 数据位最多可达6位5. 地址码最多可达531,441(531441)种6. 红外遥控和无线电遥控应用7. DIP和SOP20封装2.3.2 SC2262的应用范围1. 用范围 车辆防盗系统2. 家庭防盗系统3. 遥控玩具4. 其他工业遥控2.3.3 SC2262的引脚和说明1) 引脚图:如图1.3图1.3引脚图2) 管脚说明:如表3表3 管脚说明管脚名称管脚标号输入 输出说明A0 A516输入0 # 5 # 码地址管脚。 SC2262 通过检测这六条三状态的管脚来确定位 0 位 5 的编码波形。每个管脚均可置为 “ 0 ” 、 “ 1 ” 或 “ f ” (悬空)A6/ D5 A11/ D078 1013输入6 # 11 # 码地址管脚或 5 # 0 # 数据管脚SC2262 通过检测这六条三状 态的管脚来确定位 6 位 11 的编码波形。当用作地址管脚时,可分别置为 “ 0 ” 、 “ 1 ” 、或 “ f ” ( 悬空 ) ;当用作数据管脚时,只能置为 “ 0 ” 或“ 1 ” (置 “ f ” 置与置 “ 1 ” 在 SC2272 解码后由相应的数据端输出时同为 “ 1 ” )TE14输入编码启动端,用于多数据的编码发射,低电平有效OSC215输出振荡器输出端OSC116输入振荡器输入端,与 OSC2 所接的电阻调节节振荡频率Dout17输出编码输出端(通常为 “ 0 ” )VCC18电源正端( + )VSS9电源负端( - )2.3.4 SC2262的功能描述当 TE 端为低电平时, SC2262 将设置在 A0 A5 和 A6/D5 A11/D0 端子上的码地址和码数据编成一组波形,由Dout 端发送编码后的波形。该波形可通过射频调制发射 ( 外部电路调制 ) ,也可用红外发射 ( 内部电路调制 ) 。发射的射频或红外信号,经射频或红外接收电路接收、解调、整形、还原成编码波形,然后由 SC2272 进行解码,并控制相应的端口输出。这一过程完成了一个完整的遥控编码和解码过程。2.3.5 SC2262的工作流程图工作流程图:如图1.4图1.4工作流程图2.4 SC2272编码解码芯片SC2272 是与 SC2262 配对使用的一款通用遥控解码集成电路。采用 CM OS 工 艺制造,它最大拥有 12 位的三态地址管脚,可支持多达 5314 41 (或 312 )个地址的编码。因此极大的减少了码的冲突和非法对编码进行扫描以使之匹配的可能性。2.4.1 SC2272的特点1. 工作电压范围宽( Vcc= 4 6 V )2. 低功耗和较强的噪声抑制能力3. 最大设置为 12 位三态地址管脚或 6 位数据管脚4. 外接双端电阻的振荡器5. 数据输出有锁存和瞬态两种输出类型2.4.2 SC2272的应用范围1. 家庭汽车安全系统2. 车库控制3. 遥控玩具4. 遥控风扇5. 其他工业遥控2.4.3 SC2272的引脚和说明1) 引脚图:如图1.5图1.5引脚图2) 管脚说明:表4 管脚说明管脚名称管脚标号I/O说明A0 A516IA0 A5 码地址管脚。通过检测这六条三态的管脚来确定bit0bit5 的编码波形。每个管脚均分别可置为 “ 0 ” 、 “ 1 ”或 “ f ” (悬空)A6/ D5 A11/ D078 1013I/OA 6 A 11 码地址管脚或 D 5 D 0 数据输出管脚。根据 SC2272的规格不同,这六条管脚即可作为高位码地址管脚,也可作为数据输出管脚。当这些管脚作为码地址管脚使用时,每个管脚可分别置为 “ 0 ” 、 “ 1 ” 或 “ f ” (悬空)。当作为数据输 出管脚使用时,在同时符合以下两个条件的前提下,输出为 “ 1 ”( Vcc ) , 否则为 “ 0 ” ( Vss )。(1) 所接受的地址码波形与码地址输入端的设置匹配(2) 相应位接收到的数据输出置为 “ 1 ” 。Din14I编码启动端,用于多数据的编码发射,低电平有效OSC115I振荡器输出端OSC216O振荡器输入端,与 OSC2 所接的电阻调节节振荡频率VT17O编码输出端(通常为 “ 0 ” )VCC18电源正端( + )VSS9电源负端( - )2.4.4 SC2272的功能描述SC2272 对从 Din 端子送入的信号进行解码。所输入的编码波形以字码为单位被解码 . 字码含有地址位 , 数据位和同步位 . 经解码出来的地址码与所设置地址输入进行比较。如果所设置的地址码与连续 2 个由字码解码出来的地址码相匹配,则 SC2272 做以下动作:a) 当解码得到有 “ 1 ” 数据时,驱动相应的数据输出端为高电平;b) 驱动 VT 输出为高电平。2.4.5 SC2272的工作流程图工作流程图:如图1.6图1.6 工作流程图2.5 315M发射和接受模块实物图:如图1.7图1.7实物图2.5.1 315M发射和接受模块应用范围无线数据传输广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。2.5.2 315M无线发射模块介绍发射模块未设编码集成电路,而增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其它固定编码电路、滚动码电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。比如用PT2262或者SM5262等编码集成电路配接时,直接将它们的数据输出端第17脚接至数据模块的输入端即可。数据模块采用ASK方式调制,以降低功耗,当数据信号停止时发射电流降为零,数据信号与发射模块输入端可以用电阻或者直接连接而不能用电容耦合,否则发射模块将不能正常工作。数据电平应接近数据模块的实际工作电压,以获得较高的调制效果。发射发射模块最好能垂直安装在主板的边缘,应离开周围器件5mm以上,以免受分布参数影晌。模块的传输距离与调制信号频率及幅度,发射电压及电池容量,发射天线,接收机的灵敏度,收发环境有关。一般在开阔区最大发射距离约800米,在有障碍的情况下,距离会缩短,由于无线电信号传输过程中的折射和反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离。2.5.3 315M无线接收模块介绍接收模块的工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为105dbm,接收天线最好为2530厘米的导线,最好能竖立起来。接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便。这种电路的优点在于:1、天线输入端有选频电路,而不依赖1/4波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线2、输出端的波形在没有信号比较干净,干扰信号为短暂的针状脉冲,而不象其它超再生接收电路会产生密集的噪声波形,所以抗干扰能力较强。3、模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干扰信号的侵入。4、采用带骨架的铜芯电感将频率调整到315M后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。可调电容调整精度较低,只有3/4圈的调整范围,而可调电感可以做到多圈调整。可调电容调整完毕后无法封固,因为无论导体还是绝缘体,各种介质的靠近或侵入都会使电容的容量发生变化,进而影响接收频率。另外未经封固的可调电容在受到振动时定片和动片之间发生位移;温度变化时热胀冷缩会使定片和动片间距离改变;湿度变化因介质变化改变容量;长期工作在潮湿环境中还会因定片和动片的氧化改变容量,这些都会严重影响接收频率的稳定性,而采用可调电感就可解决这些问题,因为电感可以在调整完毕后进行封固,绝缘体封固剂不会使电感量发生变化。三、硬件电路的设计电路分为五个部分,分别是电源和单片机控制部分,继电器控制直流电机部分,LED信号显示部分,光敏识别部分,无线接收和发射部分。下面分析下重要的电路:3.1 电源和单片机控制部分本设计是通过USB供电,然后接到DC电源插口直接给单片机供电。本模块是由电源、最小系统、单片机组成的模块。原理图如图1.8:图1.8 原理图3.2 继电器控制直流电机部分本设计采用小直流电机的正反转模拟窗帘的拉开和关闭。继电器可以驱动任何负载,而又有自动调节、安全保护、转换电路的特点,所以我采用继电器驱动小直流电机。原理图如图1.9:图1.9 原理图3.4 光敏识别部分光线采集部分采用光敏电阻感光,通过测量它的电压来判断光的强弱。采用光敏电阻主要原因是,它的用途很广泛,而且容易购买,它的分类也有很多种,所以我们要先了解一下它的结构及其原理,才能选择好我们这次设计所需要的型号,下面介绍光敏电阻的基本情况。光敏电阻器的简介:光敏电阻器属半导体光敏器件,除具灵敏度高,反应速度快,光谱特性及r值一致性好等特点外,在高温、多湿的恶劣环境下,还能保持高度的稳定性和可靠性,可广泛应用于照相机、太阳能庭院灯、草坪灯、验钞机、石英钟、音乐杯、礼品盒、迷你小夜灯、光声控开关、路灯自动开关以及各种光控玩具、光控灯饰、灯具等光自动开关控制领域。光敏电阻器是一种对光敏感的元件,它的电阻值能随着外界光照强弱(明暗)变化而变化。原理图如图2.0:图2.0 原理图3.5 无线接收和发射部分 PT2262-IR发射芯片地址编码输入有“1”、“0”和“开路”三种状态,数据输入有“1”和“0”两种状态。由各地址、数据的不同接脚状态决定,编码从输出端Dout输出,通过红外发射管发射出去,如图2.1:图2.1 地址编码Dout输出的编码信号是调制在38kHz载波上的,OSC1、OSC2外接的电阻决定载频频率,一般电阻可在430k470k之间选择即可。PT2272的暂存功能是指当发射信号消失时,PT2272的对应数据输出位即变为低电平。而锁存功能是指,当发射信号消失时,PT2272的数据输出端仍保持原来的状态,直到下次接收到新的信号输入。图3是红外发射和接收的典型应用原理图,为了能正确解调出调制的编码信号,接收端需加一级前置放大级,保证输入PT2272的信号幅度足够大。PT2272各输出端通过各种接口即可控制相应的负载。原理图如图2.2:图2.2 原理图四、调试和实现设计现象观察:接上电源之后,默认的是智能模式。光敏电阻检测到白天,电机正转,在接触到行程开关之后指示灯闪烁三下电机停止工作;光敏电阻检测到黑天,电机反转,在接触行程开关之后指示灯闪烁三下电机停止工作。手动模式是按下遥控器上的菜单按钮,红色指示灯亮,这就表示已经进入了手动模式,可以按正反转按钮控制的电机的正反转。同样的是接触到行程开关电机就停止工作。五、软件和程序调试5.1 工作流程图:如图2.3图2.3工作流程图5.2 管脚定义sbit change=P10;/手动自动切换按键(默认自动)sbit led_zhishi =P11; /遥控器指示灯sbit in_back=P12;/手动后退按键sbit led_back=P13;/前进限位指示灯sbit out_back=P30;/电机控制反转 sbit limit_back=P31;/后退限位开关sbit in_go=P32;/手动前进按键sbit led_go=P33; /后退限位指示灯sbit out_go=P34; /电机控制正转sbit limit_go=P35;/前进限位开关sbit light=P36;/光敏电阻5.3主函数void main()/主函数 while(1)/进入死循环work();/调用工作函数 总结本文主要做的工作有:(1)、在阅读大量相关资料尤其是在互联网资源后,对基于单片机的智能遥控窗帘设计的国内外现有技术进行了综述。(2)、采用由USB供电的5V稳压电源。(3)、单片机选用AT89S52是整个系统的核心部件,担负整个系统的管理控制任务。(4)、利用小直流电机的正反转来模拟窗帘的拉开和关闭。(5)、利用无线接收头对无线遥控器发射的编码进行接收,然后由单片机根据接收到的信号进行解码。通过本次毕业设计,设计出了一种基于AT89S52单片机的智能遥控窗帘系统。从硬件的选择到程序的设计都考虑开发的成本和系统的整体的性能,要求做到体积小、重量轻、单一电源、低功耗、功能强、价格低廉、抗干扰能力强等特性。本课题的研究虽然取得了一定的收获,但在很多方面还有待于进一步的改进和完善。如:怎么样才能直观的看到电机正反转来模拟窗帘的拉开和关闭。还有价格鸣响电路在电机工作的时候会发出音乐。致谢不知不觉中做毕业设计的一个月的时间就这样过去了,在论文完成之际,我首先要对我的指导老师和帮助过我的所有同学及提供给我实验条件的老师们表示最真挚的谢意。在整个论文的选题、理论研究、需求分析和系统设计的过程中,他们给了我不少启发,并对论文的设计方案提出了许多至关重要的建议,在实验过程中帮我解决了不少的难题。在论文写作期间我遇到了不少的难题,是我的同学的帮助下才能完成这次的毕业论文的写作,感谢大家。在论文的完成过程中,我还要特别感谢师友给予了我无私的帮助,正是在他的鼓励和帮助之下,才使得我的实验能顺利的完成;同时,得到了其他许多让我分享他们宝贵经验和知识的老师以及同学的热心帮助,向他们表示由衷的感谢;我还要感谢这一领域的学者们,是他们给我经验和研究方向,在此一并表示衷心的感谢。最后,由于我的知识的限制,导致我的毕业作品和毕业论文不是很完美,还有许多不足之处,真心的希望各位师友和同学提出宝贵的意见。谢谢。参考文献1 郭成林. 智能遥控窗帘系统设计J. 山西电子技术, 2006:67 2 郭光立. 光控自动窗帘J. 家庭电子, 1999:5556 3 陈莉,王宇,张微微. 自动启闭窗帘控制器的设计J. 科技情报开发与经济, 2007 :3235 4 瞿贵荣. 电动窗帘红外遥控电路J. 家庭电子, 2005 :1516 5 廖威. 基于单片机的窗帘升降器模拟装置的设计和实现J. 科技信息(科学教研), 2007:5053 6 郭成林. AT89系列单片机与PC机之间的串行通信接口设计J. 山西电子技术, 2008:6670 7 郭光立. 电动窗帘控制器J. 家庭电子, 1999 :4045 8 马向国,刘同娟. 基于PIC单片机的无线射频遥控窗帘器J. 电子产品世界, 2005 :2330 9 邹书文,黄光桂.无线电遥控单片机 J.电脑与信息技术.1995.年02期:338710 李光飞,楼然苗,胡佳文等.单片机课程设计实例指导 M.北京:北京航空航天大学出版社.2004:139911 何立民.单片机应用技术选篇M.北京:北京航空航天大学出版社.1996: 57121附录一:硬件图正反照附录二:电路原理图和PCB图附录三:电路仿真图附录四:C语言程序#include<reg52.h>#include<intrins.h>#include<absacc.h>/头文件#define uc unsigned char#define ui unsigned intsbit change=P10;/手动自动切换按键(默认自动)sbit led_zhishi =P11; /遥控器指示灯sbit in_back=P12;/手动后退按键sbit led_back=P13;/前进限位指示灯sbit out_back=P30;/电机控制反转 sbit limit_back=P31;/后退限位开关sbit in_go=P32;/手动前进按键sbit led_go=P33; /后退限位指示灯sbit out_go=P34; /电机控制正转sbit limit_go=P35;/前进限位开关sbit light=P36;/光敏电阻 bit bdata flag1,flag2,change_flag,flag_shan,flag_shan1,flag_shan2;uc m,n,shan;void delay(ui x)/延时函数 ui i,j;for(i=0;i<x;i+)for(j=0;j<110;j+);void work()/工作函数 if(change=0)/判断切换是否按下 delay(50);if(change=0)change_flag=change_flag;/手动,自动切换 while(!change);/释放 led_zhishi=change_flag;if(change_flag=0)/自动模式 if(light=0)/夜间(无光)时关闭窗帘 delay(50);if(light=0)if(limit_go=0)&&(flag_shan=0)out_go=1;out_back=1;led_go=1;for(shan=0;shan<6;shan+)led_go=led_go;delay(500);flag_shan=1;else if(limit_go=1)out_go=1;out_back=0;led_back=1;led_go=0;flag_shan=0;else if(light=1)/白天(有光)时打开窗帘 delay(50);if(light=1)if(limit_back=0)&&(flag_shan=0)out_go=1;out_back=1;led_back=1;for(shan=0;shan<6;shan+)led_back=led_back;delay(500);flag_shan=1;else if(limit_back=1)out_go=0;out_back=1;led_back=0;led_go=1;flag_shan=0;else if(change_flag=1)/手动模式 if(in_go=0)&&(limit_go=1)/关闭是否按下 delay(50);if(in_go=0)&&(limit_go=1)out_g