资源描述:
《51单片机实训实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课设实习报告题目:步进电机姓名:杨帅班级:3100303专业:机电一体化学号:23号一、目的设计一个可以用单片机控制的步进电机正反转。二、内容1、单片机采用AT89C51。2、步进电机。3、要求电路设计合理,系统功能可靠、稳定。三、功能介绍按下开始按钮后,步进电机正转后自动反转。四、步进电机的工作原理步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电
2、控制脉冲必须严格按照一定顺序分别控制各相的通断。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。五、硬件结构图六、硬件电路图七、程序流程图八、程序编程#include#defineTIME0H0xfc#
3、defineTIME0L0xff//定时器0溢出时间:1ms//*************************************************************************************************//**//*******************************全局变量**********************************//**//******************************************************
4、*******************************************unsignedcharuc_StepSelect=0;//励磁电流选择序号。unsignedintui_ChangeCount=0;//改变励磁电流,定时器计数。unsignedcharuca_MotorStep[]={0x03,0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03,0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03};//励磁电流数组。//*************
5、************************************************************************************//**//*********************************主函数*******************************//**//*************************************************************************************************void
6、main(){TMOD=0x01;TH0=TIME0H;TL0=TIME0L;TR0=1;ET0=1;EA=1;while(1);}//*************************************************************************************************//**//*******************************定时器0,用于电机励磁*******************//**//**************************
7、***********************************************************************voidvTimer0()interrupt1{if(ui_ChangeCount==500)//可通过此句改变速度。{P1=uca_MotorStep[uc_StepSelect];if(uc_StepSelect<16)uc_StepSelect++;elseuc_StepSelect=0;ui_ChangeCount=0;}elseui_ChangeCount++;TH0=TI
8、ME0H;TL0=TIME0L;}九、课后感想第一步:了解该系统用到的硬件的功能和是如何应用的;第二步:确定系统所要实现的功能;第三步:根据第一步对硬件的了解就可以画出硬件电路图;第四步:分析系统功能实现的方法再将其模块化;第五步:根据硬件电路图和系统所要实现的功能设计各模块的流程图;第六步:根据各模块