欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机课程设计智能控制开关.doc

    • 资源ID:35108133       资源大小:65.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机课程设计智能控制开关.doc

    基于单片机的智能光控窗帘设计2015届课程论文题 目 基于单片机的智能光控窗帘设计 学生姓名 学 号 所属学院 信息工程学院 专 业 通信工程 班 级 通信15-1 授课教师 教师职称 副教授 第 14 页目录1 引言3研究目的和意义32课题的研究内容4技术方案的选择43 系统结构及工作原理53.1 系统结构53.2 工作原理54 系统硬件设计5整体设计模块5单片机的复位、时钟电路5光信号的模拟及判断64.1.3 开关控制电路74.1.4 指示灯电路84.1.5 控制电动机正反转电路8系统整体电路85 软件设计9程序流程图96 系统的不足和改进13系统的不足136.2 系统的改进137.心得体会13参考文献14附录15基于单片机的智能光控开关设计摘要随着社会的不断进步,人们在智能化控制上的逐步认识与接受,并从多方面开始关注,尤其在生活方面做出了很多的努力。光照对人民生活是很重要的,人们可以根据光照的强弱选择对窗帘的开关。它不仅适用于人们生活的住宅区,而且适用于工厂、办公室、教学楼等公共场所。因此智能开关,在现代化的生活中,将起到重要的作用。为了能根据室外环境亮度实现窗帘自动拉合的设计需求,一种简单的通过光照强度来控制窗帘的开关的开闭合,从而达到开关的自动断开、闭合功能,其具有很强的适用性。提出了一种基于单片机控制的光控窗帘设计方案,并完成系统的软、硬件设计。该系统的硬件部分主要利用光敏传感器产生的信号作为单片机输入信号,软件部分采用C语言进行编程,能够完成智能光控窗帘的自动拉合。同时,考虑到用户习惯与天气原因,本方案还设置了选择开关,用户在使用窗帘时可任意选择自动或手动控制方式。实际应用表明,该系统具有设计成本低、可靠性高的特点,达到了设计要求。关键词:单片机 光敏传感器 直流电动机 C语言 智能光控窗帘1 引言随着生活水平的不断提高,人们对家庭生活舒适度的要求也越来越高,具有装饰、遮光并能进行自动开合的智能光控窗帘成为了现代家居生活的新宠。为了能根据室外环境亮度实现窗帘自动拉合的设计需求,本文提出了一种基于单片机控制的光控窗帘设计方案。研究目的与意义 研究目的:通过这次的课题研究希望使自己在理清它的发展脉络上进一步了解它的发明原理,将平时所学习的理论知识与技能运用到实际生活当中,这对提高自己的动手能力、创新意识,以及锻炼我们的思维活动是一个很大的帮助。同时,通过这次的研究希望提高自己对社会普通科学知识的了解;增强自身的只是见解与设计论文的方法。 研究意义:用光控制开关代替一般的开关,只有在光照达到一定强度时,才能使直流发动机开始工作,使得电路导通,而且发动机延迟一段时间就会自动断开,因此节电效率很高,全自动智能控制,接线简单,安装方便,是公共场所照明开关的理想选择。2课题的研究内容运用单片机可以设计出智能型的光控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,在使用过程中更加的安全节电,智能环保。2.1技术方案的选择目前的声控开关大多都是应用模拟电子技术进行设计,分立元件多,不可靠,而且许多声控开关的平均使用寿命不长,主要是因为电路作频繁的开关,启动电流非常大,导致功率元件可控硅由于过载而损坏。如果在设计中采用开关电压过零保护技术,可消除白炽灯开启瞬间的大电流冲击,有效地防止可控硅元件启动时的电流过载,大大地延长了开关的使用寿命,并且可以起到保护灯泡的作用。如今单片机技术已经相当成熟,未来的发展方向趋向于运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单。在使用过程中更加的安全节电,智能环保。首先单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口与中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机的特点:(1) 种类多,型号全;(2) 提高性能,扩大容量,性能价格比高;(3) 增加控制功能,向真正意义上的“单片”机发展;(4) 低消耗;(5) C语言开发环境,友好的人机互交环境。单片机的优点:(1) 使用寿命长;(2) 运行速度越来越快;(3) 低噪声与高可靠性技术;(4) OTP及掩膜。综上所述,单片机的特点与优点符合制作智能声光控开关的条件,并且具有准确性与节能性。3 系统结构及工作原理3.1 系统结构本设计由单片机、传感器与直流电动机组成,以AT89C51单片机芯片为核心,运用光敏传感器技术,将室外环境亮度作为单片机的控制信号,实现窗帘的自动拉合。同时,考虑到用户习惯与天气原因,本方案还设置了选择开关,用户在使用窗帘时可任意选择自动或手动控制方式。当选择自动控制模式时,单片机将室外环境光线亮度作为输入信号,单片机控制程序根据光敏传感器所产生的电流信号的强弱自动调节直流电机的正反转,从而实现窗帘的自动拉合;当选择手动控制模式时,单片机将手动控制开关作为输入信号,单片机控制程序根据开关信号控制电机的正反转,从而实现窗帘的手动拉合。3.2 工作原理模拟光信号的采集,可以通过软件来调节对光照的强度。单片机软件实施对光度的判断,决定窗帘的打开与闭合;由于个人或是其他原因用户可以选择手动开关窗帘。4 系统硬件设计本系统硬件系统主要由传感器、单片机、直流电动机三大部分组成,如图1所示。光信号/手动89C51单片机直流电机图1 系统工作原理图4.1整体设计模块4单片机的复位、时钟电路(1)单片机再开机时需要复位,以便使CPU及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,单片机应用程序必须以此作为设计的前提。(2)单片机执行指令的过程可分为取指令、分析指令与执行指令三个步骤,每个步骤又由许多微操作,这些微操作必须在一个统一的时钟控制下才能按照正确的顺序执行。如图2:图24光信号的模拟及判断当光敏电阻收到光照的时候,电阻减小,运放同向输入端为低电平,端口1输出为低电平;当光照较弱时,电阻增加,运放同向输入端为高电平,端口1输出为高电平。光控电路的输出信号经过电压跟随器后,将比较微弱的电流信号放大到单片机能够识别的电流,然后由运放输出端传输放大后的信号。然后经过一个非门,形成相反的电压,分别传输给P2.2及P2.3口。图34 开关控制电路如果k7断开,系统将执行光控控制,k3、4是控制光信号的输入;k5、k6分别是对正转、反转的反向控制。当k7闭合卖系统执行手动控制,k1、k2是对窗帘拉开、闭合的控制。图44 指示灯电路当电动机正传时,led1灯亮,当电动机反转时,led2灯亮。图54 控制电动机正反转电路由电动机及PNP与NPN三极管控制,当p1.0口低电平,控制电动机正传,当p1.1低电平,电动机反转。图64.2系统整体电路图75 软件设计5.1 系统软件设计 系统软件主要实现智能光控、手动控制两大功能,采用C语言进行编程,可实现用户在使用窗帘时任意选择自动或手动控制方式4-5。5.2程序流程图光控窗帘程序流程图如图3所示。开始控制方式选择手动?Y正转反转判断按钮N判断按钮判断光照反转反转停止结束图85.3 程序设计 (1)光控程序 当天亮时,有阳光射进屋内,传感器感应到光信号,此时电机正转,窗帘开始打开,当碰到开限位开关时,电机停止转动;当天黑时,传感器接收到信号,电机反转,窗帘闭合,当碰到关限位开关时,电机停止转动。具体程序如下: #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit K3=P2.2; /光控正转或反转,此处接光敏传感器 sbit K5=P2.4; /开限位 sbit K6=P2.5; /关限位 sbit LED1=P0.0; /正转指示灯 sbit LED2=P0.1; /反转指示灯 sbit MA=P1.0; sbit MB=P1.1; void main(void) LED1=1;LED2=1; while(1) if(K7=0) sd(); if (K3=0&&K4=1) /光控正转 while (K3=0&&K5=1&&K4=1) 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> #define uchar unsigned char #define uint unsigned int sbit K1=P2.0; /手动正转 sbit K2=P2.1; /手动反转 sbit K7=P2.6; /控制方式选择按钮 sbit LED1=P0.0; /正转指示灯 sbit LED2=P0.1; /反转指示灯 sbit MA=P1.0;sbit MB=P1.1;void delay(uint z); /声明子函数 void delay(uint z) /延时子程序延时约z毫秒 uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);int main(void)LED1=1;LED2=1;while(1)if(K7=0)sd();if (K3=0&&K4=1) /光控正转 while (K3=0&&K5=1&&K4=1)LED1=0;LED2=1;MA=0;MB=1;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)LED1=0;LED2=1;MA=0;MB=1;while (K4=0&&K6=0&&K3=1)delay(10000);LED1=1;LED2=1;MA=1;MB=1; 6 系统的不足与改进系统的灵敏度不是很高,在模式运行下,有一定的延迟。6.2 系统的改进系统根据光强来判断断开还是闭合开关,而每个开关所控制电机转动的时间不同从而解决了窗帘大开的程度的自动化。在系统的外部增加一个收集天气、温度的采集点,根据湿度、温度、风速、浮尘度等等,进行判决,自动帮助系统选择模式。进而实现了系统全智能化。通过对本次课程的课程设计,使自己深刻的认识到自己的很多不足之处,在实际动手操作能力的不足,在进行程序编程时,自己需要,认真审题,看懂题目的要求!对于软件编程不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力!根据课题要求,复习相关的知识,查询相关的资料。根据课程条件,找到适合的方案,找到需要的元器件及工具,准备课程。根据课程设计的要求与自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序与增加额外的功能程序。然后再进行程序调试与相应的修改,以达到能够实现所要求的功能的目的。还要根据课程的实际情况,添加些额外程序来使系统更加的稳定,如开关的去抖(采用延迟)。程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该课程设计的程序可以参考MCS-51系列单片机,也可自己根据自己熟悉的方法来编程如单片机C语言。在设计控制开关时,注意2个中断的打开与关闭的先后顺序,否则就会出错。这次的单片机课程设计重点是理论及实际的相结合。该设计从头到尾都要自己参及,熟悉了对整个设计的过程,更系统的锻炼了自己。 虽然这次的设计到最后并没有做出非常准确的结果,但是基本达到了设计的要求,最重要的是,在本次设计过程中我学到了很多平时没有学到的或者说是很欠缺的东西,在一定程度上也提升了自己的能力,受益匪浅。参考文献1 张鑫.单片机原理及应用(第2版)M.北京:电子工业出版社,2010.2 胡汉才.单片机原理及其接口技术(第3版)M.北京:清华大学出版社,2010.3 胡汉才.单片机原理及其接口技术学习辅导及实践教程M.北京:清华大学出版社,2010.4 张义与.例说51单片机(C语言版)M.北京:人民邮电出版社,2008.5 黄英.单片机工程应用技术M.上海:复旦大学出版社,2011 .附录系统程序:#include<reg51.h> #include<intrins.h>#define uchar unsigned char#define uint unsigned int sbit K1=P20; /手动正转sbit K2=P21; /手动反转sbit K7=P26; /控制方式选择按钮sbit LED1=P00; /正转指示灯sbit LED2=P01; /反转指示灯sbit MA=P10;sbit MB=P11;sbit K3=P22;sbit K4=P23; /光控正转或反转,此处接光敏传感器 sbit K5=P24; /开限位sbit K6=P25; /关限位 void delay(uint z); /声明子函数 void delay(uint z) /延时子程序延时约z毫秒 uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void sd() /子程序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);LED1=1;LED2=1;MA=1;MB=1; /不转if (K2=0&&K1=1) /手动反转while (K2=0&&K6=1&&K1=1)LED1=1;LED2=0;MA=1;MB=0;/delay(10000);LED1=1;LED2=1;MA=1;MB=1;int main(void)LED1=1;LED2=1;while(1)if(K7=0)sd();if (K3=0&&K4=1) /光控正转 while (K3=0&&K5=1&&K4=1)LED1=0;LED2=1;MA=0;MB=1;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)LED1=0;LED2=1;MA=0;MB=1;while (K4=0&&K6=0&&K3=1)delay(10000);LED1=1;LED2=1;MA=1;MB=1; 系统正转系统反转

    注意事项

    本文(单片机课程设计智能控制开关.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开