當前位置:股票大全官網 - 股票投資 - 51單片機使用T0和T1外部脈沖計數。如何用C語言編程?

51單片機使用T0和T1外部脈沖計數。如何用C語言編程?

1.使用T0和T1外部脈沖計數來控制兩個電機,直到1700脈沖電機停止。

-統計脈沖數,最好使用外部中斷。

-t0和T1,保留用於計時。

由四個按鈕控制,按鈕1控制電機正轉,按鈕2控制電機反轉,按鈕3控制電機正轉,按鈕4控制電機正轉。

2.常規:

# include & ltreg 51 . h & gt;?

sbit?k1?=?;?//自己定義

sbit?k2?=?

sbit?k3?=?

sbit?k4?=?

sbit?DIAN1?=?

sbit?DIAN2?=?

sbit?DIAN3?=?

sbit?DIAN4?=?

sbit?SEN1?=

sbit?SEN2?=?

作廢?延遲(無符號?int?x)

{

未簽名?int?m,?n;?

對於(m?=?x;?m?& gt?0;?m -)?對於(n?=?115;?n?& gt?0;?n-);

}

作廢?主要(無效)

{?

TMOD?=?0x55

IE?=?0x8a

而(1)?{

如果?(!k1)?{

延時(10);

如果?(!k1)?{

而(!k 1);

TH0?=?(65536?-?1700)?/?256;

TL0?=?(65536?-?1700)?%?256;

SEN1?=?0;

DIAN1?=?0;?DIAN2?=?1;

SEN1?=?1;?

TR0?=?1;

}

}

如果?(!k2)?{

延時(10);

如果?(!k2)?{

而(!k2);

TH0?=?(65536?-?1700)?/?256;

TL0?=?(65536?-?1700)?%?256;

SEN1?=?0;

DIAN1?=?1;?DIAN2?=?0;

SEN1?=?1;?

TR0?=?1;

}

}

如果?(!k3)?{

延時(10);

如果?(!k3)?{

而(!k3);

TH1?=?(65536?-?1700)?/?256;

TL1?=?(65536?-?1700)?%?256;

SEN2?=?0;

DIAN3?=?0;?DIAN4?=?1;

SEN2?=?1;?

TR1?=?1;

}

}

如果?(!k4)?{

延時(10);

如果?(!k4)?{

而(!k4);

TH1?=?(65536?-?1700)?/?256;

TL1?=?(65536?-?1700)?%?256;

SEN2?=?0;

DIAN3?=?1;?DIAN4?=?0;

SEN2?=?1;?

TR1?=?1;

}

}

}

}