计算机控制技术课程论文3000字,计算机控制技术课程设计(论文)步进电机控制系统设计...

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

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

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

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

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

5、char code 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;un。

6、signed int 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) & 0x01;Out_Date |= (temp =1;)for(j=0;j=1;)for(l=0;lr;l+)for(k=0;k8;k+) /4相P3=R_Rotationk; /输出对应的相 可以自行。

7、换成反转表格P1 = 0xf0;if(P1 != 0xf0)Delay_1ms(15);/按键消抖if(P1 != 0xf0)h = Keyscan();Delay(300);if(h=13)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 Ma。

8、in(void)uchar Key_Value=17;uint g,s;uint m;/读出的键值L1602_init();L1602_string(1,1,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);。

9、Key_Value=17;if(Key_Value=2)m=Key_Value;yiwei(m);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_Va。

10、lue=17;if(Key_Value=8)m=Key_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。

11、(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); 八、心得与体会这次的课程设计给我的感触很深,首先是面对这次的题目,跟之前做的一个课程设计类似,不过这次的算是升级版,功能要求丰富一些。同时这次的课程设计也是我第一次接触LCD显示器(指用LCD显示管做系统设计),之前没有用过,对自己来说算是一点小挑战吧,其次这次也用了自己不是很熟的C语言来编写程序代码,考虑到时间算比较充裕的原因,觉得有必要在C语言方面提升一下自己相关方面的能力,当然结果当然是肯定的。第三,此次课程设计和以往不同,大家的题目大部分都不一样,互相讨论的比较少,更要求我们的独立编程能力。第四,这次的课程设计里可以有一个要求,是我们可以进行仿真,对此,为了达到这一要求,我们不得不学习其中相关的仿真软件(Proteus),算是硬逼着自己学习,但结果总是好的。Xiexie。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值