《基于单片机的智能窗帘系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能窗帘系统.docx(26页珍藏版)》请在课桌文档上搜索。
1、JINGCHUuniversityoftechnology本科毕业设计论文基于单片机的智能窗帘系统学院电子信息工程学院专业电气工程及其自动化年级班别2023级一班学号学生姓名张祥指导教师部云峰2023年6月12日目录1绪论11.1 本课题研究的意义11.2 国内外研究现状及存在的问题11.3 本课题研究的内容和目标11.4 本课题拟解决的关键问题12总体设计方案12. 1系统简介12.2系统功能方框图22. 3各模块功能的介绍23. 4硬件方案的选择24. 4.1CPU方案的选择25. 4.2电源模块方案的选择26. 4.3按键输入方案选择37. 4.4红外遥控方案的选择32. 4.5时钟方案
2、的选择33. 4.6显示模块方案的选择44. 4.7驱动芯片方案的选择43主要元器件介绍55. 1AT89C51单片机介绍53. 2HT6221遥控器芯片介绍63.1 光敏电阻介绍63.2 1.CD1602液晶显示介绍73.3 1.298N驱动芯片介绍84硬件电路设计94. 1单片机最小系统94. 2电源电路94.1 按键信号输入电路94.1 光敏电阻电路104.5 红外遥控电路114. 6显示电路115. 7L298N电机驱动电路115软件编程116. 1总程序流程115. 2独立键盘子程序125. 3红外遥控子程序125.4液晶显示子程序12电机驱动子程序136硬件仿真局部13致谢13参考
3、文献14附录(程序)14基于单片机的智能窗帘系统摘要设计可以实现对窗帘的手动、定时、自动控制,经过改良可以用于窗帘的无人化控制。本文用AT89C51单片机与光敏电阻实现了对窗帘的监测,并对数据用LCD1602液晶进行显示,用直流电机执行输出。论文主要研究了:在硬件方面利用AT89C51单片机技术参数的检测以及他的相关电路;无线红外遥控电路的原理和信号传输:用于显示温度的液晶显示模块;用于定时时间设定的按键输入模块:用于执行的电机模块。在软件方面主要是研究定时器和液晶显示电路。并且对电路进行了模拟仿真制作。本文的特色在于可设定窗帘的无人化操作,对不同环境要求的用户提供了很好的解决方案。关键词:单
4、片机;红外;光敏电阻;LCDl602;直流电机BasedonSingleChipMicrocomputerIntelligentCurtainSystemAbstractDesigncanbeimplementedtothemanualofthecurtain,timing,automaticcontrol,improvedcanbeusedfortheunmannedcontrolofthecurtain.ThispaperuseAT89C51andphotosensitiveresistanceforthemonitoringofthecurtainisachieved,and(hedat
5、ausingLCD1602LCDdisplay,executeindemotoroutput.Thesismainlystudiedthe:intheaspectofhardwareusingAT89C51microcontrollertechnologyparameterdetectionandhisrelatedcircuit;Theprincipleofwirelessinfraredremotecontrolcircuitandsignaltransmission;Usedtodisplaythetemperatureofliquidcrystaldisplaymodule;Usedf
6、orlimingtimesettingkeyinputmodule;Usedtoperformthemotormodule.Intheaspectofsoftwareismainlyresearchthetimerandliquidcrystaldisplaycircuit.Andonthecircuitsimulation.Ofthisarticlefeaturestheunmannedoperationofthecurtain,canbesettodifferentenvironmentalrequirementsoftheuserprovidesagoodsolution.Keyword
7、s:Singlechipmicrocomputer;Infrared;Photosensitiveresistance;LCD1602;Dcmotor1绪论1.1 本课题研究的意义基于对传统窗帘的操作方式不满足。设计了单片机控制的自动窗帘遥控系统,既能解决每天手拉开和关上窗帘的不便,又显示出了生活的档次,同时还可以根据光线的明暗来自动控制窗帘的开关,以调节室内的光线,更进一步地满足了人们的要求。除了市民住宅外,还可以广泛应用于别墅、宾馆、饭店等各种场所,本设计采用遥控、光控方式实现智能化的窗帘系统,正符合现今智能家居的方向,具有广阔的市场前景。1.2 国内外研究现状及存在的问题帘机的控制方式大
8、体上有:声控、光控、时控。声控和遥控属于半自动类;光控属全自动式,但存在很多问题,因光敏器件的灵敏度,冬夏等不同季节的光照度的不同,人们对起闭窗帘在时间上的要求不同。时控式的全自动窗帘也是业余电子设计人员的热门课题。自动窗帘有些不能实现完全的自动化;有些虽然实现了完全的自动化,但结构复杂,性能不够稳定;有些虽然实现了完全的自动化,且性能还可以,但价格昂贵不适合普通消费者使用。1.3 本课题研究的内容和目标采用AT89C51单片机的最小系统设计,控制一个可逆、直流电动机控制窗帘的拉开和关闭。给出了硬件设计方案,以流程图方式对系统的软件设计进行了较为详细的介绍。该系统的局部主要由键盘扫描电路、遥控
9、、光敏电阻、单片机(AT89C51)、电动机驱动控制电路等组成;窗帘控制局部主要由导轨、窗帘、拉绳和电动机等组成。单片机根据接收到的信号不同来控制电动机的正转、反转或停止,从而实现窗帘的翻开、关闭或停止(I1.4 本课题拟解决的关键问题1)光耦电阻的信号传输问题;2)人机交互问题(包括键盘、遥控和显示):3)直流电机的控制原理问题;2总体设计方案系统简介智能窗帘系统以调节窗帘开关为目的,其输入参数主要是光敏电阻阻值,定时时间,按键命令。输出信号主要是时间显示、电机执行动作。不同模式下工作时将控制信号传给单片机,当手动模式时:通过按键或红外控制系统。当定时模式时:通过设定推片机内部时间来控制系统
10、。当外出模式时:通过光敏电阻可以实现系统全自动化控制。从而满足不同环境下窗帘系统的全自动化、半自动化控制。系统功能方框图图2.2.1系统功能原理图各模块功能的介绍1)光线强度传输:实时反应光线强度给中央处理器.(2)人机交互:2. 1)远程控制:远程设置模式和定时时间。3. 2)按键控制:按键设置模式和定时时间。4. 3)显示输出:显示系统时间和模式。3)中央控制:负责系统的集中控制(I4)电机驱动:控制驱动芯片,从而控制直流电机。硬件方案的选择 1CPU方案的选择按MCU内核可分为:MSP430、ARM、AT89C51等等。MSP430单片机功耗低,速度快,内置硬件乘法器,乘除法运算都为单周
11、期指令,片内集成资源丰富,但是学习起来比拟复杂。ARM单片机控制能力强,速度快,价格比拟适中,但比51要贵些,可以加操作系统,但是对ARM接触较少,应用起来较为困难。AT89C51是一种带4K字节FLASH存储器)的低电压、高性能CMOS8位微处理器。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本设计选择AT89C51单片机作为主控局部。 2电源模块方案的选择电源供电局部
12、可采取三端稳压电路进行电源转换、多节干电池串联供电。电源转换用市电220V,50HZ电源转换供电,三端稳压电路使用LM7805构成的桥式稳压整流电路。结构简单、输出电压稳定性强。但为了解决散热问题,安装散热器,增大整个电源设备的体积、重量和本钱团。多节干电池串联方案。单片机机芯片的工作电压是5V,干电池一般都是每节V,需要三节干电池串联进行供电,本钱低,便捷简单,但需要定期更换电池。由于本设计使用需220v供电,综合考虑最终选电源转换作为电源供电局部。 3按键输入方案选择微机键盘主要有两种:一种是全编码键盘,另一种是非编码键盘。全编码键盘,键码全由硬件提供,但硬件结构复杂,本钱高。典型的编码矩
13、阵式键盘接口设计。将I/O口线的一局部作为行线,另一局部作为列线,按键设置在行线和列线的交叉点上,构成矩阵式键盘。矩阵式键盘中按键的数量可达行线数n乘以列线数m,如4行、4列的矩阵键盘的按键数可以到达4X4=16个。此类键盘可节省I/O口。非编码键盘,键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。实现起来简单,典型的独立式按键是各按键相互独立的接通一条输入数据线,每个键的工作不会影响其它的I/O口。但占用I/O口多考虑简化结构,降低本钱,本系统中多采用非编码的独立式按键。 4红外遥控方案的选择市场上红外芯片种类繁琐,BC7210、TC9012,HT6122等等BC721O比高公司拥
14、有版权的红外遥控解码专用芯片。BC7210可以完成目前国内市场上最常用的飞利浦RC5和、EC两种红外编码信号的解码。BC7210的输出可以设置为并行输出或者串行输出,串行输出方式兼容SPl和UART两种接口,可以轻松完成与各种MCU、PC机的接口。可以取代SAA3049等芯片。TC9012是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMoS工艺制造。它可外接32个按键,提供8种用户编码,另外还具有3种双重按键功能。TC9012的管脚设置和外围应用线路都进行了高度优化,以配合PCB的布图和低本钱的要求HT6122芯片是通用红外遥控发射集成电路,采用CMoS工艺制造,最多可外接64个按
15、键,并有三组双重按键。封装形式为S0P-24和SOP-20。考虑应用方便,本设计用此方案。 5时钟方案的选择常用的时钟芯片有:DS12C887、DS1302,51单片机内部定时等等。DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,DS12C887中自带有锂电池,对于一天内的时间记录,有12小时制和24小时制两种模式。带有128字节RAM。数据/地址总线复用性能优异,但价格相对较贵口DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可
16、采用突发方式一次传送多个字节的时钟信号或RAM数据。增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。51单片机自带内部定时器,使用方便,价格低廉,但不能断电保存。由于本设计考虑本钱问题,且不会断电,应选用51单片机自带内部定时器。.6显示模块方案的选择一般的显示有LED8位数码管显示、LCD1602lcdl2864等等1.ED8位数码管显示,显示分为动态显示和静态显示,虽然价格比拟廉价,但是其外部电路比拟复杂。1.CD液晶显示器在单片机中应用一般有LCDl602液晶显示和LCDI2864液晶显示。1.CDI602液晶显示没有中文字库,而且显示的内容也较少。LCDI
17、2864液晶显示分为两种,带字库的和不带字库的,不带字库的液晶显示汉字的时候可以选择自己喜欢的字体。而带字库的液晶,只能显示GB2312字体,当然也可以显示其他的字体,不过是用图片的形式显示R考虑本设计显示内容不需要汉字,应选用LCDl602液晶显示作为显示局部。.7驱动芯片方案的选择常用的驱动芯片有:L298N、SA60等。1.298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25%具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑
18、电源输入端,使内部逻辑电路局部在低电压下工作;可以外接检测电阻,将变化量反应给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台宜流电机。SA60的是一个PWM型功率输出芯片,电路提供应电机的电源电压最大可到达80V,能连续向负我提供IOA的电流。最大模拟输入电压5V,PWM载波频率可以到25OkHZ,而效率可以高达97%.该芯片还可以外接一个可兼容的TTL型的PWM的信号来同步四象限模式的幅值和方向。SA60主要应用在驱动中小型直流电机,D类功率放大,轴承鼓励等场合。综合考虑,本设计采用L298W乍为直流电机的驱动芯片3主要元器件介绍3.1AT
19、89C51单片机介绍AT89C51的主要特点:与MCS-51兼容、4K字节可编程闪烁存储器、100O写/擦循环数据保存时间、三级程序存储器锁定、128X8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。(a)(b)图3.1.1单片机芯片实物引脚图管脚说明:VCC:供电电压、GND:接地。PO,P1,P2,P3;输入/输出端口。P3.O/RXD:串行输入口、P3.1/TXD:串行输出口、P3.2/INTO:外部中断0、P3.3/INT1:外部中断1、P3.4/T0:计时器0外部输入、P3.5Tl:计时器断卜部输
20、入、P3.6/WR:外部数据存储器写选通、P3.7/RD:外部数据存储器读选通、P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,
21、MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)oXTAL1:反向振荡放大器的输入及内部时钟工作电路的输入、XTAL
22、2:来自反向振荡器的输出。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平IOmS来完成。在芯片擦操作中,代码阵列全被写1且在任何非空存储字节被重复编程以前,该操作必须被执行。HT6221遥控器芯片介绍引脚说明表如表3.2.1所示。表3.2.1引脚说明代码的特征1)HT6221键码的形成当一个键按下超过36ms振荡器使芯片激活如果这个键按下且延迟大约108ms,108ms发射代码由一个起始码9ms,一个结果码4.5ms,低8位地址码9ms18ms,高8位地址码9ms18ms,8位数据码9ms18ms和这8位数据的反码9ms18ms组成如果键按
23、下超过108ms仍未松开接下来发射的代码连发代码将仅由起始码9ms和结束码组成,红外上下位定义如下图。2 )代码格式以接收代码为准接收代码与发射代码反向,代码格式图如下图。图3.2.1红外上下位定义(a)单发代码格式(b)连发代码格式图3.2.2代码格式解码方法及软件说明解码的关键是如何识别0和1从位的定义我们可以发现010为0.56ms,1为L68ms,所以必须根据高电平的宽度区别0以后假设读到的电平为低说明该位为0反之那么为1为了可靠起见延时必须比长些但又不能超过L12ms,否那么如果该位为0。3 .3光敏电阻介绍常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化锌等材料。这些制作材
24、料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。根据光敏电阻的光谱特性,可分为三种光敏电阻器:紫外光敏电阻器、红外光敏电阻器、可见光光敏电阻器。光敏电阻的实验图如下图。图3.3.1光敏电阻的实验图光敏电阻的主要参数是:(1)光电流、亮电阻。光敏电阻器在一定的外加电压下,当有光照射时,流过的电流称为光电流,外加电压与光电流之比称为亮电阻,常用100LX表示。(2)暗电流、暗电阻。光敏电阻在一定的外加电压下,当没有光照射的时候,流过的电流称为暗电流。外加电压与
25、暗电流之比称为暗电阻,常用0LX表示。(3)灵敏度。灵敏度是指光敏电阻不受光照射时的电阻值(暗电阻)与受光照射时的电阻值(亮电阻)的相对变化值。(4)光谱响应。光谱响应又称光谱灵敏度,是指光敏电阻在不同波长的单色光照射下的灵敏度。假设将不同波长下的灵敏度画成曲线,就可以得到光谱响应的曲线。(5)光照特性。光照特性指光敏电阻输出的电信号随光照度而变化的特性。从光敏电阻的光照特性曲线可以看出,随着的光照强度的增加,光敏电阻的阻值开始迅速下降。假设进一步增大光照强度,那么电阻值变化减小,然后逐渐趋向平缓。在大多数情况下,该特性为非线性。(6)伏安特性曲线。伏安特性曲线用来描述光敏电阻的外加电压与光电
26、流的关系,对于光敏器件来说,其光电流随外加电压的增大而增大。(7)温度系数。光敏电阻的光电效应受温度影响较大,局部光敏电阻在低温下的光电灵敏较高,而在高温下的灵敏度那么较低。3. 4LCD1602液晶显ZF介绍工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。1602液晶也叫1602字符型液晶,是专门用来显示字母、数字、符号等的点阵型液晶模块。由假设干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。3.3V或5V工作电压,比照度可调,内含复位电路,提供各种控制命令,如:清屏、字符
27、闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。引脚说明如所示。表3.4.1引脚说明引脚符号功能说明1VSS-般接地2VDD接电源+5V)3VO液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高(比照度过高时会产生鬼影,使用时可以通过一个IOK的电位器调整比照度)。4RSRS为存放器选择,高电平1时选择数据存放器、低电平0时选择指令存放器。5R/WR/W为读写信号线,高电平时进行读操作,低电平(O)时进行写操作。6EE(或EN)端为使能(enable)
28、端,写操作时,下降沿使能。读操作时,E高电平有效7-14DBO双向数据总线15BLA背光电源正极16BLK背光电源负极表3.4.2存放器选择控制表RSR/W操作说明OO写入指令存放器(去除屏等)01读busyflag(DB7),以及读取位址计数器(DBODB6)值1O写入数据存放器(显示各字型等)11从数据存放器读取数据LCD1602液晶显示实物图如下图同(b)图3.4.1LCD1602液晶显示实物图5L298N驱动芯片介绍1.298N是Srr公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工
29、作电流为2A;额定功率25W。具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路局部在低电压下工作。性能参数:尺寸80mmX45m,工作电压直流5V,电机电压直流3V46V,额定功率25W。特点:具有信号指示、转速可调、抗干扰能力强、具有过电压和过电流保护、可单独控制两台直流电机、可单独控制一台步进电机、PwM脉宽平滑调速、可实现正反转。LCD12864液晶显示实物引脚图如所示。(b)(b)图3.5.1L298N实物图4硬件电路设计单片机最小系统单片机芯片工作时,必需加一个最小系统。最小系统中主要包括复位电路和时钟电路两大局部%1复位11 复位
30、电腔 工作原理现10 ms以上毛 在OjS内,Rf 电压信号为但 片机系统自勾2)时钟IVCC f12MHZX2311一 ,一?4一一 B一时钟电晓POO/ADO POl1AD1 PO2A8 PO3AD3 P0.4/ACH P0 5AD6 PAD PQ7AO7PZOfAfiP2.VJW P2.2/AW P2.3/A11 P24A12 P2.5/A13 P2A14 P2.7ZA15P3(yRXD P3.1TXD P12NT0 P3 3NT1P3.VT0P3 51P3 6W?P37RDAT89C51呆证RST引脚出 士的大小是10k。,中小于1.5V的 :机0. IS内,单51单片机片内有一个昌增
31、益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式叱本设计使用内部方式,须在XTALI和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,晶振的频率取值在1.2MHz12MHZ之间。4. 2电源电路本设计将220V的电网电压,经变压、整流后得到+5v直流电压。7805三端稳压集成芯片:电子产品中,常见的三端稳压集成电路有正电压输出的78系列和负电压输出的79XX系列三端稳压器,7805三端稳压芯片引脚图如所示。MC78M05CT将
32、输出电压稳定在+5V上,只有三条引脚输出,分别是输入端、接地端和输出端4电源电路总设计图如所示。(a)(三)图4.2.17805三端稳压芯片引电源电路总设计图按键信号输入电路按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5msIomSi)键抖动会引起一次按键被误读屡次。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理UL按键抖动原理图如所示。图4.3.1按键抖动原理图按键的消抖,可用硬件或软件两种方法
33、。硬件消抖。在键数较少时可用硬件方法消除键抖动。RS触发器为常用的硬件去抖。两个与非门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为L此时即使用按键的机械性能软件消抖。如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5msIOmS的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,那么确认为真正有键按下。当检测到按键释放后,也要给5ms-10ms的延时,待后沿抖动消失后才能转入该键的处理程序。一般来说,软件消抖的方法是不断检测按键值,直到按键值稳定。实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之
34、后,延时5msIoms,再次检测,如果按键还为0,那么就认为有按键输入。延时的5ms10ms恰好避开了抖动期。本设计使用软件消抖的方法。按键信号输入电路图如图4.3.2所示。图4.3.2按键信号输入电路图4.4光敏电阻电路光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和硫化物等半导体九通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。入射光消失后,由光子激发
35、产生的电子一空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到一定波长的光线照射时,电流就会随光强的增大而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。当周围光线变弱时引起光敏电阻的阻值增加,使加在电容C上的分压上升,进而使可控硅的导通角增大,到达增大照明灯两端电压的目的。反之,假设周围的光线变亮,那么RG的阻值下降,导致可控硅的导通角变小,照明灯两端电压也同时下降,使灯光变暗,从而实现对灯光照度的控制九光敏电阻电路如所示。4. 5红外遥控电路遥控发送端电路图5. 6显示电路(a)读操作时序(b
36、)写操作时序图4.6.1操作时序图4.6.21602LCD内部显示地址第二行第一个字符的地址是40H,不可直接写入40H将光标定位在第二行第一个字符的位置,写入显示地址时要求最高位D7恒定为高电平1。操作时序如图4.6.1所示。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态1602液晶模块内部的字符发生存储器(CGROM)存储160个不同的点阵字符图形,字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比方大写的英文字母A的代码是OlooOOoIB(41H)
37、,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A叫图4.6.3液晶显示电路图4.7L298N电机驱动电路使用直流/步进两用驱动器可以驱动两台直流电机。分别为Ml和M2。引脚A,B可用于输入PwM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端INl接高电平输入端IN2接低电平,电机Ml正转。(如果信号端INl接低电平,IN2接高电平,电机Ml反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之那么反转),PwM信号端A控制Ml调速
38、,B控制M2调速m。直流电机控制方式表如所示。直流电机控制方式1.298N电机驱动电路如所示。图4.7.1L298N电机驱动电路5软件编程由于用C语言编写程序简介明了,效率相对其他高级语言较高,所以本设计采用C语言编写。5.1总程序流程本设计的软件设计包括主程序、键盘子程序、红外子程序、液晶显示子程序、电机驱动子程序。结合本系统的功能,程序长度不会超过AT89C51内部的程序存储器,所以硬件上不用外扩程序存储器皿。主程序流程图如所示。图主程序流程图5. 2独立键盘子程序图5.2.1独立键盘软件程序流程图独立键盘软件程序流程图如所示。键盘程序注意的是键盘防抖,本设计应用软件实现防抖检测。具体实现
39、方法如下:voidkey()键盘读取,显示num;ifCup_key=0)delay(5):按下防抖if(upkey=0)num+;if(num=4)num=3;while(!up_key);松手防抖)6. 3红外遥控子程序红外遥控器解码流程图如所示。图5.3.I红外遥控器解码流程图7. 4液晶显示子程序液晶显示程序流程图如所示。具体程序实现如下。voidwritecom(ucharcom)写指令voidwrite_data(uchardate)写数据voidinit()初始化Icden=O;write_com(0x38);write_com(OxOe);write_com(0x06);wri
40、tecom(0x01);writecom(0x80);图5.4.1液晶显示程序流程图8. 5电机驱动子程序电机驱动子程序图如所示。具体实现程序方法如下。voidDLUP()窗帘开启上卷)IN3=1;IN4=0Jdelayms(3);voidDJ_down()窗帘关启(下卷)IN3=0:IN4=lJdelayms(3):voidDJ-Stop()窗帘停止(停止转动)IN3=0;IN4=0;图5.5.1电机驱动子程序6硬件仿真局部初始化仿真图致谢早在去年时候,就在筹划毕业设计这个事,当时主要是选题,曾经想做物联网相关的,后来经过了解后知道,物联网的网络的局部相关知识我很缺乏,而作为终端的硬件局部,
41、我想对熟悉些。由于学过单片机课程,加上之前自己也参加过科技创新比赛,对有关知识有过积累,上手起来比拟容易。未来,实现家庭电器的物联是很有前景的,所以我决定从家电着手,正在犹豫那么多家电从什么入手时候突然眼前的窗帘给了我灵感,就从窗帘的控制着手,加上红外遥控的功能,假设是想以后实现物联,也就相对容易的多。综合考虑,决定做基于单片机的智能窗帘系统。虽然和物联不怎么相关,但这是大系统不可或缺的一局部。决定了题目,就是导师指导的时候,原本自己思路也不是很清晰,后来邹云峰老师的细心指导,让我慢慢理清了思路,开始了我的毕业论文之旅。这里真的好感谢邹老师。开题报告,一稿,二稿,忙的不亦乐乎。尽管期间有很多的
42、困难,但是能自己动手认真做完某件事,还是很有成就感的。最大感触就是,很多时候自己在觉得很简单的事情,其实有很多小技巧。包括如何在网上查资料,如何在图书馆查阅相关文献,都是很有讲究的。在这里我很感谢我同学荣家栋、付振对我的帮助。记得刚开始看定时器计数器一块时候,我总是搞不清楚为什么可以通过存放器的内容可以决定选什么,该怎样工作,直到后来秦昌研把电路图拿给我看时候,我才恍然大悟,此事深刻感觉到了原理的重要性,学习应该扎实,不能只知道其外表,不知其根本。在学习时钟芯片模块时候,我们之前已经把郭天祥书上的类似程序看的很明白了,可是移植到自己的程序上时候,还是不知道为什么,时间显示不出来,后来我换成单片
43、机的内部时间,由此可见,相同的东西,我们不能照搬照抄,要有自己的独立性。另外,每个细节都是很重要的,细节决定成败,不只是嘴上说说。查阅资料,学习软件,分析程序,仿真调试,一步一步。在结果调试出来的那一刻,我真的冲动地快跳起来了。最大的感触就是台上一分钟,台下十年功。总之,本次毕业论文将是我人生的一大财富。再次感谢老师同学们的帮助,正是因为你们的帮助,才能让我更加有信心地做好这次论文。参考文献3徐建仁主编,智能现代,长沙:国防科技大学出版社,1990年2月出版,4郝鸿安编著,常用数字集成电路应用手册,北京:中国计量出版社,1987年10月出版,5普汉房等编著,数字技术教程,北京:电子工业出版社,
44、1995年11月出版,6郭天样,51单片机C语言教程,电子工业出版社,2023年6月出版7沈嗣昌等编著,数字设计引论,北京:高等教育出版社,2002年3月出版,8刘亦松等编著,数字电路逻辑设计,北京:高等教育出版社,2002年7月出版,9李元编著,数字电路与逻辑设计,南京:南京大学出版社,1997年2月出版,10陈在熏等编著,数字电子技术,北京:机械工业出版社,1995年3月出版,11王金矿编著,单片机高级教程应用,广州:中山大学出版社,2000年6月出版,12申凤琴编著,电子电工技术及应用,北京:机械工业出版社,2005年9月出版,13康华光编著,单片机教程实例100,北京:高等教育出版社,
45、2000年6月出版,14孙肖子,田根登等编著,现代电子线路和技术实验,北京:高等教育出版社,2004年1月出版,15王化详,张淑英.传感器原理.天津:天津大学出版社.2023年6月出版参考网站:百度百科,电子发烧友网,单片机论坛,51单片机之家等附录程序J#includettdefineuintunsignedintUdefineucharunsignedcharsbitlcden=P4;/液晶使能信号sbitIcdrs=Pl5:敬据/余令选择端ucharcodemode=*Modeucharcodemodel-*Handucharcodemode2=*Timeucharcodemode3=*
46、Auto*;ucharcodetablel=biyesheji*;ucharcodetable2=2023-06-08-M0N*;ucharcodetable3=*ll:30-30*;charyear=14fmonth=6,day=8,week=l,shi=ll,fen=30,miao=30;charashi=6,afen=30,amiao=30:在定时模式n,定义上午开启窗帘的时间charpshi=19,pfen=0,pmiao=0;在定时模式下,定义下午关闭窗帘的时间voiddeIayms(uintms)(uintxty;for(x=ms;x0;x)for(y=110;y0;y);voidwrite_com(ucharcom)Icdrs=O;P0=com;dclayms(5);Icden=I;delayms(5);Icdcn=O;voidwritedat(uchardat)Icdrs=I;P0=dat;dclayms(5);Icden=I;delayms(5);Icdcn=O;)voidlcd_init0Icden=O;writecom(0x38);write_com(OxOc);write_com(