单片机实验报告步进电机控制系统Word格式.doc
《单片机实验报告步进电机控制系统Word格式.doc》由会员分享,可在线阅读,更多相关《单片机实验报告步进电机控制系统Word格式.doc(6页珍藏版)》请在冰豆网上搜索。
(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<
n;
j++);
}
voidzhengzhuan() //正转
bu1=~bu1;
delay(delay_ms);
bu2=~bu2;
bu3=~bu3;
bu4=~bu4;
voidfanzhuan() //反转
voidsenddata(unsignedintdat) //发送数据程序
unsignedinti=0;
for(;
8;
{
CLOCK=0;
SEND=dat>
>
i&
1;
;
CLOCK=~CLOCK;
}
uintsaomiao() //键盘扫描程序
uinti,j,k1,k2=0x01,n;
uintA[]={0xfe,0xfd,0xfb,0xf7};
for(i=0;
4;
{
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++)
{
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;
while
(1)
{
W=0;
P2=0x60;
P0=0xf0;
W=1;
P2=0xA0;
W=0;
m=P0&
if(m!
{
delay(50);
m=P0&
if(m!
{
// flag=!
flag;
// switch(flag)
// {
// case0:
zhengzhuan();
// break;
// case1:
fanzhuan();
// 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)等。
整个实验过程中呢,源程序的编写比较麻烦,调试多次也没有得出理想的结果!
采用提出的步进电机控制系统,步进电机在工作频率内运行平稳,定位精度高。
该系统有效,实用,已在无人机器人系统中得到验证,结果有效可行。