Chapter06_主要功能單元---精品課件_第1頁
Chapter06_主要功能單元---精品課件_第2頁
Chapter06_主要功能單元---精品課件_第3頁
Chapter06_主要功能單元---精品課件_第4頁
Chapter06_主要功能單元---精品課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第6章 主要功能單元6.2 MCS-51定時/計數(shù)器6.3 MCS-51串行口6.1 MCS-51單片機中斷系統(tǒng)雇狐韓非沛段藏篩骸決窗矮菇吞氣仔諧用嵌專蝴吊痕擱東榨浙哩爐望懼沿Chapter06_主要功能單元Chapter06_主要功能單元6.1.1 中斷請求源5個中斷源2個優(yōu)先級2個外部中斷3個內(nèi)部中斷INT0( P3.2 )INT1( P3.3 )T0T1UART與中斷有關的特殊功能寄存器:IP: 中斷優(yōu)先控制寄存器IE: 中斷允許控制寄存器TCON: 定時/計數(shù)控制寄存器SCON: UART控制寄存器中斷請求標志寄存器可編程,可控MCS 51中斷要點6.1 MCS-51單片機中斷系統(tǒng)鉸阿

2、粒慣內(nèi)繃黔易撓乘轅粒洽懈閨絕凄尺伎韓示隊膛褥菏解腫殉札遼庚冷Chapter06_主要功能單元Chapter06_主要功能單元1、定時/計數(shù)器控制寄存器TCON TCON (88H)TF1 TF0 IE1 IT1 IE0 IT0 INT1 INT0觸發(fā)方式控制位0 低電平觸發(fā)1 邊沿觸發(fā) INT1 INT0外部中斷請求標志1 有有效觸發(fā)時0 當CPU響應中斷時T1 T0溢出標志1 計數(shù)器“+1”有溢出時,并向CPU請求中斷0 當CPU響應中斷時,也可由指令清除TR1 TR0由硬件自動由硬件自動中斷請求標志可編程控制位TR1 TR0由硬件自動由硬件自動在每個機器周期 S5P2都采樣引腳 P3.3、

3、P3.2引腳00記錄有無中斷記錄有無中斷6.1.1 中斷請求源公西背翰積餡遵汲俊詛邏座陽屠皂余郵毀肉唯樊利隙浮識貝佰鶴搓帛蠻惶Chapter06_主要功能單元Chapter06_主要功能單元2、串行口控制寄存器 SCONTI:串行口發(fā)送(完)中斷標志在方式0,串行發(fā)送到第8位結束時,由硬件置“1”;或在其他方式中,串行發(fā)送到停止位的開始時,由硬件置“1”。RI:串行口接收(好)中斷標志在方式0,串行接收到第8位結束時,由硬件置“1”;或在其他方式中,串行接收到停止位的開始時,由硬件置“1”?!?” 發(fā)送完一幀數(shù)據(jù)后“1” 接收完一幀數(shù)據(jù)后必須由軟件清 “0” SCON (98H) TI RI6

4、.1.1 中斷請求源必須由軟件清 “0”倡陶茹輕乎染孩粉隨樞廂撕蜂蔑韶確淫亦妮葵陜知佐吉撬落悔飼潦覺圭策Chapter06_主要功能單元Chapter06_主要功能單元01/01/01/011/01/01/01/01/01/01/01/01/01/001串行通信的數(shù)據(jù)格式:一幀數(shù)據(jù):一個字符在異步傳送中稱為一幀數(shù)據(jù)。一幀數(shù)據(jù)由4部分組成: 起始位、數(shù)據(jù)位、奇偶位、停止位一幀數(shù)據(jù)起始位數(shù)據(jù)位奇偶位停止位起始位數(shù)據(jù)位停止位第n個字符第n+1個字符LSBMSB附加位n-1奇偶位通信協(xié)議6.1.1 中斷請求源慌戮笛觸姐叭橢焊磕貢釣址禾功幌王患洶謾支餃局槍蓑番鳥敏琶賴冊亥務Chapter06_主要功能單

5、元Chapter06_主要功能單元6.1.2 中斷控制1、中斷允許寄存器 IE EA / / ES ET1 EX1 ET0 EX0INT0INT1T1T0UARTCPU0 禁止1 允許0 禁止1 允許 總 中斷中斷IE(A8)中斷的開放和禁止是可控,可編程的。ET2T2CPUIE 的相應位被清 “0”或置“1”, 該相應中斷即被“禁止”或“開放”。撰凳無聞辣硯排繩夏盈最榔嗡飯趾霞恃峭搗囪精量詫絢痞吁囤要體私灤廉Chapter06_主要功能單元Chapter06_主要功能單元2、中斷優(yōu)先級寄存器 IP / / / PS PT1 PX1 PT0 PX0IP(B8)ET2INT0INT1T1T0UA

6、RT0 低級1 高級中斷T2中斷優(yōu)先級可控、可編程3、優(yōu)先級結構中斷優(yōu)先級控制遵循的兩個基本原則: 一個正在執(zhí)行的低級中斷服務程序,能被高優(yōu)先級 中斷請求所中斷,但不能被同優(yōu)先級中斷請求所中斷。 一個正在執(zhí)行的高級中斷服務程序,不能被任何中斷 請求所中斷,直到返回。6.1.2 中斷控制坑雹習以好畜倆謹勸唆覺單氏紋彭拆駛昭項蠱噶呻旋售塊私姓撾俐窘撈八Chapter06_主要功能單元Chapter06_主要功能單元實現(xiàn)這兩個原則的方法: 中斷系統(tǒng)內(nèi)部設置了兩個不可尋址的優(yōu)先級狀態(tài)觸發(fā)器。一個指出正在處理的是:高優(yōu)先級中斷,并阻止所有其他中斷;另一個指出正在處理的是:低優(yōu)先級中斷,并阻止除高優(yōu)先級中

7、斷外的其他任何中斷。高優(yōu)先級狀態(tài)觸發(fā)器低優(yōu)先級狀態(tài)觸發(fā)器是不可尋址的當CPU響應高級中斷,并進入中斷服務時“1”“1”RETI“0”當CPU響應低級中斷,并進入中斷服務時“1”RETI“0”無條件的6.1.2 中斷控制見腐殿奠越耍煥慣旬瓣佃鮑奶挫蠻足獎蔑舷掄審啃溢撫歪鹿戀莢冤赦炭燼Chapter06_主要功能單元Chapter06_主要功能單元 在同級的幾個中斷源中同時發(fā)生請求時,內(nèi)部對同級的各中斷源的優(yōu)先級別有一個規(guī)定的查詢順序:外部中斷請求 INT0定時/計數(shù)器 T0定時/計數(shù)器 T1串行口 UART定時/計數(shù)器 T2外部中斷請求 INT1最高最低自然優(yōu)先級自然優(yōu)先級由硬件查詢邏輯完成。6

8、.1.2 中斷控制踐霜亞永仕蹈坑歸亥查面滑淫遭誼揖排輻勃咐鞋恰廠賭洋吝赫鬧燒忽貿(mào)敏Chapter06_主要功能單元Chapter06_主要功能單元源允許中斷系統(tǒng)總體邏輯結構總允許優(yōu)先級自然優(yōu)先級中斷源自然優(yōu)先級中斷源查詢硬件查詢硬件 低級中斷請求送CPU 矢量地址送PC IPIETCON SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1 IT1 011010101010矢量地址送PC 高級中斷請求送CPUIT0 01中斷標志中斷標志INT01IE0自然優(yōu)先級矢量地址送PC“+1”TF10自然優(yōu)先級 矢量地址送PCEA“+1”“+1”EX0

9、ET11PX0PT0PX1PT1P S“+1”“+1”6.1.2 中斷控制窮烴驕攤繡致導標嫌腰講昌盂恍丫掩赦欄頸庇痘延鉗纜奶碟叫徘武翠背夾Chapter06_主要功能單元Chapter06_主要功能單元6.1.3 中斷響應過程中斷響應的三個條件: CPU不是正在處理同級或高級中斷請求。 現(xiàn)行機器周期是所執(zhí)行指令的最后一個機器周期。 正在執(zhí)行的指令不是RETI(或RET),或不是在訪問IE或IP。 外部中斷請求INT0 定時/計數(shù)器T0溢出 定時/計數(shù)器T1溢出 串行口UART 定時/計數(shù)器T2溢出 外部中斷請求INT1中斷入口地址:0003H000BH0013H001BH0023H002BH中

10、斷源排除法勇趟與蕾媒效窖垮給澳膚涵二冪部獰擲史嚨裸幣隴掏補僥莫輻浸池霍緘虐Chapter06_主要功能單元Chapter06_主要功能單元6.1.4 外部中斷響應時序與觸發(fā)方式1、外部中斷響應時序M1M3M4M5M2S5P1S5P2INTi被采樣并鎖存到IE0、IE1中CPU進行中斷查詢保護斷點,長調用至入口中斷服務1)中斷響應順利,不受阻,需要3個機器周期。2)如果中斷受阻,則需要38個機器周期。即滿足上述三個條件 正在處理同級或高級中斷,這要視中斷服務程序的長短。 執(zhí)行的指令不是最后一個機器周期,則等待不超過3個周期。 正在執(zhí)行指令是RETI(RET)(雙周期指令),或正訪問IE、IP,則

11、需返回主程序后,再執(zhí)行一條主程序的指令才能響應該中斷,等待不超過5個周期。蓄場耶級錄睫戀類斬堅釁悉斑碉俗抗綴貴喀坎不甚沁乞囤蜘民酒飽俺資企Chapter06_主要功能單元Chapter06_主要功能單元2、外部中斷觸發(fā)方式 電平觸發(fā)方式 邊沿觸發(fā)方式 若外部中斷(當ITX = 0時)被定義為電平觸發(fā)方式。其有效觸發(fā)為低電平,該低電平維持到CPU響應該中斷為止,中斷返回之前,必須變?yōu)楦唠娖?。否則CPU將再次響應該中斷。 若外部中斷(當ITX = 1時)被定義為邊沿觸發(fā)方式。其有效觸發(fā)為下降沿。在該觸發(fā)方式中,CPU在一個機器周期采樣為高電平,在下一機器周期采樣為低電平,就立即置位外部中斷請求標志

12、。 無論是那種觸發(fā)發(fā)方式,只要有有效觸發(fā),都會記錄在相應的中斷標志位中, 若CPU即使暫不響應,中斷標志也不會丟失,直到CPU響應該中斷,該標志才會清除。6.1.4 外部中斷響應時序與觸發(fā)方式瑩睡籽惑熏扔昔鋁椿失刪犀震牙渤焚烷孜啄盂姬郝鬼莎絨充銜關徽府帖雄Chapter06_主要功能單元Chapter06_主要功能單元6.1.5 多個外部中斷源的設計1、利用定時/計數(shù)器作外部中斷輸入使用的方法T0作為外部中斷源的初始化程序:MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FFHSETB EASETB ET0SETB TR0;T0計數(shù)方式,自動裝載;置計數(shù)初值;T0開中斷

13、;CPU開中斷;啟動T0工作計數(shù)器“+1”計數(shù)器向CPU發(fā)中斷請求向CPU發(fā)中斷請求TF0FFHT0FFH方式2(8位)FFHFFHTF000HFFHFFHP3.4鍘旋峪俱駿駝采椰羔推賜蟹徘干鋒月很練稗哼寄肩襪膨霜眨谷乃鋼巒跳呸Chapter06_主要功能單元Chapter06_主要功能單元2、中斷與查詢相結合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V擴展多個外部中斷最高級最低級“線或”6.1.5 多個外部中斷源的設計蹬既蹤湊捆蟲頂釀勇通畜搭袋鄙逢幟堰嚷精謠酌缺疥集操鍬匪壓何唬揉據(jù)Chapter06_主要功能單元Chapt

14、er06_主要功能單元PINT1: PUSH PSWPUSH ACCJB P1.0, PDVT1JB P1.1, PDVT2JB P1.2, PDVT3JB P1.3, PDVT4PINTR: POP ACCPOP PSWRETI;進入中斷后;注意保護現(xiàn)場;依次查詢判斷;若是干擾信號引起;返主程序前;注意恢復現(xiàn)場;的中斷請求,可被濾掉外部中斷INT1的中斷服務程序:6.1.5 多個外部中斷源的設計翠游廉描冕橙胡昧鼠矩焚放辛臭敘兩胞糙禹眺碉蟻舊捉做懼奸灤南濕藏蟄Chapter06_主要功能單元Chapter06_主要功能單元PDVT1: AJMP PINTRPDVT2: AJMP PINTRPD

15、VT3: AJMP PINTRPDVT4: AJMP PINTR;DVT1中斷服務;DVT2中斷服務;DVT3中斷服務;DVT4中斷服務中斷處理6.1.5 多外部中斷源的設計龜拷芋榴妒侶外芭介擇勉追惱稱蒂矣擁關貶蓮男乞緝巷祿位拴隊襲暇夕討Chapter06_主要功能單元Chapter06_主要功能單元6.1.6 用軟件模擬第三個中斷優(yōu)先級 在中斷優(yōu)先級寄存器IP中定義兩個中斷優(yōu)先級:高優(yōu)先級、低優(yōu)先級。低優(yōu)先級的中斷服務程序如下:趨醚遼具誡近憚杖瞎擇沿譯層恤蠅妓曉慌裙郡冤蒸筒哭改乓叼聽冊駱賞未Chapter06_主要功能單元Chapter06_主要功能單元40H41H42H43H44H *PC

16、L *PCHPCL主PCH主IEPUSH IEMOV IE, #MASKLCALL LABELDVT1:中斷服務POP IERETLABEL:RETI;保護IE;置屏蔽字,屏蔽當前中斷;調用子程序;執(zhí)行中斷服務;恢復IE;子程序返回,真正的中斷返回;中斷返回,CPU被欺騙 誤認為返回主程序SPSPSPSP*PCSPSP*PC低優(yōu)先級狀態(tài)觸發(fā)器“1”LABELLABEL:SPSP*PCCPU認為已經(jīng)返回主程序“0”SPPC返主SPSP又可被低級中斷請求中斷堆棧又可被低級中斷請求中斷憫樊言弦芋砧牲彬籍搜請踐喚進修浪煎禮胺修恰使喳僵韶牢瞎肉歉乙蛤潭Chapter06_主要功能單元Chapter06_

17、主要功能單元6.2 MCS-51定時/計數(shù)器51系列內(nèi)部有2個16位的定時/計數(shù)器T0、T1。52系列內(nèi)部有3個16位的定時/計數(shù)器T0、T1、T2。功能:定時計數(shù)串行口的波特率發(fā)生器定時/計數(shù)器的可編程特性: 可確定其工作方式是定時還是計數(shù)。 預置定時或計數(shù)初值。 當定時時間到(或計數(shù)終止時),要不要發(fā)中斷請求。 如何啟動定時(或計數(shù))器工作 ??删幊掏凼蛱顾ぐ皇鄢俗跞靹蛎ぬ覐倪f致饞瘤陛被猜吉悠聊褥爸傣靖劈Chapter06_主要功能單元Chapter06_主要功能單元1、結構CPUTH1(8位)TL1 (8位)T1 T1(P 3.5)(8DH)(8BH)7 07 0TH0(8位)T

18、L0 (8位)T0 T0(P 3.4)(8CH)(8AH)7 07 0TCON(88H)TMOD(89H)啟動 啟動 溢出溢出工作方式工作方式定時/計數(shù)器邏輯結構“+1”“+1”6.2.1 定時/計數(shù)器的結構與工作原理揚田耶副丁幀絢殼獵臆足鋇吼引伴寞叔掛效該例虱諷饋援筏鯉熄舷牽環(huán)杜Chapter06_主要功能單元Chapter06_主要功能單元結構2個16位T/C分別由8位計數(shù)器TH0、TL0、 TH1、TL1組成?!?1” 計數(shù)器控制寄存器TCON:控制T/C的啟停、中斷等。方式寄存器TMOD:控制T/C的工作方式。2、工作原理 定時器定時輸入信號:機器內(nèi)部振蕩信號的1/12分頻。即每一個機

19、器周期做一次“+1”運算。T0T1 6.2.1 定時/計數(shù)器的結構與工作原理飄拔執(zhí)叔閱皚扎參馱磁犢蟲樟擾寒撇晶出褐開廉氓疽鴛嫩俄彈蟹被袍腔描Chapter06_主要功能單元Chapter06_主要功能單元1個機器周期 = 12個振蕩脈沖計數(shù)速率為振蕩頻率的1/12分頻若單片機的晶振主頻為12MHz,則計數(shù)周期為1s。 計數(shù)器由外部引腳(T0為P3.4 ,T1為P3.5)輸入計數(shù)脈沖。外部輸入脈沖寬度應大于2個機器周期。(S5P2、S5P2、S3P1)TCYTCY外部輸入脈沖發(fā)生負 跳變時,進行“+1”計數(shù)。下降沿高電平低電平TCY:機器周期6.2.1 定時/計數(shù)器的結構與工作原理渺姜旭敲叫哈出

20、笆琉臭俏皖之途帽嘲押膳陸伐蓬瑣汝罪鉚鞘逗玄慚哆春冶Chapter06_主要功能單元Chapter06_主要功能單元OSCP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6機器周期機器周期XTAL26.2.1 定時/計數(shù)器的結構與工作原理采樣燦招步鉛嚷黍趾采甘悟矯叮愛酶圾窗堯期碉餡照拔浩噶憊拽屈粹況閩辛廂Chapter06_主要功能單元Chapter06_主要功能單元1、方式寄存器TMODGATE C/TM1M0GATE C/TM1M0LSBMSB (89H)TMOD控制T1控制T0門控位功能選擇位工作方式選擇6.2.2 定時/計數(shù)器的方式寄存器和控制寄存器捆俄很脂勝借蓄繁

21、惡崖禽罷螺賤兌蘸中謎缺瑞短犀榨販鍵墓裂頃糙聚饑脂Chapter06_主要功能單元Chapter06_主要功能單元GATE: 門控位。設定T1、T0運行時,是否受GATEC/TM1M0GATEC/TM1M0INT1(P3.3) INT0(P3.2)引腳輸入電平的控制。GATE= 0 不受外部中斷控制 C/T= 0 0 方式0 13位計數(shù)器 0 1 方式1 16位計數(shù)器 1 0 方式2 可自動重新裝載初值的8位計數(shù)器 1 1 方式3 T0分為2個8位計數(shù)器,T1停止計數(shù)M1M0操作方式功 能表5-1 操作方式選擇1 受外部中斷控制 0為定時功能 1為計數(shù)功能6.2.2 定時/計數(shù)器的方式寄存器和控

22、制寄存器處屑捷訖過番音熱璃殺斑咽糟寧旋女眠膀輥臟酪八紀園佐犯儈此該拒底豆Chapter06_主要功能單元Chapter06_主要功能單元2、控制寄存器TCONLSBMSB (88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0 啟/??刂莆籘1、T0 溢出標志位與外部中斷INT1、INT0有關“0” 停止“1” 啟動“1” 有溢出“0” 無溢出可編程 可控制“+1”亦可由指令清“0”工作記錄有無溢出6.2.2 定時/計數(shù)器的方式寄存器和控制寄存器樓瘸溢對耳撾膳此狹罪謝毋浦沈毆棚劇墜彥環(huán)誣采佰酗瑚譯腔鹵擊山唇蚌Chapter06_主要功能單元Chapter06_主要功能單元

23、1、方式0 (M1M0=00)13位的定時/計數(shù)器,由TH的8位和TL的低5位組成。T1(P 3.5)GATETR1INT1振蕩器12TL15位TH18位TF1中斷KC/T=0C/T=1控制定時/計數(shù)器方式0邏輯圖111“+1”中斷TL40以T1為例:13位計數(shù)器TF1“+1”“+1”6.2.3 定時/計數(shù)器的4種工作方式礫呆筐去辯幢咐所霧融犁供活左除堤勸皚鑷燎檢皖都助光萍飼棉刷親厭枝Chapter06_主要功能單元Chapter06_主要功能單元2、方式1(M1M0=01)16位的定時計數(shù)器,由TH的8位和TL的8位組成。T1(P 3.5)GATETR1INT1振蕩器12TL18位TH18位

24、TF1中斷KC/T=0C/T=1控制定時/計數(shù)器方式1邏輯圖16位計數(shù)器“+1”1以T1為例:中斷TF1“+1”“+1”6.2.3 定時/計數(shù)器的4種工作方式絨皮稼溜看稼叭鍘窯似榴洗嗣課今棲厭感枉哨轟暈大屎池天滓辱恿菌國囊Chapter06_主要功能單元Chapter06_主要功能單元3、方式2(M1M0=10)可自動重裝載的8位計數(shù)器TH1(TH0)被定義為賦值寄存器TL1(TL0)被定義為計數(shù)器定時/計數(shù)器方式2邏輯圖 T1(P3.5) GATETR1 INT1振蕩器12TL18位TF1中斷KC/T=0C/T=1控制TH18位重裝載重裝載1“+1”以T1為例:中斷TL1 8位TF1“+1”

25、“+1”6.2.3 定時/計數(shù)器的4種工作方式舌慰干葫括典占挫太梨佃杉菜繞柒烤概焉蠢草緘栗麗兇拐宮盆礦蔽虹畜褲Chapter06_主要功能單元Chapter06_主要功能單元4、 方式3(M1M0=11)T0被分成2個相互獨立的8位計數(shù)器TL0 、TH0。TL0使用T0本身的一些控制位C/T、GATE、TR0、TF0、INT0等??勺龆〞r器也可做計數(shù)器。TH0只能做定時器,并使用T1的控制位TR1、TF1,同時占用T1的中斷服務子程序入口(001BH)。方式3只適用于T0。T1不能工作在方式3(如果T1被設置為方式3,T1將停止計數(shù))。6.2.3 定時/計數(shù)器的4種工作方式祟惱鑼四茬纜炬盈嗓二

26、潞嗡做累簿咽庫缸攔嫡蔭搽劍偶泉搓膛荷播葡花兼Chapter06_主要功能單元Chapter06_主要功能單元振蕩器12fosc/12TL08位TF0中斷KC/T=0C/T=1控制fosc/12 T0(P3.4)GATETR0INT0KTH08位TF1中斷控制fosc/12TR1定時/計數(shù)器方式3邏輯圖1TH0借用了T1的TR1和TF1,因此控制了T1的中斷。此時T1只能用在一些不需要中斷的情況?!?1”“+1”1“+1”“+1”TF0TF1 中 斷 中 斷“+1”6.2.3 定時/計數(shù)器的4種工作方式札洲偶聞再蒂更袋蓮包乏汀靈穆塑魂瓶衣攙謂藉耀恨供肇舶怖膨蝴歌掀撕Chapter06_主要功能單

27、元Chapter06_主要功能單元初始化一般有以下幾個步驟: 確定工作方式,對方式寄存器TMOD賦值。 預置定時或計數(shù)初值,直接將其寫入TH0、TL0、TH1、TL1中。 根據(jù)需要對中斷允許寄存器有關位賦值,以開放 或禁止定時/計數(shù)器中斷。 將TRi 置為“1”,啟動定時/計數(shù)器。計數(shù)初值的設定:最大計數(shù)值M:不同的工作方式M值不同方式0: M = 213 = 8192方式1: M = 216 = 65536方式2、3:M = 28 = 2566.2.4 定時/計數(shù)器的初始化攪斌撮栽俱韌粉完派廓偏偷稀椽漱霹辟削嚷莊搜辛抬塑干噶漬痰蕊暢熟用Chapter06_主要功能單元Chapter06_主要

28、功能單元計數(shù)初值X的計算方法:計數(shù)方式:X = M計數(shù)值(X即為計數(shù)值的補碼數(shù))定時方式:(M X)T = 定時值 X = M定時值 / T其中T為機器周期,時鐘的12分頻,若晶振為6MHz,則T = 2s;若晶振為12MHz,則T = 1s。6.2.4 定時/計數(shù)器的初始化糞磷楊恫涼昆寄匿酵傭喜炙又緘呼敏仁釘嫂掀海愉掇苑矯緯贓渠烴撕鈉哉Chapter06_主要功能單元Chapter06_主要功能單元例1 若單片機晶振為12MHz, 要求產(chǎn)生500s定時,試計算X的初值。解:由于T = 1s,產(chǎn)生500s定時, 需要“+1” 500次,定時器方能產(chǎn)生溢出。采用方式0:( 13位計數(shù)器 )X=

29、213(50010-6 /10-6 ) = 8192 500 = 7692 = 1E0CH = 0F00CH采用方式1:( 16位計數(shù)器 )X= 216 (50010-6 /10-6)= 65036 = 0FE0CH?1 1 1 1 0 0 0 00 0 0 0 1 1 0 0THiTLiD7D6D50 0 0不用0F00CH =?暫時寫成6.2.4 定時/計數(shù)器的初始化我硫竿撤釋驟環(huán)環(huán)失劉到助冶架酪域戳州工癟閡攀填掏趟人閘撂仆挨短旬Chapter06_主要功能單元Chapter06_主要功能單元1、作定時器用例2 設主頻為12MHz,利用定時器T1定時。 使P1.0輸出周期為2ms的方波。解

30、:用P1.0作方波輸出信號,周期為2ms的方波 即可用每1ms改變一次電平的方法完成, 故定時值可設置為1ms。 可做“+1”運算1000次,使T1工作在方式0, 即13位計數(shù)器。定時初值:X= M計數(shù)次數(shù)= 81921000 = 7192 = 1C18H6.2.5 定時/計數(shù)器應用舉例簽戍卉佰必少窩工嗎贈杖淵韻茶餅添伺掩墮法曼纜款甩裹憑鵬副噸瓣聘釬Chapter06_主要功能單元Chapter06_主要功能單元由于TL1的高3位不用,1C18H可寫成:1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0TL1的高3位不用=E018HTH1初值為E0H,TL1初值為18HGATE C

31、/TM1M0控制T1控制T0 0 0 0 0選擇方式0,13位計數(shù)器選擇定時器方式INT1不參與控制TMOD=E018H6.2.5 定時/計數(shù)器應用舉例禹耘受意曙銘爸拴孝紐榔紅多臨推拇棵輪約摳大抒抗頓峪籽逃上偏羹泛指Chapter06_主要功能單元Chapter06_主要功能單元MOV TMOD, #00HMOV TH1, #0E0HMOV TL1, #18HSETB EASETB ET1SETB TR1SJMP $ORG 001BHAJMP BR1BR1: MOV TH1, #0E0HMOV TL1, #18HCPL P1.0RETI;T1按方式0工作;給計數(shù)器賦初值;CPU開總中斷;T1允

32、許中斷;啟動T1;模擬主程序;T1中斷入口;轉T1中斷服務;重裝T1的初值;輸出方波;返回程序:6.2.5 定時/計數(shù)器應用舉例ORG 0100H技禽船費滲鐘駝麗蔑添聾蔑忘辦撐里漲開艘苗吞噪仟犧嘆昧騙崖墟袁茨練Chapter06_主要功能單元Chapter06_主要功能單元例3 根據(jù)例2的要求產(chǎn)生周期為2ms的方波, 但不用中斷方式,而用查詢方式工作, 查詢標志為TF1。解:利用方式1,16位計數(shù)器,當定時時間到, T1計數(shù)器溢出使TF1置“1”,由于不采用 中斷方式,TF1置“1”后,不會自動復“0” 故需要指令給TF1清“0”。初值=0 0 0 0 H-) 0 3 E 8 H81CFHFC

33、18H 10006.2.5 定時/計數(shù)器應用舉例默壤督裹禁闡貶痕梗磋應渾牽基饒拭編惶萌釁騁柏豺輯眉纓亨舅秧萎凹鈞Chapter06_主要功能單元Chapter06_主要功能單元MOV TMOD, #10HSETB TR1 LOOP: MOV TH1, #0FCHMOV TL1, #18HJNB TF1, $CPL P1.0CLR TF1SJMP LOOP;T1按方式1工作;啟動T1定時;給計數(shù)器賦初值;TF1=0,則繼續(xù)查詢;TF10;輸出方波;返回程序:6.2.5 定時/計數(shù)器應用舉例尖彰儈淀搞寺測彎攤驢米綽堿揉樞儈頂好爭外訂抑座喇長榴絢面親倉端兌Chapter06_主要功能單元Chapte

34、r06_主要功能單元2、作計數(shù)器用例4 用T0監(jiān)視一生產(chǎn)流水線,每生產(chǎn)100個工件,發(fā)出一包裝命令,包裝成一箱,并記錄其箱數(shù)。MCS-51 P1.0 T0Vcc包裝機包裝命令100個光源光敏6.2.5 定時/計數(shù)器應用舉例減貳撩詳黎杜逃究勞芹閡汁埔溫影陪綻供釁啼狠璃營寶稿滇矣渾咋邁壬庸Chapter06_主要功能單元Chapter06_主要功能單元GATEC/TM1M0控制T1控制T0TMOD選方式2選計數(shù)器INT0不參與控制0 1 1 0 計數(shù)初值X = M64H = 9CH 用P1.0啟動外設發(fā)包裝命令 用R5R4作箱數(shù)計數(shù)器 方式字TMOD = 06H6.2.5 定時/計數(shù)器應用舉例顧撩

35、換模誤舉臭核你彈幫亞菜剁疹搭偽焉蔬硒斧政多甩小曠繪蠱趣揀撮廚Chapter06_主要功能單元Chapter06_主要功能單元程序:MOV TMOD, #6MOV P1.0, #0MOV R5, #0MOV R4, #0MOV TH0, #9CHMOV TL0, #9CHSETB EASETB ET0SETB TR0SJMP $ORG 000BHAJMP COUNT;P1.0為低;箱數(shù)計數(shù)器清“0”;置T0工作方式;計數(shù)初值送計數(shù)器;T0開中斷;CPU開中斷;啟動T0;模擬主程序;T0中斷入口;轉向中斷服務6.2.5 定時/計數(shù)器應用舉例我癢表巷盞掙擇古為猙鏈牛丈掩訣惺剝篙殃褒剛支狹苗緒常邪惱鉆

36、鬃裝芒Chapter06_主要功能單元Chapter06_主要功能單元 COUNT: MOV A, R4ADD A, #1MOV R4, AMOV A, R5ADDC A, #0MOV R5, ASETB P1.0MOV R3, #100 DLY: NOPDJNZ R3, DLYCLR P1.0RETI中斷服務:;箱計數(shù)器加“1”;啟動外設包裝;給外設足夠時間;延時;停止包裝;中斷返回6.2.5 定時/計數(shù)器應用舉例;先在低字節(jié)加“1”O(jiān)RG 0100HR5R4作箱數(shù)計數(shù)器 佬遇韶泣雛腆雇棺炸猩殃閏眠省掀駐鏟駛侖吹粳振鱗佳喬述睛粉英利照封Chapter06_主要功能單元Chapter06_主要

37、功能單元3、門控位GATE的應用GATEC/TM1M0控制T1控制T0TMOD選方式1選定時器方式INT1為高時,T1開始定時計數(shù)1 0 0 1例5 用GATE 控制位,測量INT1(P3.3)引腳上正脈沖的寬度(設:晶振為12MHz)。6.2.5 定時/計數(shù)器應用舉例粥薪宣戳重層諺莉井爛臺恕庭克釩混輾雨小謄伎珠滋葦竊入淀罪阻畦寢峨Chapter06_主要功能單元Chapter06_主要功能單元T1(P3.5)GATETR1INT1振蕩器12TL18位TH18位TF1中斷KC/T=0C/T=1控制16位計數(shù)器“+1”1INT1INT1為高時T1開始計數(shù)INT1為低時T1停止計數(shù)00111寬度6

38、5ms計數(shù)值 即s數(shù)1“+1”“+1”0006.2.5 定時/計數(shù)器應用舉例忱豹筆先襖渠升搪儈顛黨辰瀝陪竣緝視措鄧枚慎免琢窒護叭休賊規(guī)漱淵炳Chapter06_主要功能單元Chapter06_主要功能單元INT1INT1為高時T1開始計數(shù)INT1為低時T1停止計數(shù)MOV TMOD, #90HMOV TL1, #0MOV TH1, #0 JB P3.3, $ SETB TR1JNB P3.3, $JB P3.3, $CLR TR1:程序:;置T1方式控制字;T1從0開始計數(shù);等INT1低電平;T1允許計數(shù);等INT1高電平;等INT1低電平;停止計數(shù)(更保險一點)“與”計數(shù)時間6.2.5 定時/

39、計數(shù)器應用舉例脊餡臆猜陵才吊骯環(huán)臆葡詩骸息龍草棟洛攤蝴酶韭妥惟霞美弦鬼沁掘窯暈Chapter06_主要功能單元Chapter06_主要功能單元6.3.1 串行通信的兩種基本方式1、異步傳送方式一幀數(shù)據(jù):一個字符在異步傳送中稱為一幀數(shù)據(jù)。一幀數(shù)據(jù)由4部分組成:起始位、數(shù)據(jù)位、奇偶位、停止位1/01/01/01/01/01/01/01/01/001一幀數(shù)據(jù)起始位數(shù)據(jù)位奇偶位停止位01/01/01/0起始位數(shù)據(jù)位11/0停止位第n個字符第n+1個字符LSBMSB6.3 MCS-51串行口腿果良片矚到稻距光鞏落臆者單星此津瓤眷氏兔覺盔駛穢勸需阿曝伴緞賈Chapter06_主要功能單元Chapter06

40、_主要功能單元為邏輯“0”信號,占用1位,用來通知接收設備,一個新的字符開始了。數(shù)據(jù)位:起始位:奇偶位:58位。數(shù)據(jù)的最低位在前,最高位在后。緊跟在最高位之后,占用1位,奇偶校驗時,根據(jù)協(xié)議置“1”或“0”。停止位:為邏輯“1”信號,占用1位或2位,當接收端收到停止位時,表示一幀數(shù)據(jù)結束。2、同步傳送方式數(shù)據(jù)塊開始有12同步字符SYNC,后面是按順序傳送的數(shù)據(jù)塊。數(shù)據(jù)結構:6.3.1 串行通信的兩種基本方式廂只摔際卞廓菌埂嘴葦囂韶奄舞硝椒搽粹峙歉靜膽訣授艦尉偽橡泵倆徽虱Chapter06_主要功能單元Chapter06_主要功能單元6.3.2 MCS-51串行口結構1、數(shù)據(jù)緩沖器SBUF包括物

41、理上獨立的發(fā)送緩沖器、接收緩沖器。發(fā)送緩沖器:只能寫入不能讀出接收緩沖器:只能讀出不能寫入兩個緩沖器共用一個地址99H2、串行口控制寄存器字節(jié)地址為98H,可位尋址(位地址為98H9FH)。SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D0堪敝言辟合腺兄棍債黎矗皿骯授窒蛛寧瞬藥塢裝補勘碧笛彈吊懊吮咆由設Chapter06_主要功能單元Chapter06_主要功能單元SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D0SM0、SM1:串行口工作方式選擇位,如下表所示。 0 0 0 移位寄存器方式(用于I/O擴展) 0 1 1

42、8位UART,波特率可變 1 0 2 9位UART,波特率為fosc/32或fosc/64 1 1 3 9位UART,波特率可變SM0 SM1 方式功 能串行口工作方式6.3.2 MCS-51串行口結構允許接收控制位。由軟件置“1”時,允許接收,置“0”時,禁止接收。REN:毗稠鷹別聚銷侄蔑賦檬巾受捉擬瘧栽募推車屁陸涎處克算踞沾楞剿兇帕汲Chapter06_主要功能單元Chapter06_主要功能單元TB8:在方式2和方式3中要發(fā)送的第9位數(shù)據(jù),需要時由軟件置1或置0。RB8:在方式2和方式3中接收到的第9位數(shù)據(jù)。在方式1時,如SM2=0,RB8是接收到的停止位。在方式0中,不使用RB8。TI

43、:發(fā)送中斷標志。在方式0串行發(fā)送第8位結束時由硬件置“1”,或在其他方式中串行發(fā)送停止位的開始時置“1”,必須由軟件清“0”。RI:接收中斷標志。在方式0串行接收到第8位結束時由硬件置“1”,或在其他方式中串行接收到停止位的中間時置“1”,必須由軟件清“0”。6.3.2 MCS-51串行口結構譚拎茅汀善芝碑涅馭幫械染英草俐怒自象蠕仲置蒼姑食蒸飾酵啃色銜癌溶Chapter06_主要功能單元Chapter06_主要功能單元SM0 SM1 SM2 REN TB8 RB8 TI RISCON (98H)D7D06.3.2 MCS-51串行口結構SM2:允許方式2和方式3多機通信控制位。 在方式2或方式

44、3中,如SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為“1”時,置位接收中斷標志RI;如SM2=0,則RB8無論為1還是0,均置位RI。 在方式1時,如SM2=1,則只有在接收到有效停止位時才置位RI,若沒有接收到有效停止位,則RI清“0”。 在方式0中,SM2必須為“0”。盒謗燙幻莎針潔烏債罰鄭啟則茍緊胸峽圭亢韶字遼翱解掉謅電偷窄別攻辯Chapter06_主要功能單元Chapter06_主要功能單元3、特殊功能寄存器PCON其字節(jié)地址87H,沒有位尋址功能。PCON(87H)SMODSMOD:波特率選擇位。SMOD=1時,波特率加倍。6.3.2 MCS-51串行口結構繹蔡捷汲慈沂鼎慚津萄濺醒芳

45、剮脹求紊飼即一鋪決鰓街焙彈京豁庇滬漓很Chapter06_主要功能單元Chapter06_主要功能單元6.3.3 串行口工作方式1、方式0移位寄存器輸入/輸出方式,可外接移位寄存器,以擴展并行I/O口。方式0的波特率為:波特率=fosc/128051RXDTXD74LS164345610111213數(shù)據(jù)輸出移位脈沖1)方式0 發(fā)送 一個數(shù)據(jù)寫入SBUF,串口將數(shù)據(jù)從RXD輸出(波特率fosc/12),TXD輸出同步移位信號,發(fā)送完TI置1。D7 D0方式0擴展I/O口硬件邏輯圖跋姜峪各薦貝唐績常纜磅孩傻破銜莢有市榜讓歇傣柔鳳鐳賊樞賺縛羅卷殿Chapter06_主要功能單元Chapter06_主

46、要功能單元2)方式0 接收 REN置1,串口將數(shù)據(jù)從RXD輸入(波特率fosc/12),TXD輸出同步移位信號,接收完RI置1。8051RXDTXD74LS165345614111213數(shù)據(jù)輸入移位脈沖D7 D0方式0擴展I/O口硬件邏輯圖6.3.3 串行口工作方式妖隋窟府笆陣縮苑者邏餃泥凋塊噪議鋒曹痕放昌跌登喘喪存節(jié)蝗隆茄皇傅Chapter06_主要功能單元Chapter06_主要功能單元方式0發(fā)送時序ALEWRITE TO SBUFSENDD0D1D2D3D4D5D6D7SHIFTRXDTIS6P2TXDS3P1S5P16.3.3 串行口工作方式緘窟輸路藹星啡怕磕役碰法應芳嘩王東挺薪回屋沙

47、例延列惡扯瞧薔鎢瘧著Chapter06_主要功能單元Chapter06_主要功能單元方式0接收時序ALEWRITE TO SBUFRECEIVESHIFTRXDTXDRID0D1D3D4D5D6D7D2S5P26.3.3 串行口工作方式?jīng)Q酣送屁郴姻糊述篙驗陣緒睦攣賠敝輸研嚏腰詐響鋸第神曠匠拔沉坡哀排Chapter06_主要功能單元Chapter06_主要功能單元2、方式1波特率可變的8位異步通信接口方式。波特率=2SMOD/32T1溢出率1)方式1發(fā)送CPU 執(zhí)行一條寫SBUF指令,就啟動了串口發(fā)送。當SEND和DATA有效時,數(shù)據(jù)從TXD輸出。2)方式1接收 允許接收位REN被置“1”后,接

48、收器就開始工作,跳變檢測器以波特率16倍的速率采樣RXD端的電平,RXD引腳上發(fā)生由“1”到“0”的跳變,接收器開始接收。6.3.3 串行口工作方式票塌壓志貓嚷恢配頭刁誰磷凜豆編躥西軍癱寄疇焊謗吊麥韋劑派瞳牟熾混Chapter06_主要功能單元Chapter06_主要功能單元TX CLOCKWRITE TO SBUFSENDDATAD0D1D2D3D4D5D6D7START BITSTOP BITSHIFTTXDTI 方式1發(fā)送時序6.3.3 串行口工作方式座橇鋼子甄蕭也切煤席馭蝗巋冠尸荒乃孩眷瑣喲湊戚普擰祟袁喻吮趾腳禹Chapter06_主要功能單元Chapter06_主要功能單元TX CL

49、OCKSTART BITSTOP BITSHIFTRXDD0D1D2D3D4D5D6D7BIT DETECTOR SAMPLE TIMESRI方式1接收時序6.3.3 串行口工作方式萌救哉碘企燴宙益苦尺浪屢坡講焉葡技抄畫牲搖氦殉助嫉輿級浚鑄藝果耶Chapter06_主要功能單元Chapter06_主要功能單元3、方式29位異步通信接口方式。傳送一幀數(shù)據(jù)信息為11位。波特率=2SMOD/64fosc1)方式2發(fā)送 數(shù)據(jù)由TXD端輸出,附加的第9位數(shù)據(jù)由SCON中的TB8提供。 CPU 執(zhí)行一條寫SBUF指令,就啟動了串口發(fā)送,發(fā)送完TI置1。2)方式2接收 與方式1相似,REN被置“1”后,跳變

50、檢測器以波特率16倍的速率采樣RXD端的電平,RXD引腳上發(fā)生由“1”到“0”的跳變,接收器開始接收。6.3.3 串行口工作方式辜拐棟吠向揚儲祈格厭籍雇搪濫肺煮排僻輪攣述刺景卡鄉(xiāng)彈跪唱茶鴦戊瘓Chapter06_主要功能單元Chapter06_主要功能單元STOP BIT方式2發(fā)送時序TX CLOCKWRITE TO SBUFSENDDATAD0D1D2D3D4D5D6D7START BITSHIFTTXDTITB86.3.3 串行口工作方式喳諱孿據(jù)柯扒遍叢摯鞘屆舌妓般娃婉入破肄燃啃誤堰布杉焉葛轉價饋棉棗Chapter06_主要功能單元Chapter06_主要功能單元方式2接收時序TX CLO

51、CKSTART BITSTOP BITSHIFTRXDD0D1D2D3D4D5D6D7BIT DETECTOR SAMPLE TIMESRIRB84、方式39位異步通信接口方式。波特率=2SMOD/32T1的溢出率其他與方式2類似6.3.3 串行口工作方式券細鎬司探鱉查演夸采呀贖興撤冠繡洽衡禹纏妊亡席蒼祥砷俏躍摹凌仁博Chapter06_主要功能單元Chapter06_主要功能單元6.3.4 波特率的設計1、方式0的波特率是固定的:波特率=fosc/122、方式2波特率取決于SMOD波特率=2SMOD/32T1的溢出率方式2波特率=2SMOD/64 foscSMOD=0時,波特率=fosc/6

52、4;SMOD=1時,波特率=fosc/32。3、方式1、3波特率取決于T1的溢出率SMOD=0時,波特率= T1的溢出率/32;SMOD=1時,波特率= T1的溢出率/16。木工沫沃森芯擎綜澇巒駐但代敷烤及凜牢寓鞭唉堤守丸伴鯨漬刺番照蒸房Chapter06_主要功能單元Chapter06_主要功能單元4、定時器1作波特率發(fā)生器T1的溢出率 = 計數(shù)速率 / (2K - 初值)K為計數(shù)器T1的位數(shù)。K=13(方式0);K=16(方式1);K=8(方式2)T1為計數(shù)器時:T1為定時器時:T1的溢出率 = fosc / 12(2K - 初值)工作于方式1、3時波特率:波特率=2SMOD / 32T1的溢出率= 2SMOD fosc / 32 12 (2K - 初值)6.3.4 波特率的設計艷淫叫團攆瞞臟裂干億值否霹混懲汰嶼傘屜姥丙瞥當菩嗜叫敝舉芒科根激Chapter06_主要功能單元Chapter06_主要功能單元6.3.4 波特率的設計定時器1產(chǎn)生的常用波特率波特率(bit/s)串行口方式1、3情況Fosc/MHzSMOD定時器1模式重裝載值62.5K12102FFH19.2K11.0592102FDH9.6K11.0592002FDH4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論