⑴ 單片機的TH和TL應怎麼理解和怎麼用(C語言)
TH,TL是定時中斷中寫初始值用的,定時器T0,T1定時中分別對應TH0/TL0和TH1/TL1,初始值是把需要定時的十進制時間寫成單片機中16進制機器時間,當然並不是把十進制直接改成十六進制,機器周期時間不全相同,初始值可以根據自己的需要選用不同的演算法,(比如需要產生1ms的方波,即500us的高電平,500us的低電平,如果你選用T0方式0產生500us定時,晶振fosc=12MHz,那麼初始值是F00CH,把0CH寫入TL0,把0F0H寫入TH0。計數初值可能有誤,我根據自己的記憶算的,反正根據自己的需要算吧~~~)編好程序後,單片機會自動根據初始值計時,根據需要進行高低脈沖轉換,然後由脈沖的改變產生中斷。
⑵ 單片機中TH0和TL0是什麼意思
TH 0和TL0都是單片機的8位定時器。TH 0中的H即為HIGH縮寫,它是表示定時器高八位。TL 0中L即為LOW縮寫,它所代表為低八位。
單片機定時器的工作就是,當低八位定時器滿溢後,向高八位進行進位。兩個八位的TH 0和TL 0構成了單片機的16為定時/計數器。
8051系列單片機有兩個定時器:T0和T1,分別稱為定時器和定時器T1,這兩個定時器都是16位的定時器/計數器;8052系列單片機增加了第三個定時器/計數器T2;它們都有定時或事件計數功能,常用於時間控制、延時、對外部時間計數和檢測等場合。
8051單片機的兩個定時器T0和T1分別都由兩個特殊功能寄存器組成;T0由特殊功能寄存器TH0和TL0構成,而T1則是由TH1和TL1構成。
作為定時器使用時,定時器計數8051單片機片內振盪器輸出經過12分頻後的脈沖個數,即:每個機器周期使定時器T0/T1的寄存器值自動累加1,直到溢出,溢出後繼續從0開始循環計數;所以,定時器的解析度是時鍾振盪頻率的1/12。
作為計數器使用時,通過引腳T0(P3.4)或T1(P3.5)對外部脈沖信號進行計數,當輸入的外部脈沖信號發生從1到0的負跳變時,計數器的值就自動加1;計數器的最高頻率一般是時鍾振盪頻率的1/24。
由此可知,不論是定時器還是計數器工作方式,定時器T0和T1均不佔用CPU的時間,除非定時器/計數器T0和T1溢出,才可能引起CPU中斷,轉而去執行中斷處理程序;所以說,定時器/計數器是單片機中效率高而工作靈活的部件。
⑶ 單片機里邊,TH0是什麼,TL0是什麼,還有那個0xee的0x是什麼意思
51單片機基本型片內集成兩個可編程的定時/計數器:T0和T1.以T0為例,通過編程指定,T0既可以作為定時器,也可以作為計數器。T0由兩個8位寄存器組成一個16位的定時/計數器。其中高8位記為TH0,低8位記為TL0.類似,T1也由TH1和TH0組成。計算機中十六進制數要加前綴0x。十六進制數0-9與十進制相同,10開始就用字母來表示,如A、B、C、D、E、F,分別表示10,11,12,13,14,15.如果是16,則要往前進一位。如0x10則表示十進制的16.至於0xee,相當於16*14+14=238
⑷ 單片機中th1和tl1是干什麼的
1、TH1和TL1 分別指的是單片機中定時器1的Timer寄存器的高八位,低八位。
2、定時器的核心部件是一個加法(也有減法)的計數器,其本質是對秒沖進行計數。
只是計數脈沖來源不同:
如果計數脈沖來自系統時鍾,則為定時方式,此時定時器/計數器每12個時鍾或者每1個時鍾得到一個計數脈沖,計數值加1;
如果計數脈沖來自單片機外部引腳(T0為P3.1,T1為P3.5),則為計數方式,每來一個脈沖加1。
3、定時器1作為計數器時,TH1和TL1 保存計數值,當計數值到達最大時,可產生溢出標志位TF1。
定時器1作為定時器時,先對TH1和TL1設置初值(可以控制溢出時間,達到定時的目的),然後對系統內部時鍾進行計數,當溢出引起中斷時,需在定時器1的中斷服務函數中重新對TH1和TL1賦初值。