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

正文內(nèi)容

輸入輸出中斷定時與串行通信(編輯修改稿)

2025-05-27 12:05 本頁面
 

【文章內(nèi)容簡介】 -計數(shù)初值 ) 機器周期 用于計數(shù)器工作方式時: 最大計數(shù)值 為 : 216= 65536。 44 定時器 T0的方式 1邏輯電路 45 三 、 方式 2 定時 /計數(shù)器工作于方式 2時 , 將兩個 8位計數(shù)器 THx、 TLx分成獨立的兩部分 , 組成一個 可自動重裝載的 8位定時 /計數(shù)器 。 其邏輯結(jié)構(gòu)如下圖所示 。 方式 2的控制運行與方式 0、 方式 1相同 。 用于定時工作方式時 , 定時時間 t為: t= (28計數(shù)初值 X) 機器周期 方式 2用于計數(shù)工作方式時 , 最大計數(shù)值 (初值= 0時 )是 28。方式 2特別適合于 用作較精確的定時和脈沖信號發(fā)生器 。 還常用作 串行口波特率發(fā)生器 。 46 四 、 方式 3 方式 3只適用于定時器 T0。在方式 3下, T0被分成兩個相互獨立的 8位計數(shù)器 TL0和 TH0,如下圖所示 。 ( 1) TH0和 TL0變成 2個分開的獨立計數(shù)器 。 ( 2) TL0占用了全部的定時器控制位( C/T,GATE,TR0,TF0)。 ( 3) TH0只能用于定時方式,運行控制位和溢出標志位則借用定 時器 1的 TR1和 TF1。此時的定時器 1用于串行口波特率發(fā)生器。 注: 在 T0設置為方式 3工作 時 ,一般是 將定時器 T1作為串行口波特率發(fā)生器,或用于不需要中斷的場合。 47 定時器 T0的方式 3 (a)T0方式 3時的 T1方式 0 (b)T0方式 3時的 T1方式 1 48 定時器 /計數(shù)器 應用 一 、 定時器 /計數(shù)器的計數(shù)初始化 1. 定時器/計數(shù)器的初始化方法 初始化的主要內(nèi)容是對 TCON和 TMOD編程,計算和裝載 T0和T1的計數(shù)初值。 ( 1)確定相關(guān)參數(shù) 1) 分析定時器/計數(shù)器的工作方式 , 將方式字寫入 TMOD寄存器;( 即確定:定 /計 、 內(nèi) /外啟動 、 工作方式 ) 2)計算 T0或 T1中的計數(shù)初值 , 并將其寫入 TH0、 TL0或 TH TL1; 3)根據(jù)需要開放 CPU和定時器/計數(shù)器的中斷 , 即對 IE和 IP寄存器編程; 4)啟動定時器/計數(shù)器工作:若要求用軟件啟動 , 編程時對 TCON中的 TR0或 TR1置位即可啟動;若由外部中斷引腳電平啟動 , 則對TCON中的 TR0或 TR1置位后 , 還需給外部引腳加啟動電平 。 49 ( 2)計算定時器 /計數(shù)器的初值 1) 計數(shù)器 方式時的 計數(shù)初值 TC= 2M- N ( M為計數(shù)器位數(shù) , N為要求的計數(shù)值 ) 方式 0: M= 13, 計數(shù)器的最大計數(shù)值 213= 8192。 方式 1: M= 16, 計數(shù)器的最大計數(shù)值 216= 65536; 方式 2: M= 8, 計數(shù)器的最大計數(shù)值 28= 256; 方式 3同方式 2。 例如 , 設 T0工作在計數(shù)器方式 2, 求計數(shù) 10個脈沖的計數(shù)初值 。 TC= 28 - 10= 246= (11110110)B= 0F6H 2) 定時器 方式時的 計數(shù)初值 在定時器方式下 , 定時器 T0(或 T1)是對機器周期進行計數(shù)的 。 定時時間為: t= (2M-計數(shù)初值 X) 機器周期 。 故: 計數(shù)初值 X= 2M( t/( 12*T osc )) = 12tf2 oscM ??50 注意: 不同方式下, M的取值不同。若系統(tǒng)時鐘頻率fOSC= 12MHz。則 方式 0: M= 13,定時器的最大定時值為: 213*機器周期= 8192181。S; 方式 1: M= 16,定時器的最大定時值為: 216*機器周期= 65536181。S; 方式 2: M= 8,定時器的最大定時值為: 28*機器周期= 256181。S; 方式 3同方式 2。 例如: 若 fOSC= 6MHz,定時時間為 10ms,使用定時器 T0工作于方式 1,則定時器 T0的初值為 : 12 0 0 0 0 0 02 16 ??TC0= = 60536= 0EC78H 注意時鐘頻率( HZ)和定時時間 (S)的單位換算! 51 2. 定時器 /計數(shù)器初始化舉例 編寫初始化程序的步驟: ( 1)方式控制字送 TMOD; MOV TMOD, —— ( 2)計數(shù)器的初值送 TH、 TL( 0/1); MOV TH0, —— MOV TL0, —— ( 3)根據(jù)需要開放中斷和設定優(yōu)先級; 即對 IE和 IP賦初值。 ( 4) 啟動 T0/T1開始工作 置位 TR0/TR1; SETB TR0/TR1 ( 5) 等待溢出信號的出現(xiàn) ( 如何進入處理程序 ? ) ( 有 查詢法 或 中斷法 ) 52 例 1:要求定時器 T1工作于方式 1, 定時 50ms, 由軟件啟動 , 允許中斷 。 設系統(tǒng)時鐘頻率 fOSC= 6MHz, 編寫初始化程序段 。 解: 1) 方式控制字為 00010000B=10H 2) 計數(shù)初值為 TC1= 6316 6 1 0 5 0 1 02 4 0 5 3 6 D 9 E5 8 H12?? ? ?? ? ?T1初始化程序段如下: MOV TMOD, 10H ;寫入工作方式字 MOV TH1, 9EH ;寫入計數(shù)初值 MOV TL1, 58H SETB ET1 ;開放 T1中斷 SETB EA ;開放 CPU中斷 SETB TR1 ;啟動 T1工作 ┋ 53 例 2: 要求利用定時 /計數(shù)器 T0對 T0引腳 ( ) 出現(xiàn)的脈沖計數(shù) , 每計數(shù) 100個脈沖向 CPU申請中斷 , 設由軟件啟動 。編寫初始化程序段 。 解: 1) 經(jīng)分析 , 可設定時器 T0工作于方式 2計數(shù) , 方式控制字為 00000110B=06H 2) 要求的計數(shù)值 N=100, 則計數(shù)初值為 28100=156 初始化程序段如下: MOV TMOD, 06H ;寫入工作方式字 MOV TH0, 156 ;寫入計數(shù)初值 MOV TL0, 156 MOV IE, 10000010B ;開放 T0、 CPU中斷 SETB TR0 ;啟動 T0工作 54 二 、 定時器 /計數(shù)器應用舉例 在應用定時器/計數(shù)器時 , 溢出標志 TFx置位后既可由硬件向 CPU申請中斷;也可通過用戶程序查詢 TFx的狀態(tài) , 因此對計數(shù)溢出信息的處理有以下 兩種方法 : 中斷法: 在定時器初始化時要開放對應的源允許( ET0或 ET1)和總允許,在啟動后等待中斷。當計數(shù)器溢出中斷時, CPU將程序轉(zhuǎn)到中斷服務程序入口,因此應 在中斷服務程序中安排相應的處理程序。 查詢法: 在定時器初始化并啟動后 , 在程序中安排指令查詢TFx的狀態(tài) 。 LP: JBC TF0, NEXT ; TF0為 1,轉(zhuǎn)后面的處理程序,并將 TF0復位 SJMP LP ; TF0為 0,繼續(xù)查詢 NEXT: ┋ 55 采用查詢方式時的一般編程模式為: ORG 0030H MAIN: MOV TMOD, —— MOV TH0, —— MOV TL0, —— SETB TR0 WAIT: JBC TF0, NEXT; SJMP WAIT; NEXT: MOV TH0, ——;重裝 MOV TL0, —— ;初值 ;處理程序 SLMP WAIT 注意問題: 1)方式 0、 3溢出后要重裝初值,方式 2可自動重裝初值。 2)方式 0時 TH為 8位, TL為 5位。 采用中斷方式時的一般編程模式為: ORG 0000H SJMP MAIN ORG 000BH ( 001BH) LJMP T0S ORG 0030H MAIN: MOV TMOD, —— MOV TH0, —— MOV TL0, —— SETB ET0; SETB EA; ;置其他初值 SETB TR0; SJMP $ T0S: MOV TH0, —— MOV TL0, —— ;重裝初值 ;處理程序 RETI 假設使用 T0,則: 56 /計數(shù)器 定時 方式的應用 例 3: 利用定時 /計數(shù)器定時產(chǎn)生周期信號。要求用定時器T0定時,在 50Hz的方波。設晶振頻率為 12MHz。 解: 1) 按題意分析:方波周期 T=1/50=20ms, 可用 T0方式 1定時 10ms, 使 10ms取反一次 , 即可得到周期為20ms的方波 。 設 T0工作在方式 1, 由軟件啟動 。 2) TMOD控制字為 0000 0001 B 3) 初值計算:因 fosc=12MHz, 則機器周期為 1181。s。 初值= 21610 103/1=6553610000=55536=D8F0H, 即有 TH0=D8H, TL0=F0H。 57 4)編程 查詢法 ,編程如下: ORG 0030H STAR: MOV TMOD, 01H ;寫方式字 MOV TH0, 0D8H ;寫入計數(shù)初值 MOV TL0, 0F0H SETB TR0 ;啟動 T0 LP: JBC TF0, NEXT ; TF0為 1轉(zhuǎn) NXET SJMP LP ; TF0為 0,繼續(xù)查詢 NEXT: MOV TH0, 0D8H ;重裝初值 MOV TL0, 0F0H CPL ; AJMP LP ;反復循環(huán) 58 中斷法 , 編程如下: 主程序: ORG 0000H SJMP STAR ORG 000BH ;定義 T0服務程序入口 AJMP DVT0 ORG 0030H STAR: MOV TMOD, 01H ;寫入工作方式字 MOV TH0, 0D8H ;寫入計數(shù)初值 MOV TL0, 0F0H SETB ET0 ; SETB EA ;開放 T0和 CPU中斷 SETB TR0 ;啟動 T0 SJMP $ ;等待中斷 中斷服務程序: DVT0: MOV TH0, 0D8H ;重裝初值 MOV TL0, 0F0H ; CPL ; RETI 59 2. 定時器/計數(shù)器 計數(shù) 方式的應用 例 4: 某系統(tǒng)要求用定時器 T1對由 ( T1) 引腳輸入的脈沖計數(shù) , 每計滿 100個脈沖 , 在 。 解: 1)據(jù)題意分析,可將定時器 T1設置為方式 2計數(shù),由軟件啟動。 2)方式控制字 : TMOD= 01100000B= 60H 3)計數(shù)初值 : TC1= 28- 100= 156= 9CH,即有 TH1= TL1= 9CH 60 4)程序如下: ORG 0000H SJMP MAIN ORG 001BH ;定義 T1服務程序入口 AJMP DVT1 ORG 0030H MAIN: MOV TMOD, 60H ;寫入工作方式字
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1