中国地质大学长城学院2014课程设计中国地质大学长城学院本科课程设计题目:基于80C51单片机的步进电机控制系统系别信息工程系学生姓名专业电气工程及其自动化学号指导教师职称讲师2014年6月11日中国地质大学长城学院2014课程设计摘要本文研究基于51系列单片机的步进电机控制系统设计,该系统包括以下几个部分:数据采集、数据处理、终端接收,该系统以汇编语言为单片机的驱动程序语言,单片机控制步进电机,主要任务是把二进制数变成脉冲序列,按相序输入脉冲以实现电机转动方向控制,利用单片机实现对步进电机的远距离实时监控,从而达到高效、节能的控制步进电机工作的目的,该系统具有成本低、控制方便的特点。使用单片机驱动四相步进电机,控制步进电机以四相八拍的方式运行,来实现步进电机正向/反向旋转,P1.0~P1.3分别控制步进电机;P1.5~P1.7分别控制步进电机的停止、正转、反转。关键词:51单片机;步进电机;数据采集;汇编语言;中国地质大学长城学院2014课程设计目录摘要......................................................................................................................................................................01设计目的..........................................................................................................................................................12设计内容与要求...............................................................................................................................................13总体设计方案..................................................................................................................................................13.1整体方案........................................................................................................................................................13.2具体方案实现................................................................................................................................................14系统硬件设计...................................................................................................................................................24.1复位电路........................................................................................................................................................24.2晶振电路........................................................................................................................................................24.3按键电路........................................................................................................................................................34.4指示灯电路....................................................................................................................................................34.5驱动电路........................................................................................................................................................44.6步进电机........................................................................................................................................................45程序软件设计...................................................................................................................................................55.1程序流程图....................................................................................................................................................55.2源程序............................................................................................................................................................66系统调试与仿真...............................................................................................................................................77总结...................................................................................................................................................................8中国地质大学长城学院2014课程设计第1页共8页1设计目的1.掌握单片机控制步进电机的硬件接口电路。2.掌握步进电机驱动程序的设计和调试方法。3.熟悉步进电动机的工作特性。2设计内容与要求1.查阅资料,了解步进电机的工作原理。2.通过单片机给定参数控制电机转动。3.通过按钮控制正转、反转和停止。3总体设计方案3.1整体方案本系统主要是由AT89C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能3.2具体实现方案根据系统要求画出单片机控制步进电机的控制框图,见下图。系统包括单片机、按键、驱动电路和步进电机。键盘80c51单片机步进电机驱动电路中国地质大学长城学院2014课程设计第2页共8页开始通电后,步进电机停止转动,单片机分别接有按钮开关正,反,停用来控制步进电机的正转、反转和停止。当按下正后,电机正转;当按下反后,电机反转,当按下停,电机停转。4系统硬件设计本系统主要由单片机主控模块、复位电路模块、晶振电路模块、独立键盘电路模块、指示灯电路模块、驱动电路模块、步进电机模块等组成,下面将对各模块作简要介绍。4.1复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。AT89C52的复位端是一个施密特触发输入,高电平有效[3]。RST端如果由低电平上升到高电平并持续2个机器周期,系统将实现一次复位操作。此复位电路中,上电或按一下复位开关都能在RST端出现一段时间的高电平,使系统复位。如图1示。图表14.2晶振电路每个单片机系统里都有晶振,全称是叫晶体振荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步[6]。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。本次设计的晶振其输入端为芯片引脚XTAL1,其输出端为芯片引脚XTAL2。通过这两个引脚在芯片外并接12MHz晶振和两只30F的电容,这样就构成一个稳定的自激振荡器。如图2示。中国地质大学长城学院2014课程设计第3页共8页图表24.3按键电路本设计的键盘电路由3独立按键组成,如图3示。图表3功能如下:正:正转键。按下时步进电机正转。反:反转键。按下时步进电机反转。停:停止键。运行状态按下此键即停止运转。4.4指示灯电路指示灯电路包括D1、D2、D3、D4四个LED灯组成,分别串联一个分别串联一个电阻,提供稳定的电压与电流。图表4中国地质大学长城学院2014课程设计第4页共8页4.5驱动电路模块驱动电路模块包括四个非门和unl2003,通过脉冲让步进电机转动。图表54.6步进电机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。励磁顺序:A→AB→B→BC→C→CD→D→DA→A。图表6中国地质大学长城学院2014课程设计第5页共8页5程序软件设计5.1程序流程图本设计中采用了主程序调用各个子程序的方法。包括对系统初始化和对硬件设备进行初始化,并使硬件处于准备开始的状态。扫描是否有按键按下,有则跳转到相应的子程序执行,没有则循环等待。子程序采用查表法获取数值,使得单片机发出相应的脉冲驱动步进电机转动。具体程序流程图如下。开始步进电机停止扫描是否按键按下正转了吗?按下反转了吗?按下停止了吗?NN反转模块步进电机停止正转模块YYY读取表格