单片机课程设计报告
项目名称:基于单片机的步进电机控制系统 项目组成员:(1)姓名:王茹 学号: 102113 (2)姓名:郭磊 学号: 102118 (3)姓名:刘宇 学号: 102123 (4)姓名:张为杰 学号: 102133
专业班级:通信101班 日 期:2012年11月26日
目 录
第一章 绪论---------------------------------------------------------------------------2
1.1 课题简介------------------------------------------------------------------------------2 1.2 设计目的------------------------------------------------------------------------------2 1.3 设计任务------------------------------------------------------------------------------2 1.4 设计方法------------------------------------------------------------------------------3
第二章 设计内容与所用器件-------------------------------------------------------4 第三章 方案论证与比较------------------------------------------------------------5
3.1 步进电机的控制和驱动方案-------------------------------------------------------5 3.2 步进电机的选择----------------------------------------------------------------------5
第四章 硬件系统设计-----------------------------------------------------------------6
4.1 步进电机的工作方式--------------------------------------------------------------------------6 4.2 驱动芯片L298N----------------------------------------------------------------------6
4.3AT89S52单片机时钟电路-----------------------------------------------------------8 4.4AT89S52单片机复位电路-----------------------------------------------------------9 4.5系统总连接图-------------------------------------------------------------------------9
第五章 软件设计----------------------------------------------------------------------10
5.1 汇编语言和C语言的特点及选择-----------------------------------------------10 5.2 主程序流程--------------------------------------------------------------------------错
误!未定义书签。
5.3 步进电机转动原理-----------------------------------------------------------------错
误!未定义书签。
第六章 系统调试与存在的问题----------------------------------------------------12
6.1 硬件调试-----------------------------------------------------------------------------12 6.2 软件调试-----------------------------------------------------------------------------12
总 结--------------------------------------------------------------------------------错
误!未定义书签。
参考文献--------------------------------------------------------------------------------错误!未定义书签。
第 1 页 共 18 页
附录--------------------------------------------------------------------------------------14
第 2 页 共 18 页
第一章 绪论
1.1 课题简介
步进电机是一种将电脉冲转换成角位移或线位移的电磁机械装置,也是一种能把输出解析为唯一增量和输入数字脉冲对应的驱动器件。步进电机具有快速启动、停止的能力,精度高、控制方便,因此,在工业上得到了广泛应用。
单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
本课题就是充分利用了MCS-51芯片的I/O引脚。课题以采用MCS-51系列单片机AT98S52为中心器件来控制步进电机,实现了电机在不同控制下的正转、反转并停止转动。
1.2 设计目的
通过本次课题设计,应用《单片机原理及其接口技术》等所学相关知识及查阅资料,完成简易单片机控制两相四线步进电机的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
通过本次设计的训练,可以使我们在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。
1.3 设计任务
利用单片机控制一个两相四线步进电机,而且要满足如下技术指标: (1) 开始通电时,步进电机停止转动。
(2) 单片机分别接按键开关K1、K2和K3,用来控制步进电机的转向,要求如下:
当按下K1时,步进电机正转; 当按下K2时,步进电机反转; 当按下K3时,步进电机停止转动;
步进电机的工作方式采用1相激磁、1—2相激磁。
第 3 页 共 18 页
1.4 设计方法
L298N 为双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动。价格便宜、使用方便,因此我们选用此芯片来驱动步进电机。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。单片机系统的复位方式有:手动按钮复位和上电复位。手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。考虑到操作方便,我们选用手动按钮复位的方式。
单片机时钟电路是用来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟,如果运行时钟为0 的话,单片机就不工作,当然超出单片机的工作频率的时钟也会导致单片机不工作。因此我们采用目前较为常见的12MHz的晶振来构成振荡电路。
第 4 页 共 18 页