版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南理工大学微机原理与单片机接口技术课程设计报告题目:基于单片机的遥控窗帘设计姓 名: 学 号: 专业班级: 自动化10-4班 指导老师: 苏珊 所在学院: 电气工程与自动化学院 2013年01月17日摘要本设计是基于51系列单片机控制,L298驱动芯片驱动电机正反转以及电机的调速,2722解码芯片与无线电遥控器组成的无线电模块,霍尔元件起到定位作用,防止窗帘的过卷的无线遥控与有线按键同时可控的电动窗帘。其中51单片机是整个系统的CPU,是系统的核心,它可以接收来自按键或者遥控的控制信号以及霍尔传感器的触发信号,并对信号做出判断进而做出相应的响应,通过L298驱动芯片控制电机的启动、正反转以及
2、调速和停止的功能,达到控制窗帘开关的目的,同时通过霍尔传感器定位窗帘的位置来防止窗帘的过卷,并且在电机正反转以及调速的同时会有相应的LED做出相应的指示,使得系统状态可视化。本系统共包括6个模块,分别是:CPU主控制模块,电机及其驱动模块,遥控控制模块,按键控制模块,霍尔传感器控制模块,LED指示模块。最终完成的功能是:1、遥控按下A键时,窗帘关住,同时在关住的过程中可以通过遥控的C键调整关窗帘的速度,D键可使窗帘随时停止运动,若不人为在此过程中使得窗帘停止运动则在窗帘运动到头时霍尔传感器会感应到窗帘的位置而自动使得窗帘停止运动。2、当遥控按下B键时,窗帘打开,同时打开的过程中C键D键以及霍尔
3、传感器起到相同的作用。3、有线的按键也有四个键,这四个键的作用与遥控的四个键的作用是一样的,达到遥控和有线同时可控的作用。4、LED为指示的作用,当窗帘关的状态时,LED向窗帘关的方向流水指示,当窗帘开的状态时,LED向窗帘开的方向流水指示,同时LED流水的速度反映的是电机的转速。目录摘要21、概述4主要芯片41.2 STC89C52单片机41.3 L298电机驱动芯片41.4 无线电遥控接收模块41.5 总结52、系统总体方案及硬件设计6系统总体方案6硬件设计63、 软件设计8程序流程8程序说明84、 proteus仿真9仿真图9仿真图说明95、 课程设计体会11参考文献12附1 程序源代码
4、13附2 系统原理图211、 概述1.1 主要芯片本设计用到的主要芯片有:STC89C52单片机、L298电机驱动芯片、2272解码芯片组成的无线电遥控接收模块。1.2 STC89C52单片机52系列的单片机是51系列单片机的一个增强型的子系列,其内部资源要比51的稍微多一点,其中定时/计数器比51的多了一个计数器2,对于我们的课程设计我们用到了52单片机的两个定时器和一个外部中断资源。1.3 L298电机驱动芯片L298可直接的对电机进行控制,无需隔离电路。通过单片机的I/O输入改变芯片的控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速带你及的大电流要求。调试时在
5、依照控制管脚,用程序输入对应的码值,能够实现对应的动作,调试通过。1和15和8引脚直接接地。4管脚VS接2.5到46的电压,它是用来驱动电机的。9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的。6和11引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作。5,7,10,12是298的信号输入端和单片机的IO口相连。2,3,13,14是输出端。输入5和7控制输出2和3, 输入的10,12控制输出的13,14。在我们的课程设计中,因为我们的窗帘只用到了一个电机,所以我们的驱动芯片也只用到了一路驱动
6、,用5、7管脚控制2、3管脚的输出来控制电机的正反转以及调速功能。1.4 无线电遥控接收模块2722是一个解码芯片,其地址是通过2722的管脚进行的硬件编码的,每个遥控器与接收模块对应,其编码是焊盘事先设计好的。具体原理不再做分析,这个无线电模块很好使用,遥控上的按键A、B、C、D对应接收模块上的A、B、C、D管脚,当按下遥控器上的按键时,接收模块对应管脚便成为了高电平锁存输出,同时I管脚(有效信号确认)输出一个高电平脉冲,当松开按键时I管脚再次变为低电平,而对应A、B、C、D仍为高电平(锁存),当按下其他的按键时,刚才的那个高电平锁存输出管脚变为低,这次的对应管脚锁存输出高,同样I管脚输出一
7、个高电平触发脉冲。我们的课设中A、B、C、D、I分别与单片机的I/O口连接检测无线信号,通过相应的无线电遥控信号来控制系统的状态。1.5 总结本系统共包括5个模块,分别是:CPU主控制模块,电机极其驱动模块,遥控控制模块,按键控制模块,LED指示模块。最终完成的功能是:1、遥控按下A键时,窗帘关住,同时在关住的过程中可以通过遥控的C键调整关窗帘的速度,D键可使窗帘随时停止运动,若不人为在此过程中使得窗帘停止运动则在窗帘运动到头时霍尔传感器会感应到窗帘的位置而自动使得窗帘停止运动。2、当遥控按下B键时,窗帘打开,同时打开的过程中C键D键以及霍尔传感器起到相同的作用。3、有线的按键也有四个键,这四
8、个键的作用与遥控的四个键的作用是一样的,达到遥控和有线同时可控的作用。4、LED为指示的作用,当窗帘关的状态时,LED向窗帘关的方向流水指示,当窗帘开的状态时,LED向窗帘开的方向流水指示,同时LED流水的速度反映的是电机的转速。2、系统总体方案及硬件设计我们的课设系统共包括5个模块,分别是:CPU主控制模块,电机及其驱动模块,遥控控制模块,按键控制模块,霍尔传感器控制模块,LED指示模块。51单片机是整个系统的CPU,是系统的核心,它可以接收来自按键或者遥控的控制信号以及霍尔传感器的触发信号,并对信号做出判断进而做出相应的响应,通过L298驱动芯片控制电机的启动、正反转以及调速和停止的功能,
9、达到控制窗帘开关的目的,同时通过霍尔传感器定位窗帘的位置来防止窗帘的过卷,并且在电机正反转以及调速的同时会有相应的LED做出相应的指示,使得系统状态可视化。我们的硬件设计部分原理图完全是自己重新设计的,把单片机的最小系统和L298的驱动芯片部分以及电源部分焊在了老师发的那块万用版上,按键及显示部分焊在了另外一块万用版上,最小系统那块板子上焊的很多用于外拓的排针,包括无线接收模块,霍尔传感器模块以及按键控制部分还有电机的输出都是通过最小系统的那块板子通过杜邦线连接起来的。遥控器接收模块的五个管脚输出与单片机的P10P14连接,用来接收遥控的控制信号;P33、P34、P35、P37与按键的控制信号
10、连接,用来检测按键的控制信号;P30、P31与L298的驱动芯片的正反转控制管脚连接,用来控制电机的正反转以及通过占空比控制电机的速度;P15与驱动芯片L298的使能管脚连接,至高时使能驱动芯片的一路电机控制,使得驱动芯片接到相应的控制信号后能够驱动电机正反转;P32管脚与霍尔传感器的OUT相连,用来检测霍尔传感器发出的低脉冲信号,当霍尔传感器检测到窗帘运动的位置的时候,给单片机发出一个低脉冲信号,触发单片机的外部中断,在外部中断中达到窗帘防过卷的功能。指示部分为八个LED分别串联电阻与单片机的P2口相连接,用来指示系统的运行状态。电源部分我们通过两个独立电源供电分别是:1、5V给芯片及传感器
11、和LED供电;2、7.2V给驱动芯片的电机控制输出端供电,用来驱动电动机。并且根据L298驱动芯片的功能这两个电源是共地的。我们选用的这两部分电源分别为并联的4.5V的干电池,7.2V的蓄电池。利用自锁开关对电源进行控制并且每个电源都有相应的LED进行通电指示,以保证供电的可靠。3、 软件设计总体的软件设计部分的程序总共包括四个模块,其中主函数部分主要进行无线遥控的按键扫描和有线按键扫描并对电机的正反转和速度进行控制;定时器0对响应的停止信号进行扫描,当按下遥控器D键或者有线按键d时程序做出相应的判断,判断对模式进行转换还是电动机的停止信号,并设置相应的标志位和对电机进行停止控制。定时器1对指
12、示部分的LED进行控制,当电机正转的时候,LED往一个方向流水,当电机往相反方向转动时,LED往另外一个方向流水,并且程序会根据电机转动的速度调整流水灯的流水速度,从而使得系统的运行状态可视化。外部中断0是对霍尔传感器的信号进行判断的部分,当单片机接收到外部中断的时候程序控制电机停转与否,从而达到防过卷的功能。4、 proteus仿真由仿真图可以看出,该系统主要有按键控制模块,流水灯指示模块,CPU控制模块,L298驱动电机模块。其中,用SW1模仿无线电按键控制,因为根据无线电遥控模块的特点,每次按下一个遥控键的时候对应的管脚为锁存输出高电平,所以用自锁式的拨码开关代替遥控模块达到仿真的目的,
13、S0代表确认键;S1、S2、S3、S4分别代表手动控制的四个按键,根据程序的设计实现与遥控按键相同的功能。流水灯实现窗帘的正转与反转的指示功能。L298是驱动电机的部分,由单片机引出P3.0,P3.1控制驱动的输入端,驱动的输出端则连到电机两端。工作时,当按下按键SW1的1,经过P3.0,P3.1分别输出高低电平,然后由驱动输出1,2管脚的高低电平,电机正转,流水灯从下往上正流;当按下按键2,电机反转,流水灯反向流动。当按下按键3时,并按确认键S0时,通过PWM波来调节占空比,从而使电机调速。当按下按键4时,让电机停转。按下S1时,电机正转,按下S2时,电机反转,按下S3时,电机调速,按下S4
14、时,电机停转。5、 课程设计体会我们这次做的课程设计的题目是“遥控窗帘”,我们用到的主控芯片是STC89C52单片机,用到的芯片有L298驱动芯片、2272组成的无线电遥控接收模块,霍尔传感器。虽然说课程设计的题目是我们自己选的,但是所用的芯片都是老师给发的,这就减少了我们这次设计中的一部分工作,老师给发的芯片和模块都是运用起来比较方便的,当然这样使我们开扩了自己的眼界,通过对这些芯片和模块的网上搜索资料我们了解这些芯片的一些基本原理,并熟悉了这些芯片和模块的使用方法,我觉得这也是一个非常有用的环节,这样的过程会为我们以后做课题时选择模块和芯片打下了一定的基础,最起码我们通过老师发芯片我们自己
15、查询资料的过程我们对这些模块的使用是已经非常熟悉了,等到以后在做设计的时候可能就睡想起来现在用过的芯片和模块。通过这次课程设计的全过程:从最开始的构思,到硬件原理图的设计,到硬件原理图的实物焊接,到编写程序软件设计,到最后的软硬件结合起来的调试,到最终的窗帘的外包装,所有的这些都是我们自己构思与设计的,最终实现了课程设计中的所有要求。感触很深,在这过程中我不仅一次的遇到问题和错误,并不断的解决这些问题的过程中学到了很多。当然也有一些由于时间问题还未解决的问题,比如:我们本来是想用到一个超声波模块的,用来对距离进行检测,使得电机有一个启动和停止的过程,但是由于写程序调试的时候老是出现问题,而且测
16、距的数据老是不准确,最终由于时间的问题没有解决这个问题,放弃了这项功能,当然再接下来的时间我还是会想办法解决这个问题的。通过这次课程设计我对一个系统的整体设计有了初步的了解与认识,自己觉得一个系统的的完成跟一个大程序的编写是有些类似的地方的,他们都是有若干的独立又相互之间有联系的模块组成的。把每一个模块的设计都完成了那么这个系统的设计也就完成了一大部分了,当然最后还要把他们结合起来进行最终的调试,使得系统能够完成最终的功能,当然如果系统是闭环的话,也要保证系统的稳定性与快速性等问题。本人觉得课程设计这方面的课程对相关专业课的扎实与提高有很大的作用,对我们综合能力的提高有很大的帮助,所以对这方面
17、的设计自己是比较认真的,也希望以后专业课程能够多一些比例。参考文献1 杨凌霄,王丽·微机原理与单片机接口技术·中国电力出版社,2012,231-3762 郭天祥·51单片机C语言教程·中国电子工业出版社,2009-01-013 邱关源,罗先觉·电路·高等教育出版社,2006-03-01,115-1204 百度文库·L298中文资料,2009-09-10/2013-01-12 5 百度文库·2262/2272编解码集成电路介绍, :/wenku.baidu /view/4db6fff8941ea76e58fa044a
18、.html,2006-06-05/2013-01-126 百度文库·霍尔传感器的原理与应用, :/wenku.baidu /view/cf5d144e852458fb770b568f.html,2010-05-26/2013-01-13附1 程序源代码#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit AJA=P10; /遥控按键A位定义sbit AJB=P11; /遥控按键B位定义sbit AJC=P12; /遥控按键C位定义sbit AJD=P13; /遥控按键D位定义sb
19、it DJZ=P30; /L298正反转控制位定义sbit QR=P14; /遥控按键I位定义sbit DJF=P31; /L298正反转控制位定义sbit EAB=P15; /L298电机驱动使能位定义sbit HR=P16; /霍尔传感器输出信号位定义sbit L1=P34; /按键L1位定义sbit L2=P35; /按键L2位定义sbit L3=P33; /按键L3位定义sbit L4=P37; /按键L4位定义int q=20,h=2;uchar w=20,a,b,x,xx,BZ=0,d,dd,f,n,v,s1,s2;/*定时器初始化*/void T_init() IE=0x8a;
20、/打开中断TMOD = 0x01;/定时器工作方式1TH0 = (65536-1000)/256;TL0 = (65536-1000)%256; TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;TCON = 0x50;/打开定时器/*延时子函数*/delay(char s)uchar i,j;for(i=0;i<=100;i+)for(j=0;j<=s;j+);/*遥控控制电机及流水灯速度控制子函数*/void SD() if(QR=1)delay(5); /单次和长按都可以调速x+;if(x=2) q=q+2;if(q>=50
21、00)q=5000;h=h+1;if(h>=5000)h=5000; x=0;/*按键控制电机及流水灯速度控制子函数*/void JSD()delay(5); /单次和长按都可以调速 xx+;if(xx=2) q=q+2;if(q>=5000)q=5000;h=h+1;if(h>=5000)h=5000;xx=0;/*主函数,进行遥控按键和有线按键扫描控制电机正反转及速度*/void main() P1=0xff;P0=0xff;P2=0xff;P3=0xff;T_init();while(1) if(BZ=0) /遥控按键的扫描控制 if(AJA=1|a=1) /遥控按键A
22、按下则电机正传s2=0;a=1;b=0;n=v=0;dd=1;if(s1=0)P2=0xff;s1+; DJF=1;DJZ=0;delay(w);DJZ=1; delay(q); if(AJB=1|b=1) /遥控按键B按下则电机反转s1=0;b=1;a=0;n=v=0;dd=2;if(s2=0) P2=0xff; s2+; DJZ=1;DJF=0;delay(w);DJF=1;delay(q);if(AJC=1)/遥控按键C按下则电机速度渐渐升起来 n=v=0; SD();if(AJD=1) /遥控按键D按下则电机停转 a=b=0;n=v=0;dd=0;d=0;P2=0xff; DJZ=0;
23、DJF=0;q=0;h=5; if(BZ=1) /按键的扫描控制if(L1=0|v=1) /按键L1按下则电机正传s2=0;v=1;n=0;a=b=0;dd=1;if(s1=0)P2=0xff;s1+; DJF=1;DJZ=0;delay(w);DJZ=1; delay(q); if(L2=0|n=1) /按键L2按下则电机反转s1=0;n=1;v=0;a=b=0;dd=2;if(s2=0) P2=0xff; s2+; DJZ=1;DJF=0;delay(w);DJF=1;delay(q);if(L3=0) /按键L3按下则电机速度渐渐升 a=b=0;JSD();if(L3=1)xx=0;if(L4=0) /按键L4按下则电机停转a=b=0;n=v=0;dd=0;d=0;P2=0xff; DJZ=0;DJF=0;q=0;h=5;BZ=1;/*定时器0进行霍尔传感器信号的扫描和相应按键或遥控模式的转换*/void Timer0() int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿篱施工方案
- 汝州钢结构房屋施工方案
- 阳台加固施工方案
- 酒水供应实施方案
- 2025年中国泵行业市场调研及未来发展趋势预测报告
- 2025年挂车零部件项目投资可行性研究分析报告
- 铜过滤器行业深度研究报告
- 中国工业手套行业发展前景预测及投资战略规划研究报告
- 高压高阻电阻器行业深度研究报告
- 电子废弃物处理项目可行性研究报告
- 《保单检视专题》课件
- 建筑保温隔热构造
- 智慧财务综合实训
- 安徽省合肥市2021-2022学年七年级上学期期末数学试题(含答案)3
- 教育专家报告合集:年度得到:沈祖芸全球教育报告(2023-2024)
- 肝脏肿瘤护理查房
- 护士工作压力管理护理工作中的压力应对策略
- 2023年日语考试:大学日语六级真题模拟汇编(共479题)
- 皮带拆除安全技术措施
- ISO9001(2015版)质量体系标准讲解
- 《培训资料紧固》课件
评论
0/150
提交评论