找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2611|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)閉環(huán)控制2電機(jī)速度一致

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-13 19:55 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char
#define uong unsigned long
sbit motor=P0^0;
sbit motor1=P0^1;
bit OVER;
uint dt,dc;
uchar NUM;
void Delay(uint ms)
{
while(--ms);
}
////////
void initial()//初始化
{
TMOD=0x55; //定時器T1工作與計數(shù)器模式1,定時器T0工作于計數(shù)器模式1
RCAP2H=-(10248%256);
RCAP2L=-(10248%256);
ET2=1;
EA=1;
}
////////
void timer2() interrupt 5
{
TF2=0;
NUM++;
if(NUM>=10)
{
TR0=0;
TR1=0;
TR2=0;
OVER=1;
}
}
uint CK(void)
{
uint number;
motor=1;
OVER=0;
NUM=0;
TH1=0;
TL1=0;
TR2=1;
TR1=1;
Delay(dt);
motor=0;
while(!OVER);
OVER=0;
number=TH1*256+TL1;
return(number);
}
////
uint CK1(void)
{
uint number1;
motor1=1;
OVER=0;
NUM=0;
TH0=0;
TL0=0;
TR2=1;
TR0=1;
Delay(dc);
motor1=0;
while (!OVER);
OVER=0;
number1=TH0*256+TL0;
return(number1);
}
//////
void main(void)
{

uint a,b,c;
dt=10000;
dc=10000;
c=10000;
initial();
while(1)
{
  a=CK();
  b=CK1();
while(a!=b)
{
if(a>b)
c++;
if(a<b)
c--;
}
dt=c;
}

}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表