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

📄 duoji.c

📁 51单片机控制产生4路标准舵机PWM(周期20ms
💻 C
字号:
/************************************************************
douji.h
shaowei
2006/10/20
use:timer0,timer1,1k code ,61bytes data;

*************************************************************/



#include <REG51F.H>

unsigned int tbuf[8][2];
unsigned int plus[8];
static unsigned char inc,i;
void INIT_duoji()
{
TMOD=0x11;
IP=0x08;
IE|=0x0a;
EA=1;
i=0;
inc=0;
TR0=1;TR1=1;
}
void setit(unsigned char num,unsigned char degree)
{ num=num%7;
degree=degree%180;
 tbuf[num][0]=65535-(5.12*degree+912.6);
   tbuf[num][1]=65535-(2000-5.12*degree-912.6);//2304
   plus[num]=1000; //give plus for 2 seconds
	  
}
void int1() interrupt 1 
{ 
TF0=0;
	i=i%8;
		TH0=tbuf[i][inc]>>8;
		TL0=tbuf[i][inc];
		if(plus[i]){
		
			if(!inc)
			{P1=P1|(0x01<<i);}			
			else 
			{P1=P1&(0xff-(0x01<<i));plus[i]--;}
			
		}
	
	   	if(inc==1){i++;inc=0;}
		else inc=1;
		
	
}
void int3() interrupt 3
{

TF1=0;

TH1=0xb8;//47104>>8
TL1=0x00;
P1=0x00;
i=0;
inc=0;
TF0=1;
}

⌨️ 快捷键说明

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