预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计报告一、课程设计的性质和目的通过课程设计,进行硬软件设计的方法和技能训练,巩固在课堂上学到的有关硬件电路设计和相应程序设计的基本知识和基本方法,通过具体课题的训练,达到能独立阅读、查阅资料、软硬件设计和调试完善特定功能的目的。二、课程设计的要求1、遵循硬件设计模块化。2、要求通过自制PCB板、或万能板、或面包板设计实物。3、程序设计结构化。4、要求程序结构合理,程序简明易懂,有必要的注释。三、主要仪器设备及软件PC机、Keil软件、、ALTIUMDESINGERS09(PROTEL99)、Proteus绘图软件及仿真等。四、课程设计题目及要求见具体课题(有课题老师与选题学生共同商定)地点:信息工程学院实验室(有教师协调安排)元器件领用:由指导教师签字在行政楼301领取时间安排:每天集中半天的辅导(具体师生协商安排)五、课题分析及设计思路硬软件设计思路基于单片机的步进电机控制,可以通过四个按键分别实现开始/停止,正传/反转,全速前进和单步前进。通过外部中断来控制开始/停止按键可实时响应按键的输入。由两个LED分别指示程序的运行状态,可以方便进行操作。eq\o\ac(○,1)硬件设计框图总体硬件电路图如下所示:eq\o\ac(○,2)硬件设计电路图(按模块设计)1.单片机最小系统AT89C51为8位通用微处理器,主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义。5l系列单片机提供以下功能:4kB存储器;256BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。2.电机模块步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1—2相励磁。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,步进电动机即可连续转动。本设计选择半步励磁(1—2相励磁):1—2相励磁法为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信号可走9度。若以1—2相励磁法控制步进电动机正转,其励磁顺序如下所示(若励磁信号反向传送,则步进电动机反转):励磁顺序:A—AB—B—BC—C—CD—D—DA驱动电路如下:其中:1B,2B,3B,4B分别与P10,P11.P12,P13相连接。步进电机时序表:3.按键模块通过四个按键分别实现对步进电机的不同功能的实现,电路图如下:开始/停止和方向按键分别通过连接单片机的P3.3,P3.2,用外部中断的方式对其处理,可快速准确的相应中断,以实现对电机的控制。4.LED模块通过两个LED分别指示开始/停止(D1),正/反转(D2)。电路图如下:软件设计思路eq\o\ac(○,1)软件功能规划软件部分整体功能由开始/停止键控制,只有当开始/停止键按下,LED1(D1)亮时,才能控制步进电机的转动。D1点亮后,由LED2(D2)的亮灭来指示电机的正反转,当D2灯亮时,电机正转,D2灭时,电机反转。当电机全速运行时,可通过开始/停止键和方向键控制电机停止转动。重新按下按键时,电机正常运行。eq\o\ac(○,2)软件流程图如下:六、程序主要代码与分析(关键代码要有注释):#include<reg51.h>//51芯片管脚定义头文件#include<intrins.h>//内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//正转电机编码ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//反转电机编码sbitK1=P3^0;//全速sbitK2=P3^1;//单步sbitK3=P3^2;//正/反转sbitK4=P3^3;//开始/停止sbitled1=P0^0;//指示灯,表示开始/停止状态sbitled2=P0^2;/