智能窗帘论文Word下载.docx
《智能窗帘论文Word下载.docx》由会员分享,可在线阅读,更多相关《智能窗帘论文Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
由于红外线遥控器具有体积小、功耗低、功能强、本钱低等特点。
因此,彩电、录像机、音响设备、空调、玩具、门铃以及遥控汽车路牌等其它小型装置上也纷纷采用红外线遥控。
与此同时,窗帘作为装修业不可缺少的一局部,也日益火爆起来,目前,常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一局部高收入的家庭采用是电动遥控轨道。
但价格相当昂贵,不能普及。
所以,现在的重点是如何研制出功能全、造价省的家用自动控制装置。
同时,单片机也有它突出的优点。
从1974年开场,单片机就以它的体积小、质量轻、耗电省、可靠性高、价格低等特点,开场不断开展,并广泛应用于仪器仪表、家电电器、医用设备、航天航空、专用设备的智能化管理及过程控制等领域。
单片机的开展经历了四个阶段。
可预见单片机的开展趋势将是向大容量、高性能话、外围电路装化等方面开展,也就是对CPU、存储器、片I/O的改良,低功耗,特别是系统的单片机是目前单片机开展的重要趋势。
而从目前国对单片机的需求来看:
在未来几年里,8位、16位单片机将是单片机的开展主流,它的新开展表现在:
〔1〕CPU功能的增加〔2〕部资源的增多〔3〕引脚的多功能化〔4〕低电压、低功耗。
正因为单片机有着如此多的优点,单片机在工业控制中和家用电器等上的应用中独占鳌头,故又称为微控制器〔Microcontroller〕
1、因为它具有“小、轻、廉、省〞的特点,尤其耗电少,又可使供电电源的体积小、重量轻,所以特别适用于“电脑型产品〞,在家电、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等许多产品上得到应用。
2、适用于仪器仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字化和智能化。
3、广泛应用于打印机、绘图仪等许多计算机外围设备,特别是用于智能终端,可大大减轻主机负担。
4、用于各种工业控制,如温度控制、液面控制、生产线顺序控制等。
上述的归纳还不够完整,但单片机的应用已渗透到国民经济的各个领域,极推动了计算机技术的普及,而且可以预见,随着单片机性能的进一步提高,它的应用将更趋广泛。
它对我国许多产品的升级换代、工厂企业的设备更新都将起着十分巨大的作用。
所以利用单片机可以实现较多的功能的前提下降低设计、生产本钱。
1.2主要任务
本次课程设计的主要任务是设计基于STC89C51单片机的遥控窗帘。
主要功能如下:
1〕控制窗帘的开关。
2〕具有防过卷功能。
3〕具有无线遥控功能。
4〕能够指示运行状态。
5〕具有智能模式,可以根据环境光线控制窗帘的开合
2系统总体方案及硬件设计
本系统主要由单片机最小系统、无线发射、接收模块、按键局部、电机控制执行局部和限位开关组成。
2.1设计思路
本设计是基于单片机的遥控窗帘,采用8位的STC89C51单片机做控制器,程序采用C语言编程。
利用直流电机正反转,实现控制窗帘的开关。
无线遥控是由SC2262/SC2272编码解码芯片组成的无线发送接收模块,通过SC2272接收输出端D0、D1、D2、D3输出信号控制单片机,再利用单片机控制继电器的吸和驱动直流电机的正反转,实现窗帘的开合,同时用行程开关检测窗帘位置,实现窗帘的防过卷。
系统框图如下:
图〔1〕系统框图
2.2工作原理
本设计是基于STC89C51单片机的遥控窗帘。
通过控制直流电机的正反转来控制窗帘的开关,并且可以指示运行状态;
同时可以根据环境光线的变化控制窗帘的开合状态,完成窗帘的智能控制,更智能更人性化系统利用限位开关来控制窗帘停顿,防止过卷。
2.3系统硬件设计
2.3.1主控芯片
本系统采用STC89C51为主控芯片。
STC89C51是一种低功耗、高性能CMOS8位微控制器,具有4K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51在众多嵌入式控制应用系统中得到广泛应用。
2.3.1.1主要功能列举
1、拥有灵巧的8位CPU和在系统可编程Flash
2、晶片部具时钟振荡器〔传统最高工作频率可至12MHz〕
3、部程序存储器〔ROM〕为4KB
4、部数据存储器〔RAM〕为256字节
5、32个可编程I/O口线
6、8个中断向量源
7、两个16位定时器/计数器
8、三级加密程序存储器
9、全双工UART串行通道
10、低功耗空闲和掉电模式;
11、掉电后中断可唤醒;
12、看门狗定时器;
13、双数据指针;
14、掉电标识符。
2.3.1.2各引脚功能
VCC:
STC89C51电源正端输入,接+5V。
GND:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间参加一20PF的小电容,可以使系统更稳定,防止噪声干扰而死机。
RESET:
STC89C51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得部特殊功能存放器之容均被设成状态,并且至地址0000H处开场读入程序代码而执行程序。
EA/Vpp:
"
EA"
为英文"
ExternalAccess"
的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码〔存于外部EPROM中〕来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其部无程序存储器空间。
如果是使用8751部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751部EPROM时,可以利用此引脚来输入21V的烧录高压〔Vpp〕。
ALE/PROG:
ALE是英文"
AddressLatchEnable"
的缩写,表示地址锁存器启用信号。
STC89C51可以利用这支引脚来触发外部的8位锁存器〔如74LS373〕,将端口0的地址总线〔A0~A7〕锁进锁存器中,因为STC89C51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"
ProgramStoreEnable"
的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时〔EA=0〕,会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
STC89C51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址围。
PORT0〔P0.0~P0.7〕:
端口0是一个8位宽的开路汲极〔OpenDrain〕双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口〔P1、P2、P3〕那么不具有此电路组态,而是部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时〔即取用外部程序代码或数据存储器〕,P0就以多工方式提供地址总线〔A0~A7〕及数据总线〔D0~D7〕。
设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
PORT2〔P2.0~P2.7〕:
端口2是具有部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,假设将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,假设是在STC89C51扩大外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
PORT1〔P1.0~P1.7〕:
端口1也是具有部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地假设将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3〔P3.0~P3.7〕:
端口3也具有部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器容的读取或写入控制等功能。
其引脚分配如下:
P3.0:
RXD,串行通信输入。
P3.1:
TXD,串行通信输出。
P3.2:
INT0,外部中断0输入。
P3.3:
INT1,外部中断1输入。
P3.4:
T0,计时计数器0输入。
P3.5:
T1,计时计数器1输入。
P3.6:
WR:
外部数据存储器的写入信号。
P3.7:
RD,外部数据存储器的读取信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想制止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE制止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有部程序存储器。
注意加密方式1时,/EA将部锁定为RESET;
当/EA端保持高电平时,此间部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕
单片机引脚图如下:
图〔2〕单片机引脚图
2.3.2单片机最小系统
单片机加上适当的外围器件和应用程序,构成的应用系统称为最小系统。
2.3.2.1时钟电路
单片机部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,构造图2中X1、C1、C2。
可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
图〔3〕时钟电路
2.3.2.2复位电路
单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
其构造如下列图。
上电自动复位通过电容C3充电来实现。
手动按键复位是通过按键将电阻R1与VCC接通来实现。
图〔4〕复位电路
2.3.3按键设计
常用的按键有三种:
机械触点式按键、导电橡胶式和柔性按键〔又称触摸式键盘〕。
机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。
但是触点处易侵入灰尘而导致接触不良,体积相对较大。
导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。
但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。
柔性按键是近年来迅速开展的一种新型按键,可以分为凸球型和平面型两种。
柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。
而且外形和面板的布局、色彩、键距可按照整机的要求来设计。
但是由于客观条件与经济能力有限,本系统采用机械触点式按键。
2.3.4遥控发射模块参数
1、通讯方式:
调幅AM
2、工作频率:
315MHZ/433MHZ
3、频率稳定度:
±
75KHZ
4、发射功率:
≤500MW
5、静态电流:
≤0.1UA
6、发射电流:
3~50MA
7、工作电压:
DC3~12V
数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。
特别适合多发一收无线遥控及数据传输系统。
声表谐振器的频率稳定度仅次于晶体,而一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。
发射模块未设编码集成电路,而增加了一只数据调制三极管Q1,这种构造使得它可以方便地和其它固定编码电路、滚动码电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。
比方用PT2262或者SM5262等编码集成电路配接时,直接将它们的数据输出端第17脚接至数据模块的输入端即可。
数据模块具有较宽的工作电压围3~12V,当电压变化时发射频率根本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。
当发射电压为3V时,空旷地传输距离约20~50米,发射功率较小,当电压5V时约100~200米,当电压9V时约300~500米,当发射电压为12V时,为最正确工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离700~800米,发射功率约500毫瓦。
当电压大于l2V时功耗增大,有效发射功率不再明显提高。
这套模块的特点是发射功率比拟大,传输距离比拟远,比拟适合恶劣条件下进展通讯。
天线最好选用25厘米长的导线,远距离传输时最好能够竖立起来,因为无线电信号传输时收很多因素的影响,所以一般实用距离只有标称距离的一半甚至更少,这点需要开发时注意。
数据模块采用ASK方式调制,以降低功耗,当数据信号停顿时发射电流降为零,数据信号与发射模块输入端可以用电阻或者直接连接而不能用电容耦合,否那么发射模块将不能正常工作。
数据电平应接近数据模块的实际工作电压,以获得较高的调制效果。
发射发射模块最好能垂直安装在主板的边缘,应离开周围器件5mm以上,以免受分布参数影晌。
模块的传输距离与调制信号频率及幅度,发射电压及电池容量,发射天线,接收机的灵敏度,收发环境有关。
一般在开阔区最大发射距离约800米,在有障碍的情况下,距离会缩短,由于无线电信号传输过程中的折射和反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离。
2.3.5PT2262/PT2272编解码集成电路原理说明
PT2262/2272是普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比拟核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停顿振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控〔ASK调制〕相当于调制度为100%的调幅。
PT2262特点
1、CMOS工艺制造,低功耗
2、外部元器件少
3、RC振荡电阻
4、工作电压围宽:
2.6-15v
5、数据最多可达6位
6、地址码最多可达531441种
应用围
1、车辆防盗系统
2、家庭防盗系统
3、遥控玩具
4、其他电器遥控
在具体的应用中,外接振荡电阻可根据需要进展适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
大局部产品都是用2262/1.2M=2272/200K组合的,
模块还有一种重要的用途就是配合单片机来实现数据通讯,这时有一定的技巧:
1、合理的通讯速率
数据模块的最大传输数据速率为9.6KBs,一般控制在2.5k左右,过高的数据速率会降低接收灵敏度及增大误码率甚至根本无法工作。
2、合理的信息码格式
单片机和模块工作时,通常自己定义传输协议,不管用何种调制方式,所要传递的信息码格式都很重要,它将直接影响到数据的可靠收发。
码组格式推荐方案
前导码+同步码+数据帧,前导码长度应大于是10ms,以避开背景噪声,因为接收模块接收到的数据第一位极易被干扰〔即零电平干扰〕而引起接收到的数据错误。
所以采用CPU编译码可在数据识别位前加一些乱码以抑制零电平干扰。
同步码主要用于区别于前导码及数据。
有一定的特征,好让软件能够通过一定的算法鉴别出同步码,同时对接收数据做好准备。
数据帧不宜采用非归零码,更不能长0和长1。
采用曼彻斯特编码或POCSAG码等。
3、单片机对接收模块的干扰
单片机模拟2262时一般都很正常,然而单片机模拟2272解码时通常会发现遥控距离缩短很多,这是因为单片机的时钟频率的倍频都会对接收模块产生干扰,51系列的单片机电磁干扰比拟大,2051稍微小一些,PIC系列的比拟小,我们需要采用一些抗干扰措施来减小干扰。
比方单片机和遥控接收电路分别用两个5伏电源供电,将接收板单独用一个78L05供电,单片机的时钟区远离接收模块,降低单片机的工作频率,中间参加屏蔽等。
接收模块和51系列单片机接口时最好做一个隔离电路,能较好地遏制单片机对接收模块的电磁干扰。
接收模块工作时一般输出的是高电平脉冲,不是直流电平,所以不能用万用表测试,调试时可用一个发光二极管串接一个3K的电阻来监测模块的输出状态。
无线数据模块和PT2262/PT2272等专用编解码芯片使用时,连接很简单只要直接连接即可,传输距离比拟理想,一般能到达600米以上,如果和单片机或者微机配合使用时,会受到单片机或者微机的时钟干扰,造成传输距离明显下降,一般实用距离在200米以。
2.3.6遥控电路设计
系统采用sc2262和sc2272遥控和接收,遥控电路图如下:
遥控器局部用12V电池供电,按下按键后电池的正极才会和芯片和发射模块的电源端连通并发出信号,这样设计也是为了保证电池的耐用。
接收局部的电路图如下:
接收电路输出端通过npn三极管9013将输出的高电平转变成低电平,单片机可以更好的识别低电平变化。
2.3.7光线检测模块
本系统的自动模式是光线暗时自动闭合窗帘,光线亮时自动拉开窗帘,实现窗帘的自动化,光线检测就是通过光敏电阻的特性,光线暗时电阻变大,三极管的基极电压变低,三极管截止,发射极被10k电阻拉低电平,输出低电平;
光线亮时电阻变小,三极管的基极电压变高,三极管导通,发射极被电源拉高,输出高电平。
光线传感器的原理图如下:
2.3.8正反转控制模块
本设计采用两个继电器的吸和状态控制直流电动机的旋转方向,带动窗帘的开合,两个继电器采用5V继电器,通过9012三极管驱动继电器的吸和,模块的电路图如下:
2.3.9正反转与模式显示模块
本功能采用3个LED指示系统工作状态,红灯亮时系统是自动模式,即为光线亮时翻开窗帘,光线暗时关闭窗帘。
蓝灯亮时电机正传,黄灯亮时电机反转,碰触到行程开关时,相应指示灯闪烁3下,同时停顿电动机。
电路图如下所示:
图〔11〕显示模块接线图
3系统软件设计
对于指令系统兼容MCS51系列的单片机,其较为常用的编程语言有C和汇编语言。
C语言是一种构造化编程语言,可产生压缩代码。
C语言在硬件构造上仅要求对单片机存储器等硬件构造有初步了解,存放器分配,不同存储器寻址及数据类型等细节可由编译器管理。
C语言程序本身并不依赖于机器硬件系统,根本上不做修改就可以在不同种类的单片机之间相互移植。
程序可划分为不同函数,构造规,可读性强。
C语言提供的库包含许多标准子程序,具有很强的数据处理能力。
C语言作为一种方便、容易掌握的语言得到了广泛的应用,是目前单片机编程中应用最多的语言之一。
汇编语言同样在单片机编程中得到了广泛的应用,其具有简单实用,控制灵活,实时性强,程序效率高等特点。
汇编语言有着极强的硬件控制能力,用其它的高级语言所无法控制的软硬件细节,在汇编语言中都可以实现,但是编程复杂。
综合考虑,软件的设计语言选择C语言。
3.1软件介绍
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、构造性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语