📄 kongsu2051.c
字号:
#include<AT892051.H>
#define LLL 3.666667 /*每次脉冲小车移动的距离*/
unsigned int yichucishu=0,i;
unsigned char sudu=0;
void delay(void);
void jiance(void) interrupt 0
{
double shijian,linshi;
unsigned int yichu;
yichu=yichucishu;
TR0=0;
TH0=0xF4;
TL0=0x48;
TR0=1;
if(yichucishu>0)
{shijian=yichucishu*3;
linshi=LLL*1000/shijian;
sudu=linshi;
yichucishu=0;
}
}
void timer0(void) interrupt 1
{TH0=0xF4;
TL0=0x48;
yichucishu++;
}
main()
{
EA=1;
TMOD=0x21;
SCON=0x50;
TH1=0xE8;
TL1=0xE8;
EX0=1;
PX0=1;
IT0=1;
ET0=1;
//TH0=0xE0; /*TH0=0xE0;TL0=0x18; 1110 0000 11000 定时3ms*/
//TL0=0x18; /* 定时3ms 晶振4MHz */
TH0=0xF4;
TL0=0x48;
TR1=1;
for(;;)
{if(sudu!=0)
{SBUF=sudu;
while(!TI);
TI=0;
for(i=0;i<50;i++)
delay();
}
}
}
void delay()
{unsigned int i,j;
for(i=0;i<10;i++)
for(j=0;j<120;j++)
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -