




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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口的高四位作为键盘的列选信号,有键按下时,先判断哪个键被按下,然后执行相应的键功能。六、程序流程图七、程序代码24 / 24#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charunsigned char code
5、F_Rotation8=0x40,0x60,0x20,0x30,0x10,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
6、 b=0;unsigned int c=0;unsigned int 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;j<i;j+)for(x=0;x<=148;x+);void Delay(uint i)/步进每一拍的延时 while(-i);void Delay1(uint del)/10ms的延时uint i,j;for(i=0;
7、i<del; i+)for(j=0; j<1827; j+) ;void delay()int 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<8; i+) temp = (In_Date >> i) & 0x01; Out_Date |= (temp << (7
8、 - i); return Out_Date;/*功能 :LCD命令函数*/void enable(uchar del)P0 = Convert(del);RS = 0;RW = 0;E = 0;delay();E = 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(0
9、x06);enable(0xd0);/*功能 : 改变液晶中某位的值,如果要让第一行,第五个字符显示"b" ,调用该函数如下 L1602_char(1,5,'b')*/void L1602_char(uchar hang,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" ,调用该函数
10、如下 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, Buf
11、fer4 = 0xef, 0xdf, 0xbf, 0x7f;for(j=0; j<4; j+)P1 = Bufferj;/*以下三个_nop_();作用为让 P1 口的状态稳定*/_nop_();_nop_();_nop_();temp = 0x01; for(i=0; i<4; i+)if(!(P1 & temp) return (i+j*4);temp <<= 1;/*移位程序*/void yiwei(uint h)b=c;c=d;d=e;e=h;/*正转*/void zhengzhuan(uint t) unsigned int i,j,y; for(;b
12、>=1;) for(j=0;j<t;j+) for(i=0;i<8;i+) /4相 P3=F_Rotationi; /输出对应的相 可以自行换成反转表格 P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(P1 != 0xf0)y = Keyscan();Delay(300); if(y=13) i=8;j=t;b=0; Delay(200); /改变这个参数可以调整电机转速 b=b-1; L1602_char(2,6,b% 10 + 48); P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(
13、P1 != 0xf0)y = Keyscan();Delay(200); if(y=13) i=8;j=t;b=0; Delay1(30); /*反转*/void fanzhuan(uint r) unsigned int k,l,h; for(;b>=1;) for(l=0;l<r;l+) for(k=0;k<8;k+) /4相 P3=R_Rotationk; /输出对应的相 可以自行换成反转表格 P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(P1 != 0xf0)h = Keyscan();Delay(300); if(h=1
14、3) k=8;l=r;b=0; Delay(200); /改变这个参数可以调整电机转速 b=b-1; L1602_char(2,6,b% 10 + 48); P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(P1 != 0xf0)h = Keyscan();Delay(200); if(h=13) k=8;l=r;b=0; Delay1(30); /*功能 : 主函数*/void Main(void) uchar Key_Value=17;uint g,s; uint m;/读出的键值L1602_init();L1602_string(1,1,&quo
15、t;dir tim baishige");L1602_string(2,1,"");while(1)P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(P1 != 0xf0)Key_Value = Keyscan();Delay1(100); if(Key_Value=0) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=1) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=2) m=Key_Value; yiwei(m)
16、; Key_Value=17; if(Key_Value=3) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=4) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=5) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=6) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=7) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=8) m=K
17、ey_Value; yiwei(m); Key_Value=17; if(Key_Value=9) m=Key_Value; yiwei(m); Key_Value=17; if(Key_Value=10) m=Key_Value; a=m+12; Key_Value=17; if(Key_Value=11) m=Key_Value; a=m+23; Key_Value=17; if(Key_Value=12) if(a=22) zhengzhuan(s); else fanzhuan(s); Key_Value=17; if(Key_Value=13) Key_Value=17; if(Key_Value=14) a=0; b=0; c=0; d=0; e=0; if(Key_Value=15) g=c*100+d*10+e; s=g/0.703125; Key_Value=17; L1602_char(2,2,a+ 48); L1602_char(2,6,b% 10 + 48); L1602_char(2,10,c% 10 + 48); L1602_char(2,13,d% 10 + 48); L1602_char(2,16,e% 10 + 48); 八、心得与体会这次的课程设计给我的感触很深,首先是面对这次的题目,跟之前做的一个课程设计类似,不过这次的算是升级版,功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 及时纠错的营养师考试试题与答案
- 营养师学习交流平台试题及答案
- 《阿q正传》的读后感
- 线下抽考题大全及答案
- 物业入职培训考题及答案
- 吉林省白城市大安市2023-2024学年中考数学适应性模拟试题含解析
- 食品中专考试题及答案
- 长江工程职业技术学院《三维特效动力学》2023-2024学年第二学期期末试卷
- 广东药科大学《数字出版设计》2023-2024学年第一学期期末试卷
- 陕西国际商贸学院《流体输配管网》2023-2024学年第二学期期末试卷
- 中小学综合实践活动课程指导纲要
- 清淤工程施工记录表
- 黄河上游历史大洪水市公开课金奖市赛课一等奖课件
- 罗马帝国衰亡史pdf罗马帝国衰亡史史
- 北师大版生物七年级下册12.2感受器与感觉器官(第1课时)导学案(无答案)
- 2022新冠疫苗疑似预防接种异常反应监测和处置方案
- 最新露天矿山安全培训课件(经典)
- 环境学概论 考验知识点归纳刘陪同
- 贵阳市重点学科
- 室内设计施工图详细说明及制图规范说明ppt(智囊书屋)
- 电磁学第三版赵凯华答案
评论
0/150
提交评论