⑴ 單片機定時器/計數器主要有什麼作用
作用:可以計時,計數,可以產生時間中斷,是系統中比較實用的工具。
大部分單片機提供2~3個定時/計數器,少數提供1個或4個定時器。有些定時/計數器還具有輸入捕獲、輸出比較和PWM(脈沖寬度調制)功能,如AVR單片機。
有的單片機還有專門的PCA(可編程計數器陣列)模塊和CCP(輸入捕獲輸出比較PWM)模塊,如PIC和Philips的部分中高檔單片機。利用這些模塊不僅可以簡化軟體設計,而且能減少佔用CPU的資源。現在不少單片機還提供了看門狗定時器(WDT),當單片機「死機」後可以自動復位。
定時/計數器
定時/計數器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數器T0由TH0和TL0組成,T1由TH1和TL1組成。此外,其內部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負責控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數,同時包含定時/計數器的狀態。
以上內容參考:網路-定時器中斷
⑵ 51單片機計數器怎麼用
51單片機是基礎入門的一個單片機,還是應用最廣泛的。
51單片機的定時/計數器的概念
單片機中,脈沖計數與時間之間的關系十分密切,每輸入一個脈沖,計數器的值就會自動累加1,只要相鄰兩個計數脈沖之間的時間間隔相等,則計數值就代表了時間的流逝,因此,單片機中的定時器和計數器其實是同一個物理的電子元件,只不過計數器記錄的是單片機外部發生的事情(接受的是外部脈沖),而定時器則是由單片機自身提供的一個非常穩定的計數器,這個穩定的計數器就是單片機上連接的晶振部件;MCS-51單片機的晶振經過12分頻之後提供給單片機穩定脈沖;晶振的頻率是非常准確的,所以單片機的計數脈沖之間的時間間隔也是非常准確的。
51單片機的定時/計數器的工作原理
加1計數器輸入的計數脈沖有兩個來源,一個是由系統的時鍾振盪器輸出脈沖經12分頻後送來;一個是T0或T1引腳輸入的外部脈沖源。
作為定時器使用時,定時器計數8051單片機片內振盪器輸出經過12分頻後的脈沖個數,即:每個機器周期使定時器T0/T1的寄存器值自動累加1,直到溢出,溢出後繼續從0開始循環計數;所以,定時器的解析度是時鍾振盪頻率的1/12;
作為計數器使用時,通過引腳T0(P3.4)或T1(P3.5)對外部脈沖信號進行計數,當輸入的外部脈沖信號發生從1到0的負跳變時,計數器的值就自動加1由於檢測一個從1到0的下降沿需要2個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為12MHz時,最高計數頻率不超過1/2MHz,即計數脈沖的周期要大於2微秒。;計數器的最高頻率一般是時鍾振盪頻率的1/24;
由此可知,不論是定時器還是計數器工作方式,定時器T0和T1均不佔用CPU的時間,除非定時器/計數器T0和T1溢出,才可能引起CPU中斷,轉而去執行中斷處理程序。所以說,定時器/計數器是單片機中效率高而工作靈活的部件。
⑶ 單片機定時器、計數器怎樣使用
工作方式0:13位方式由tl的低5位和th的8位構成13位計數器(tl1的高3位無效)。你說的例子應該是:
假設t=1111
1111
1100
1101
那麼th1=1111
1111
tl1=1100
1101
t=1111
1111
0
1101
(tl的高三位110無效去掉)
定時計數器按系統時鍾(c8051f)或系統時鍾的12分頻(8051)計數的時候是數數再跟你寫的t值比較,如果一樣了,看是不是要中斷或其它操作,不是t值進位,你理解有問題。
這種工作方式很少要,一般用方式一代替了。16進制好用。
⑷ 單片機計數器怎麼使用
你想用74h系列的計數器來定時,想法是好的,可不容易實現,還不如用單片機定時精確呢。關鍵的用74h系列的計數器來定時的時鍾脈沖呀,這脈沖從哪來的,怎麼能保證脈沖的頻率(即周期)精確呢,這脈沖不精確就是空想了。如果用晶振來振盪產生,那精確度還是取決於晶振的頻率,而單片機的時鍾脈沖就是由晶振產生的呀,同樣取決於晶振的頻率嗎,那又何苦在外部用74h系列的計數器來定時呢,這不是自找麻煩嗎,也不能提高定時的精度嗎,反倒是增加了外部電路,增加了硬體成本,電路變得復雜,所以,不論從哪個角度講都是不可取的,還是在單片機機的程序上想辦法提高定時精確度,完全是可以解決的,一點都不難,比用你的辦法要簡單多了。
⑸ 單片機定時器 計數器的工作原理,及如何實現定時 計數功能
原理: 16位的定時器/計數器實質上就是一個加1計數器,其控制電路受軟體控制、切換。 當定時器/計數器為定時工作方式時,計數器的加1信號由振盪器的12分頻信號產生,即每過一個機器周期,計數器加1,直至計滿溢出為止。
顯然,定時器的定時時間與系統的振盪頻率有關。因一個機器周期等於12個振盪周期,所以計數頻率fcount=1/12osc。
兩個位元組最大數據為65536(十進制),或者0FFFFH(十六進制)
高位元組為TH0=(65536-X)/256,就是除以256後的整數部分;
低位元組為TL0=(65536-X)%256,減去高位元組後餘下的部分;
定時/計數器
定時/計數器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數器T0由TH0和TL0組成,T1由TH1和TL1組成。此外,其內部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負責控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數,同時包含定時/計數器的狀態。
以上內容參考:網路-定時器中斷
⑹ 計數器如何使用
問題一:計數器怎麼使用 計數器一般為兩串,分為鈴和杵,每串各十顆珠子,以鈴為百數位,以杵為千數位,108粒的念珠捻一圈在鈴上從下往上推一顆珠子,代表一百遍,推十顆後在杵上推一顆代表千位,這時把鈴上的珠子復位,重新開始計數,當杵上的十顆珠子從下往上推完後為一萬遍,這時就可用到卡子了,從佛頭一側推一顆珠子卡上,代表一萬,一串108粒的念珠轉一圈為100萬遍,因為一般都是取整的,8萬遍為補缺!
問題二:PLC中的計數器如何使用? I0.0...這些項I打頭的都是輸入觸點,開關量CU,CD相當於計數器技術端,R是復位,PV是預設值,就是技術到PV以後計時器位導通或者關斷
問題三:C語言中的計數器怎麼用啊?給舉個例子 計數器?? 你說的是不是C51編程? 計數器是單片機上的一段區域,是個8位的,叫做定時器/計數器。具體情況上網查查!! 計數器的編程涉及到底層方面的東西!!建議你先看看單片機!!
問題四:PLC中 計數器怎麼使用 可以實現。計數器值設為2。按一下按鈕,計數加1。計數值為了1時,Y0動績;計數值為2時,Y0、計數器復位。不過,三菱還有一個專用指令,可實現的你的要求,即ALT指令。
問題五:客流量計數器是怎麼使用的? 客流量計數器的使用一般在一個出入口安裝一個垂直向下的設備即可,精確度高。一般基於視頻的客流統計,都可以雙向計數。
問題六:西門子PLC計數器怎麼用 Cxxx常數 (C0 ?C255)字
CU (LAD)使能位布爾
CU (FBD)I, Q, M, SM, T, C, V, S, L, 使能位布爾
R (LAD)使能位布爾
R (FBD)I, Q, M, SM, T, C, V, S, L, 使能位布爾
PVVW, IW, QW, MW, SMW, LW, AIW, AC, T, C, 常數, *VD, *AC, *LD, SW整數
在STL中,CTU復原輸入是堆棧頂值,向上計數輸入是裝載在第二個堆棧位置的值。
問題七:什麼是小學生用的計數器 一種小學生計數器,包括計數珠、拱形穿珠桿、底座和擋板,計數珠可撥動地串在拱形穿珠桿上,拱形穿珠桿的兩端固定在底座上,擋板位於拱形穿珠桿的拱形內,其特徵在於:擋板通過一滑動機構可滑動地設在底座上。
問題八:手指手動計數器怎麼用 定弘法師講過,十念法,十句佛號按一下,數字是10就是100句佛號,數字是100就是1000聲佛號,數珠也是,十句佛號一撥珠,一串108,就是1080聲佛號!祝學佛快樂!法喜充滿!阿彌陀佛!
問題九:佛珠計數器怎麼用 佛珠有108顆(不算佛頭和格珠),念誦一圈是108遍。
佛珠每念誦一圈,我們在【金剛鈴】計數器上就撥動一個銀珠,表示念誦了一個108遍,所以用【金剛鈴】代表百。
【金剛鈴】的十個銀珠撥完以後,這時候就撥動【金剛杵】計數器上的一個銀珠,表示念誦了十個108遍,所以用【金剛杵】代表千。
問題十:請教,藏式佛珠上的計數器和卡子怎麼使用? 計數器,一邊記百,一邊記千,卡子記萬,常用的是這種計數方法。舉例如下:
假如您持誦觀世音菩薩聖號,每念一聲,手指就撥過一個念珠,108顆的佛珠念誦一圈就是108遍,8遍補缺,算念誦一百遍,這時候,您就要把計數器您決定記百的一邊撥出一個記子,以此類推,當您念了十圈也就是一千聲聖號的時候,您的百位計數器正好是十個記子都撥了上去,這個時候把百位的記子還原,然後將另外一邊記千的計數器的記子,撥出一個,證明您念誦了一千遍。當千位的記子十個都撥了出來,說明您念滿了一萬遍,這時常把千位記子還原,然後將卡子從佛珠的佛頭往下移一顆佛珠,代表一萬遍。當您的卡子移動一整圈佛珠後,您的聖號就念誦了108萬遍,也可以8萬補缺,算100萬遍。
順便談談藏式佛珠的計數器,卡子。 *** 持咒,念佛很多,而且許多 *** 的上師都給 *** 規定了數量, *** 也有發願念誦多少咒語,佛號的習慣,那麼統計這個數量,就要用到計數器和卡子。實際上計數器和卡子的用法非常個性化,這也是藏式佛珠的迷人之處,您可以按您的習慣來確定使用的方法,如果發願念誦有不同的佛號或咒,那麼還可以用幾個不同的卡子來分別計數用以區別。當您發願念滿佛號,咒語之後,可以用很個性的材料,比如佛家的七寶,或打個金剛結,或掛上什麼小東西,來代表您曾經在這串佛珠上念誦了多少遍佛號,非常個性化。這也是許多 *** 手中的佛珠上五花八門掛飾,配飾的原因之一。
⑺ 單片機 計數器值 怎樣應用
這個畢業設計真是太簡單了,我告訴你個思路,其餘的你不明白的給我留言,就是把光信號轉化成電信號,計數就是通過中斷方式來計數的,當技術到100時候,控制一個引腳輸出控制燈的點亮,時間自己控制,用定時器最好。led顯示就更簡單了,將計數的值顯示出來,只要知道led的十個數字顯示段碼就可以了,應該用兩個數碼管查詢顯示,
注意:光信號轉換成電信號可能很微弱,你要通過一個放大器或三極體來實現。
⑻ 51單片機計數器如何使用,我想要一個簡單一點的程序
將定時器0或者1設置為計數器模式就可以了。舉例如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#06H
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB TR1
SETB ET1
SETB EA
SJMP $
T0ISR:
INC A
MOV P1,A
RETI
END
⑼ at89c51單片機計數器的使用,匯編語言,
P1,當做按鍵輸入,低電平有效;
P0,計數輸出,低電平發光。
KEYSTA EQU P1.0
KEYADD EQU P1.1
KEYSUB EQU P1.2
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV R2, #255
LOOP:
MOV P0, R2
JB KEYSTA, LOOP1
CALL DELAY
JB KEYSTA, LOOP1
JNB KEYSTA, $
CPL F0
SJMP LOOP
LOOP1:
JNB F0, LOOP2
JB KEYADD, LOOP2
CALL DELAY
JB KEYADD, LOOP2
JNB KEYADD, $
DEC R2
SJMP LOOP
LOOP2:
JNB F0, LOOP
JB KEYSUB, LOOP
CALL DELAY
JB KEYSUB, LOOP
JNB KEYSUB, $
INC R2
SJMP LOOP
DELAY:
MOV R6, #20
DJNZ R7, $
DJNZ R6, $ - 2
RET
END
試驗成功。
⑽ 單片機定時器計數器如何使用
使用12MHz晶振,其機器周期為1us
欲產生5000us周期方波,只需在p1.0以2500us時間交替輸出高低電平
1.T0為方式0,則M1M0=00H。使用定時功能,C/T=0,GATE=0。T1不用,其有關位設為0。因此,TMOD=00H
2.方式0為13長度計數(TL0高3位不使用),設計數初值為X,則(8192-X)*1us=2500us,得X=5692D。X=1011000111100B。因為TL0高3位不用,所以10110001-00011100B得TH0=B1H,TL0=1CH
3.由控制寄存器TCON的TR0位來控制定時的啟動和停止,TR0=1啟動,TR0=0停止
C語言程序如下(編譯器Keil C)
#include<REG51.H>
sbit FB=p1^0;
void initial(void)
{
TMOD=0x00;
TH0=0xb1;
TL0=0x1c;
IE=0x00;
TR0=1;
}
void main(void)
{
initial();
for(;;)
{
while(!TF0);
TF0=0;
FB=!FB;
}
}
匯編程序如下
ORG 0000H
AJMP START
ORG 30H
START: MOV P1.0,#0FFH
MOV TMOD,#00H
MOV TH0,#0B1H
MOV TL0,#1CH
SETB TR0
LOOP: JBC TF0,NEXT
LJMP LOOP
NEXT: CPL P1.0
MOV TH0,#0B1H
MOV TL0,#1CH
LJMP LOOP
END