计算机控制技术课程设计论文步进电机控制系统设计

上传人:公**** 文档编号:431518821 上传时间:2023-02-03 格式:DOC 页数:23 大小:358.50KB
返回 下载 相关 举报
计算机控制技术课程设计论文步进电机控制系统设计_第1页
第1页 / 共23页
计算机控制技术课程设计论文步进电机控制系统设计_第2页
第2页 / 共23页
计算机控制技术课程设计论文步进电机控制系统设计_第3页
第3页 / 共23页
计算机控制技术课程设计论文步进电机控制系统设计_第4页
第4页 / 共23页
计算机控制技术课程设计论文步进电机控制系统设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《计算机控制技术课程设计论文步进电机控制系统设计》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计论文步进电机控制系统设计(23页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 课程名称 计算机控制技术 _题目名称_步进电机角度控制_学生学院_自动化学院_专业班级_07自动化(2班)_学 号_3107000887_学生姓名_王群_指导教师_高军礼_2010 年 6 月 27 日目录一、课程设计(论文)的内容3二、课程设计(论文)的要求与数据3三、系统元件选取3四、系统功能简介4五、系统电路与原理-4六、程序流程图6七、程序代码8八、心得与体会16广东工业大学本科生课程设计(论文)任务书题目名称步进电机控制系统设计学 院自动化学院专业班级自动化07级2 班姓 名王群学 号3107000887一、课程设计(论文)的内容原理性设计一个基于单片机(微机)组成的

2、步进电机控制系统。通过课程设计掌握键盘、显示、步进电机控制等内容。二、课程设计(论文)的要求与数据(1) 设计键盘和显示电路,要求通过按键实现步进电机旋转角度和旋转方向的设置、电机启动/停止的按键控制、显示电路显示步进电机的运动状态。(2) 自行确定步进电机型号,设计其相应的驱动电路(可采用驱动芯片或分离元件实现)。(3) 掌握步进电机的工作原理及其速度和方向的控制。(4) 微处理器可以采用8086,C51,AVR等。三、系统元件选取1、键盘选用4*4(数量一个)功能如下:0123456789正转反转启动停止清零设置2、 步进电机的选取(数量一个)步进电机:选用四相、齿距角为7.2的步进电机。

3、选取步进电机(28BJY-48)3、步进电机驱动芯片(数量一个)芯片选择:80C51,步进电机驱动芯片ULN2003A,LCD选择LM016L。四、系统功能简介LCD显示屏上可以显示转动次数,转动角度,转动方向。在一开始就可以进行键盘扫描,然后可以进行参数设置,具体是,将要设置的转动方向,转动次数,转动角度都输入进去,按下设置键,接着再按下启动键,电机就会开始转动,中途按下停止键的话,电机会停止转动。同时还可以进行清零操作,方便连续设置。五、系统电路与原理LCD显示模块可以显示出转动方向,次数和度数(1) 步进电机驱动模块:选用ULN2003A作为步进电机的驱动芯片。由于ULN2003A具有反

4、相功能,因此单片机P1口输出的步进电机驱动信号应该为反相的驱动信号。通过改变输出驱动信号的顺序,可改变步进电机的运转方向;通过改变驱动信号间延时的长短,可改变步进电机的转速。(2) 阵列键盘模块:利用单片机P2口的第四位作为键盘的行选信号,P2口的高四位作为键盘的列选信号,有键按下时,先判断哪个键被按下,然后执行相应的键功能。六、程序流程图七、程序代码1#include#include#define uint unsigned int#define uchar unsigned charunsigned char code F_Rotation8=0x40,0x60,0x20,0x30,0x1

5、0,0x18,0x08,0x48;/正转参数unsigned char code R_Rotation8=0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40;/反转参数unsigned char code table10 = 0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09;unsigned int code shuzi5=0x00,0x00,0x00,0x00,0x00;unsigned int a=0;unsigned int b=0;unsigned int c=0;unsigned int

6、d=0;unsigned int e=0;unsigned int f=0;sbit E=P27;/LCD使能引脚sbit RW=P26;/LCD读写引脚sbit RS=P25;/LCD数据/命令选择引脚void Delay_1ms(uint i)/1ms延时uchar x,j;for(j=0;ji;j+)for(x=0;x=148;x+);void Delay(uint i)/步进每一拍的延时 while(-i);void Delay1(uint del)/10ms的延时uint i,j;for(i=0; idel; i+)for(j=0; j1827; j+) ;void delay()i

7、nt i,j;for(i=0; i=10; i+)for(j=0; j=2; j+);/*功能 : 因为电路设计时,P0.0-P0.7接法刚好了资料中的相反,所以设计该函数。*/uchar Convert(uchar In_Date) uchar i, Out_Date = 0, temp = 0; for(i=0; i i) & 0x01; Out_Date |= (temp (7 - i); return Out_Date;/*功能 :LCD命令函数*/void enable(uchar del)P0 = Convert(del);RS = 0;RW = 0;E = 0;delay();E

8、 = 1;delay();/*功能 : LCD写数据函数*/void write(uchar del)P0 = Convert(del);RS = 1;RW = 0;E = 0;delay();E = 1;delay();/*功能 :LCD初始化*/void L1602_init(void)enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);/*功能 : 改变液晶中某位的值,如果要让第一行,第五个字符显示b ,调用该函数如下 L1602_char(1,5,b)*/void L1602_char(uchar hang,

9、uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;enable(a);write(sign);/*功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示ab cd ef ,调用该函数如下 L1602_string(1,5,ab cd ef;)*/void L1602_string(uchar hang,uchar lie,uchar *p)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;enable(a);while(1)if(*p = 0) break;write(*p);p+;/*功能 : 实现按键的读取。下面这个子程序是按处理 矩阵键盘 的基本方法处理的。*/uchar Keyscan(void)uchar i,j, temp, Buffer4 = 0xef, 0xdf, 0xbf, 0x7f;for(j=0; j4; j+)P1 = Bufferj;/*以下三个_nop_();作用为让 P1 口的状态稳定*/_nop_();_nop_();_nop_();temp = 0x01;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号