freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

中斷控制、定時計數器與串行口【更齊全(編輯修改稿)

2025-01-31 04:16 本頁面
 

【文章內容簡介】 1)。當計數器溢出時,定時 /計數器溢出標志有效 (定時時間到 ),向 CPU發(fā)出中斷請求。如果中斷處于開放狀態(tài),則 CPU將響應定時 /計數器的中斷請求。 54 定時 /計數器 T0、 T1的結構及控制 增強型 MCS51芯片中的定時 /計數器 T0、 T1的結構及功能與標準 MCS51芯片 16位定時 /計數器 T0(高 8位是 TH0,低 8位是 TL0)、 T1(高 8位是 TH1,低 8位是 TL1)完全相同。T0、 T1采用加法計數方式,即每輸入一個計數脈沖,計數器加 1。在定時方式下,計數脈沖是系統(tǒng)時鐘信號的 12分頻。由于 MCS51單片機的一個機器周期包含 12個時鐘周期,因此在定時方式下,定時 /計數器實際上是機器周期的計數器(對于“ 6時鐘 /機器周期”芯片來說,在定時方式下,計數脈沖是系統(tǒng)時鐘信號的 6分頻,同樣是機器周期的計數器 )。 55 在計數方式下,定時 /計數器 T0的計數脈沖來自 腳,定時 /計數器 T1的計數脈沖來自 。 ?MCS51 CPU在每個機器周期的 S5P2相檢測 、 狀態(tài),如果前一個機器周期采樣值為高電平,而后一個機器周期采樣值為低電平,則計數器加 1,在下一機器周期的S3P1相后,更新定時 /計數器 TH、 TL的值。因此,外部計數脈沖高、低電平的最短時間不能小于一個機器周期,否則會出現漏計數現象,即外部計數脈沖最高頻率是系統(tǒng)時鐘信號的 24分頻 (對于“ 6時鐘 /機器周期”芯片來說,外部計數脈沖最高頻率為系統(tǒng)時鐘信號的 12分頻 )。例如,當晶振頻率為 12?MHz時,外部計數脈沖最高頻率是 500?kHz的方波 (對于“ 6時鐘 /機器周期”模式來說,外部計數脈沖頻率必須小于 1?MHz)。 56 1. 定時 /計數器 T0、 T1的控制 在 MCS51中,與定時 /計數器 T0、 T1工作方式有關的寄存器為 TMOD和 TCON。其中 TMOD控制定時 /計數器 T0、T1的工作方式,而 TCON控制定時 /計數器的啟動并記錄 定時 /計數器的溢出標志。 1) 控制字寄存器 TMOD 與定時 /計數器工作方式有關的控制字寄存器 TMOD各位含義如圖 46所示。 57 圖 46 TMOD寄存器各位含義 58 由圖 46可見, TMOD低 4位 (b3~ b0)控制定時 /計數器T0的工作方式,而高 4位 (b7~ b4)控制定時 /計數器 T1的工作方式,其中: M M0用于選擇定時 /計數器的工作方式,具體情況如表 42所示。 59 表 42 定時 /計數器 T0、 T1的工作方式 M1 M0 工作方式 說 明 00 方式 0 ( 不推薦 ) 13 位定時 / 計數器,主要是為了與 Intel 公司早期的 MCS 48 系列兼容,由 TL0 的低 5 位和 TH0 ( 8 位 ) 構成 。 由于裝入初值容易出錯,故 不推薦使用方式 0 01 方式 1( 常用 ) 16 位定時 / 計數器 10 方式 2( 常用 ) 自動重裝初值的 8 位定時 / 計數器 11 方式 3 定時 / 計數器 T0 可以工作在這一方式,相當于兩個獨立的 8 位定時 / 計數器。但 T0 工作于方式 3 時,占用了定時 / 計數器 T1 的部分資源,限制了 T1 的使用范圍 ( 在這種情況下, T1 可作為串行口發(fā)送 / 接收波特率發(fā)生器 ) 60 是定時 /計數方式選擇位。當 位為 0時,計數脈沖來自 CPU內,計數脈沖頻率是系統(tǒng)時鐘信號的 12分頻 (對于“ 6時鐘 /機器周期”模式來說,計數脈沖是系統(tǒng)時鐘信號的 6分頻 ),即處于定時方式;當 位為 1時,計數脈沖來自 (指 T0)或 (指 T1)引腳,即處于計數方式。 GATE是定時 /計數器啟動方式控制位。 T/CT/CT/CT/C61 2) 控制字寄存器 TCON 定時 /計數器啟動控制位以及定時 /計數器溢出中斷標志存放在特殊功能寄存器 TCON的高 4位,其各位含義如圖 47所示。其中, TR0位控制定時 /計數器 T0的啟動; TR1位控制定時 /計數器 T1的啟動。 62 圖 47 TCON寄存器中與定時 /計數器控制有關的位 63 2. 定時 /計數器 T0、 T1的工作方式 定時 /計數器 T0有四種工作方式 (即方式 0、方式 方式 2和方式 3),主要用于定時和計數;定時 /計數器 T1有三種工作方式 (即方式 0、方式 1和方式 2),除了定時、計數外,T1還可作為串行異步通信口的波特率發(fā)生器。值得注意的是,初始化時如果錯將定時 /計數器 T1置為方式 3,則 T1將停止工作。 1) 方式 1(16位定時 /計數器 ) 當 M M0初始化為 01時,定時 /計數器工作于方式 1,即計數長度為 16位。 定時 /計數器 T0工作于方式 1的結構如圖 48所示,計數器長度為 16位,分別由 TL0和 TH0組成。 64 圖 48 定時 /計數器 T0(T1)工作于方式 1的結構 65 當 位為 0時,定時 /計數器 T0處于定時方式,計數脈沖是系統(tǒng)時鐘信號的 n分頻,即每隔 n/fOSC秒, TL0加 1。當 TL0溢出 (如果 TL0當前值為 FFH,則再來一個脈沖, TL0將溢出,變?yōu)?00)時, TH0自動加 1;當 TH0也溢出時,定時器 T0中斷標志 TF0位置 1。如果定時器 T0溢出中斷開關 ET0為 1(即允許 T0中斷 ),將向 CPU發(fā)出定時器溢出中斷請求(CPU能否響應,取決于中斷響應條件 )。 如果定時器初值為 M,則方式 1的定時時間 t為: t= (“12時鐘 /機器周期”模式 ) (41) t= (“6時鐘 /機器周期”模式 ) (42) ? ? OSC16 f 6 M2 ?? ?O S C16f6 M2 ??? ?O S C16f12M 2 ?-TC/66 例 假設晶振頻率為 12?MHz,定時器初值為9800(即 2648H),計算“ 12時鐘 /機器周期”模式下的定時時間 t。 顯然,當晶振頻率為 12?MHz,定時器初值為 0時,方式 1最長定時時間為: ? ? 5 7 3 6M H z12 1298002t 16     ?????? ? μs6 5 5 3 6M H z 12 12 02t 16m a x  =- ??67 在定時時間 t確定的情況下,定時器初值 M可表示為: (“12時鐘 /機器周期”模式 ) (43) (“6時鐘 /機器周期”模式 ) (44) 在上式中,如果 fOSC單位取 MHz,則定時時間 t的單位是 μs。 t12f2 OSC16 ? t 12f2M O S C16 ??? t 6f2M O S C16 ???68 例 假設晶振頻率為 12?MHz,所需定時時間為10?ms,計算“ 12時鐘 /機器周期”模式下的定時器初值 M。 將定時時間 10?ms(即 10 000?μs)、晶振頻率 12?MHz代入式 (43),可得初值: 即定時器初值 TH0為 0D8H, TL0為 0F0H。 當 位為 1時,定時 /計數器 T0處于計數方式,計數脈沖來自 CPU的 。 GATE位用于選擇定時 /計數器啟動方式。 H0F8D05553610000655361000012122M 16 === ????T/C69 從圖 48可以看出,當 GATE位為 0時,反相器輸出高電平,或門輸出高電平 (與 ),與門輸出僅由TR0位控制:當 TR0位為 1時,與門輸出為 1,計數脈沖開關接通,定時 /計數器處于計數狀態(tài);反之,當 TR0位為 0時,與門輸出為 0,計數脈沖開關斷開,定時 /計數器停止計數??梢?,當 GATE位為 0時,定時 /計數器 T0的開與關完全由TR0位控制,與 。 當 GATE位為 1時,反相器輸出低電平,或門輸出狀態(tài)受 ,與門輸出狀態(tài)受 TR0位和 (即 )引腳共同控制。在定時狀態(tài) ( = 0)下,當 TR0為 1時,與門輸出狀態(tài)由 ()引腳控制,即定時 /計數器 T0的開與關受 ()引腳控制,常用于測量 ()引腳負脈沖的寬度。 0INT0INT0INT0INT0INT70 定時 /計數器 T1工作于方式 1時,與定時 /計數器 T0方式1完全相同,只是外部計數脈沖來自 (T1);門控制信號來自 ( );啟動控制位為 TR1;中斷標志位為 TF1。 由于方式 1沒有自動重裝初值功能, TH0溢出后,定時器將從 0000H開始計數。因此,當需要重復定時或計數時,必須通過數據傳送指令重裝初值。為了減少定時誤差,進入定時器中斷服務程序后,最好立即重裝初值。 1INT1INT71 2) 方式 2 當 M M0初始化為 10時,定時 /計數器工作于方式 2,是一種自動重裝初值的 8位定時 /計數器。 定時 /計數器 T0工作于方式 2的結構如圖 49所示,除了計數長度 (8位 )、自動重裝初值功能外,其他情況與方式 1相同。 在方式 2中,每來一個脈沖,低 8位 TL0加 1,而高 8位TH0保持不變。當 TL0溢出時,除了將定時器 T0溢出中斷標志 TF0位置 1外,溢出脈沖還打開了 TL0與 TH0之間的三態(tài)門,使 TH0內容自動裝入 TL0,重復計數。因此,利用方式 2可以獲得精確的定時時間。 72 圖 49 定時 /計數器 T0(T1)工作于方式 2的結構 73 由于方式 2的計數長度為 8位,因此定時時間 T與計數器初值 M之間的關系為: (“12時鐘 /機器周期”模式 ) (45) (“6時鐘 /機器周期”模式 ) (46) 顯然,當晶振頻率為 12?MHz時,在“ 12時鐘 /機器周期”模式下,方式 2的最長定時時間為: 由于在方式 2中,自動重裝初值保存在 TH0寄存器中,因此同樣需要初始化 TL0和 TH0(內容與 TL0相同 )。 t 12f2M O S C8 ??? t 6f2M O S C8 ???? ? μs2 5 6M H z 12 12 02t 8m a x ?。剑???74 定時 /計數器 T0、 T1均可以工作于方式 2,在可變波特率異步通信 (在 )方式中可使用 T1溢出率作為串行通信波特率,因此在涉及異步通信的單片機應用系統(tǒng)中,常使定時 /計數器 T1工作于自動重裝初值的方式 2(但不允許 T1中斷 )作為串行口發(fā)送 /接收波特率發(fā)生器。 75 3) 方式 3 定時 /計數器 T0工作于方式 3的結構如圖 410所示。由圖可見,方式 3將定時 /計數器 T0分成兩個獨立的 8位定時 /計數器 (但只有 TL0具有定時和計數功能,而 TH0計數脈沖來自 CPU內分頻器,不可選擇,只能作為 8位定時器使用 )。 76 圖 410 定時 /計數器 T0工作于方式 3的結構 77 當 TL0溢出時,定時器 T0溢出中斷標志位 TF0置 1;而TH0溢出時,定時器 T1溢出中斷標志位 TF1置 1,而且還借用了定時 /計數器 T1的啟動控制位 TR1作為 TH0的啟動控制位,即工作在方式 3下的定時 /計數器 T0占用了 T1的啟動控制位 TR1和溢出中斷標志位 TF1,使定時 /計數器 T1的功能受到了限制,如圖 411所示,只能作為不需要中斷功能的波特率發(fā)生器。 78 圖 411 定時 /計數器 T0工作在方式 3下 T1的結構 (a) T1方式 1; (b) T1方式 2 79 當 T0工作在方式 3時, T1啟動控制位被占用,初始化TMOD寄存器后, T1將立即啟動,且只能通過寫入新的工作方式使 T1停止計數 (如將方式 3寫入 T1方式控制字段,即可使 T1停止計數 )。因此, T0工作在方式 3時,常將 T1置于方式 2(自動重裝初值 )作為串行口波特率發(fā)生器使用 (這時不一定非要禁止 T1中斷,因為 T0工作于方式 T1工作方式 2時, T1中斷是 TH0溢出引起的,并非是 TH1溢出引起的 )。 80 定時 /計數器 T2的結構及控制 增強型 MCS51定時 /計數器 T2的功能比標準 MCS52系列 CPU內定時 /計數器 T2的功能更強,除了具有下降沿觸發(fā)自動重裝、捕捉及串行口波特率發(fā)生器三種工作方式外,
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1