⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testp0.c

📁 单片机使用stk642-050芯片控制四相电机。
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

uint tt,tt1,ttt,ttt1,key;
uchar ggg;
sbit M11=P0^0;
sbit M12=P0^1;
sbit M14=P0^2;
sbit M15=P0^3;

sbit EN1=P0^4;
sbit CWB1=P0^5;
sbit RET1=P0^6;
sbit CLK1=P0^7;

sbit M1=P2^0;
sbit M2=P2^1;
sbit M4=P2^2;
sbit M5=P2^3;

sbit EN=P2^4;
sbit CWB=P2^5;
sbit RET=P2^6;
sbit CLK=P2^7;

sbit S01=P1^0;
sbit S02=P1^1;
sbit S03=P1^2;
sbit S04=P1^3;


void init();
void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);	
}
void start()
{
	tt1=0;
	EN1=1;
	TR0=1;
	key++;
}
void stop()
{
	tt1=0;
	EN1=0;
	TR0=0;
	key=0;
}
void main()
{

	init();
	while(1)
	{
		if(S01==1)
		{
			if(key==0)
			{
				delay(10);
				if(S01==0)
				{
					ggg=1;
					start();

				}
			}
			else
			{
				delay(10);
				if(S01==0)
				{
					ggg=0;
				}				
			}
		}
/*
		switch(ggg)
		{
			case 0:
			{
				break;
			}
			case 1:
			{
				break;
			}
		}
*/


	}
}
void init()
{
	tt=0;
	tt1=0;
	key=0;
	ggg=0;
	ttt=1000;
	ttt1=0x30;
	CLK1=1;
	CLK=1;
	S01=0;

	TMOD=0x11;
	TH0=(65536-ttt)/256;
	TL0=(65536-ttt)%256;
	TH1=(65536-ttt)/256;
	TL1=(65536-ttt)%256;
	EA=1;
	ET0=1;
	ET1=1;

	/* 设置为2相激励 */

	M11=0;
	M12=0;
	/* 设置为环形转向轨迹 */

	M14=0;
	M15=0;
						// 切断驱动输出
	EN1=0;	
						// 归位输入无效
	RET1=0;
						// 初始设置为顺时针方向
	CWB1=0;

				// 打开驱动输出
}

void time0() interrupt 1
{
	TH0=(65536-ttt)/256;
	TL0=(65536-ttt)%256;
	CLK1=~CLK1;
	tt1++;
	if( tt1%ttt1==0 && ggg==0 )
	{
		stop();
	}	
}
void time1() interrupt 3
{
	TH1=(65536-ttt)/256;
	TL1=(65536-ttt)%256;
	CLK=~CLK;
	tt++;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -