基于单片机的窗帘设计.doc
《基于单片机的窗帘设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的窗帘设计.doc(19页珍藏版)》请在沃文网上搜索。
1、摘要 本产品是以单片机AT89S52为控制核心的遥控窗帘,通过键盘控制或者无线远程遥控可以实现遥控窗帘不同的工作模式以及对窗帘的位置,通过霍尔传感器反馈信号控制。遥控窗帘的不同模式通过共阳极的发光二极管进行显示。每次进行模式切换时能实现窗帘的拉下与拉住,窗帘的是用一个由L298N驱动芯片驱动的5V的直流电机的正反转带动实现的。除此进行电子设计,总体来说产品从功能上来说较为简单,从成本上来说造价低,经济实用,利于推广,能够满足智能家居要求,具有良好的市场前景。关键字:AT89S52 单片机 霍尔传感器 智能化L298N 直流电机目录 第一章 概述3 1.1 引言3 1.2 基本要求3第二章 基本
2、硬件设计与功能实现4 2.1 单片机控制系统原理4 2.1.1 AT89S52简介42.1.2 AT89S52引脚介绍4 2.2 单片机选择及主机系统电路6 2.2.1 单片机介绍62.2.2单片机最小系统图7 2.3 基于单片机的遥控窗帘设计8 2.3.1 设计要求8 2.3.2 各部分介绍8第三章 软件设计14 3.1 流程图14 3.2 总程序14第四章 课程设计体会17元件总共清单18参考文献 18第一章 概述1.1 引言随着国民经济的发展和科学技术水平的提高,特别是计算机技术,通信技术,网络技术,控制技术的迅猛发展,生活现代化得以实现,居住环境向舒适化,安全化发展,家居智能化在这种形
3、式下应运而生。基于窗帘是我们房屋设计中必须有的东西,对于大多数来说,都需要认为的机械拉动来实现,对于现在的日益发达的科技来说显得十分不协调,不利于实现电力自动化。因此基于以上的原因,我们组经过共同的讨论和深入考虑决定做遥控窗帘。我们的作品采用了AT89S52单片机进行了简单的设计,并通过驱动放大电路驱动电机,中间还设有控制不同模式遥控窗帘开关控制电路。总的来说我们的作品还算成功吧,只是在设计时出现了光耦电路无法实现,最后由上拉电阻,由低电平信号来实现的,软件设计很简单。但是我们还会继续努力争取取得更大的进步。1.2 基本要求 本系统包括窗帘的自动和手动控制部分。自动控制部分要求窗帘能够根据光线
4、,温度,湿度等外界环境的变化自动控制窗帘的开闭;手动控制部分要求能通过无线遥控器控制窗帘。我们实现的基本上是手动这一方面,也即通过无线遥控器控制窗帘,同时指示运行状态。 本控制系统是由单片机通过软件程序实现智能控制,无线遥控单元用于对智能窗帘的运行进行控制。第二章 基本硬件系统的设计与功能实现2.1单片机控制系统原理为了简化电路、降低成本、提高可靠性,本系统采用AT89S52作为主控制核心部件,主要通过按键或者远程控制信号来实现电机的驱动的控制信号。2.1.1 AT89S52简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公
5、司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。2.1.2 AT89S52引脚介绍 AT89S52引脚图 DIP封装 与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能
6、: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和
7、数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序 校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在
8、flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出;P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制); P1.5 MOSI(在系统编程用);P1.6 MISO(在系统编程用);P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 AT89S52引脚图 PLCC封装4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL
9、)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为A
10、T89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能:P3.0 RXD(串行输入口) ;P3.1 TXD(串行输出口) ;P3.2 INTO(外中断0) ;P3.3 INT1(外中断1) ;P3.4 TO(定时/计数器0) ;P3.5 T1(定时/计数器1) ;P3.6 WR(外部数据存储器写选通) ;P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部
11、程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当A
12、T89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 窗帘 设计
