下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、徐解骞发Hefei University2015年合肥学院电子设计竞赛项目报告项目名称:智能卧室窗帘系统作者姓名:梁波 1205022039 12 通信(二)班毛会磊 1205022002 12通信(二)班朱春松 13050110松13电子(一)班指导教师:完成时间:2015 年3月16日摘要本电路根据办公和生活环境需要,采用AT89C51单片机控制系统,利用P3 口的特殊功能与 P1 口的空闲模式和掉电模式,根据其不同控制模式,实现半自动控制、自动控制、定时控制的相互转换控制窗帘机。该设计包括光电开关电路、系统主控模块、电源转换电路、保护电路等组成,可实现窗帘自动升降。关键词单片机;定时控制
2、;光电开关;步进电机21 引言 41.1 系统设计的背景及意义 41.2 设计的基本内容 41.3 设计思想及基本功能 52总体电路设计与原理说明 62.1 方案选取 62.2 方案介绍 72.2.1 自动控制窗帘基本功能 82.2.2 控制器总体结构设计 83系统硬件设计 103.1 89C51 单片机及相关电路 103.1.1 89C51单片机概述 103.1.2 晶振电路 103.1.3 复位电路 113.1.4 显示电路 123.2 光敏传感器电路 143.3 A/D 转换电路 153.4 步进电机电路 153.5 键盘接口电路 163.6 红外控制电路 174系统软件设计 204.1
3、 主程序软件设计 204.2 光控电机程序设计 214.3 LCD1602 显示程序设计 224.4 光照采集程序设计 225总结 24参考文献 25附录 1 :原理图 26附录2:部分子程序 271引言1.1 系统设计的背景及意义当今时代,科技的发展和人们生活水平显著提高,人们对居住环境方便快捷的要求越来越高,智能家居系统应运而生。智能家居是现代电子技术、 通讯技术及自动化技术相结合的产物。随着高新技术及电子器件的发展,光控、温控及遥控窗帘应运而生,给人们生活带来很多方便。同时,也为人们的生活环境及智能家居的实现提供了依据,为此,研究和设计智能窗帘控制系统具有深远的现实意义。窗帘机的控制方式
4、大体上有三种:声 控、光控、时控,声控和遥控属于半自动类而光控虽属全自动式,但因光 敏器件的灵敏度,冬夏等不同季节的光照度的不同,以及人们对开闭窗帘 在时间上的要求不同,而难以实施和普及。因此,设计一款价格低廉,结 构简单,灵敏度高,抗干扰能力强,实现红外线遥控控制、时间控制、手 动控制三种功能的为一体的智能窗帘,具有十分重要的意义。在欧美等发达国家,电动窗帘已经广泛应用。在十多 年前,电动窗帘就已经进入我国,可一直没有大的推广,这两年,随着电控技术的不断提高及价格的不断下降,电动窗帘热才又卷土重来。据了解,全国共有170多种电动窗帘器获得 了国家专利,但就其技术本身而言,还是大同小异,但销价
5、却有了很大的差别,贵的要数千元,便宜的只有几百元。尽管遥控自动窗帘系 统在国内是一个新兴的行业,但是,它也正以不可抵挡之势迅速崛起。遥 控自动窗帘系统走进中国以来,再短短四年的时间里,遥控自动窗帘系统 生产商由最初的几家公司增加到如今的百余家企业,其行业发展之迅速是目前国内任何其他行业所无法比拟的。目前,我国遥控自动窗帘系统生产厂商、分销商、集成商与装饰公司都形成了相当规模,不少国内知名企 业纷纷涉足遥控自动窗帘系统行业。随着自动窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智 能电子技术在生活中的广泛应用,自动窗帘已经成为未来家居装饰潮流发展的最新方向
6、。从目前的发展趋势来看,在未来的 20年时间里,自动窗 帘行业将成为中国的主流行业之一,其市场的发展前景是非常广阔的。1.2 设计的基本内容本设计通过分析电动窗帘的发展和现状来规划电动窗帘的智能功能,从而对电动窗帘控制器进行设计。采用步进电机作为执行元件,以光敏电 阻作为传感元件的传感器作为检测元件,89C51单片机作为控制芯片,辅助键盘和显示,最终实现了电动窗帘控制器的多项智能项目。主要章节分为:(1)引言:介绍系统设计的背景及意义,设计的基本内容。(2)总体设计方案:给出了电动窗帘控制器的总体方案设想,智能 项目,和设计结构规划。(3)软件设计:选用选用汇编语言作为本次软件设计的编程语言。
7、(4)总结与展望。1.3设计思想及基本功能该器具有一般的窗帘控制器的最基本的功能,即通过电动按钮来开闭 窗帘,在此基本功能的前提下,本设计根据需求还设计了可以根据光照强 度和设定时间自动开闭窗帘的功能,在选取设计方案和采用元器件方面, 该器本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线 和选用最经济实用的器件来达到设计要求。自动窗帘控制器具有以下几个基本功能:1 .手动控制该功能使电动窗帘具有手动正传、手动反转和手动停止的功能。用户可以通过遥控器对窗帘的开合进行控制,避免了手动拉动窗帘的 麻烦。2 .半自动手动控制半自动手动控制是在需要关闭或打开窗帘的时候,只需要人工按一下 “正
8、转”或“反转”按键后,窗帘到位自动停止。3 .光控调节功能当用户无暇顾及窗帘的开合程度时可以打开光控调节功能,窗帘的 关闭和开启通过环境亮度自动完成窗帘的开启或关闭操作控制,“天黑关 闭,天亮打开”单片机会自动获取信息调节室内光照强度,使室内一直处 于舒适的光照环境。具有智能管理,不产生误动作。4 .定时控制功能根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。窗帘的 正转、反转和停止功能可由单片机输出电平来控制步进电机的运转以实 现。环境亮度的控制通过光敏电阻和运放组成的电路来控制单片机输出电 平继而控制电机的正转和反转。时间自动控制可以由定时器来控制。2总体电路设计与原理说明2.1方案
9、选取单片机在各种电子产品中的应用已经越来越广泛,很多的电子产品利用单片机所取得的便利性得到了人们的好评,针对单片机控制的自动窗帘控制器的智能化要求,实现其自动控制的方案有两种:方案(一)基于温度检测以及声控检测器件的自动控制方案(二)基于光照强度器件的自动控制这二个方案都是 基于单片机控制的,采用步进 电机控制以及液晶 显 示,不同的设计部分在于检测器件的选取上。方案一的原理图如图一:图1 方案(一)的原理框圜方案(二)的器框图如图2:37图2方案(二)的原理框图方案(一)与方案(二)的区别主要在于检测器件的应用,方案(一) 采用温度采集和声音检测元件,通过设定的温度来控制窗帘的开闭,以减 少
10、光照对室内的温度影响,利用声音控制虽然方便性有所提高,但是其误 差较大。方案(二)采用的时钟模块实用性更强。综合考虑以上因素,器 设计采用方案(二)。2.2方案介绍方案:基于选 原理框图如下红外遥控模块( 7,键盘i照检测的自动控制。光控模块)L蜂鸣器单片机系统( 、LCLCD显示屏2.2.1 自动控制窗帘基本功能(1)手动控制:该功能使电动窗帘具有手动正传、手动反转和手动停止的功能。而且增加了工作状态指示,电机工作在正传、反转和停止状态 的时候,数码管均有不同工作状态指示。(2)半自动手动控制:半自动手动控制是在需要关闭或打开窗帘的时候,只需要人工按一下“正转”或“反转”按键后,窗帘到位自动
11、停止。(3)环境亮度控制:窗帘的关闭和开启通过环境亮度自动完成窗帘的开启或关闭操作控制,“天黑关闭,天亮打开”具有智能管理,不产生误动作。(4)时间自动控制:根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。窗帘的正转、反转和停止功能可由单片机输出电平来控制步进电机的 运转以实现。环境亮度的控制通过光敏电阻和运放组成的电路来控制单片 机输出电平继而控制电机的正转和反转。时间自动控制可以由定时器来控 制。2.2.2 控制器总体结构设计自动窗帘控制器设计的总体框图如图3所示:图I 3电动窗帘控制器结构框图由光电传感器来探测外界的光强,从传感器出来的信号经过信号调理 电路的放大,滤波调理后输入到
12、A/D转换器,A/D转换器件完成一个转换过程需要一定时间,如果在这段时间内信号的幅度发生变化,转换结果将会 受到影响,所以期间要用到采样保持电路。转换后的信号由单片机控制器,来实现电机的运行与停止。显示部件用来显示电动窗帘控制器的各种状态 信息。键盘是主要的输入设备,控制单片机的各种参量。RST 4Hxm P3 o (T P3 tP3 2 :H NT 门 KJ 3 p».« q(T r > P3 3 W1T> pie:: 4口口i P3 TXTAL2 X TAL fQ1MDVCCP0.0 (AO &> ,(AO 1 )P0 3 I AD J) PO
13、 J 1AD3) 4 4AC4) j PO 3 4 AC B) 口 P0 A 4 AO«) 11 T (AO?) 1 f A1*PPALEPROG PSEN :F J JF f A 1 5 >PZ 0 (A 14 > P才 » 1A1 J|>PZ 01”PN 31>:P2 1 (At &) :P2 1 (Afi> :常0 IASI单片机发出时钟信号。图4是单片机的晶振电路。电AT89C513系统硬件设计3.1 89C51单片机及相关电路3.1.1 89C51单片机概述AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,性能
14、CMOS肮微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用 ATMEH密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且 价廉的方案。3.1.2 晶振电路电路中的晶振即石英晶体震 荡器。由于石英晶体震荡器具有非 常好的频率稳定性和抗外界干扰 的能力,所以,石英晶体震荡器是 用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。 同时,它还可以产生振荡电流,向路中的电容 C1和C2
15、的典型值通常选择为30PF左右,该电容的大小会影 响振荡电路频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在1.212MHz。晶体的频率越高,系统的时钟频率越快,单片 机的运行速度越快。但反过来,运行速度对于存储器的速度要求就越高, 对印刷电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和 电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证 振荡器稳定、可靠地工作。89C51常选择振荡频率 12MHz的石英晶体。PI2PIO85C51PllPOO P01 P02 PO3P04 PO5 PO6 P07RESETRD WRRXDTXDALE 5PESEX39
16、38 豆 363534 亘3221 77232425262SioTT30图4.晶振电路7P3 4 5 61Lp p p P234 |567号12?U15143119ts9LLINTIP20INTOP2IP22T1P23TOP24_P25EAXTP26P27XIX23.1.3 复位电路复位是单片机的初始化操作,只需要给89C51的复位引脚 RST加上大于2个机器周期(即 24个时钟振荡周期)的高电平就可以使89C51复位。复位时,单片机初始化为0000H,从0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或操作错误使系统处于锁死状态时,也需要复位键使RST脚
17、为高电平,使 89C51摆脱“跑飞”或“死锁”状态而重新启动。下图是复位电路图。M 1 1 1 I 11Pl。 S9C5I P00 phpoiP12P02Pl 3P03P14P04Pl 5P05P16P06P17P073!J33743653563473383:213INTIP20INTOP2IP22TlP23TOP24_P25EAXTP26P27XIXI2112222315241425263127is1918 19ID_TXDRDALEF而PESEN1117301629图5.复位电路3.1.4 显示电路显示部分则主要显示时间,用于设置时间。采用LED数码管进行显示是一种经济实用的方法。每位数码
18、管由7个笔画加上小数点共 8个发光二极管组成;有共阴极和共阳极两种类型,公共端用来进行位控制,笔画端 用来进行字符控制;数码管显示有静态显示和动态显示两种方法。在数码管显示中,有 2个技术问题需要解决,这就是整数高位和闪烁显示问题。虽然某些新型LED驱动芯片本身具有闪烁控制和熄灭控制功能,但通过合理的软件设计,采用廉价芯片组成的驱动电路同样可以实现 整数高位灭零和闪烁显示功能,达到降低系统硬件成本的目的。本设计采用的就是 4位LED数码管的串行驱动电路来达到显示时间和 消除闪烁显示的目的。采用LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与C
19、MOS、ITL电路兼容。(2)发光响应时间极短(0.1 ps),高频特性好,单色性好,亮度 高。(3)体积小,重量轻,抗冲击性能好。驱动器采用74LS164, 74LS164是8位串行输入,并行输出的移位寄存器。具引脚及各个引脚的作用如下图所示:3A区3司卡8QC叵Q1瓦 £164回Q?'1 XT| QiQ3 |_<T| rjp彳Tl CP图6.74LS164引脚及符号DSADSB Q0Q3GNDCP/MRQ4Q7VCC引脚说明1数据输入1数据输入36输出7地(0 V)o时钟输入(低电平到高电平8边沿触发)9中央复位输入(彳氐电平后效)1013输出14正电源说明由89C
20、51的P3.0和P3.1来控制LED数码管的显示。显示电路图如 3.3.2 所示。74LSIM89C511PIOPOOPllMlPUP03P13¥03PHP04P15P05P16P06Pl?P07MT1PMDJTOP21P22Tl阳TOT24一P35EA/VPP26P27K| saTKD丽PSEN*a当3374535«34翼8321321n ;2215刘L41531WIS刘10IS9n割图7.显示电路QQQ1审Q4Q5 Q百0io n12A即QiQ2Q3Q4>CLKq,Q。ME.57413164AQ0BQI华Q3>CLKQ5q774LS1IS+io TT 亘5
21、互 Io IT laDPTT_7-SE6_DPDS?3.2 光敏传感器电路光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、 光电倍增管、光敏电阻等。光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化 铝、硫化铅和硫化钿等材料。这些制作材料具有在特定波长的光照射下, 其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加 电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,图8.光敏传感器当光敏电阻受到脉冲光照射时,光电流要经过一段时间才能达到稳定 值,而在停止光照后, 光电流也不立刻为零,这就是光敏电阻的时延特性。 由于不同材料的光敏,电阻时延特性
22、不同,所以它们的频率特性也不同, 硫化铅的使用频率比硫化镉高得多,但多数光敏电阻的时延都比较大,所 以,它不能用在要求快速响应的场合。应用光控原理工作,天亮窗帘自动打开,天黑窗帘自动关闭。由运放 组成比较电路,同向输入端有两个电阻分压得到一个电压值,作为基准电 压进行比较,而反相输入端用一个光敏电阻对外部环境的光线进行采集, 利用光敏电阻暗时电阻大,亮时电阻小的特点,来确定反向输入端的电压 值。再两者进行比较,比较后的信号再送入单片机89C2051的P0 口,从而通过单片机来控制电机的正反转。来实现天亮窗帘自动打开,天黑窗帘 自动关闭这一自动控制功能。3.3 A/D转换电路PCF8591是一个
23、单片集成、单独供电、低功耗、8-bit CMOS 数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。 PCF8591的3个地址引脚 A0, A1和A2可用于硬件地址编程,允许在同个 I2C总线上接入 8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的址、控制和数据信号都是通过双线向I2C总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内AINOAJN1AIN 2AIN3AOAlA2 VssPCF85&1AOUTYref AGNDSDA置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率
24、 由I2C总线的最大速率决定。PCF8591 特性:单独供电;PCF8591的操作电压范围 2.5V-6V ;低待机电流;通过I2C总线串行输入/输出;PCF8591通过3个硬件地址引 脚寻址;PCF8591的采样率由I2C总线速率决定;4个模拟输入可编程为 单端型或差分输入;自动增量频道选择;PCF8591的模拟电压范围从 VSS到VDD ; PCF8591内置跟踪保持电路;8-bit逐次逼近 A/D转换器;通过1路模拟输出实现 DAC增益。3.4 步进电机电路步进电机为一种数字伺服执行元件,具有结构简单、运行可靠、控制 方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等 领域
25、。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的 微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控 制。单片机在本次试验中对步进电机的控制从而达到对转角和位移的控 制的方法。本次设计采用两个型号为130Hz308-450 的三相反应式步进电机对旋转角度和位移进行控制,该步进电机力矩大、耐负载冲击、精度高。其步距角为1.2° ,即"N=1.2。,即本次设计的测控系统对回转台转角的控制精度可以达到1.2。步进电机的驱动电路是根据控制信号工作的。而本次测控系统是以单片机位控制中心的,下面将介绍步进电机控制 系统。步进电机控制系统主要由脉冲分配器,功率驱
26、动电路,步进电机几部分构成的。步进电机控制系统的方框图如图9所示:脉冲信节图9.步进电机电路3.5 键盘接口电路键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。本设计中的键盘采用4X4矩阵键盘。16个键分别为:0-9十个数字键,用于时间设定输入;设定键,设定自动 窗帘开和关的时间;复位键,在程序出错或者有误操作的时候;正转键, 使步进电机正转,窗帘打开;反转键,使步进电机反转,窗帘关闭;停止 键,步进电机停止运转;确定键,时间设定完成后确定输入。由于按键比较多,加上减少所战占用的端口,可以将按键组成一个矩 阵,如图10所示。图10.键盘接口电路3.6
27、红外控制电路红外通信基本原理:红外通信是利用 950nm近红外波段作为传递信息的媒体,即通信信 道。发送端将基带二进制信号调制为一系列的脉冲用信号,通过红外发射 管发射信号。接收端将接收到的信号装成电信号,再经过放大、滤波等处 理后送给解调电路进行解调,还原为二进制信号后输出。常用的有通过脉 冲宽度来实现信号调制 (PWM)和通过脉冲用之间的时间问隔来实现信号 调制的脉时调制(PPM )两种方法。简而言之,红外通信的实质就是对二进制数字信号进行调制与解调, 以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解 调。红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路 组成。遥
28、控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接收头来完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码 输入到微控制器,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。红外遥控控制过程:本系统以89C51单片机为核心,由发射和接受两部分组成,发射部分主要完成编码和调制,接收部分完成调解和解码。其 发射部分主要由 89C51单片机完成编码,然后由红外发射管发射红外线, 接收部分主要由光电转换,放大,解调,解码组成。其中光电转换,放大 调解由红外线一体化接头来完成,接收单片机主要完成解码功能。遥控器发射及
29、其编码:红外线遥控采用自定义编码方式,由发送单片 机来完成。遥控发射器专用芯片很多,根据编码格式可以分为脉冲宽度调 制和香味调制两大类。当发射器案件按下后,即有遥控码发出,所按的键 不同遥控编码也不同,这码具有以下特征:采用脉宽调制的用行码,以脉宽为0.26ms、间隔0.26ms、周期为0.52ms的组合表示二进制的“1” (如图11A),其特征是脉冲中高电平的宽度等于0.26ms ,相当于10个26仙s的宽度;以脉宽为 0.26ms、间隔为0.52ms、 周期为0.78ms的组合表示二进制的“ 0” (如图11B),其特征是脉冲中 而低电平的宽度是高电平的二倍,等于0.52ms,相当于20个
30、26仙s的宽度。可以根据传输数据的不同来调节脉冲的宽度。表示1表示0 N04>0.26mm0.26mm0.52mm0.26mmAB图11.二进制信号二进制信号的调制:二进制信号的调制由发送单片机来完成,它把编码后的二进制信号调制成频率为38KHz的间断脉冲用,相当于用二进制信号的编码乘以频率为38KHz的脉冲信号得到的间断脉冲用,即是调制后用于红外发射二极管发送的信号。如图3所示,A是二进制信号的编码波形,B是频率为38KHz(周期为26 ps)的连续脉冲用,C是经调制后的间断脉冲用 (相当于C=AX B),用于红外发射二极管发送的波形。10野编码后的二进制信号10个脉冲 20个脉冲,单
31、个脉冲26US_调制后的二进制信号(发送)图12二进制信号的调制二进制信号的解调:二进制信号的调制仍由发送单片机来完成,它把编码后的二进制信号调制成频率为38KHz的间断脉冲用,相当于用二进制信号的编码乘以频率为38KHz的脉冲信号得到的间断脉冲用,即是调制后用于红外发射二极管发送的信号。如图3.3所示,是二进制信号的编码波形,B是频率为38KHz(周期为26仙s)的连续脉冲用,C是经调制后的间断脉 冲用(相当于C=AX B),用于红外发射二极管发送的波形。二进制信号的解码:二进制信号的解码由接收单片机来完成,它把红外接收头送来的二进制编码波形通过解码,还原出发送端发送的数据。Df红外接收头接
32、收的波形(输入)传输开始8位数据传输结束4个肺沸高位在前,低位在后向除冲图14基于字节传输的红外遥控数据格式表示1表示0 表示1H 中 寸 ff红外接收头调解后输出的波形图13 HS0038的输入输出波形基于字节传输的红外遥控数据格式:在发送字节的开始先通过单片机发送20个脉冲宽度(每个脉冲周期26卜s)的高电平作为传输开始,接着发 送8位数据(字节高位在 前,低位在后),最后发送 10个脉冲宽度的低电平 作为传输结束,如图14所 示。4系统软件设计4.1 主程序软件设计主程序的流程图如图15所示。开始关中断设置堆栈电机正转光强大于800LX电机停止窗帘闭合N室内开灯?_ * 模块初始化窗帘打
33、开电机控制键电机工作工作完成?光强小于 400LX ? Y电机反转图15主程序流程图主程序构成无限循环,主要完成单片机初始化,关中断,菜单显示内 容初始化,按键扫描,电机运行,计时等功能。启动主程序,先关中断并且设置堆栈,接着初始化寄存器,初始化显 示内容;然后执行按键查询,执行相应的操作。如果是设定键,则设定时 间,开始计时;到时间后电机开始相应的工作,工作完成后停机。如果是 电机控制键,则也执行相应的工作。如果都不是,返回显示。检测室内是 否开灯,如果开灯,返回显示,如果无开灯,判断当前光照是否大于800LX,如果大于800LX,电机正转,窗帘打开。在窗帘打开的前提下,判断光照 是否小于4
34、00LX,如果小于400LX,电机反转,窗帘闭合,如果大于400LX,电机停止,返回显示,重新进行判断4.2 光控电机程序设计光控电机程序设计流程图如图16所示。光控电机程序的设计是本设计的关键部分,根据光照强度的变化,单 片机控制电机的正反转,实现窗帘的开闭。当执行到该子程序入口时,首先进行初始化,判断当前光强是否大于800LX,若果条件不成立,返回重新初始化,如果符合条件,电机正转,窗帘打开。如果传送器触到安装在 轨道上的形成开关,电机停止转动,如果没触到,电机继续正转,直到触 到形成开关电机才停止。在窗帘打开的前提下,光电传感器检测到当前的 光强小于400LX时,电机反转,窗帘闭合。如果
35、传送器触到安装在轨道上 的形成开关,电机停止转动,如果没触到,电机继续反转,直到触到形成 开关电机才停止。4.3 LCD1602 显示程序设计当LCD1602的寄存器选择信号 RS为1时,选择数据寄存器;当LCD1602 的读写选择线 RW为0时,进行写操作;当 LCD1602的使能信号 EN置高电 平后再过两个时钟周期至低电平,产生一个下降沿信号,往LCD写入显示数据,LCD执行命令,判断执行是否完毕,如果没有执行完毕,返回到选 择指令寄存器。如果执行命令完毕, 显示数据,子程序返回。写数据到LCD 子程序流程图如图 17所示。图17写数据到 LCD子程序流程图4.4 光照采集程序设计光电传
36、感器采用的是光电池,具输出的是线性电压,线性度良好。光照采集程序设计流程图如图18所示。图18光照采集程序设计流程图5总结该设计通过分析自动窗帘系统的现状和人们对自动窗帘系统功能的需求,对自动窗帘系统控制器进行总体设计。总体设计采用步进电机为单 片机控制元件,执行窗帘开闭的主要任务;以光敏电阻为检测元件,提供 单片机外界光照变化;以红外检测电路,实现手动控制;以 89C51单片机 为主控制芯片,控制整个系统运行;此外辅助以按键和显示电路,在各模 块的配合下,最终实现自动窗帘控制系统的智能化要求。自动窗帘控制系统具有以下几个基本功能:光照控制:根据光照强度值,通过感光器采集,自动打开或关闭窗帘。
37、即当早晨光照强度增强到设定值,通过感光器采集,单片机控制步进电机 打开窗帘;当夜晚光照强度减弱到设定值,通过感光器采集,单片机控制 步进电机关闭窗帘。红外控制:当光照强度未达到设定值,手动操作红外遥控器,由红外 接收系统接收信号,单片机控制步进电机打开或关闭窗帘。参考文献1阎石.数字电子技术基础(第五版) 北京:高等教育出版社,20062李哲英.电子技术及其应用基础(数字部分)北京:高等教育出版社,20033郭天祥.十大学会单片机和C语言编程北京;电子工业出版社,20094李广第.单片机基础.北京:北京航空航天大学出版社,20015瞿贵荣.电动窗帘红外遥控电路.家庭电子,2005,2:35-3
38、66 王丽君,杨伟丰.电机无线遥控系统设计的研究大众科技,2009,11:124-1257张培志,陆伟.仇芝基于单片机技术的无线遥控家居照明系统.仪器仪表用户,2008附录1:原理图附录2:部分子程序/*主函数*/void main() beep = 0;开机叫一声delay_1ms(150);P0 = P1 = P2 = P3 = 0xff;单片机 IO 口初始化为 1init_time0();初始化定时器init_ds1302();/ds1302 初始化init_eeprom();开始初始化保存的数据init_1602();/lcd1602 初始化init_1602_dis_csf();
39、/lcd1602初始化显示temperature = read_temp();读温度delay_1ms(650);temperature = read_temp();读温度while(1)按键程序key();if(key_can < 10) key_with();if(flag_200ms = 1) flag_200ms = 0;temperature = read_temp();/ 读温度环境温度if(temperature >= 99)temperature = 99;guanxian = ad0832read(1,0) * 99.0 / 255;if(menu_1 = 0)
40、read_time();读时间init_1602_ds1302();/ 显示时钟write_sfm2(1,13,guanxian); 显示温度write_sfm2_18B20(2,13,temperature);/ 显示温度 if(temperature >= t_high)beep = beep;蜂鸣器温度报警elsebeep = 1;if(menu_1 = 0) shoudong_kaiguan();手动开关窗帘zinengchuanglian_dis();智能窗帘定时处理函数tiaoshi_dianji();调试窗帘电机bujindj();步进电机函数delay_1ms;/*独立按
41、键程序*/void key()独立按键程序按键值还原/对应的按键 IO 输出为按键按下按键消抖动static uchar key_new;key_can = 20;P3 |= 0xf0;if(P3 & 0xf0) != 0xf0)delay_1ms;if(P3 & 0xf0) != 0xf0) && (key_new = 1)确认是按键按下key_new = 0;switch(P3 & 0xf0) case 0x80: key_can =1;break;得至 U按键值case 0x40: key_can =2;break;得至 U按键值case 0xb0
42、: key_can =3;break;得至 U按键值case 0x70: key_can =4;break;得至 U按键值 flag_lj_en = 1;beep = 0;delay_1ms(80);beep = 1;elsekey_new = 1;flag_lj_en = 0;设置函数*/*void key_with()if(menu_1 = 0)if(key_can = 2)/设置手动还是自动模式flag_zd_sd +;if(flag_zd_sd >= 3)flag_zd_sd = 0;if(flag_zd_sd = 0)/手动write_string(1,0," sd&
43、quot;);if(flag_zd_sd = 1)/ 定时模式write_string(1,0," ds");if(flag_zd_sd = 2)光线控制write_string(1,0," gx");write_eeprom();保存flag_kaig_moshi = 0;if(key_can = 1) 设置键menu_1+;if(menu_1 = 1)设置时间menu_2 = 1;write_string(1,0," :W:");write_string(2,0," 20-");if(menu_1 = 2)设置
44、开关窗帘时间menu_2 = 1;write_string(1,0," kai 00:00");write_string(2,0,"guan 00:00");if(menu_1 = 3)设置报警光线报警menu_2 = 1;write_string(1,0," Set Guanxian ");write_string(2,0,"00%"); if(menu_1 = 4)设置报警温度menu_2 = 1;write_string(1,0," Set Wendu ");write_string(2,
45、0,"write_zifu(2,9,0xdf);00显示度");if(menu_1 = 5)手动把窗帘归0menu_2 = 1;write_string(1,0," tiaoshi dianji ");write_string(2,0,"0");write_guanbiao(2,6,0);if(menu_1 > 2)回到正常显示menu_1 = 0;关闭光标初始化液晶显示/设置时间设置开关的时间write_guanbiao(1,2,0); init_1602_dis_csf();if(key_can = 2)/ 选择键flag_
46、200ms = 1;if(menu_1 = 1)menu_2 +;if(menu_2 > 5)menu_2 = 1;if(menu_1 = 2)menu_2 +;if(menu_2 > 4) menu_2 = 1;if(menu_1 = 1)/设置时加if(menu_2 = 1)if(key_can = 3)shi+=0x01;if(shi & 0x0f) >= 0x0a)shi = (shi & 0xf0) + 0x10;if(shi >= 0x24) shi = 0;if(key_can = 4) 减if(shi = 0x00)shi = 0x24;
47、if(shi & 0x0f) = 0x00)shi = (shi | 0x0a) - 0x10;shi -;if(menu_2 = 2)/ 设置分if(key_can = 3) 力口fen+=0x01;if(fen & 0x0f) >= 0x0a)fen = (fen & 0xf0) + 0x10;if(fen >= 0x60) fen = 0;if(key_can = 4) 减if(fen = 0x00)fen = 0x5a;if(fen & 0x0f) = 0x00)fen = (fen | 0x0a) - 0x10;fen -;if(menu_
48、2 = 3)/ 设置秒if(key_can = 3) 力口miao+=0x01;if(miao & 0x0f) >= 0x0a)miao = (miao & 0xf0) + 0x10;if(miao >= 0x60) miao = 0;if(key_can = 4) 减if(miao = 0x00)miao = 0x5a;if(miao & 0x0f) = 0x00)miao = (miao | 0x0a) - 0x10; miao -;if(menu_2 = 4)/ 设置星期if(key_can = 3) 力口week+=0x01;if(week &
49、; 0x0f) >= 0x0a)week = (week & 0xf0) + 0x10;if(week >= 0x08)week = 1;if(key_can = 4) 减if(week = 0x01)week = 0x08;if(week & 0x0f) = 0x00)week = (week | 0x0a) - 0x10; week -;if(menu_2 = 5)/ 设置年if(key_can = 3) 力口nian+=0x01;if(nian & 0x0f) >= 0x0a)nian = (nian & 0xf0) + 0x10;if(
50、nian >= 0x9a)nian = 1;if(key_can = 4) 减if(nian = 0x01)nian = 0x9a;if(nian & 0x0f) = 0x00)nian = (nian | 0x0a) - 0x10; nian -;if(menu_2 = 6)/ 设置月if(key_can = 3) 力口 yue+=0x01;if(yue & 0x0f) >= 0x0a)yue = (yue & 0xf0) + 0x10;if(yue >= 0x13) yue = 1;if(key_can = 4) 减 if(yue = 0x01)yue = 0x13;if(yue & 0x0f) = 0x00)yue = (yue | 0x0a) - 0x10;yue -;if(menu_2 = 7)/ 设置日if(key_can = 3) 力口ri+=0x01;if(ri & 0x0f) >= 0x0a)ri = (ri & 0xf0) + 0x10;if(ri >= 0x32) ri = 0;if(key_can = 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江中医药大学《植物有害生物综合防治》2024-2025学年第一学期期末试卷
- 2025年河南省濮阳市台前一高生物高一上期末考试试题含解析
- 许昌陶瓷职业学院《建筑设计(七)》2024-2025学年第一学期期末试卷
- 华中师范大学《融媒体监测技术》2024-2025学年第一学期期末试卷
- 放射科胃癌放疗方案
- 眼科玻璃体出血管理方案
- 居住区规划设计汇报
- 药剂科药物不良反应监测规范
- 全科疑难病症诊断指南
- 内分泌科肥胖症管理规范
- 丝印印刷知识培训
- 医学美容技术职业生涯规划
- 增强CT造影剂外渗课件
- TCHCIA029-2024化妆品风险物质调查和特定检出值安全评估指南
- 视力残疾教学课件
- 个人教育职业发展历程
- 道路创新设计
- 职业生涯规划课件演讲
- DB4105∕T 227-2024 甲骨文广播体操动作规范
- (2025)汽车专业技能大赛理论知识题库及参考答案
- 江苏的历史文化课件
评论
0/150
提交评论