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

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]定時(shí)器/計(jì)數(shù)器0 和定時(shí)器/計(jì)數(shù)器1 都可以在方式0、方式1、方式2 工作,而方式3 只有前者才能工作。1. 方式 0當(dāng)TMOD 中M1、M0 都為0 時(shí),T/C 工作在方式0。方式0 為13 位的T/C,由TH 提供高8 位,TL 提供低5 位,注意

定時(shí)器/計(jì)數(shù)器0 和定時(shí)器/計(jì)數(shù)器1 都可以在方式0、方式1、方式2 工作,而方式3 只有前者才能工作。

1. 方式 0

當(dāng)TMOD 中M1、M0 都為0 時(shí),T/C 工作在方式0。

方式0 為13 位的T/C,由TH 提供高8 位,TL 提供低5 位,注意TL 的高3 位是無效的,計(jì)數(shù)溢出值為2 的13 次方=8192,啟動(dòng)該計(jì)數(shù)器需要設(shè)置好計(jì)數(shù)初值。

當(dāng)C/-- T該位為0 時(shí),T/C 為定時(shí)器,振蕩源12 分頻的信號(hào)作為計(jì)數(shù)脈沖;當(dāng)C/-- T該位為1 時(shí),T/C為計(jì)數(shù)器,對(duì)外部脈沖輸入端的T0 或T1 引腳進(jìn)行脈沖計(jì)數(shù)。

計(jì)數(shù)脈沖能否加到計(jì)數(shù)器上,受啟動(dòng)信號(hào)的控制。當(dāng)GATE=0 時(shí),只要TR=1,則T/C 啟動(dòng);當(dāng)GATE=1時(shí),啟動(dòng)信號(hào)受到TR 與INT 的雙重控制。T/C 啟動(dòng)后立即加1 計(jì)數(shù),當(dāng)13 位計(jì)數(shù)滿時(shí),TH 向高位進(jìn)位。此進(jìn)位將中斷溢出標(biāo)志TF 置位即TF=1,產(chǎn)生中斷請(qǐng)求,表示定時(shí)時(shí)間或計(jì)數(shù)次數(shù)到達(dá)。若T/C 開中斷(ET=1)且CPU 開中斷(EA=1),則當(dāng)CPU 自動(dòng)轉(zhuǎn)向中斷服務(wù)函數(shù)時(shí),TF 自動(dòng)清零,不需要人工軟件清零。

2. 方式 1

當(dāng)TMOD 中M1、M0 為0、1 時(shí),T/C 工作在方式1。方式1 與方式0 基本相同,唯一不同的是方式0 是13 位計(jì)數(shù)方式,方式1 是16 位計(jì)數(shù)方式,TH 和TL 都同時(shí)提供8 位(方式0 時(shí)TL 只提供低5 位,高3 位無效),計(jì)數(shù)溢出值為2 的16 次方=65536。

3. 方式 2

當(dāng)TMOD 中M1、M0 為1、0 時(shí),T/C 工作在方式2。方式2 是8 位的可自動(dòng)重裝載的T/C,滿計(jì)數(shù)值為2 的8 次方=256。在方式0 和方式1 中,當(dāng)計(jì)數(shù)滿后,若要進(jìn)行下一次定時(shí)/計(jì)數(shù),必須通過軟件向TH 和TL 重新裝載預(yù)置計(jì)數(shù)值。方式2 中TH 和TL 被當(dāng)作兩個(gè)8 位計(jì)數(shù)器。技術(shù)過程中,TH 寄存8 位初值并保持不變,由TL 進(jìn)行8 位計(jì)數(shù)。計(jì)數(shù)溢出時(shí),除產(chǎn)生溢出中斷請(qǐng)求外,還自動(dòng)將TH 中初值重裝到TL,即重裝載。除此之外,方式2 也同方式0。

4. 方式 3

方式3 只適合于T/C0。當(dāng)T/C0 工作在方式3 時(shí),TH0 和TL0 成為兩個(gè)獨(dú)立的計(jì)數(shù)器。這時(shí),TL0可作定時(shí)器/計(jì)數(shù)器,占用T/C0 在TCON 和TMOD 寄存器中的控制位和標(biāo)志位;而TH0 只能作定時(shí)器使用,占用T/C1 的資源TR1 和TF1。在這種情況下,T/C1 仍可用于方式0/1/2,當(dāng)不能夠使用中斷方式。只有將T/C1 用作串行口的波特率方式器時(shí),T/C0 才工作在方式3,以便增加一個(gè)定時(shí)器。

5. T/C2的工作方式

定時(shí)器/計(jì)數(shù)器2 包含一個(gè)16 位重載方式,T/C2 在計(jì)數(shù)溢出后,自動(dòng)在瞬間重裝載(像8 位自動(dòng)重載方式2)。自動(dòng)重載可由外部引腳T2EX 的負(fù)跳變開始,這樣外部引腳用于產(chǎn)生和其他硬件計(jì)數(shù)器的同步信號(hào)。T/C2 可以看作看門狗或定時(shí)溢出的定時(shí)器。T/C2 還有捕獲方式。把瞬時(shí)計(jì)數(shù)值傳到另外的CPU 可讀取的寄存器對(duì)(RCAP2H、RCAP2L)。

這樣,在讀的過程中,兩個(gè)字節(jié)的計(jì)數(shù)值無波動(dòng)的危險(xiǎn)。對(duì)于快速變化的計(jì)數(shù),比如計(jì)數(shù)值在讀取高字節(jié)時(shí)是16FF時(shí),到讀取低字節(jié)時(shí)已變到1700,結(jié)果卻得到1600。若16FF 瞬間捕獲到另外的寄存器,則可以在CPU空閑的時(shí)候取到16 和FF。

#include "stc.h" //加載stc.h 頭文件

unsigned char i=0; //聲明變量i

void main(void) //主函數(shù),程序是在這里運(yùn)行的

{

TH0=(65536-50000)/256; //計(jì)數(shù)寄存器高8 位

TL0=(65536-50000)%6; //計(jì)數(shù)寄存器低8 位

TMOD=0x01; //工作方式為16 位定時(shí)器

ET0=0x01; //允許T/C0 中斷

EA=1; // 全部中斷允許

TR0=1; // 啟動(dòng)T/C0 運(yùn)行

while(1) // 進(jìn)入死循環(huán)

{

if(i>7)i=0; //若i>7,則i=0

}

}

void Timer0IRQ(void) interrupt 1 //中斷服務(wù)函數(shù)

{

TH0=(65536-50000)/256; //計(jì)數(shù)寄存器高8 位重新載入

TL0=(65536-50000)%6; //計(jì)數(shù)寄存器低8 位重新載入

84

P2=1<

i++; //i 自加1

}

分析:

T/C0 的初始化在main 函數(shù)中進(jìn)行,在while(1)死循環(huán)當(dāng)中,只有對(duì)i 變量檢測,對(duì)LED 燈進(jìn)行操作主要放置在T/C0 的中斷服務(wù)函數(shù)Timer0IRQ,即P2=1<很奇怪,main()函數(shù)里面基本對(duì)單片機(jī)的操作什么都沒有,只有對(duì)變量i 的檢測操作,幾乎是空載運(yùn)作,但是為什么流水燈還是能夠運(yùn)行呢?那么答案只能有一個(gè),Timer0IRQ()中斷服務(wù)函數(shù)能夠脫離主函數(shù)獨(dú)立運(yùn)行。

大家很自然地想到為什么Timer0IRQ()函數(shù)獨(dú)立于main()函數(shù)還能夠運(yùn)行,聯(lián)系到在PC 機(jī)的C 語言的編程是根本不可能的事,因?yàn)樗械倪\(yùn)行都必選在main()函數(shù)體中運(yùn)行。只能告訴大家不同的平臺(tái)自然有所不同,它們之間的不同必然會(huì)有各自的優(yōu)點(diǎn),還有例如AVR、ARM單片機(jī)編程同樣是“主程序+中斷服務(wù)函數(shù)”組合的架構(gòu),更何況是8051 系列單片機(jī)編程。當(dāng)然我們學(xué)會(huì)了8051 系列單片機(jī)的編程,自然而然在AVR、ARM 或者更加多的單片機(jī)中的編程中得心應(yīng)手,感覺就是以不變應(yīng)萬變。

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

Holtek推出新一代無刷直流電機(jī) (BLDC) 控制專用單片機(jī) HT32F65233。采用 Arm? Cortex?-M0+ 低功耗內(nèi)核, 具備 2.5 V~5.5 V 寬電壓操作。系統(tǒng)電壓為 5 V 時(shí),可獲得更高的...

關(guān)鍵字: BLDC單片機(jī) 電機(jī)驅(qū)動(dòng) 計(jì)數(shù)器

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

關(guān)鍵字: 單片機(jī) 定時(shí)器

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

關(guān)鍵字: 編碼器? 定時(shí)器

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

關(guān)鍵字: 定時(shí)器 ESP32S3 語音控制

你可能會(huì)想象他們使用先進(jìn)的人工智能相機(jī)來計(jì)算訪客人數(shù),但實(shí)際上,一個(gè)簡單的基于傳感器的系統(tǒng)就能有效地完成這項(xiàng)工作!通過在入口和出口點(diǎn)放置紅外傳感器,這些系統(tǒng)檢測移動(dòng)方向并保持準(zhǔn)確計(jì)數(shù)。不需要花哨的技術(shù)。

關(guān)鍵字: Arduino IR傳感器 計(jì)數(shù)器

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

關(guān)鍵字: MCU 物聯(lián)網(wǎng) 定時(shí)器

該項(xiàng)目利用OLED顯示器和兩個(gè)輸入開關(guān),允許用戶增加屏幕上顯示的兩個(gè)數(shù)字(10和單位)。代碼由設(shè)置和循環(huán)函數(shù)組成,用于管理顯示和開關(guān)輸入。

關(guān)鍵字: OLED 顯示器 計(jì)數(shù)器

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

關(guān)鍵字: CD4060 定時(shí)器

如果定時(shí)器的重裝值和分頻設(shè)置不正確,會(huì)導(dǎo)致PWM輸出的頻率和占空比不準(zhǔn)確,從而產(chǎn)生誤差?1。

關(guān)鍵字: 定時(shí)器 分頻

在數(shù)字電路設(shè)計(jì)中,計(jì)數(shù)器是一種基礎(chǔ)的數(shù)字電路組件,用于記錄并顯示脈沖信號(hào)的數(shù)量或頻率。4進(jìn)制計(jì)數(shù)器,即模4計(jì)數(shù)器,是一種特殊的計(jì)數(shù)器,其計(jì)數(shù)范圍從0到3,共4個(gè)狀態(tài)。本文將深入探討如何結(jié)合D觸發(fā)器與寄存器來實(shí)現(xiàn)一個(gè)4進(jìn)制...

關(guān)鍵字: D觸發(fā)器 寄存器 計(jì)數(shù)器
關(guān)閉