📄 duoji.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 + -