单片机课程设计智能控制开关_第1页
单片机课程设计智能控制开关_第2页
单片机课程设计智能控制开关_第3页
单片机课程设计智能控制开关_第4页
单片机课程设计智能控制开关_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计智能控制开关1/22015届课程论文《基于单片机的智能光控窗帘设计》题目基于单片机的智能光控窗帘设计学生姓名学号所属学院信息工程学院专业通信工程班级通信15-1授课教师教师职称副教授单片机课程设计智能控制开关全文共23页,当前为第1页。单片机课程设计智能控制开关全文共23页,当前为第1页。目录1引言 3研究目的和意义 32课题的研究内容 42.1技术方案的选择 43系统结构及工作原理 53.1系统结构 53.2工作原理 54系统硬件设计 54.1整体设计模块 54.1.1单片机的复位、时钟电路 54.1.2光信号的模拟及判断 64.1.3开关控制电路 74.1.4指示灯电路 84.1.5控制电动机正反转电路 84.2系统整体电路 85软件设计 95.2程序流程图 96系统的不足和改进 13单片机课程设计智能控制开关全文共23页,当前为第2页。6.1系统的不足 13单片机课程设计智能控制开关全文共23页,当前为第2页。6.2系统的改进 137.心得体会 13参考文献 14附录 15基于单片机的智能光控开关设计摘要随着社会的不断进步,人们在智能化控制上的逐步认识和接受,并从多方面开始关注,尤其在生活方面做出了很多的努力。光照对人民生活是很重要的,人们可以根据光照的强弱选择对窗帘的开关。它不仅适用于人们生活的住宅区,而且适用于工厂、办公室、教学楼等公共场所。因此智能开关,在现代化的生活中,将起到重要的作用。单片机课程设计智能控制开关全文共23页,当前为第3页。为了能根据室外环境亮度实现窗帘自动拉合的设计需求,一种简单的通过光照强度来控制窗帘的开关的开闭合,从而达到开关的自动断开、闭合功能,其具有很强的适用性。提出了一种基于单片机控制的光控窗帘设计方案,并完成系统的软、硬件设计。该系统的硬件部分主要利用光敏传感器产生的信号作为单片机输入信号,软件部分采用C语言进行编程,能够完成智能光控窗帘的自动拉合。同时,考虑到用户习惯和天气原因,本方案还设置了选择开关,用户在使用窗帘时可任意选择自动或手动控制方式。实际应用表明,该系统具有设计成本低、可靠性高的特点,达到了设计要求。单片机课程设计智能控制开关全文共23页,当前为第3页。关键词:单片机光敏传感器直流电动机C语言智能光控窗帘1引言随着生活水平的不断提高,人们对家庭生活舒适度的要求也越来越高,具有装饰、遮光并能进行自动开合的智能光控窗帘成为了现代家居生活的新宠。为了能根据室外环境亮度实现窗帘自动拉合的设计需求,本文提出了一种基于单片机控制的光控窗帘设计方案。研究目的和意义研究目的:通过这次的课题研究希望使自己在理清它的发展脉络上进一步了解它的发明原理,将平时所学习的理论知识和技能运用到实际生活当中,这对提高自己的动手能力、创新意识,以及锻炼我们的思维活动是一个很大的帮助。同时,通过这次的研究希望提高自己对社会普通科学知识的了解;增强自身的只是见解和设计论文的方法。研究意义:用光控制开关代替一般的开关,只有在光照达到一定强度时,才能使直流发动机开始工作,使得电路导通,而且发动机延迟一段时间就会自动断开,因此节电效率很高,全自动智能控制,接线简单,安装方便,是公共场所照明开关的理想选择。2课题的研究内容运用单片机可以设计出智能型的光控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,在使用过程中更加的安全节电,智能环保。2.1技术方案的选择目前的声控开关大多都是应用模拟电子技术进行设计,分立元件多,不可靠,而且许多声控开关的平均使用寿命不长,主要是因为电路作频繁的开关,启动电流非常大,导致功率元件可控硅由于过载而损坏。如果在设计中采用开关电压过零保护技术,可消除白炽灯开启瞬间的大电流冲击,有效地防止可控硅元件启动时的电流过载,大大地延长了开关的使用寿命,并且可以起到保护灯泡的作用。如今单片机技术已经相当成熟,未来的发展方向趋向于运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单。在使用过程中更加的安全节电,智能环保。单片机课程设计智能控制开关全文共23页,当前为第4页。首先单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机课程设计智能控制开关全文共23页,当前为第4页。单片机的特点:(1)种类多,型号全;(2)提高性能,扩大容量,性能价格比高;(3)增加控制功能,向真正意义上的“单片”机发展;(4)低消耗;(5)C语言开发环境,友好的人机互交环境。单片机的优点:(1)使用寿命长;(2)运行速度越来越快;(3)低噪声和高可靠性技术;(4)OTP及掩膜。综上所述,单片机的特点和优点符合制作智能声光控开关的条件,并且具有准确性和节能性。3系统结构及工作原理3.1系统结构本设计由单片机、传感器和直流电动机组成,以AT89C51单片机[芯片为核心,运用光敏传感器技术,将室外环境亮度作为单片机的控制信号,实现窗帘的自动拉合。同时,考虑到用户习惯和天气原因,本方案还设置了选择开关,用户在使用窗帘时可任意选择自动或手动控制方式。当选择自动控制模式时,单片机将室外环境光线亮度作为输入信号,单片机控制程序根据光敏传感器所产生的电流信号的强弱自动调节直流电机的正反转,从而实现窗帘的自动拉合;当选择手动控制模式时,单片机将手动控制开关作为输入信号,单片机控制程序根据开关信号控制电机的正反转,从而实现窗帘的手动拉合。3.2工作原理单片机课程设计智能控制开关全文共23页,当前为第5页。模拟光信号的采集,可以通过软件来调节对光照的强度。单片机软件实施对光度的判断,决定窗帘的打开和闭合;由于个人或是其他原因用户可以选择手动开关窗帘。单片机课程设计智能控制开关全文共23页,当前为第5页。4系统硬件设计本系统硬件系统主要由传感器、单片机、直流电动机三大部分组成,如图1所示。光信号/手动光信号/手动89C51单片机直流电机图1系统工作原理图4.1整体设计模块4.1.1单片机的复位、时钟电路(1)单片机再开机时需要复位,以便使CPU及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,单片机应用程序必须以此作为设计的前提。(2)单片机执行指令的过程可分为取指令、分析指令和执行指令三个步骤,每个步骤又由许多微操作,这些微操作必须在一个统一的时钟控制下才能按照正确的顺序执行。如图2:单片机课程设计智能控制开关全文共23页,当前为第6页。图2单片机课程设计智能控制开关全文共23页,当前为第6页。4.1.2光信号的模拟及判断当光敏电阻收到光照的时候,电阻减小,运放同向输入端为低电平,端口1输出为低电平;当光照较弱时,电阻增加,运放同向输入端为高电平,端口1输出为高电平。光控电路的输出信号经过电压跟随器后,将比较微弱的电流信号放大到单片机能够识别的电流,然后由运放输出端传输放大后的信号。然后经过一个非门,形成相反的电压,分别传输给P2.2及P2.3口。图34.1.3开关控制电路单片机课程设计智能控制开关全文共23页,当前为第7页。如果k7断开,系统将执行光控控制,k3、4是控制光信号的输入;k5、k6分别是对正转、反转的反向控制。当k7闭合卖系统执行手动控制,,k1、k2是对窗帘拉开、闭合的控制。单片机课程设计智能控制开关全文共23页,当前为第7页。图44.1.4指示灯电路当电动机正传时,led1灯亮,当电动机反转时,led2灯亮。图54.1.5控制电动机正反转电路单片机课程设计智能控制开关全文共23页,当前为第8页。由电动机及PNP和NPN三极管控制,当p1.0口低电平,控制电动机正传,当p1.1低电平,电动机反转。单片机课程设计智能控制开关全文共23页,当前为第8页。图64.2系统整体电路单片机课程设计智能控制开关全文共23页,当前为第9页。单片机课程设计智能控制开关全文共23页,当前为第9页。图75软件设计5.1系统软件设计

系统软件主要实现智能光控、手动控制两大功能,采用C语言进行编程,可实现用户在使用窗帘时任意选择自动或手动控制方式[4-5]。5.2程序流程图光控窗帘程序流程图如图3所示。单片机课程设计智能控制开关全文共23页,当前为第10页。单片机课程设计智能控制开关全文共23页,当前为第10页。开始开始控制方式选择手动?Y正转反转判断按钮N判断按钮判断光照反转反转停止结束图8单片机课程设计智能控制开关全文共23页,当前为第11页。5.3程序设计

(1)光控程序

当天亮时,有阳光射进屋内,传感器感应到光信号,此时电机正转,窗帘开始打开,当碰到开限位开关时,电机停止转动;当天黑时,传感器接收到信号,电机反转,窗帘闭合,当碰到关限位开关时,电机停止转动。具体程序如下:

#include<reg51.h>

#include<intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitK3=P2.2;

//光控正转或反转,此处接光敏传感器

sbitK5=P2.4;//开限位

sbitK6=P2.5;//关限位

sbitLED1=P0.0;//正转指示灯

sbitLED2=P0.1;//反转指示灯

sbitMA=P1.0;

sbitMB=P1.1;

voidmain(void)

{

LED1=1;LED2=1;

while(1)

{

if(K7==0)

sd();

if(K3==0&&K4==1)//光控正转

{while(K3==0&&K5==1&&K4==1)

单片机课程设计智能控制开关全文共23页,当前为第12页。{LED1=0;LED2=1;MA=0;MB=1;}

LED1=1;LED2=1;MA=1;MB=1;

}

if(K4==0&&K3==1)//光控反转

{while(K4==0&&K6==1&&K3==1)

{LED1=1;LED2=0;MA=1;MB=0;}

LED1=1;LED2=1;MA=1;MB=1;

}

}

}

(2)手动程序

当阴天或者晚上用户要打开窗帘时,只需将控制方式选择按钮P2.6按下,就可以实现手动控制窗帘的开合。程序如下:

#include<reg51.h>

#include<intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitK1=P2.0;//手动正转

sbitK2=P2.1;//手动反转

sbitK7=P2.6;//控制方式选择按钮

sbitLED1=P0.0;//正转指示灯

sbitLED2=P0.1;//反转指示灯

单片机课程设计智能控制开关全文共23页,当前为第13页。sbitMA=P1.0;

sbitMB=P1.1;

voiddelay(uintz);单片机课程设计智能控制开关全文共23页,当前为第11页。单片机课程设计智能控制开关全文共23页,当前为第12页。单片机课程设计智能控制开关全文共23页,当前为第13页。//声明子函数 voiddelay(uintz)//延时子程序延时约z毫秒{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} intmain(void){LED1=1;LED2=1;while(1){if(K7==0)sd();if(K3==0&&K4==1)//光控正转{while(K3==0&&K5==1&&K4==1)单片机课程设计智能控制开关全文共23页,当前为第14页。{LED1=0;LED2=1;MA=0;MB=1;单片机课程设计智能控制开关全文共23页,当前为第14页。while(K3==0&&K5==1&&K4==1){delay(10000);LED1=1;LED2=1;MA=1;MB=1;}}while(K3==0&&K5==0&&K4==1){LED1=1;LED2=0;MA=1;MB=0;while(K3==0&&K5==0&&K4==1){delay(10000);LED1=1;LED2=1;MA=1;MB=1;}}}if(K4==0&&K3==1)//光控反转{while(K4==0&&K6==1&&K3==1){LED1=1;LED2=0;MA=1;MB=0;while(K4==0&&K6==1&&K3==1){delay(10000);LED1=1;LED2=1;MA=1;MB=1;}}while(K4==0&&K6==0&&K3==1)单片机课程设计智能控制开关全文共23页,当前为第15页。{LED1=0;LED2=1;MA=0;MB=1;单片机课程设计智能控制开关全文共23页,当前为第15页。}while(K4==0&&K6==0&&K3==1){delay(10000);LED1=1;LED2=1;MA=1;MB=1;}}}}6系统的不足和改进6.1系统的不足系统的灵敏度不是很高,在模式运行下,有一定的延迟。6.2系统的改进系统根据光强来判断断开还是闭合开关,而每个开关所控制电机转动的时间不同从而解决了窗帘大开的程度的自动化。在系统的外部增加一个收集天气、温度的采集点,根据湿度、温度、风速、浮尘度等等,进行判决,自动帮助系统选择模式。进而实现了系统全智能化。7.心得体会通过对本次课程的课程设计,使自己深刻的认识到自己的很多不足之处,在实际动手操作能力的不足,在进行程序编程时,自己需要,认真审题,看懂题目的要求!对于软件编程不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力!根据课题要求,复习相关的知识,查询相关的资料。根据课程条件,找到适合的方案,找到需要的元器件及工具,准备课程。根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序和增加额外的功能程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。单片机课程设计智能控制开关全文共23页,当前为第16页。还要根据课程的实际情况,添加些额外程序来使系统更加的稳定,如开关的去抖(采用延迟)。单片机课程设计智能控制开关全文共23页,当前为第16页。程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该课程设计的程序可以参考MCS-51系列单片机,也可自己根据自己熟悉的方法来编程如单片机C语言。在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。这次的单片机课程设计重点是理论及实际的相结合。该设计从头到尾都要自己参及,熟悉了对整个设计的过程,更系统的锻炼了自己。虽然这次的设计到最后并没有做出非常准确的结果,但是基本达到了设计的要求,最重要的是,在本次设计过程中我学到了很多平时没有学到的或者说是很欠缺的东西,在一定程度上也提升了自己的能力,受益匪浅。参考文献[1]张鑫.单片机原理及应用(第2版)[M].北京:电子工业出版社,2010.[2]胡汉才.单片机原理及其接口技术(第3版)[M].北京:清华大学出版社,2010.[3]胡汉才.单片机原理及其接口技术学习辅导及实践教程[M].北京:清华大学出版社,2010.[4]张义和.例说51单片机(C语言版)[M].北京:人民邮电出版社,2008.[5]黄英.单片机工程应用技术[M].上海:复旦大学出版社,2011.单片机课程设计智能控制开关全文共23页,当前为第17页。

单片机课程设计智能控制开关全文共23页,当前为第17页。附录系统程序:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitK1=P2^0;//手动正转sbitK2=P2^1;//手动反转sbitK7=P2^6;//控制方式选择按钮sbitLED1=P0^0;//正转指示灯sbitLED2=P0^1;//反转指示灯sbitMA=P1^0;sbitMB=P1^1;sbitK3=P2^2;sbitK4=P2^3;//光控正转或反转,此处接光敏传感器sbitK5=P2^4;//开限位sbitK6=P2^5;//关限位voiddelay(uintz);//声明子函数 voiddelay(uintz)//延时子程序延时约z毫秒单片机课程设计智能控制开关全文共23页,当前为第18页。单片机课程设计智能控制开关全文共23页,当前为第18页。{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} voidsd()//子程序{while(1){if(K7==1){return;}if(K1==0&&K2==1)//手动正转{while(K1==0&&K5==1&&K2==1){LED1=0;LED2=1;MA=0;MB=1;//delay(10000);单片机课程设计智能控制开关全文共23页,当前为第19页。}单

温馨提示

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

评论

0/150

提交评论