1. MSP430單片機 怎麼開計數器計算脈沖數啊
把定時器的時鍾源設置成待測脈沖即可
2. 單片機計數器編程如何計數脈沖,用C語言
每50ms來了多少脈沖,那定時器就不能50ms中斷一次,盡量快的中斷會比較好,2個變數計數,一個計算50ms,一個累加脈沖
3. 如何用單片機記脈沖數
1、用單片機產生200ms,占空比為50%的周期信號,即高低電平各100ms;
2、將該200ms信號接到INT0或INT1上,將外部脈沖信號接到T0或T1上,注意要對應接,即INT0與TO一起用或INT1和T1一起用。
3、設置定時器/計數器工作方式控制寄存器TMOD的GATE = 1(門控方式) ,C/T = 1 (計數方式)。
這樣,就可以用100ms作為一個控制門,在這個門有效(相應外部中斷)時,外部計數脈沖就可以進入這個門,定時器/計數器計數初值設為加1就溢出,中斷服務程序中計數就可以了。
4. 51單片機,計數器和定時器具體這么用計數器記的是誰的脈沖數
定時器和計數器雖然有定時和技術兩種工作模式,但其本質都是使用加法計數器對脈沖進行計數。定時器/計數器每接受一個計數脈沖,加法計數器的值就加1;計滿時則發生溢出,計數器又從0開始計數並置溢出標志位(TF0=1或TF1=1)。
1)定時模式
在此模式下,計數器的輸入脈沖是由晶振12分頻獲得的。例如,晶振頻率為12MHz的值加1.這樣就可以根據計數值計算定時時間,也可以根據定時時間計算計數器的初值。
2)計數模式
在此模式下,計數器的輸入脈沖是由外部引腳(T0或T1)輸入的。外部引腳出現下降沿時,對應計數器的值加1.如果設置計數器的初值,那麼讀取當時計數器就可以計算脈沖個數。
完全手打,請採納
5. 51單片機脈沖計數新手求助
void main()
{
TMOD=0X03;//計數器0、16位自動重裝模式
TH0=0xfc;//這里為你想要奇數多少次中斷一次的值(這里的值為1000次中斷一次)
TL0=0x18;//65536-你想要計的次數=TH0+TL0的值
TR0=1;
ET0=1;
EA=1;
while(1)
{
;
}
}
void Counter0_Rountine interrupt 1
{
TH0=0xfc;//每計數1000次就重新裝入一次中斷值
TL0=0x18;
在這里寫你計數1000次後想要執行的內容
}
6. 51單片機脈沖減法計數器
要改成減法首先在初始值那裡要先設定好,另外在判斷這里也要改 if(p1_7==1)counter++;改成 counter--;
if(counter==100)counter=0;這個要改成if(counter==0)counter=初始值;
7. 51單片機計數器的外部脈沖是由哪個引腳引入的
1、是的。外部脈沖引入P3.4腳。不過你還要在TMOD裡面設置好,TMOD=0x05;//T0對外計數,工作方式1。
2、是這樣。你可以把信號分兩路,分別接到INT0和T0,至於哪路工作你可以在程序裡面設定。比如起始設置INT0工作,那就在初始化中把T0的中斷禁止掉,ET0=0;如果滿足某個條件,則設置關掉INT0的中斷,改用T0接收脈沖。用C就是
if(某個條件)
{
EX0=0;
TH0=0;
TL0=0;
TMOD=0x05;
ET0=1;
TR0=1;
.....
}
else if(某個條件)
{
TR0=0;
TH0=0;
TL0=0;
ET0=0;
EX0=1;
......
}
8. 51單片機脈沖計數
你好!
那就用外部中斷來檢測吧,速度快精度高
void outside() interrupt 0
{
T0count++;
}
然後將計數,通過液晶顯示出來就可
9. 求單片機脈沖計數程序
,顯示的是每分鍾的脈沖個數。
----
需要等待一分鍾後,顯示出來嗎?
對1Hz的脈沖計數,顯示的數字,不就是 60 嗎?
定時5MS,是什麼意思?