当前位置:文档之家› 基于单片机的遥控窗帘设计

基于单片机的遥控窗帘设计

河南理工大学《单片机应用与仿真训练》设计报告题目:遥控窗帘设计成员姓名:学号:专业班级:自动化08—8班指导老师:xx所在学院电气工程与自动化学院基于单片机的遥控窗帘设计摘要本产品是以AT89S52为控制核心的遥控窗帘,通过键盘控制或者远程遥控可以实现遥控窗帘不同的工作模式以及对窗帘的位置通过霍尔传感器反馈信号控制。

遥控窗帘的不同模式通过共阴极的发光二极管进行显示。

每次进行模式切换时能实现窗帘的左右移动,窗帘的左右移动是利用单片机通过光电耦合器用一个由L298N驱动芯片驱动的5V的直流电机的正反转带动实现的。

除此进行电子设。

总体来说产品从功能上来说较为简单,从成本上来说造价低,经济实用。

关键字:AT89S52 窗帘霍尔传感器发光二极管L298N 直流电机目录第一章概述 (4)1.1 引言 (4)1.2基本要求 (4)第二章基本硬件设计与功能实现 (4)2.1 单片机控制系统原理 (4)2.1.1 AT89S52简介 (4)2.1.2 AT89S52引脚介绍 (5)2.2 单片机选择及主机系统电路 (8)2.2.1 单片机介绍 (8)2.2.2 单片机最小系统图 (9)2.3 基于单片机的遥控窗帘设计 (9)2.3 设计要求 (9)2.3.2 各部分介绍 (9)第三章软件设计 (15)3.1 流程图 (15)3.2总程序 (16)第四章课程设计体会 (16)参考文献 (17)附页 (18)第一章概述1.1 引言窗帘是我们房屋设计中必须有的东西,对于大多数来说,都需要认为的机械拉动来实现,对于现在的日益发达的科技来说显得十分不协调,不利于实现电力自动化。

因此基于以上的原因,我们组经过共同的讨论和深入考虑决定做遥控窗帘。

我们的作品采用了AT89S52单片机进行了简单的设计,并通过驱动放大电路驱动电机,中间还有控制不同模式遥控窗帘开关控制电路。

总的来说我们的作品还算成功吧,只是在设计时出现了光耦电路无法实现,最后由上拉电阻,由低电平信号来实现的,软件设计很简单。

但是我们还会继续努力争取取得更大的进步。

1.2 基本要求(1)控制窗帘的开关、利用直流电机正反转来实现窗帘的开与关。

(2)防过卷功能:利用霍尔传感器引入反馈来达到防止过卷。

(3)具有无线遥控和手动按键控制两种功能控制单片机来控制窗帘的开关。

(4)能够指示运行状态:通过发光二极管来指示电机的正反转,以控制窗帘开关。

第二章基本硬件系统的设计与功能实现2.1单片机控制系统原理及电路图为了简化电路、降低成本、提高可靠性,本系统采用AT89S52作为主控制核心部件,主要通过按键或者远程控制信号来实现电机的驱动的控制信号。

电路图见附页。

2.1.1 AT89S52简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

2.1.2 AT89S52引脚介绍A T89S52引脚图DIP封装与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能: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”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,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)。

在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 输出缓冲器能驱动4 个 TTL 逻辑电平。

对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用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口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在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:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

2.2单片机选择及主机系统电路2.2.1 单片机介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

相关主题