📄 速度检测程序.c
字号:
#include<AT892051.H>
#define LLL 3.666667 /*每次脉冲小车移动的距离*/
sbit p30=P3^0;
sbit p31=P3^1;
sbit p33=P3^3;
sbit p34=P3^4;
unsigned char code tab[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned int xianshi=0,yichucishu=0;
double shijian,linshi;
void delay(void);
void jiance(void) interrupt 0
{TR0=0;
TH0=0xE0;
TL0=0x18;
TR0=1;
if(yichucishu>0)
{shijian=yichucishu*3;
linshi=LLL*1000/shijian;
xianshi=linshi;
yichucishu=0;
}
}
void timer0(void) interrupt 1
{TH0=0xE0;
TL0=0x18;
yichucishu++;
}
main()
{
EA=1;
EX0=1;
PX0=1;
IT0=1;
ET0=1;
PT0=0;
TMOD=0x10;
TH0=0xE0; /*TH0=0xE0;TL0=0x18; 1110 0000 11000 定时3ms*/
TL0=0x18; /* 定时3ms 晶振4MHz */
for(;;)
{p33=1;p30=0;
P1=tab[((int)xianshi)%10]; /*个位*/
delay();
p30=1;p31=0;
P1=tab[(((int)xianshi)/10)%10]; /*十位*/
delay();
p31=1;p33=0;
P1=tab[((int)xianshi)/100]; /*十位*/
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 + -