測速C語言
A. 單片機C語言實現紅外脈沖計數計算車速
以51單片機 12MHz晶振情況下為例
#define STAYTIME 781//定時200ms 其他時間可以自己算
int tcount,p_count;
double speed;
void t0_init(void)
{
TH0=0x00;
TL0=0x00;
TMOD|=0x02;
ET0=1;
TR0=1;
IT0=1;//外部中斷下降沿觸發
EX0=1;
}
void pulse_int(void) interrupt 0
{
p_count++;
}
void t0_int(void) interrupt 1
{
tcount++;
if(tcount>STAYTIME){
tcount=0;
EX0=0;//關輸入脈沖的中斷
ET0=0;
speed=p_count/20;//單位就是 轉/秒
//下面重新開始
p_count=0;
ET0=1;
EX0=1;
}
}
}
void main()
{
t0_init();
EA=1;
while(1);
}
B. 誰有51單片機霍爾感測器測速程序要完整的能用的,C語言寫的謝謝大蝦還有就是下面計數器二進制轉換成十
這個很簡單 TL1放的是計數器初值的低8位,TH1放的是高8位,所以把這兩個要組合成一個數那就需要把高8位的左移8次,然後加上低8位的就是計數器初值了,至於你說的2進制轉10進制,其實不用轉的,在內存當中的值是一樣的,只是代碼的表示方式不一樣而已。