日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 單片機定時器的使用可以說非常簡單,只要掌握原理,有一點的C語言基礎就行了。要點有以下幾個:1. 一定要知道英文縮寫的原形,這樣寄存器的名字就不用記了。理解是最好的記憶方法。好的教材一定會給出所有英文縮寫的

 單片機定時器的使用可以說非常簡單,只要掌握原理,有一點的C語言基礎就行了。要點有以下幾個:

1. 一定要知道英文縮寫的原形,這樣寄存器的名字就不用記了。

理解是最好的記憶方法。好的教材一定會給出所有英文縮寫的原形。

2. 盡量用形像的方法記憶。

比如TCON和TMOD兩個寄存器各位上的功能,教程一般有個圖表,你就在學習中不斷回憶那個圖表的形像。

3. TMOD:定時器/計數器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)

定時器/計數器模式控制寄存器TMOD是一個逐位定義的8位寄存器,但只能使用字節(jié)尋址,其字節(jié)地址為89H。其格式為:其中低四位定義定時器/計數器C/T0,高四位定義定時器/計數器C/T1,各位的說明:

(1)GATE——門控制。

GATE=1時,由外部中斷引腳INT0、INT1來啟動定時器T0、T1。

當INT0引腳為高電平時TR0置位,啟動定時器T0;

當INT1引腳為高電平時TR1置位,啟動定時器T1。

GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1。

(2)C/T——功能選擇位

C/T=0時為定時功能,C/T=1時為計數功能。

置位時選擇計數功能,清零時選擇定時功能。

(3)M0、M1——方式選擇功能

由于有2位,因此有4種工作方式:

M1M0 工作方式 計數器模式 TMOD(設置定時器模式)

0 0 方式0 13位計數器 TMOD=0x00

0 1 方式1 16位計數器 TMOD=0x01

1 0 方式2 自動重裝8位計數器 TMOD=0x02

1 1 方式3 T0分為2個8位獨立計數器,T1為無中斷重裝8位計數器 TMOD=0x03

單片機定時器0設置為工作方式1為TMOD=0x01

這里我們一定要知道,TMOD的T是TIMER/COUNTER的意思,MOD是MODE的意思。至于每位上的功能,你只要記住圖表,并知道每個英文縮寫的原型就可以了。

在程序中用到TMOD時,先立即回憶圖表,并根據縮寫的單詞原形理出每位的意義,如果意義不是很清楚,就查下手冊,幾次下來,TMOD的圖表就已經在腦子里了。

8位 GATE位,本身是門的意思。

7位 C/T Counter/Timer

6位 M1 Mode 1

5位 M0 Mode 0

4. TCON: 定時器/計數器控制寄存器(TIMER/COUNTER CONTROL REGISTER)

TMOD分成2段,TCON控制更加精細,分成四段,在本文中只要用到高四段。

TF0(TF1)——計數溢出標志位,當計數器計數溢出時,該位置1。

(1)TR0(TR1)——定時器運行控制位

當TR0(TR1)=0 停止定時器/計數器工作

當TR0(TR1)=1 啟動定時器/計數器工作

(2)IE0(IE1)——外中斷請求標志位

當CPU采樣到P3.2(P3.3)出現有效中斷請求時,此位由硬件置1。在中斷響應完成后轉向中斷服務時,再由硬件自動清0。

(3)IT0(IT1)——外中斷請求信號方式控制位

當IT0(IT1)=1 脈沖方式(后沿負跳有效)

當IT0(IT1)=0 電平方式(低電平有效)此位由軟件置1或清0。

(4)TF0(TF1)——計數溢出標志位

當計數器產生計數溢出時,此位由硬件置1。當轉向中斷服務時,再有硬件自動清0。計數溢出的標志位的使用有兩種情況:采用中斷方式時,作中斷請求標志位來使用;采用查詢方式時,作查詢狀態(tài)位來使用。注意記憶方法,理解單詞原形,就絕對不會把TF和TR搞混。TF的F也就是溢出Over Flow的F。TR的R就是運行Run。默認是0不運行,當然要置1才運行。

5. STC單片機STC89C52RC定時器延時時間的計算

延時時間要根據晶振頻率計算,不同板子可能有所不同。

時鐘周期:

1/時鐘源,在我現在這塊板子上,晶振頻率是11.0592M,也就是時鐘周期是 1/11059200秒

機器周期:

一般51單片機是12個時鐘周期,我的板子也就是 12/11059200秒

單次定時最長時間:

如果是16位的計數器,16位最大值是65535,共可計數65536次?;镜某狄欢ㄒ涀?,還要記住8位最大值是255,共可計數256次,還要記住8位上每位代表的數值。

12 * 65536/11059200 = 0.0711 s,也就是,71 ms內的定時可以單次定時就完成。如果定時時間超過71 ms,就要循環(huán)了。

一次定時需要幾次機器周期:

計算公式:定時秒數/機器周期

比如我要定時1秒, 1/(12/11059200)= 921600次,16位計數器最大可計數65536次,921600次早就益出了。我們可以每次定時10 ms,循環(huán)100次就可以定時1秒了,1 s縮小100百倍就是10 ms, 也就是每次需要計數9216次。

確實計數器初始值:

定時10 ms時,如果計數器從0開始計數,我們就不知道什么時候到了9216次。所以應該計數了9216次,16位計數器最多計數95536次,然后就溢出,一溢出TCON的TF位就會置1,我們只要經常檢測TF位就可以知道什么時候完成10ms的定時了。

計算公式:計數器初始值=最大計數次數 - 需要計數次數

如果定時10 ms,計數器的初始值就是 65536 - 9216

計算計數器的高位和低位:

16位的計數器,也就是兩個8位組成,8位的最大計數次數是256。所以:

計數器高位 = 初始值/256

計數器低位 = 初始值%6

6.STC89C52RC單片機定時器示例代碼:

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

單片機定時器通過晶振頻率來產生精準的計數脈沖,從而實現微秒級別的時間控制。 單片機定時器依托于一個穩(wěn)定的計數器,該計數器與單片機上的晶振部件相連。晶振經過12分頻后,為單片機提供穩(wěn)定且精準的1MHZ脈沖。由于晶振的頻率極...

關鍵字: 單片機 定時器

采用51單片機最小開發(fā)板,由8位自制獨立按鍵控制。單片機芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點陣屏模塊由MAX7219驅動,MAX7219包含一個自動掃描電路。你只需要把要顯示的數據發(fā)送...

關鍵字: 51單片機 MAX7219 寄存器

編碼器?是一種傳感器,主要用于測量旋轉運動的角度、角速度和位移等參數。常見的編碼器類型包括增量式編碼器和絕對值編碼器,前者通過檢測脈沖的增加或減少來測量旋轉方向和距離,后者則直接輸出當前的絕對位置信息?。

關鍵字: 編碼器? 定時器

一款語音控制的番茄時間定時器,內置Seeed Studio XIAO ESP32S3感測和圓形顯示。用免提時間管理保持高效!

關鍵字: 定時器 ESP32S3 語音控制

【2025年3月20日, 德國慕尼黑訊】全球功率系統(tǒng)和物聯網領域的半導體領導者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼: IFNNY)近日宣布,其旗下ModusToolboxTM開發(fā)平臺中的AIROC?...

關鍵字: MCU 物聯網 定時器

眾所周知,說到延時,很多人都會想到用軟件件來實現,比如定時器之類的。今天就來說說用硬件來實現定時的方式,雖說沒有那么準,但是有些場合還是用得到的。

關鍵字: CD4060 定時器

如果定時器的重裝值和分頻設置不正確,會導致PWM輸出的頻率和占空比不準確,從而產生誤差?1。

關鍵字: 定時器 分頻

在嵌入式系統(tǒng)開發(fā)的廣闊領域,51單片機和STM32無疑是兩種極具代表性的微控制器。對于初學者而言,選擇學習路徑時往往會面臨一個抉擇:是直接跨越51單片機,挑戰(zhàn)更高層次的STM32,還是從51開始,逐步進階?本文旨在探討直...

關鍵字: 51單片機 STM32

SysTick定時器的工作原理主要基于一個遞減計數器的機制。以下是對SysTick定時器工作原理的詳細解釋:

關鍵字: SysTick 定時器

在嵌入式系統(tǒng)開發(fā)中,特別是在使用8051系列單片機(簡稱C51)進行編程時,數據類型的選擇與定義對程序的性能和可讀性至關重要。C51語言在標準C語言的基礎上進行了擴展,以適應單片機特有的硬件結構和操作需求。本文將深入探討...

關鍵字: C51數據 51單片機
關閉