光感自动窗帘控制系统设计_第1页
光感自动窗帘控制系统设计_第2页
光感自动窗帘控制系统设计_第3页
光感自动窗帘控制系统设计_第4页
光感自动窗帘控制系统设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

/计算机限制技术课程设计成果评定表设计课题学院名称:专业班级:学生姓名:学号:指导老师:设计地点:设计时间:指导老师看法:成果:签名:年月日计算机限制技术课程设计任务书学生姓名专业班级学号题目光感自动窗帘限制系统设计课题性质工程设计课题来源自拟指导老师主要内容(参数)利用89C51单片机设计光感自动窗帘限制系统,实现以下功能:1.能够手动限制窗帘的开和关;2.能够设定时间来打开或关闭窗帘;3.系统能依据亮度的不同来限制窗帘打开程度的大小;4.用户能通过键盘电路设定开关时间,并刚好显示在数码管显示器上;任务要求(进度)第1天:熟识课程设计任务及要求,查阅技术资料,确定设计方案。第2天:依据确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有具体论述。第3天:画各部分流程图,进行软件设计,编写程序。第4-5天:撰写课程设计报告。要求内容完整、图表清楚、语言流畅、格式规范、方案合理、设计正确。主要参考资料[1]杨家成.单片机原理和应用及C51程序设计.北京:清华高校出版社,2007[2]夏路易石宗义.Protel99se电路原理图和电路板设计教程.北京:北京希望电子出版社,2004[3]朱玉玺.计算机限制技术.北京:电子工业出版社,2010[4]邓兴成.单片机原理和实践指导.北京:机械工业出版社,2010[5]瞿贵荣.电动窗帘红外遥控电路.家庭电子,2005[6]阎石.数字电子技术基础.北京:高等教化出版社,2009.审查看法系(教研室)主任签字:年月日目录TOC\o"1-2"\h\z\u1概述 41.1探讨背景 41.2设计思想及基本功能 42总体方案设计 52.1方案选取 52.2系统框图 82.3总体方案设计 83硬件电路设计 93.1电源电路设计 93.2晶振电路 103.3复位电路 113.4时钟电路 123.5键盘电路 143.6显示电路 143.7A/D转换电路 173.8光敏传感器 183.9步进电机 204系统软件设计 224.1主程序软件设计 224.2键盘程序设计 234.3定时程序设计 254.4步进电机程序设计 265总结 28参考文献 29附录系统原理图 291概述1.1探讨背景伴随着信息化时代的到来,人们的生活速度以及对生活质量的追求也在大幅提高。智能化的产品设计在变更人们工作方式和生活习惯的同时,让人们对生活质量的提升提出了更高的要求,便利、舒适成了人们所追求的生活方式,在现代家庭生活环境中,居家环境早已不仅仅局限在物理空间上,人们更为关注的是一个平安、便利、舒适的环境。智能化的电子产品以及设计将以前的被动静止物体转变为人们能够便利操控的工具,这些产品具有供应全方位的信息交换的功能,不仅能够优化人们的生活方式,帮助人们合理的支配时间,增加居家环境的平安性,甚至还可以为各种能源费用节约资金。在智能化产品中,单片机的应用已经越来越广泛,单片机以它体积小、质量轻、耗电省、牢靠性高、价格低等优点,起先不断发展,并广泛应用于仪器仪表、家用电器、医疗设备、航天航空领域、工业专用设备的管理及过程限制等领域,在很多的大中型的电气设备以及小型的电子产品中也用到了单片机进行限制。针对人们对智能化的需求以及对舒适生活的追求,窗帘自动限制系统变更了传统窗帘的劣势,它可以依据外界光照强度的不同而自动开闭窗帘,也可以依据人们设定的时间来限制窗帘。该系统利用光敏电阻检测光照强度的变更,并且将光敏检测模块的电阻变更转化为电压变更,然后将电压变更的信号送单片机,单片机通过电机驱动模块限制着步进电机的正反转实现窗帘的来回移动。本设计正是把利用AT89C51单片机的优点以及简洁好用性,顺当的完成了对智能限制的要求,并且为智能化的家居设备供应了良好的基础。此外,对该系统进行扩展,比如可以加上防火,防盗,甚至室内煤气浓度监测等功能,会使该系统更具有好用1.2设计思想及基本功能该系统具有一般的窗帘限制系统的最基本的功能,即通过电动按钮来开闭窗帘,在此基本功能的前提下,本设计依据需求还设计了可以依据光照强度和设定时间自动开闭窗帘的功能,在选取设计方案和采纳元器件方面,该系统本着简洁好用经济的思想,尽量简化电路设计,用最简洁的电路布线和选用最经济好用的器件来达到设计要求。光感自动窗帘限制系统具有以下几个基本功能:(1)手动限制:该功能是依据用户的需求通过按键进行窗帘的开关,此功能可以使窗帘处于开闭的任何一种状态;(2)自动限制:系统可以通过感光器采集室内光照强度,依据亮度的不同而自动限制窗帘的打开程度;(4)时间限制:此功能是依据用户设定的时间在特定的时间点一次性开关窗帘。2总体方案设计2.1方案选取单片机在各种电子产品中的应用已经越来越广泛,很多的电子产品利用单片机所取得的便利得到了人们的好评,针对单片机限制的自动窗帘限制系统的智能化要求,实现其自动限制的方案有两种:方案(一)系统的传动机构运用直流电机,窗帘只有两个简洁的状态:完全打开和完全关闭;方案(二)系统的传动机构运用更精确灵敏的步进电机,使得窗帘从关闭到完全打开之间有6个不同的等级。这二个方案都是基于单片机限制的,光线感应以及数码管显示,不同的设计部分在于传动机构和窗帘的设计形式的选取上。方案(一)的窗帘由于只有完全开和完全关两种状态,所以窗帘本身设计不须要太困难,采纳一般的卷帘即可。关闭时,电机旋转全部放下卷帘;打开时,电机将卷帘全部卷起。方案(二)的窗帘从完全关闭到完全打开按打开程度有0~5共六个等级,窗帘设计成类似百叶窗的形式,通过步进电机可以精确限制每个叶片的旋转角度,从而限制开关程度的大小。当叶片和窗户面平行时,窗帘完全关闭;当叶片和窗户面垂直时,窗帘完全打开。下面图2.1所示是方案(一)的效果图;图2.2是方案(二)的效果图:图2.1方案(一)卷帘效果图图2.2方案(二)百叶窗式效果图 鉴于方案一这种卷帘现在市场上已经发展很好,没有太多接着探讨的价值,并且其窗帘限制过于单一,而且不如方案二的百叶窗式的窗帘美观。图2.3所示是百叶窗关闭打开的原理图,图2.4是步进电机驱动百叶窗各叶片的物理截面图,其依据光照强度的大小有不同程度的打开,能够更精确的满足用户的需求,所以本设计选择方案二。图2.3百叶窗原理图图2.4步进电机和百叶窗叶片连接截面图2.2系统框图方案(二)的系统框图如图2.5。图2.5系统框图2.3总体方案设计自动窗帘限制系统总体方案设计是基于满足设计要求的前提并且依据理论上的可实现性和硬件上的经济好用性,而进行设计的重要环节。本章从人们对系统功能需求动身,在综合考虑各种因素的状况下,设计出自动限制系统的总体构架,并且在基本功能需求的基础上尽可能考虑系统的可扩展性。伴随着科学技术的发展和人民生活水平的日益提高,人们对生活舒适性的追求越来越剧烈,而窗帘在每个家庭生活是必备的,其基本功能是爱护住户的隐私以及遮挡阳光等。基于这些作用窗帘的便利性自然也受到家庭的关注。但传统的窗帘绝大部分是用手去开关,每天开关不仅不省力,而且还可能错过最佳光照时间,尤其是大窗帘,比较重,而且长,在开闭时须要费很大力气才能开关窗帘,特殊不便利;针对这种现象,电动窗帘便由此产生。现有的电动窗帘基本上都可以利用按键限制,自动开关闭窗帘,虽然省了力气,但是有些方面的设计还是不够人性化。对此,本限制系统提出可以依据光照以及定时等开关窗帘,具体有以下几大功能:(1)手动限制状态:此功能使自动窗帘限制系统具有手动拉开、关闭的功能,便利用户限制。(2)亮度自动限制:此功能是依据室内光照强度的大小,来确定百叶窗每个叶片的旋转角度从而限制窗帘打开的大小程度。(3)时间自动限制:此功能依据用户须要,设定须要开闭窗帘的时间,通过输入的开启或关闭时间,限制窗帘开关。光感自动窗帘限制系统设计的总体框图如图2.6所示。图2.6电动窗帘限制器结构框图依据光照来开闭窗帘主要原理是用光敏电阻采集外界的光强度,从光传感器采集的信号利用信号校正电路放大,滤波后输入到A/D转换器,由于A/D转换器件的转换须要肯定时间,一旦在这段时间内信号发生变更,转换结果将会出现偏差,所以在转换期间要应当采纳采样保持电路。传入的信号由89C51单片机来限制,并且做出响应,以实现电机的正转、反转和停止。显示模块是用来显示自动窗帘限制器的各种状态。键盘作为输入设备,通过不同按键来限制单片机进行各种运转状态。3硬件电路设计3.1电源电路设计单片机正常工作电压为5V,因此设计的电源电路主要是供应单片机工作电压。图3.1是为单片机供应电压的电源电路。在这个电路中采纳了三端集成稳压器LM7805,可以输出5V的直流电压以供应单片机。图3.1电源电路图3.2晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有特别好的频率稳定性和抗外界干扰的实力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来限制电路中的频率的精确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。图3.2是单片机的晶振电路。片内电路和片外器件就构成一个时钟产生电路,CPU的全部操作均在时钟脉冲同步下进行。片内振荡器的振荡频率特别接近晶振频率,一般多在1.2MHz~24MHz之间选取。C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。振荡周期=;机器周期指令周期=。XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采纳外部振荡器时,对HMOS单片机,该引脚接外部振。在石英晶体的两个管脚加交变电场时,它将会产生肯定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般状况下,无论是机械振动的振幅,还是交变电场的振幅都特别小。但是,当交变电场的频率为某一特定值时,振幅隧然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。电容C1和C2可以帮助起振,典型值为30pF,调整它们可以达到微调fOSC的目的。图3.2单片机晶振电路图3.3复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中须要在复位引脚上加大于2个机器周期的高电平。复位后的单片机地址初始化为0000H,然后接着从0000H单元起先执行程序。在复位电路中供应复位信号,等到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经肯定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。图3.3所示的RC复位电路可以实现上述基本功能。图3.3复位电路图3.4时钟电路DS12887芯片和AT89C5l单片机的接口电路如图3.4图3.4时钟电路图其中DS12887的模式通过选择脚MOT接地来确定,DS12887的中断输出端IQR和89C51的外部中断INT0接口相联,R/W接口和单片机89C51的RD/WR接口相连;而DS12887的AS端口和单片机89C51的AIE端干脆相联。DS12887的SQW端和单片机89C51的TO端相连。DS12887的高位地址由端口P2.7来片选,DS12887的高8位地址设定为7FH,低8位由芯片内部各单元的地址来定。DS12887内部由振荡电路,分频电路,周期中断/方波选择电路,14字节时钟和限制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写爱护单元和内部锂电池等部分组成。DS12887引脚安排如图所示:Vcc:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当Vcc低于4.25V,读写被禁止,计时功能仍接着;当Vcc下降到3V以下时,RAM和计时器供电被切换到内部锂电池。MOT(模式选择):MOT引脚接到Vcc时,选择MOTOROLA时序,当接到GND时,选择Intel时序。SQW(方波信号输出):SQW引脚能从实时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程变更。AD0-AD7(双向地址/数据复用线):总线接口,可和Motorola微机系列和Intel微机系列接口。AS(地址选通输入):用于实现信号分别,在AD/ALE的下降沿把地址锁入DS12887。DS(数据选通或读输入):DS/RD引脚有两种操作模式,取决于MOT引脚的电平,当运用Motorola时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总线的时刻;在写周期,DS的后沿使DS12887锁存写数据。选择Intel时序时,DS称作(RD),RD和典型存贮器的允许信号(OE)的定义相同。R/W(读/写输入):R/W引脚也有两种操作模式。选Motorola时序时,R/W是低电平信号时,指示当前周期是读或写周期,DS为高电平常,R/W高电平指示读周期,R/W信号一低电平信号,称为WR。在此模式下,R/W引脚和通用RAM的写允许信号(WE)的含义相同。CS(片选输入):在访问DS12887的总线周期内,片选信号必需保持为低。IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断的条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。RESET(复位输出):当该脚保持低电平常间大于200ms,保证DS12887有效复位。3.5键盘电路键盘在由单片机限制的窗帘自动限制系统中的主要作用是通过按键向单片机输入指令,其中主要包括设定时间,限制窗帘的开关等等功能,是人工限制单片机的主要手段。在窗帘限制系统设计中的键盘采纳的是4×4矩阵键盘。这16个按键分别为:设定键主要是用来设定自动窗帘打开或者关闭的时间;0-9数字键,其作用主要是用于设定时间;复位键主要应用在程序出错以及误操作的时候使单片机复位,从而重新设定;反转键是使步进电机反转,限制窗帘关闭;正转键是使步进电机正转,从而限制窗帘打开;停止键可以限制步进电机停止工作,窗帘限制器停止运行;确定键主要是用于在时间设定完成后的确定输入。由于按键比较多,单独设置按键会增加总体设计的困难性,而且为了削减所占用的端口,可以将按键组成一个矩阵,如图3.5所示。图3.5键盘接口电路3.6显示电路显示电路主要是用于显示时间。采纳LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能和CMOS、ITL电路兼容。(2)发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。

数码管有共阴极和共阳极两种类型,其公共端主要进行位限制,笔画端则是进行字符限制,数码管有静态显示和动态显示两种方法,说明如下:(1)静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O进行驱动,或者运用如BCD码二—十进位器进行驱动。静态驱动的优点是编程简洁,显示亮度高,缺点是占用I/O多,如驱动5个数码管静态显示则须要5×8=40根I/O来驱动,要知道一个89C51单片机可用的I/O才32个。故实际应用时必需增加驱动器进行驱动,增加了硬体电路的困难性。(2)动态显示驱动:数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将全部数码管的8个显示笔划"a、b、c、d、e、f、g、dp"的同名端连在一起,另外为每个数码管的公共极COM增加位元选通限制电路,位元选通由各自独立的I/O线限制,当单片机输出字形码时,全部数码管都接收到相同的字形码,但原委是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的限制,所以我们只要将须要显示的数码管的选通限制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮番限制各个LED数码管的COM端,就使各个数码管轮番受控显示,这就是动态驱动。在轮番显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管事实上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪耀感,动态显示的效果和静态显示是一样的,能够节约大量的I/O口,而且功耗更低。本设计采纳的是4位LED数码管的串行驱动电路来达到显示的目的。驱动器采纳74LS164,由单片机89C51的P3.0和P3.1来限制LED数码管的显示。显示电路图如3.6所示。图3.6显示电路74LS164是8位串行输入,并行输出的移位寄存器。其引脚及各个引脚的作用如下图3.7所示:符号引脚说明DSA1数据输入DSB1数据输入Q0~Q33~6输出GND7地(0V)CP8时钟输入(低电平到高电平边沿触发)/MR9中心复位输入(低电平有效)Q4~Q710~13输出VCC14正电源图3.774LS164引脚及说明3.7A/D转换电路A/D转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输出。在选择A/D转换时,先要确定A/D转换精度、转换速度以及转换位数等,A/D转换的位数确定和整个测量限制系统所需测量限制的范围和精度有关,在自定窗帘限制系统中采纳了8位A/D转换器ADC0809。ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次靠近式A/D转换器。8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。ADC0809的主要特性有:(1)8路输入通道,8位A/D转换器,即辨别率为8位。(2)具有转换起停限制端。(3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)(4)模拟输入电压范围0~+5V,不需零点和满刻度校准。(5)工作温度范围为-40~+85摄氏度(6)低功耗,约15mW。 ADC0809和单片机89C51的连接示意图如图3.8所示,其中74LS373为锁存器,当三态允许限制端OE为低电平常,O0-O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平常,O0-O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。图3.8ADC0809和单片机连接示意图3.8光敏传感器电动窗帘要依据光照的状况而自动开关窗帘,因而须要运用到光电传感器。这里运用光敏电阻。光敏电阻是用光电导体制成的光电器件,又称光导管,他是基于半导体光电效应工作的。光敏电阻没有极性,纯粹是一个电阻器件,运用时可以加直流偏压,也可以加沟通电压。当无光照时,光敏电阻值(暗电阻)很大,电路中电流很小。当光敏电阻受到肯定波长范围的光照时,它的阻值急剧削减,因此电路中电流快速增加。光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区始终到红外区。而且体积小、重量轻、性能稳定。因此在自动化技术中得到广泛的应用。光敏电阻器一般用于光的测量、光的限制和光电转换(将光的变更转换为电的变更)。通常,光敏电阻器都制成薄片结构,以便汲取更多的光能。当它受到光的照耀时,半导体片(光敏层)内就激发出电子—空穴对,参和导电,使电路中电流增加。依据光敏电阻的光谱特性,可分为三种光敏电阻器:紫外光敏电阻器:对紫外线较灵敏,包括硫化镉、硒化镉光敏电阻器等,用于探测紫外线。红外光敏电阻器:主要有硫化铅、碲化铅、硒化铅。锑化铟等光敏电阻器,广泛用于导弹制导、天文探测、非接触测量、人体病变探测、红外光谱,红外通信等国防、科学探讨和工农业生产中。可见光光敏电阻器:包括硒、硫化镉、硒化镉、碲化镉、砷化镓、硅、锗、硫化锌光敏电阻器等。主要用于各种光电限制系统,如光电自动开关门户,航标灯、路灯和其他照明系统的自动亮灭,自动给水和自动停水装置,机械上的自动爱护装置和“位置检测器”,极薄零件的厚度检测器,照相机自动曝光装置,光电计数器,烟雾报警器,光电跟踪系统等方面。这里选用Ф3系列的GL3526。其亮电阻在10~20KΩ,暗电阻为1MΩ.光敏电阻连接如图3.9所示。图3.9光敏传感器在模拟信号采集过程中,难免会遇到采集信号过于微弱,难以接收到,此时必需采纳一个信号放大电路对信号进行肯定倍数的放大才能满足A/D转换器对输入信号电平的要求,并且放大器还不能产生干扰信号,因此必需选择一种符合要求的放大器。此外,进行信号采集时,采集到的信号不仅是有用的信号,还有很多干扰信号,应当选用具有频率选择作用的滤波器,这样可以比较有效地滤除噪声和分别各种不同信号,在本设计中采纳了低通滤波器。积分运算电路具有低通特性,而通带放大倍数取决于电阻组成的负反馈网络,故在积分运算电路中电容上并联一个电阻,得到反相输入一阶低通滤波电路,该电路具有放大和滤波功能。3.9步进电机步进电机为一种数字伺服执行元件,具有结构简洁、运行牢靠、限制便利、限制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。为了实现步进电机的简易运动限制,一般以单片机作为限制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位限制。单片机在本次试验中对步进电机的限制从而达到对转角和位移的限制的方法。本次设计采纳两个型号为130HZ308-450的三相反应式步进电机对旋转角度和位移进行限制,该步进电机力矩大、耐负载冲击、精度高。其步距角为1.2°,即=1.2°,即本次设计的测控系统对回转台转角的限制精度可以达到1.2°。步进电机的驱动电路是依据限制信号工作的。而本次测控系统是以单片机位限制中心的,下面将介绍步进电机限制系统。步进电机限制系统主要由脉冲安排器,功率驱动电路,步进电机几部分构成的。步进电机限制系统的方框图如图3.10所示:脉冲脉冲限制器功率驱动电路步进电机负载脉冲信号图3.10步进电机限制系统方框图单片机输出步进脉冲后,再由脉冲安排电路按事先确定的依次限制各相的通断。本设计由软件完成脉冲安排工作,不仅使线路简化,成本下降,而且可依据应用系统的须要,敏捷地变更步进电机的限制方案。软件限制脉冲将在软件设计部分说明。如图3.11所示,是步进电机限制系统的电路图。步进电机功率驱动电路工作在较大脉冲电流状态,采纳光电耦合器将单片机和步机电机隔离可以避开单片机和步进电机功率回路的共地干扰,防止强功率的干扰信号反串进主控系统。此外,万一驱动电路发生故障,也不致让功放中较高的电压串入单片机而使其损坏。图3.11步进电机限制系统电路图步进电机的驱动电路有很多种,但最为常见的就是用单电压驱动,双电压驱动,斩波驱动,细分驱动等。但电压驱动是步进电机限制中最为简洁的一种驱动电路,它在本质上是一个单间的反相器。它最大的特点是结构简洁,工作效率低。而且它的外接电阻要消耗相当一部分能量,这样会影响电路的稳定性。双电压驱动电路是采纳两种电源电压,缺点在于在凹凸电压连接处电流出现谷点,这样必定引起力矩在谷点处下降,不易于电机的正常运行。对于斩波驱动则可以克服这种缺点,并且还可以提高步进电机的效率。从提高效率的角度来看这是一个很好的驱动电路,它可以用较高的电源电压,同时无需外接电阻来限定额定电流和削减时间常数。但由于其波形顶部呈现锯齿形波动,所以产生较大的电磁噪声。细分驱动是用脉冲电压来供电的,对于一个电压脉冲,转子就可以转动一步。本设计采纳的是恒频脉宽调制细分驱动电路。4系统软件设计系统软件设计主要包括显示子程序,键盘子程序,时钟程序,步进电机限制程序设计及部分构成。本章节系统的介绍了电动窗帘的主程序和各主要功能子程序的设计流程,具体的程序代码见附录。4.1主程序软件设计主程序构成无限循环,主要完成单片机初始化,关中断,菜单显示内容初始化,按键扫描,电机运行,计时等功能。主程序的流程图如图4.1所示。图4.1主程序流程图主程序流程说明:电路主要分为以下几个部分,分别是电源部分、显示部分、按键部分、步进电机限制部分、A\D转换部分、单片机主控器件部分,各部分具有不同的子程序。主程序的作用主要是先初始化寄存器以及显示内容;然后查询按键操作,并且对按键进行分析以及处理,通过分析处理,对于设定键,则设定时间,到了设定的时间后步进电机工作。对于限制键,执行窗帘开闭的工作。假如经过分析后都不是,实行复位的操作。4.2键盘程序设计在操作按键时,无论是按下还是松开,触点在闭合和断开时均会产生抖动,此时逻辑电平是不稳的,假如得不到正确处理,可能会引起单片机对按键吩咐的错误执行。解决这个问题的简洁方法是利用软件延时。在单片机处理按键操作后都延时5ms,假如确定是按键后再延时12ms,这样基本可以避开键盘的抖动。然后由单片机进行键码分析,并执行相应的吩咐,显示并且返回。图4.2是键盘程序设计流程图。图4.2键盘程序流程图按键设置采纳了扫描法,要推断键盘中有无键按下时将全部行线Y0-Y3置低电平,列线置高电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线和4根行线相交叉的4个按键之中。若全部列线均为高电平,则键盘中无键按下。推断闭合键所在的位置时,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平常,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线和置为低电平的行线交叉处的按键就是闭合的按键。

例如将单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点,这些交点即为键盘按键。

在单片机应用系统设计中,系统有两性能很大一部分取决于键盘处理程序。在按键时按得快了没有反应,按慢了一连响应几次,总给人迟钝感,不能使人满足。在该设计中用以下思路设计的键处理程序。首先要推断有没有键值,若有键值,再推断是否为首次按下:

(1)若首次按下:推断是否和上次按下的键值相同

a.若相同再推断:是否已经按下了300ms?

1).若已经按下300ms则将此键做为连键处理。

2).若不是连键则推断:是否按下20ms?

1>.若确认按下20ms,得到有效键值等待弹起

2>.若不是按下20ms干脆结束处理(ret)。

b.若不相同则将标记清零结束处理(ret)。

(2)若不是首次按下:将键值暂存起来,标记置位结束处理。假如无键值,则推断是否有键值已被确认(1)若有键已被确认:推断按键是否首次抬起a.若首次抬起:推断抬起延时时间(20ms)是否到达1>.若延时到则将标记处理结束处理。2>.若延时未到干脆结束处理(ret)。

温馨提示

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

评论

0/150

提交评论