版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中师范大学武汉传媒学院
横媒技术学曉课程设计报告题目 风扇风速控制班级电信B1101姓名 学号1、 设计题目、要求风扇风速控制使用单片机实现风扇的风速控制三个按键分别控制不同的风速,还有控制工作与停止的按键设计框图4、方案设计本设计采用四相五线步进电机,通过NLU2003A芯片來作电机的驱动。用四个按键來模拟风扇的三个档位和停止键。步进电机内部构造如下图:
定子(a)五线:由于五线中,a和b组的公共端是连接在一起的。定子(a)五线:由于五线中,a和b组的公共端是连接在一起的。步进电机相关概念:相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.本程序釆用八拍。步距角:对应一个脉冲信号,电机转子转过的角位移用0表示。0二360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为0二360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为0二360度/(50*8)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由
磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。4、硬件原图设计XT/^12RST10ULN2003A151617UI189293031•12345678PSENALEEAPOO/ACX)P01/AD1F02/AD2P0.3/AD3P04/AD4P05/AD5P06/AC6PO7/AD7FPPPPPPPF2.0XT/^12RST10ULN2003A151617UI189293031•12345678PSENALEEAPOO/ACX)P01/AD1F02/AD2P0.3/AD3P04/AD4P05/AD5P06/AC6PO7/AD7FPPPPPPPF2.0网F2.1轴P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.8/A14P2.7/A15F3D/RXDP31XTXDP3.2/iNTOP33/INT1F3.4H0F3.5/T1P3.6ZWRP3.7/RD393837363534333221222325262711212343414SRCFILE=.A54dianj血懺速'步进乌达.hexCOM1B1C2B2C303C4B4C5B5C6D6C7B7C7开始进入中断开始进入中断5、程序流程图:主函数中断函数主函数初始化退初始化退出中断按键打描响应按键的电机控制
6.仿真图7、制作8、调试这次的步进电机实验的程序调试不是很完美,起初不太了解步进电机原理。之后通过网路了解到了很多知识,通过控制延迟时间来控制电机的转速,但电机会出现顿卡的现象是因为程序的延迟和电机不协调,必须慢慢改变来使电机转的相对稳定。中断的按键扫描函数是为了让按键变得更快,单也时电机时间控制的有误差,在减少中断函数执行时间后,控制大有好转。这是我们对本程序的学习。由于硬件增加了小灯使得调试更加方便。9、心得体会在这次的单片机课程设计之中,我与我的组员们经过一段时间的学习及研究,共同完成了此次设计。当然在此次实验中,我们学习到了不少单片机知识,之前在课堂上没有理解的知识,也经由实践一一明晰。首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,在实验中,我们感觉更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,我们都不是很不明白,但这并不要紧,因为我们还缺乏实践经验。但现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就0K了!尤其是用C语言编程,就儿乎不用分什么派系,但是我们选择一款有代表性的知识范围广,并且入门容易,书籍多。总之此次实验使得我们获益良多。10、源程序#includeHieg52.hH#include<intiiiis.h>voiddelay();#defineconst_key_tmiel10〃按键去抖动延时的时间#defineconst_key_tmie210〃按键去抖动延时的时间#defineconst_key_tmie310〃按键去抖动延时的时间#defineconst_key_tmie410〃按键去抖动延时的时间#definetime1 5〃1档的时|uj^definetune23 〃2延时的时间^definetune31 〃3延时的时间unsignedcharucKeySec=O; 〃被触发的按键编号unsignedmtuiKeyTimeCnt1=0;〃按键去抖动延时计数器unsignedcharucKeyLockl=0;〃按键触发后自锁的变量标志unsignedmtuiKeyTimeCnt2=0;〃按键去抖动延时计数器unsignedcharucKeyLock2=0;//按键触发后自锁的变量标志unsignedmtuiKeyTimeCnt3=0;〃按键去抖动延时计数器unsignedcharucKeyLock3=0;〃按键触发后自锁的变量标志unsignedmtuiKeyTimeCnt4=0;〃按键去抖动延时计数器unsignedcharucKeyLock4=0;//按键触发后自锁的变量标志unsignedmtuiTmieCntl=0^/步进电机延迟计数器unsignedmtuiTmieCnt2=0^/步进电机延迟计数器unsignedmtuiTmieCnt3=0^/步进电机延迟计数器voidinitial_myself();voidinitial_penpheial();"voiddelay_shon(unsignedmtuiDelavShoit);voiddelay_long(unsignedmtuiDelaylong);voidT0_time();//定时中断函数voidkey_service();〃按键服务的应用程序voidkey_scan();〃按键打描函数放在定时中断里//Motorsbitkevsil=P2A0;//sbitkevsr2=P2Al;//sbitkevsr3=P2A2;//sbitkev_sr4=P2A3;〃停车键unsignedcharcodeFFW[8]={0x0&0x0c,0x04,0x06,0x02,0x03.0x01、0x09};〃反转unsignedcharcodeFFZ[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//正转voiddelay2ms(void)〃误差Ousunsignedchara,b;fbi(b=4;b>0;b-)for(a=248;a>0;a-);_nop_0;//ifKeiljequiieusemtiiiis.h}voiddelaylms500us(void)〃误差Ousunsignedchara,b;fbi(b=3;b>0;b-)for(a=248;a>0;a—);}voiddelay3ms(void)〃误差Ous{unsignedchara.b;fbi(b=lll;b>O;b-)foi(a=12;a>0;a-);}voidmain(){uutiaLmyself();delav_long(100);mitiaLpeiipheral();wlule(l){key_service();//按键服务的应用程序}}voidkey_scan()//按键扫描函数放在定时中断里{if(key_sil==l)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位{ucKeyLockl=0;〃按键自锁标志清零iuKeyTimeCntl=O;〃按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。}elseif(ucKeyLock1==0)//有按键按下,且是第一次被按下{uiKeyTuneCnt1++;//累加定时中断次数if(uiKeyTiineCnt1>const_key_time1){uiKevTinieCiit1=0;ucKeyLockl=l;〃自锁按键置位,避免一直触发ucKeySec=l;//触发1号键}}if(key_si-2=l)//IO是高电平,说明按键没有被按卞,这时要及时清零一些标志位{ucKeyLock2=0;〃按键自锁标志清零iuKeyTimeCnt2=0;〃按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。}elseif(ucKeyLock2==0)〃有按键按卞,且是第一次被按下{uiKeyTuneCnt2卄;〃累加定时中断次数if(uiKeyTiineCnt2>const_key_time2){uiKeyTimeCnt2=0;ucKeyLock2=l;〃自锁按键置位,避免一直触发ucKeySec=2;〃触发2号键}}if(key_si-3=l)//IO是高电平,说明按键没有被按卞,这时要及时清零一些标志位{ucKeyLock3=0;〃按键自锁标志清零//uiKeyTimeCnt3=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。}elseif(ucKeyLock3==0)//有按键按卞,且是第一次被按下{uiKeyTuneCnt3卄;〃累加定时中断次数if(uiKeyTuneCnt3>consCkey_time3){uiKeyTimeCnt3=0;ucKeyLock3=l;〃自锁按键置位,避免一直触发ucKeySec=3;〃触发3号键}}if(key_si-4=l)//IO是高电平,说明按键没有被按卞,这时要及时清零一些标志位{ucKeyLock4=0;〃按键自锁标志清零iuKeyTimeCnt4=0;〃按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。}elseif(ucKeyLock4==0)〃有按键按卞,且是第一次被按下{uiKeyTuneCnt4-H-;//累加定时中断次数if(uiKeyTiineCnt4>const_key_time4){uiKeyTimeCnt4=0;ucKeyLock4=l;〃自锁按键置位,避免一直触发ucKeySec=4; //触发4号键}}}voidkey_service()〃按键服务的应用程序unsignedchari;switch(ucKeySec)〃按键服务状态切换{case1://一档while(ucKeySec==l){for(i=0;i<8;i++) 〃一个周期转30度{P3=FFW[i];〃取数据delav3nis();}}//ucKeySec=0;〃响应按键服务处理程序后,按键编号清零,避免一致触发break;case2://二档wlule(ucKeySec==2){for(i=0;i<8;i++) 〃一个周期转30度{P3=FFW[i];〃取数据delav2nis();}}//ucKeySec=0;〃响应按键服务处理程序后,按键编号清零,避免一致触发break;case3:〃三档while(ucKeySec==3){for(i=0;i<8;i++) 〃一个周期转30度{P3=FFW[i];〃取数据delaylnis500us();//ucKeySec=O;〃响应按键服务处理程序后,按键编号清零,避免一致触发break;case4:〃三档while(ucKeySec==4){P3=OxOO;}//ucKeySec=O;〃响应按键服务处理程序后,按键编号清零,避免一致触发break;}}voidT0_timeQmternipt1{TF0=0;〃清除中断标志TR0=0;//关中断key_scan();〃按键扫描函数//key_seivice();〃按键服务的应用程序/*uiTimeCnt1++;//闪烁计数if(uiTimeCnt1>=0xff){uiTimeCnt1=0x00;}uiTiineCnt2-H-;if(uiTimeCnt2>=0xff){uiTimeCnt2=0x00;}uiTiineCnt3-H-;if(uiTimeCnt3>=0xff){uiTimeCnt3=0x00;}*/TH0=0xfc;〃重装初始值(65535-500)=65035=0xfe0bTL0=0x!8;TR0=l;//开中断}voiddelay_long(unsignedmtuiDe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33012.5-2026道路车辆车辆对窄带辐射电磁能的抗扰性试验方法第5部分:混响室法
- 低标准入院避坑指南2026
- 《碎片化运动指南》解读
- 2026-2027学年第一学期中学生营养与健康科普课件:三减三健健康同行
- 2026-2027学年第一学期慢性病人群合理膳食与体重管理课件:远离垃圾食品拥抱健康生活
- 麻醉案例典型试题及完整答案
- Python竞赛必知试题及其答案
- 2026年物理教师素质测试题及答案
- 2026年哈佛目标测试题及答案
- 2026年窦文涛色盲测试题及答案
- 2026军队专业技能岗位文职人员招聘考试(油料保管员)历年参考题库含答案详解
- 1.4《七色光》 课件(内嵌视频)2026-2027学年科学五年级上册苏教版
- 2026年新高考I卷语文试卷(原卷+答案)
- 统编版2026新教材道德与法治五年级上册第一单元第一课开天辟地的大事变教学设计
- 2026年全国网络安全行业职业技能大赛(网络安全管理员赛项)考试题库(含答案)(附答案)
- 2026年云南昭通市检验检测院招聘城镇公益性岗位5人笔试试题及答案解析
- 2026中国智能家居设备消费者行为调研报告
- 视频会议系统工程实施调试方案
- 公司车辆调配管理方案
- 2026年公共基础知识考前必背题库(附答案解析)
- 《劳动经济学》教学大纲
评论
0/150
提交评论