实训 模板的.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训 模板的

综合实训报告 基于单片机的光敏窗帘设计与实现 专业:信息工程 班级:信息101 姓名:徐超 学号:1004020225 指导教师:杨伟杰 2013年12月 一、课题简介及背景意义 这个课题的主要目的是设计一个自动光控窗帘系统,先由窗帘的太阳能光敏感应器,感知太阳光线的强弱条件,决定窗帘的开与关。随着生活的提高,时代的进步,人们对居住空间、周围环境有了更高的要求。单片机控制的自动窗帘系统,既能解决每天手拉开和关上窗帘的不便,又显示出了生活的便捷和档次,对室内设计而言,窗帘不仅具有遮光作用,更有美化功能,它不仅可以协调居室的色彩搭配,而且能够柔化空间造型的线条,营造温馨惬意的环境,随着高新技术及电子器件的发展,光控、温控及遥控窗帘应运而生,给人们的生活带来了很多方便。同时,也为人们的生活环境以及智能家居的实现提供了依据,为此,研究与设计智能窗帘控制系统具有深远的现实意义 图1 光控窗帘设计框图 硬件方案 图2 硬件框图 (1)光检测模块 选用集成光电传感器ULN3330,当器件顶部受到大于50 Lx的光照时就输出高电平,负载上没有电流;当光照不足45 Lx时,器件就输出低电平,负载上有电流通过。 (2)单片机模块 选用MCS-51单片机系列,AT89C52单片机。 步进电机的驱动模块 选用步进电机专用驱动芯片L298,采用L298,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转停止的操作步进电机的步距角1.8度(四相电机)ULN3330是美国摩托罗拉公司生产的集成光电传感器。 它是一种新颖的光电开关, 将光敏二极管、 低电平放大器、 电平探测器、 输出功率驱动器和稳压电路等五部分都集成在了一块1×1.8(mm×mm)的硅片上, 形成一种具有驱动能力的光敏功率器件。 该器件可用于众多使用光敏器件的场合, 使光敏器件的应用变得更简单、 可靠。 ULN3330接上电源与负载后, 不需要其他元件就能工作。当器件顶部受到大于50 Lx的光照时, 就输出高电平,负载上没有电流;当光照不足45 Lx时,器件就输出低电平,负载上有电流通过。 MCS-51单片机 1个8位CPU。 1个片内振荡器及时钟电路。 4KB ROM程序存储器。 128B RAM数据存储器。 可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路。 32条可编程的I/O线(4个8位并行I/O接口)。 2个16位的定时/计数器。 1个可编程全双工串行接口。 5个中断源、2个优先级嵌套中断结构。 L298芯片 L298 为意大利SGS半导体公司生产的双全桥步进电机专用驱动芯片OUT1、OUT2 和OUT3、OUT4 之间接步进电机;input1input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转。 L298功能引脚模块 ENA IN1 IN2 运转状态 0 × × 停止 1 1 0 正转 1 0 1 反转 1 1 1 刹停 1 0 0 停止 表1 L298功能引脚 步进电机正转或反转的位置的末端分别安装行程开关,当窗帘运动到末端位置时会碰到行程开关,使开关的常开触头闭合,一旦常开触头闭合,电机就停止正转或反转。当天亮或天暗时,步进电机会反方向运动,开关的障碍物去除,常开触头恢复,由此实现步进电机的末端停止控制,没有碰到常开触头,电机会一直运转,这样也可使窗帘拉到极限位置,很好的保证了室内私密性的性能。 步进电机用42BYG250)系列混合式步进电动机驱动方式恒流斩波驱动励磁方式2相励磁(相四拍运行).可正反向旋转转向按A-BC-CD-DA顺序通电额定电流(单相)0.4A DC 额定电压12V 步距角1.8°,四拍运行时步距角为θ=360度/(50*4)=1.8度绝缘等级B级绝缘引脚与地必须连接100nF电容器 图4 。。。。。 软件方案 图5 主程序流程图 程序代码 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar code ffw[]={0xfc,0xf6,0xf3,0xf9 }; //2相励磁正转表 uchar code rev[]={0xf9,0xf3,0xf6,0xfc }; //2相励磁反转表 sbit k1=P3^0; //定义K1开关 uint m=1; void delay(uint x) //延时函数 { uchar i; while(x--)

文档评论(0)

ayangjiayu4 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档