




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种领域中,它是电脉冲信号进行控制的,将电脉冲信号转化成相应的角转移或线转移的微电动机。它最突出的优点是在宽广的频率范围内通过改变脉冲信号来进行调速,快速启停、正反转控制及制动等,并且其开环系统既简单、廉价,又可行,因此在办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机的发展,步进电机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。本课程设计介绍了四相五线步进电机及单片机的工作原理,利用MCS-51系列单片机和无线发送接收模块设计一个步进电机无线控制系统,用c语言编写出实现电机的起停控制、正反转控制和给定转速控制的程序源代码,通过单片机,电机的驱动芯片L298以及相应的红外线遥控按键实现以上功能。关键词:步进电机;电脉冲信号;单片机;L298;红外线遥控目 录1前 言11.1步进电机简介21.2步进电机工作原理21.3红外线控制原理41.4课程设计任务51.5课程设计目的51.6课程设计要求52系统总体设计方案62.1 步进电机设计方框图62.2 驱动控制系统组成62.3 信号分配72.4 控制步进电机的速度83 硬件设计93.1 AT89S52 介绍93.2单片机小系统原理图103.3驱动电路设计103.4 红外线接收发射电路113.5遥控器设计124 软件设计及调试134.1 系统工作流程135 系统联调及操作说明145.1 软件介绍145.2 keil软件介绍155.3 仿真与调试155.4 硬件接线及调试165.5实例调试结果和分析186 总 结19参考文献.20附录1 21附录2351、前 言1.1步进电机简介步进电机最早是在1920年由英国人所开发的,1950年后期晶体管的发明也逐渐应用在步进电机上,这使数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。如今,步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。1.2步进电机工作原理表1.1步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 由此可见:电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m(m-1)/m,1。并且导电按一定的相序,电机就能正反转被控制这是步进电机旋转的物理条件。只要符合这一条件,我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运动方式即A-AB-B-BC-C-CD-D-DA-A.注:2相励磁通过的电流是1相励磁时通过电流的2倍,转矩也是1相励磁的2倍。此时电机的振动较小且应答频率升高,目前仍广泛使用此种方式。四相四拍如下(1相激磁):表1.1序号代码ABCD10xf8100020xf4010030xf2001040xf10001四相四拍如下(2相激磁):表1.2序号代码ABCD10xfc110020xf6011030xf3001140xf91001四相八拍如下(1-2相激磁):表1.3序号代码ABCD10xf8100020xfc110030xf4010040Xf6011050xf2001060xf3001170xf1000180xf910011.3红外线控制原理 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点。因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 当发射器按键按下后,即有遥控编码发出,所按的键不同遥控编码也不同。这种遥控编码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。 一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。1.4课程设计任务:利用MCS-51系列单片机和无线发送接收模块设计步进电机控制电路,能实现步进电机的无线控制,步进电机能实现起停控制、正反转控制和给定转速控制。1.5课程设计目的1)了解单片机软件编程和调试能力,为以后的学习和开发工作打下强劲基础; 2)掌握步进电机的工作原理和工作方式;3)掌握红外线接收、发射模块的使用,以及工作原理和解码方法。1.6课程设计要求1)进行方案论证,说明控制系统的工作原理;2)设计控制系统的硬件电路,给出电路原理图和元器件清单;3)给出软件流程图并编写程序源代码;4)完成系统的调试,给出调试结果并分析;5)撰写符合要求的程序设计说明书程图。2系统总体设计方案2.1 步进电机设计方框图单片机小系统遥控器驱动电路步进电机红外线接收电路图2.1本系统是用单片机软件程序来产生脉冲分配信号,即把数字控制计数的高精度等方面的优势有效地应用于步进电机控制系统,同时本系统设计的步进电机控制器硬件电路十分简单,成本低,使用方便。本电路包括发射电路,控制电路,驱动电路等。2.2 驱动控制系统组成 使用控制步进电机必须由环形脉冲,驱动电路组成的控制系统,其方框图2.2如下: 脉冲信号信号分配功率放大步进电机负载图2.2 控制系统组成图功率放大电路方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单、成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中,可靠性是一个非常重要的方面。因此,此方案不宜采用。功率放大电路方案二:采用专用的电机驱动芯片,例如L298N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠性,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。综上所述,本设计选择方案二。2.3 信号分配四相电机工作方式有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为AB-B-BC-C-CD-D-AB(步距角为0.9度,这里我们用的正反转都是四相八拍的,即1-2激磁),1-2激磁正反转如表2.3。表2.3序号代码ABCD10xf8100020xfc110030xf4010040Xf6011050xf2001060xf3001170xf1000180xf91001(18表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲)。2.4 控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。具体实现用延时时间的长短来决定。延时时间有两种方案方案一:采用消耗指令的方法达到延时的效果,此方案不仅占用大量的CPU空间,降低了单片机的使用效率而且延时时间不易计算。方案二:采用定时的方法,采用定时器延时的方法可以比较精确的控制延时的时间,延时方式可以选则工作方式0、工作方式1和工作方式2.本设计采用定时器工作方式2,即具有自动填充功能。3 硬件设计3.1 AT89S52 介绍AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8k在系统可编程 Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。图3.1芯片AT89S523.2单片机小系统原理图单片机小系统原理图有晶振、复位电路组成。复位电路中电容C4和电阻R4组成上电复位电路,当上电时,电容充电R4端有高电平,单片机复位。按下复位按钮R5和R4形成回路,单片机复位脚高电平复位。晶振电路给单片机的正常工作提供时序。图3.2 单片机最小系统3.3驱动电路设计驱动电路由L298、7805、1N4007、VCC、GND组成。L298内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。所以,L298有很强的驱动能力,通过该驱动电路可以很好的驱动4相8拍电机正常运转,驱动电路中含有稳压芯片7805。由于7805有内部电流的限制以及过热保护和安全工作区的保护,使它基本上不会损坏。如果散热条件良好它能提供大于1.5A的电流,在接入外部器件后就能获得各种不同的电压。本设计中采用的7805将12V的输入电压稳压成5V输出,能够给单片机小系统和其他芯片提供稳定的直流电压。图3.3驱动电路3.4 红外线接收、发射电路图3.4 红外线接收发射电路红外线接收模块由VS838集成芯片构成,接收头接收到信号,数据端电平升高,三极管9014的工作状态为放大,输出有高电平转为低电平,从而使单片机可以采集到遥控器发送的数据。3.5遥控器设计图3.5当遥控器按了正转/反转键后红外线接收头收到信号,然后传输给单片机,再由单片机控制步进电机正转/反转,若没有设置速度默认速度为150转/分钟。当设置键按下,步进电机停止旋转,此时可人为设置转速,转速由三位数组成,当设置完速度后按确认键确认设置,然后再按正转/反转步进电机将按照设置的速度旋转。4 软件设计及调试4.1 系统工作流程开始初始化正转/反转/设置键按下?YN正转键按下反转键按下设置键按下给P2口送正转码给P2口送反转码转速设置反转/设置?正转/设置?YNNY设置完毕?NY确认键?YN图4.1主程序流程图5 系统联调及操作说明5.1 软件介绍PROTEUS 是单片机课堂教学的先进助手。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。 使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。5.2 keil软件介绍Keil是德国知名软件公司keil(现已并入RAM公司)开发的微控制器软件开发平台,是目前RAM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开放方案,通过一个集成开发环境将这些部分组合在一起,界面友好,易学易懂,在调试程序,软件仿真方面也有很强大的功能。因此,很多工程师十分喜欢它。 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.3 仿真与调试1)在Proteus软件中绘制出硬件电路图。根据系统设计要求,选择元器件,设计出硬件电路图。2)编写系统程序。根据系统要求,画流程图。在keil中编程,过程中先将各模块搞好,分别调试各模块,调试好后,编写主程序,将各系统结合,使成为系统软件。各模块调试后,在调试主程序,看是否能实现系统功能。3)硬件和软件电路的联合模拟调试在Proteus软件中进行。先将编译好的HEX文件加载到89S52中,在运行硬件电路,如能运行,使用按键进行模拟和清零实验,若没达到要求,进行相应修改,直到符合要求。5.4 硬件接线及调试设置速度为每分钟30转时P2.0的波形如图5.1所示图5.1设置速度为每分钟100转时P2.0的波形如图5.2所示图5.2设置速度为每分钟150转时P2.0的波形如图5.3所示 图5.3设置速度为每分钟200转时P2.0的波形如图5.4所示图5.45.5实例调试结果和分析 根据我们的设计方案,我们做出步进电机遥控系统的实物,并在实验室进行测试,根据实验现象分析出以下结果:上电后,在遥控器上按正转键,步进电机实现正转;上电后,在遥控器上按反转键,步进电机实现反转;在步进电机运转时,在遥控器上按停止键,步进电机立即停止运转;上电后,先在遥控器上按设置键进行设置,在按三位有效的数字键,给定步进电机速度,然后按确认键键确认,最后按正转反转键,则步进电机按指定的速度实现正转反转。分析:该系统通过89S52单片机控制步进电机运转情况,可靠性高,在步进电机运行时能够方便设定步进电机的启停、转速和方向,使系统能够应用于恶劣环境中,保证人员安全,适用范围较广,且电路简单,成本较低,控制方便,移植性强,实用价值高。6 总 结本次课程设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。身为电气工程系的学生,设计是我们将来必须的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识的平台。因为这次课程设计需要动脑动手,把自己课堂上学到的软件和硬件知识全部应用进来。要想完成好这次课程设计,首先要弄懂步进电机的工作原理,与外部电路的连接,单片机原理,汇编语言等。这其中有以前课堂上学过的也有需要我们自学研究的,这不仅考察了自己原来的知识程度还加强了我们独立获取知识并加以运用的能力。这次课程设计我不仅学到了很多的知识,还制作了自己的东西,使自己很有成就感。这是我第一次课程设计也是我最深刻的一次,因为是五人一组团队完成,使我体会到了分工合作的力量与重要性。虽然电机部分我没有花太多的精力,但通过合理分工,我们仍然按时完成了指定任务,并且通过相互帮助相互指点,使我们对彼此负责的那部分任务都有了更好的了解和掌握。通过这次实验,我对步进电机的了解扩宽了,对单片机和外围电路的认识也更为清晰了,这为我以后工作提供了坚实的基础。在摸索改如何设计电路使之实现所需功能的过程中还培养了我的设计思维,增加了实际动手能力,让我体会到了设计电路的艰辛的同时,更让我体会到了成功的喜悦。两个星期很快过去了,看着自己的劳动成果,心里满是欣慰。最后,感谢老师和同学们的悉心指导和帮助。参考文献1李广弟等.单片机基础M.北京航空航天出版社,2001.2王东峰等.单片机C语言应用100例M.电子工业出版社,2009.3陈海宴.51单片机原理及应用M.北京航空航天大学出版社,2010.4刘守义等.单片机技术基础M.西安电子科技大学出版社,2007.5李平等.单片机入门与开发M.机械工业出版社,2008.附 录1程序源代码:#include#define uchar unsigned charuchar key1=0,key2=0,key3=0,key4=0,key5=0,key6=0,key7=0,key8=0, key9=0,key0=0,key10=0,key11=0,key12=0,key13=0,key14=0;uchar irtime,m,aa,bb,cc,tt=0,t=0,n=0;uchar IRcord4;uchar irdata33;uchar table=0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9;uchar table1=0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8;int date1=150;sbit IR=P32; bit irpro_ok,irok;void Ir_work();void Ircordpro();void timer0() interrupt 1 irtime+; void timer1() interrupt 3t+;if(t=600/date1)t=0;n=1;void into0() interrupt 0 static uchar i; static bit startflag; if(startflag) if(irtime=33) i=0; irdatai=irtime; irtime=0; i+; if(i=33) irok=1; i=0; if(key13=1)tt+;P1=tt; elseirtime=0;startflag=1;void init() EA = 1; ET0=1; ET1=1; TR0=1; TR1=1; IT0 = 1; EX0 = 1; TMOD=0x22; TH0=0x00; TL0=0x00; TH1=0x06; TL1=0x06; void Ir_work() switch(IRcord2) case 0x0d: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=1;key10=0;key11=0; key12=0;key14=0;break;case 0x00: key1=1;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break; case 0x01: key1=0;key2=1;key3=0;key4=0;key5=0; key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break; case 0x02: key1=0;key2=0;key3=1;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x04: key1=0;key2=0;key3=0;key4=1;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0; key12=0;key14=0;break;case 0x05: key1=0;key2=0;key3=0;key4=0;key5=1;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x06: key1=0;key2=0;key3=0;key4=0;key5=0;key6=1;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x08: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=1;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x09: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=1;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x0a: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=1;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x0c: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=1;key11=0;key12=0;key14=0;break;case 0x0e: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=1;key12=0;key14=0;break;case 0x10: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=1;key14=0;break;case 0x11: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0; key12=0;key13=1;key14=0;break;case 0x12: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=1;break; default:break; irpro_ok=0; void Ir_work1()switch(IRcord2)case 0x0c: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=1;key11=0;key12=0;key14=0;break; case 0x0e: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=1;key12=0;key14=0;break;case 0x10: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=1;key14=0;break;case 0x11: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key13=1;key14=0;break;case 0x12: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=1;break; default:break;void Ircordpro() uchar i, j, k; uchar cord,value; k=1; for(i=0;i4;i+) for(j=1;j7) value=value|0x80; else value=value; if(j1; k+; IRcordi=value; value=0; irpro_ok=1; void main() init(); while(1) if(irok) Ircordpro(); irok=0; if(irpro_ok) Ir_work1(); while(key10=1)&(!irok)P2=tablem;while(n=0);n=0;m+;if(m=8)m=0;while(key11=1)&(!irok)P2=table1m; while(n=0);n=0; m+;if(m=8)m=0;while(key13=1)&(tt4)if(irok=1)&(tt=1)if(irok) Ircordpro(); irok=0; if(irpro_ok) Ir_work(); if(key0=1)aa=0;if(key1=1)aa=1;if(key2=1)aa=2;if(key3=1)aa=3;if(key4=1)aa=4;if(key5=1)aa=5;if(key6=1)aa=6;if(key7=1)aa=7;if(key8=1)aa=8;if(key9=1)aa=9; if(irok=1)&(tt=2)if(irok) Ircordpro(); irok=0; if(irpro_ok) Ir_work(); if(key0=1)bb=0;if(key1=1)bb=1;if(key2=1)bb=2;if(key3=1)bb=3;if(key4=1)bb=4;if(key5=1)bb=5;if(key6=1)bb=6;if(key7=1)bb=7;if(key8=1)bb=8;if(key9=1)bb=9; if(irok=1)&(tt=3)if(irok) Ircordpro(); irok=0; if(irpro_ok) Ir_work(); if(key0=1)cc=0; if(key1=1)cc=1; if(key2=1)cc=2; if(key3=1)cc=3; if(key4=1)cc=4; if(key5=1)cc=5; if(key6=1)cc=6; if(key7=1)cc=7; if(key8=1)cc=8; if(key9=1)cc=9; key13=0; tt=0; date1=(aa*100+bb*10+cc);while(key12=0)P1=0x00;if(irok) Ircordpro(); irok=0; if(irpro_ok) Ir_work(); P1=0xff; 附录2主要元件清单元件数量备注步进电机驱动模块1模块电路单片机最小系统模块1模块电路四相五线步进电机1遥控器1模块电路红外线接受电路1模块电路电气工程系课程设计评分表项 目评 价设计方案的合理性与创造性开发板焊接及其调试完成情况硬件设计或软件编程完成情况*硬件测试及软件调试结果*设计说明书质量设计图纸质量答辩汇报的条理性和独特见解答辩中对所提问题的回答情况完成任务情况独立工作能力组织纪律性(出勤率)综合评分 指导教师签名:_ 日 期:_ 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辅警调解业务知识培训课件
- 中国银行2025六盘水市秋招面试典型题目及参考答案
- 交通银行2025武汉市笔试英文行测高频题含答案
- 中国银行2025保山市结构化面试15问及话术
- 2025年3D打印技术的个性化定制优势
- 2025海洋塑料污染的源头控制
- 2025行业数字化转型挑战与对策-1
- 2025应急管理行业创新发展报告
- 邮储银行2025黄山市秋招半结构化面试题库及参考答案
- 交通银行2025威海市数据分析师笔试题及答案
- 曲臂高空作业车施工方案
- 病人陪护考试题及答案
- 中医失眠治疗
- 2025年农业经济管理基础知识试卷及答案
- 2024年重庆万州公开招聘社区工作者考试试题答案解析
- 果树中级工试题及答案
- 2025-2030中国纳米薄膜市场未来发展战略与需求潜力调查研究报告
- 书写材料对书法创作的影响分析
- 2025专营销售代理合同范本
- 临床护理不良事件案例2025
- 儿科规培入科教育
评论
0/150
提交评论