单片机实验报告步进电机控制系统.doc

上传人:wj 文档编号:8779326 上传时间:2023-05-14 格式:DOC 页数:6 大小:96KB
下载 相关 举报
单片机实验报告步进电机控制系统.doc_第1页
第1页 / 共6页
单片机实验报告步进电机控制系统.doc_第2页
第2页 / 共6页
单片机实验报告步进电机控制系统.doc_第3页
第3页 / 共6页
单片机实验报告步进电机控制系统.doc_第4页
第4页 / 共6页
单片机实验报告步进电机控制系统.doc_第5页
第5页 / 共6页
单片机实验报告步进电机控制系统.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机实验报告步进电机控制系统.doc

《单片机实验报告步进电机控制系统.doc》由会员分享,可在线阅读,更多相关《单片机实验报告步进电机控制系统.doc(6页珍藏版)》请在冰点文库上搜索。

单片机实验报告步进电机控制系统.doc

信息科学与技术学院

单片机及嵌入式课程设计

设计题目:

步进电机控制系统

指导老师:

林凡强

姓名:

学号:

班级:

二零一二年6月

1.实验要求:

(1)正反转

(2)调速

(3)键盘输入

(4)数码管显示

2.设计要求:

(1)、按下不同的键,分别使步进电机实现顺时针和逆时针旋转。

(2)、电机运转状态可以是正反转,加速减速,几种不同速度的组合。

3、设计目的:

(1)学习基本电机系统程序编写等

(2)掌握电机的控制方法等

4、设计实验设备

硬件:

PC机     一台

     自制单片机实验仪 一套

其他小工具等

软件:

 Windows98/XP/2000系统,keil7.0集成开发环境

5、程序:

#include"reg51.h"

#defineuintunsignedint

//#definedelay_ms5 //延时

sbitW=P3^6;

sbitR=P3^7;

sbitSEND=P3^0;

sbitCLOCK=P3^1;

intdelay_ms=30;

sbitbu1=P1^4;

sbitbu2=P1^5;

sbitbu3=P1^6;

sbitbu4=P1^7;

uintflag=0;

unsignedinttable[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0xff};

uinth=0;

voiddelay(uintn) //延时程序

{

uinti,j;

for(i=0;i<100;i++)

for(j=0;j

}

voidzhengzhuan() //正转

{

bu1=~bu1;

delay(delay_ms);

bu1=~bu1;

bu2=~bu2;

delay(delay_ms);

bu2=~bu2;

bu3=~bu3;

delay(delay_ms);

bu3=~bu3;

bu4=~bu4;

delay(delay_ms);

bu1=~bu1;

}

voidfanzhuan() //反转

{

bu4=~bu4;

delay(delay_ms);

bu4=~bu4;

bu3=~bu3;

delay(delay_ms);

bu3=~bu3;

bu2=~bu2;

delay(delay_ms);

bu2=~bu2;

bu1=~bu1;

delay(delay_ms);

bu1=~bu1;

}

voidsenddata(unsignedintdat) //发送数据程序

{

unsignedinti=0;

for(;i<8;i++)

{

CLOCK=0;

SEND=dat>>i&1;

;

CLOCK=~CLOCK;

}

}

uintsaomiao() //键盘扫描程序

{

uinti,j,k1,k2=0x01,n;

uintA[]={0xfe,0xfd,0xfb,0xf7};

for(i=0;i<4;i++)

{

k2=0x01;

W=0;

P2=0x60;

P0=A[i];

delay

(1);

W=1;

P2=0xA0;

W=0;

// k1=P0&0x0f;

// if(k1!

=0x0f)

// {

for(j=0;j<4;j++)

{

n=P0&0x0F;

if(!

(n&k2))

{

return(4*i+j);

}

k2<<=1;

}

// }

}

delay(100);

return(10) ;

}

voidmain()

{

uintm,r;

// W=0;

// P2=0x60;

// P0=0x00;

// ;

// W=1; //锁存P0口输出数据

// P2=0xA0;

// W=0;

while

(1)

{

W=0;

P2=0x60;

P0=0xf0;

W=1; //锁存P0口输出数据

P2=0xA0;

W=0;

m=P0&0x0F;

if(m!

=0x0f)

{

delay(50);

m=P0&0x0f;

if(m!

=0x0f)

{

// flag=!

flag;

// switch(flag)

// {

// case0:

zhengzhuan();

// break;

// case1:

fanzhuan();

// break;

// default:

;

// }

h=saomiao();

senddata(table[h]);

}

}

r=h;

if(r==1)

{

zhengzhuan();

}

if(r==2)

{

fanzhuan();

}

if(r==5)

{delay_ms+=5;

if(delay_ms>100)delay_ms=200;

}

if(r==4)

{delay_ms-=5;

if(delay_ms<=5)

{

delay_ms=5;

}

}

}

}

6、实验心得:

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快

步进电机是一种将电脉冲信号转换成相应的角位移(或线位移)的电磁机械装置[1]。

现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)等。

整个实验过程中呢,源程序的编写比较麻烦,调试多次也没有得出理想的结果!

采用提出的步进电机控制系统,步进电机在工作频率内运行平稳,定位精度高。

该系统有效,实用,已在无人机器人系统中得到验证,结果有效可行。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2