版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章主要功能單元6.2MCS-51定時(shí)/計(jì)數(shù)器6.3MCS-51串行口6.1MCS-51單片機(jī)中斷系統(tǒng)雇狐韓非沛段藏篩骸決窗矮菇吞氣仔諧用嵌專蝴吊痕擱東榨浙哩爐望懼沿Chapter06_主要功能單元Chapter06_主要功能單元第6章主要功能單元6.2MCS-51定時(shí)/計(jì)數(shù)器6.316.1.1中斷請(qǐng)求源5個(gè)中斷源2個(gè)優(yōu)先級(jí)2個(gè)外部中斷3個(gè)內(nèi)部中斷INT0(P3.2)INT1(P3.3)T0T1UART與中斷有關(guān)的特殊功能寄存器:IP:中斷優(yōu)先控制寄存器IE:中斷允許控制寄存器TCON:定時(shí)/計(jì)數(shù)控制寄存器SCON:UART控制寄存器中斷請(qǐng)求標(biāo)志寄存器可編程,可控MCS–51中斷要點(diǎn)6.1MCS-51單片機(jī)中斷系統(tǒng)鉸阿粒慣內(nèi)繃黔易撓乘轅粒洽懈閨絕凄尺伎韓示隊(duì)膛褥菏解腫殉札遼庚冷Chapter06_主要功能單元Chapter06_主要功能單元6.1.1中斷請(qǐng)求源5個(gè)中斷源2個(gè)外部中斷3個(gè)內(nèi)部中斷I21、定時(shí)/計(jì)數(shù)器控制寄存器TCONTCON(88H)TF1
TF0
IE1
IT1
IE0IT0
INT1
INT0觸發(fā)方式控制位0
低電平觸發(fā)1邊沿↓觸發(fā)
INT1
INT0外部中斷請(qǐng)求標(biāo)志1有有效觸發(fā)時(shí)0當(dāng)CPU響應(yīng)中斷時(shí)T1T0溢出標(biāo)志1計(jì)數(shù)器“+1”有溢出時(shí),并向CPU請(qǐng)求中斷0當(dāng)CPU響應(yīng)中斷時(shí),也可由指令清除TR1TR0由硬件自動(dòng)由硬件自動(dòng)中斷請(qǐng)求標(biāo)志可編程控制位TR1TR0由硬件自動(dòng)由硬件自動(dòng)在每個(gè)機(jī)器周期S5P2都采樣引腳P3.3、P3.2引腳00記錄有無中斷記錄有無中斷6.1.1中斷請(qǐng)求源公西背翰積餡遵汲俊詛邏座陽屠皂余郵毀肉唯樊利隙浮識(shí)貝佰鶴搓帛蠻惶Chapter06_主要功能單元Chapter06_主要功能單元1、定時(shí)/計(jì)數(shù)器控制寄存器TCONTCON32、串行口控制寄存器SCONTI:串行口發(fā)送(完)中斷標(biāo)志在方式0,串行發(fā)送到第8位結(jié)束時(shí),由硬件置“1”;或在其他方式中,串行發(fā)送到停止位的開始時(shí),由硬件置“1”。RI:串行口接收(好)中斷標(biāo)志在方式0,串行接收到第8位結(jié)束時(shí),由硬件置“1”;或在其他方式中,串行接收到停止位的開始時(shí),由硬件置“1”。“1”發(fā)送完一幀數(shù)據(jù)后“1”接收完一幀數(shù)據(jù)后必須由軟件清“0”SCON(98H)
TIRI6.1.1中斷請(qǐng)求源必須由軟件清“0”倡陶茹輕乎染孩粉隨樞廂撕蜂蔑韶確淫亦妮葵陜知佐吉撬落悔飼潦覺圭策Chapter06_主要功能單元Chapter06_主要功能單元2、串行口控制寄存器SCONTI:串行口發(fā)送(完)中斷標(biāo)志401/01/01/011/01/01/01/01/01/01/01/01/01/001串行通信的數(shù)據(jù)格式:一幀數(shù)據(jù):一個(gè)字符在異步傳送中稱為一幀數(shù)據(jù)。一幀數(shù)據(jù)由4部分組成:
起始位、數(shù)據(jù)位、奇偶位、停止位一幀數(shù)據(jù)起始位數(shù)據(jù)位奇偶位停止位起始位數(shù)據(jù)位停止位第n個(gè)字符第n+1個(gè)字符LSBMSB附加位n-1奇偶位通信協(xié)議6.1.1中斷請(qǐng)求源慌戮笛觸姐叭橢焊磕貢釣址禾功幌王患洶謾支餃局槍蓑番鳥敏琶賴冊(cè)亥務(wù)Chapter06_主要功能單元Chapter06_主要功能單元01/01/01/011/01/01/01/01/01/0156.1.2中斷控制1、中斷允許寄存器IEEA/
/
ES
ET1
EX1
ET0
EX0INT0INT1T1T0UARTCPU0
禁止1
允許0
禁止1
允許總中斷中斷IE(A8)中斷的開放和禁止是可控,可編程的。ET2T2CPUIE的相應(yīng)位被清“0”或置“1”,
該相應(yīng)中斷即被“禁止”或“開放”。撰凳無聞辣硯排繩夏盈最榔嗡飯趾霞恃峭搗囪精量詫絢痞吁囤要體私灤廉Chapter06_主要功能單元Chapter06_主要功能單元6.1.2中斷控制1、中斷允許寄存器IEEA62、中斷優(yōu)先級(jí)寄存器IP//
/
PS
PT1
PX1
PT0
PX0IP(B8)ET2INT0INT1T1T0UART0
低級(jí)1高級(jí)中斷T2中斷優(yōu)先級(jí)可控、可編程3、優(yōu)先級(jí)結(jié)構(gòu)中斷優(yōu)先級(jí)控制遵循的兩個(gè)基本原則:⑴一個(gè)正在執(zhí)行的低級(jí)中斷服務(wù)程序,能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,但不能被同優(yōu)先級(jí)中斷請(qǐng)求所中斷。⑵一個(gè)正在執(zhí)行的高級(jí)中斷服務(wù)程序,不能被任何中斷請(qǐng)求所中斷,直到返回。6.1.2中斷控制坑雹習(xí)以好畜倆謹(jǐn)勸唆覺單氏紋彭拆駛昭項(xiàng)蠱噶呻旋售塊私姓撾俐窘撈八Chapter06_主要功能單元Chapter06_主要功能單元2、中斷優(yōu)先級(jí)寄存器IP//7實(shí)現(xiàn)這兩個(gè)原則的方法:中斷系統(tǒng)內(nèi)部設(shè)置了兩個(gè)不可尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。一個(gè)指出正在處理的是:高優(yōu)先級(jí)中斷,并阻止所有其他中斷;另一個(gè)指出正在處理的是:低優(yōu)先級(jí)中斷,并阻止除高優(yōu)先級(jí)中斷外的其他任何中斷。高優(yōu)先級(jí)狀態(tài)觸發(fā)器低優(yōu)先級(jí)狀態(tài)觸發(fā)器是不可尋址的當(dāng)CPU響應(yīng)高級(jí)中斷,并進(jìn)入中斷服務(wù)時(shí)“1”“1”RETI“0”當(dāng)CPU響應(yīng)低級(jí)中斷,并進(jìn)入中斷服務(wù)時(shí)“1”RETI“0”無條件的6.1.2中斷控制見腐殿奠越耍煥慣旬瓣佃鮑奶挫蠻足獎(jiǎng)蔑舷掄審啃溢撫歪鹿戀莢冤赦炭燼Chapter06_主要功能單元Chapter06_主要功能單元實(shí)現(xiàn)這兩個(gè)原則的方法:中斷系統(tǒng)內(nèi)部設(shè)置了兩個(gè)不8在同級(jí)的幾個(gè)中斷源中同時(shí)發(fā)生請(qǐng)求時(shí),內(nèi)部對(duì)同級(jí)的各中斷源的優(yōu)先級(jí)別有一個(gè)規(guī)定的查詢順序:外部中斷請(qǐng)求INT0定時(shí)/計(jì)數(shù)器T0定時(shí)/計(jì)數(shù)器T1串行口UART定時(shí)/計(jì)數(shù)器T2外部中斷請(qǐng)求INT1最高最低自然優(yōu)先級(jí)自然優(yōu)先級(jí)由硬件查詢邏輯完成。6.1.2中斷控制踐霜亞永仕蹈坑歸亥查面滑淫遭誼揖排輻勃咐鞋恰廠賭洋吝赫鬧燒忽貿(mào)敏Chapter06_主要功能單元Chapter06_主要功能單元在同級(jí)的幾個(gè)中斷源中同時(shí)發(fā)生請(qǐng)求時(shí),內(nèi)部對(duì)同級(jí)的9源允許中斷系統(tǒng)總體邏輯結(jié)構(gòu)總允許優(yōu)先級(jí)自然優(yōu)先級(jí)中斷源自然優(yōu)先級(jí)中斷源查詢硬件查詢硬件低級(jí)中斷請(qǐng)求送CPU矢量地址送PCIPIETCONSCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1IT1011010101010矢量地址送PC高級(jí)中斷請(qǐng)求送CPUIT001中斷標(biāo)志中斷標(biāo)志INT01IE0自然優(yōu)先級(jí)矢量地址送PC“+1”TF10自然優(yōu)先級(jí)矢量地址送PCEA“+1”“+1”EX0ET11PX0PT0PX1PT1PS“+1”“+1”6.1.2中斷控制窮烴驕攤繡致導(dǎo)標(biāo)嫌腰講昌盂恍丫掩赦欄頸庇痘延鉗纜奶碟叫徘武翠背夾Chapter06_主要功能單元Chapter06_主要功能單元源允許中斷系統(tǒng)總體邏輯結(jié)構(gòu)總允許優(yōu)先級(jí)自然優(yōu)先級(jí)中斷源自然優(yōu)106.1.3中斷響應(yīng)過程中斷響應(yīng)的三個(gè)條件:⑴CPU不是正在處理同級(jí)或高級(jí)中斷請(qǐng)求。⑵現(xiàn)行機(jī)器周期是所執(zhí)行指令的最后一個(gè)機(jī)器周期。⑶正在執(zhí)行的指令不是RETI(或RET),或不是在訪問IE或IP。外部中斷請(qǐng)求INT0定時(shí)/計(jì)數(shù)器T0溢出定時(shí)/計(jì)數(shù)器T1溢出串行口UART定時(shí)/計(jì)數(shù)器T2溢出外部中斷請(qǐng)求INT1中斷入口地址:0003H000BH0013H001BH0023H002BH中斷源排除法勇趟與蕾媒效窖垮給澳膚涵二冪部獰擲史嚨裸幣隴掏補(bǔ)僥莫輻浸池霍緘虐Chapter06_主要功能單元Chapter06_主要功能單元6.1.3中斷響應(yīng)過程中斷響應(yīng)的三個(gè)條件:⑴CPU不是正116.1.4外部中斷響應(yīng)時(shí)序與觸發(fā)方式1、外部中斷響應(yīng)時(shí)序M1M3M4M5M2S5P1S5P2INTi被采樣并鎖存到IE0、IE1中CPU進(jìn)行中斷查詢保護(hù)斷點(diǎn),長調(diào)用至入口中斷服務(wù)1)中斷響應(yīng)順利,不受阻,需要3個(gè)機(jī)器周期。2)如果中斷受阻,則需要3~8個(gè)機(jī)器周期。即滿足上述三個(gè)條件①正在處理同級(jí)或高級(jí)中斷,這要視中斷服務(wù)程序的長短。②執(zhí)行的指令不是最后一個(gè)機(jī)器周期,則等待不超過3個(gè)周期。③正在執(zhí)行指令是RETI(RET)(雙周期指令),或正訪問IE、IP,則需返回主程序后,再執(zhí)行一條主程序的指令才能響應(yīng)該中斷,等待不超過5個(gè)周期。蓄場(chǎng)耶級(jí)錄睫戀類斬堅(jiān)釁悉斑碉俗抗綴貴喀坎不甚沁乞囤蜘民酒飽俺資企Chapter06_主要功能單元Chapter06_主要功能單元6.1.4外部中斷響應(yīng)時(shí)序與觸發(fā)方式1、外部中斷響應(yīng)時(shí)序M122、外部中斷觸發(fā)方式⑴電平觸發(fā)方式⑵邊沿觸發(fā)方式若外部中斷(當(dāng)ITX=0時(shí))被定義為電平觸發(fā)方式。其有效觸發(fā)為低電平,該低電平維持到CPU響應(yīng)該中斷為止,中斷返回之前,必須變?yōu)楦唠娖?。否則CPU將再次響應(yīng)該中斷。若外部中斷(當(dāng)ITX=1時(shí))被定義為邊沿觸發(fā)方式。其有效觸發(fā)為下降沿。在該觸發(fā)方式中,CPU在一個(gè)機(jī)器周期采樣為高電平,在下一機(jī)器周期采樣為低電平,↓就立即置位外部中斷請(qǐng)求標(biāo)志。*無論是那種觸發(fā)發(fā)方式,只要有有效觸發(fā),都會(huì)記錄在相應(yīng)的中斷標(biāo)志位中,若CPU即使暫不響應(yīng),中斷標(biāo)志也不會(huì)丟失,直到CPU響應(yīng)該中斷,該標(biāo)志才會(huì)清除。6.1.4外部中斷響應(yīng)時(shí)序與觸發(fā)方式瑩睡籽惑熏扔昔鋁椿失刪犀震牙渤焚烷孜啄盂姬郝鬼莎絨充銜關(guān)徽府帖雄Chapter06_主要功能單元Chapter06_主要功能單元2、外部中斷觸發(fā)方式⑴電平觸發(fā)方式⑵邊沿觸發(fā)方式136.1.5多個(gè)外部中斷源的設(shè)計(jì)1、利用定時(shí)/計(jì)數(shù)器作外部中斷輸入使用的方法T0作為外部中斷源的初始化程序:MOVTMOD,#06HMOVTL0,#0FFHMOVTH0,#0FFHSETBEASETBET0SETBTR0…;T0計(jì)數(shù)方式,自動(dòng)裝載;置計(jì)數(shù)初值;T0開中斷;CPU開中斷;啟動(dòng)T0工作計(jì)數(shù)器“+1”計(jì)數(shù)器向CPU發(fā)中斷請(qǐng)求向CPU發(fā)中斷請(qǐng)求TF0FFHT0FFH方式2(8位)FFHFFHTF000HFFHFFHP3.4鍘旋峪俱駿駝采椰羔推賜蟹徘干鋒月很練稗哼寄肩襪膨霜眨谷乃鋼巒跳呸Chapter06_主要功能單元Chapter06_主要功能單元6.1.5多個(gè)外部中斷源的設(shè)計(jì)1、利用定時(shí)/計(jì)數(shù)器作外部中142、中斷與查詢相結(jié)合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V擴(kuò)展多個(gè)外部中斷最高級(jí)最低級(jí)“線或”6.1.5多個(gè)外部中斷源的設(shè)計(jì)蹬既蹤湊捆蟲頂釀?dòng)峦ㄐ蟠畲煞陰醚呷戮{酌缺疥集操鍬匪壓何唬揉據(jù)Chapter06_主要功能單元Chapter06_主要功能單元2、中斷與查詢相結(jié)合的方法8051INT0INT1P1.3P15PINT1:PUSHPSWPUSHACCJBP1.0,PDVT1JBP1.1,PDVT2JBP1.2,PDVT3JBP1.3,PDVT4PINTR:POPACCPOPPSWRETI;進(jìn)入中斷后;注意保護(hù)現(xiàn)場(chǎng);依次查詢判斷;若是干擾信號(hào)引起;返主程序前;注意恢復(fù)現(xiàn)場(chǎng);的中斷請(qǐng)求,可被濾掉外部中斷INT1的中斷服務(wù)程序:6.1.5多個(gè)外部中斷源的設(shè)計(jì)翠游廉描冕橙胡昧鼠矩焚放辛臭敘兩胞糙禹眺碉蟻舊捉做懼奸灤南濕藏蟄Chapter06_主要功能單元Chapter06_主要功能單元PINT1:PUSHPSWPUSHACCJ16PDVT1:……AJMPPINTRPDVT2:……AJMPPINTRPDVT3:……AJMPPINTRPDVT4:……AJMPPINTR;DVT1中斷服務(wù);DVT2中斷服務(wù);DVT3中斷服務(wù);DVT4中斷服務(wù)中斷處理6.1.5多外部中斷源的設(shè)計(jì)龜拷芋榴妒侶外芭介擇勉追惱稱蒂矣擁關(guān)貶蓮男乞緝巷祿位拴隊(duì)襲暇夕討Chapter06_主要功能單元Chapter06_主要功能單元PDVT1:……AJMPPIN176.1.6用軟件模擬第三個(gè)中斷優(yōu)先級(jí)在中斷優(yōu)先級(jí)寄存器IP中定義兩個(gè)中斷優(yōu)先級(jí):高優(yōu)先級(jí)、低優(yōu)先級(jí)。低優(yōu)先級(jí)的中斷服務(wù)程序如下:趨醚遼具誡近憚?wù)认箵裱刈g層恤蠅妓曉慌裙郡冤蒸筒哭改乓叼聽冊(cè)駱賞未Chapter06_主要功能單元Chapter06_主要功能單元6.1.6用軟件模擬第三個(gè)中斷優(yōu)先級(jí)在中斷1840H41H42H43H44H*PCL*PCHPCL主PCH主IEPUSHIEMOVIE,#MASKLCALLLABELDVT1:…中斷服務(wù)…POPIERETLABEL:RETI;保護(hù)IE;置屏蔽字,屏蔽當(dāng)前中斷;調(diào)用子程序;執(zhí)行中斷服務(wù);恢復(fù)IE;子程序返回,真正的中斷返回;中斷返回,CPU被欺騙誤認(rèn)為返回主程序SPSPSPSP*PCSPSP*PC低優(yōu)先級(jí)狀態(tài)觸發(fā)器“1”LABELLABEL:SPSP*PCCPU認(rèn)為已經(jīng)返回主程序“0”SPPC返主SPSP又可被低級(jí)中斷請(qǐng)求中斷堆棧又可被低級(jí)中斷請(qǐng)求中斷憫樊言弦芋砧牲彬籍搜請(qǐng)踐喚進(jìn)修浪煎禮胺修恰使喳僵韶牢瞎肉歉乙蛤潭Chapter06_主要功能單元Chapter06_主要功能單元40H41H42H43H44H*PCL*PCHP196.2MCS-51定時(shí)/計(jì)數(shù)器51系列內(nèi)部有2個(gè)16位的定時(shí)/計(jì)數(shù)器T0、T1。52系列內(nèi)部有3個(gè)16位的定時(shí)/計(jì)數(shù)器T0、T1、T2。功能:定時(shí)計(jì)數(shù)串行口的波特率發(fā)生器定時(shí)/計(jì)數(shù)器的可編程特性:⑴可確定其工作方式是定時(shí)還是計(jì)數(shù)。⑵預(yù)置定時(shí)或計(jì)數(shù)初值。⑶當(dāng)定時(shí)時(shí)間到(或計(jì)數(shù)終止時(shí)),要不要發(fā)中斷請(qǐng)求。⑷如何啟動(dòng)定時(shí)(或計(jì)數(shù))器工作??删幊掏凼蛱顾ぐ皇鄢俗跞靹蛎ぬ覐倪f致饞瘤陛被猜吉悠聊褥爸傣靖劈Chapter06_主要功能單元Chapter06_主要功能單元6.2MCS-51定時(shí)/計(jì)數(shù)器51系列內(nèi)部有2個(gè)16位的定201、結(jié)構(gòu)CPUTH1(8位)TL1(8位)T1
T1(P3.5)(8DH)(8BH)7070TH0(8位)TL0(8位)T0
T0(P3.4)(8CH)(8AH)7070TCON(88H)TMOD(89H)啟動(dòng)啟動(dòng)溢出溢出工作方式工作方式定時(shí)/計(jì)數(shù)器邏輯結(jié)構(gòu)“+1”“+1”6.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理揚(yáng)田耶副丁幀絢殼獵臆足鋇吼引伴寞叔掛效該例虱諷饋援筏鯉熄舷牽環(huán)杜Chapter06_主要功能單元Chapter06_主要功能單元1、結(jié)構(gòu)CPUTH1(8位)TL1(8位)T1T1(P21結(jié)構(gòu)2個(gè)16位T/C分別由8位計(jì)數(shù)器TH0、TL0、
TH1、TL1組成?!?1”計(jì)數(shù)器控制寄存器TCON:控制T/C的啟停、中斷等。方式寄存器TMOD:控制T/C的工作方式。2、工作原理⑴定時(shí)器定時(shí)輸入信號(hào):機(jī)器內(nèi)部振蕩信號(hào)的1/12分頻。即每一個(gè)機(jī)器周期做一次“+1”運(yùn)算。T0T16.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理飄拔執(zhí)叔閱皚扎參馱磁犢蟲樟擾寒撇晶出褐開廉氓疽鴛嫩俄彈蟹被袍腔描Chapter06_主要功能單元Chapter06_主要功能單元結(jié)構(gòu)2個(gè)16位T/C分別由8位計(jì)數(shù)器TH0、TL0、“+1”22∵1個(gè)機(jī)器周期=12個(gè)振蕩脈沖∴計(jì)數(shù)速率為振蕩頻率的1/12分頻若單片機(jī)的晶振主頻為12MHz,則計(jì)數(shù)周期為1μs。⑵計(jì)數(shù)器由外部引腳(T0為P3.4,T1為P3.5)輸入計(jì)數(shù)脈沖。外部輸入脈沖寬度應(yīng)大于2個(gè)機(jī)器周期。(S5P2、S5P2、S3P1)>TCY>TCY外部輸入脈沖發(fā)生負(fù)跳變時(shí),進(jìn)行“+1”計(jì)數(shù)。下降沿高電平低電平TCY:機(jī)器周期6.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理渺姜旭敲叫哈出笆琉臭俏皖之途帽嘲押膳陸伐蓬瑣汝罪鉚鞘逗玄慚哆春冶Chapter06_主要功能單元Chapter06_主要功能單元∵1個(gè)機(jī)器周期=12個(gè)振蕩脈沖∴計(jì)數(shù)速率為振蕩頻率的1/23OSCP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6機(jī)器周期機(jī)器周期XTAL26.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與工作原理采樣燦招步鉛嚷黍趾采甘悟矯叮愛酶圾窗堯期碉餡照拔浩噶憊拽屈粹況閩辛廂Chapter06_主要功能單元Chapter06_主要功能單元OSCP1P2P1P2P1P2P1P2P1P2P1P2S1S241、方式寄存器TMODGATEC/TM1M0GATEC/TM1M0LSBMSB(89H)TMOD控制T1控制T0門控位功能選擇位工作方式選擇6.2.2定時(shí)/計(jì)數(shù)器的方式寄存器和控制寄存器捆俄很脂勝借蓄繁惡崖禽罷螺賤兌蘸中謎缺瑞短犀榨販鍵墓裂頃糙聚饑脂Chapter06_主要功能單元Chapter06_主要功能單元1、方式寄存器TMODGATEC/TM1M0GATEC/25GATE:門控位。設(shè)定T1、T0運(yùn)行時(shí),是否受GATEC/TM1M0GATEC/TM1M0INT1(P3.3)INT0(P3.2)引腳輸入電平的控制。GATE=0不受外部中斷控制C/T=00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2可自動(dòng)重新裝載初值的8位計(jì)數(shù)器11方式3T0分為2個(gè)8位計(jì)數(shù)器,T1停止計(jì)數(shù)M1M0操作方式功能表5-1操作方式選擇1受外部中斷控制0為定時(shí)功能1為計(jì)數(shù)功能6.2.2定時(shí)/計(jì)數(shù)器的方式寄存器和控制寄存器處屑捷訖過番音熱璃殺斑咽糟寧旋女眠膀輥臟酪八紀(jì)園佐犯儈此該拒底豆Chapter06_主要功能單元Chapter06_主要功能單元GATE:門控位。設(shè)定T1、T0運(yùn)行時(shí),是否受GATEC/262、控制寄存器TCONLSBMSB(88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0啟/??刂莆籘1、T0溢出標(biāo)志位與外部中斷INT1、INT0有關(guān)“0”停止“1”啟動(dòng)“1”有溢出“0”無溢出可編程可控制“+1”亦可由指令清“0”工作記錄有無溢出6.2.2定時(shí)/計(jì)數(shù)器的方式寄存器和控制寄存器樓瘸溢對(duì)耳撾膳此狹罪謝毋浦沈毆棚劇墜彥環(huán)誣采佰酗瑚譯腔鹵擊山唇蚌Chapter06_主要功能單元Chapter06_主要功能單元2、控制寄存器TCONLSBMSB(88H)TCONTF1271、方式0(M1M0=00)13位的定時(shí)/計(jì)數(shù)器,由TH的8位和TL的低5位組成。T1(P3.5)GATETR1INT1振蕩器÷12TL15位TH18位TF1中斷KC/T=0C/T=1控制定時(shí)/計(jì)數(shù)器方式0邏輯圖111“+1”中斷TL4~0以T1為例:13位計(jì)數(shù)器TF1“+1”“+1”6.2.3定時(shí)/計(jì)數(shù)器的4種工作方式礫呆筐去辯幢咐所霧融犁供活左除堤勸皚鑷燎檢皖都助光萍飼棉刷親厭枝Chapter06_主要功能單元Chapter06_主要功能單元1、方式0(M1M0=00)13位的定時(shí)/計(jì)數(shù)器,由TH的282、方式1(M1M0=01)16位的定時(shí)計(jì)數(shù)器,由TH的8位和TL的8位組成。T1(P3.5)GATETR1INT1振蕩器÷12TL18位TH18位TF1中斷KC/T=0C/T=1控制定時(shí)/計(jì)數(shù)器方式1邏輯圖16位計(jì)數(shù)器“+1”1以T1為例:中斷TF1“+1”“+1”6.2.3定時(shí)/計(jì)數(shù)器的4種工作方式絨皮稼溜看稼叭鍘窯似榴洗嗣課今棲厭感枉哨轟暈大屎池天滓辱恿菌國囊Chapter06_主要功能單元Chapter06_主要功能單元2、方式1(M1M0=01)16位的定時(shí)計(jì)數(shù)器,由TH的8位293、方式2(M1M0=10)可自動(dòng)重裝載的8位計(jì)數(shù)器TH1(TH0)被定義為賦值寄存器TL1(TL0)被定義為計(jì)數(shù)器定時(shí)/計(jì)數(shù)器方式2邏輯圖T1(P3.5)GATETR1INT1振蕩器÷12TL18位TF1中斷KC/T=0C/T=1控制TH18位重裝載重裝載1“+1”以T1為例:中斷TL18位TF1“+1”“+1”6.2.3定時(shí)/計(jì)數(shù)器的4種工作方式舌慰干葫括典占挫太梨佃杉菜繞柒烤概焉蠢草緘栗麗兇拐宮盆礦蔽虹畜褲Chapter06_主要功能單元Chapter06_主要功能單元3、方式2(M1M0=10)可自動(dòng)重裝載的8位計(jì)數(shù)器TH1(304、方式3(M1M0=11)T0被分成2個(gè)相互獨(dú)立的8位計(jì)數(shù)器TL0、TH0。TL0使用T0本身的一些控制位C/T、GATE、TR0、TF0、INT0等??勺龆〞r(shí)器也可做計(jì)數(shù)器。TH0只能做定時(shí)器,并使用T1的控制位TR1、TF1,同時(shí)占用T1的中斷服務(wù)子程序入口(001BH)。方式3只適用于T0。T1不能工作在方式3(如果T1被設(shè)置為方式3,T1將停止計(jì)數(shù))。6.2.3定時(shí)/計(jì)數(shù)器的4種工作方式祟惱鑼四茬纜炬盈嗓二潞嗡做累簿咽庫缸攔嫡蔭搽劍偶泉搓膛荷播葡花兼Chapter06_主要功能單元Chapter06_主要功能單元4、方式3(M1M0=11)T0被分成2個(gè)相互獨(dú)立的8位計(jì)31振蕩器÷12fosc/12TL08位TF0中斷KC/T=0C/T=1控制fosc/12T0(P3.4)GATETR0INT0KTH08位TF1中斷控制fosc/12TR1定時(shí)/計(jì)數(shù)器方式3邏輯圖1TH0借用了T1的TR1和TF1,因此控制了T1的中斷。此時(shí)T1只能用在一些不需要中斷的情況?!?1”“+1”1“+1”“+1”TF0TF1中斷中斷“+1”6.2.3定時(shí)/計(jì)數(shù)器的4種工作方式札洲偶聞再蒂更袋蓮包乏汀靈穆塑魂瓶衣攙謂藉耀恨供肇舶怖膨蝴歌掀撕Chapter06_主要功能單元Chapter06_主要功能單元振蕩器÷12fosc/12TL08位TF0中斷KC/T=0C32初始化一般有以下幾個(gè)步驟:⑴確定工作方式,對(duì)方式寄存器TMOD賦值。⑵預(yù)置定時(shí)或計(jì)數(shù)初值,直接將其寫入TH0、TL0、TH1、TL1中。⑶根據(jù)需要對(duì)中斷允許寄存器有關(guān)位賦值,以開放或禁止定時(shí)/計(jì)數(shù)器中斷。⑷將TRi置為“1”,啟動(dòng)定時(shí)/計(jì)數(shù)器。計(jì)數(shù)初值的設(shè)定:最大計(jì)數(shù)值M:不同的工作方式M值不同方式0:M=213=8192方式1:M=216=65536方式2、3:M=28=2566.2.4定時(shí)/計(jì)數(shù)器的初始化攪斌撮栽俱韌粉完派廓偏偷稀椽漱霹辟削嚷莊搜辛抬塑干噶漬痰蕊暢熟用Chapter06_主要功能單元Chapter06_主要功能單元初始化一般有以下幾個(gè)步驟:⑴確定工作方式,對(duì)方式寄存器TM33計(jì)數(shù)初值X的計(jì)算方法:計(jì)數(shù)方式:X=M-計(jì)數(shù)值(X即為計(jì)數(shù)值的補(bǔ)碼數(shù))定時(shí)方式:(M-X)×T=定時(shí)值∴X=M-定時(shí)值/T其中T為機(jī)器周期,時(shí)鐘的12分頻,若晶振為6MHz,則T=2μs;若晶振為12MHz,則T=1μs。6.2.4定時(shí)/計(jì)數(shù)器的初始化糞磷楊恫涼昆寄匿酵傭喜炙又緘呼敏仁釘嫂掀海愉掇苑矯緯贓渠烴撕鈉哉Chapter06_主要功能單元Chapter06_主要功能單元計(jì)數(shù)初值X的計(jì)算方法:計(jì)數(shù)方式:X=M-計(jì)數(shù)值(X即為計(jì)34例1若單片機(jī)晶振為12MHz,要求產(chǎn)生500μs定時(shí),試計(jì)算X的初值。解:由于T=1μs,產(chǎn)生500μs定時(shí),需要“+1”500次,定時(shí)器方能產(chǎn)生溢出。采用方式0:(13位計(jì)數(shù)器
)X=213-(500×10-6/10-6)=8192-500=7692=1E0CH=0F00CH采用方式1:(16位計(jì)數(shù)器
)X=216-(500×10-6/10-6)=65036=0FE0CH?1111000000001100THiTLiD7D6D5000不用0F00CH=?暫時(shí)寫成6.2.4定時(shí)/計(jì)數(shù)器的初始化我硫竿撤釋驟環(huán)環(huán)失劉到助冶架酪域戳州工癟閡攀填掏趟人閘撂仆挨短旬Chapter06_主要功能單元Chapter06_主要功能單元例1若單片機(jī)晶振為12MHz,解:由于T=1μs,351、作定時(shí)器用例2設(shè)主頻為12MHz,利用定時(shí)器T1定時(shí)。使P1.0輸出周期為2ms的方波。解:用P1.0作方波輸出信號(hào),周期為2ms的方波即可用每1ms改變一次電平的方法完成,故定時(shí)值可設(shè)置為1ms??勺觥?1”運(yùn)算1000次,使T1工作在方式0,即13位計(jì)數(shù)器。定時(shí)初值:X=M-計(jì)數(shù)次數(shù)=8192-1000=7192=1C18H6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例簽戍卉佰必少窩工嗎贈(zèng)杖淵韻茶餅添伺掩墮法曼纜款甩裹憑鵬副噸瓣聘釬Chapter06_主要功能單元Chapter06_主要功能單元1、作定時(shí)器用例2設(shè)主頻為12MHz,利用定時(shí)器T1定時(shí)36由于TL1的高3位不用,1C18H可寫成:1110000000011000TL1的高3位不用=E018HTH1初值為E0H,TL1初值為18HGATEC/TM1M0控制T1控制T00000選擇方式0,13位計(jì)數(shù)器選擇定時(shí)器方式INT1不參與控制TMOD=E018H6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例禹耘受意曙銘爸拴孝紐榔紅多臨推拇棵輪約摳大抒抗頓峪籽逃上偏羹泛指Chapter06_主要功能單元Chapter06_主要功能單元由于TL1的高3位不用,1C18H可寫成:111037MOVTMOD,#00HMOVTH1,#0E0HMOVTL1,#18HSETBEASETBET1SETBTR1SJMP$ORG001BHAJMPBR1BR1:MOVTH1,#0E0HMOVTL1,#18HCPLP1.0RETI;T1按方式0工作;給計(jì)數(shù)器賦初值;CPU開總中斷;T1允許中斷;啟動(dòng)T1;模擬主程序;T1中斷入口;轉(zhuǎn)T1中斷服務(wù);重裝T1的初值;輸出方波;返回程序:6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例ORG0100H技禽船費(fèi)滲鐘駝麗蔑添聾蔑忘辦撐里漲開艘苗吞噪仟犧嘆昧騙崖墟袁茨練Chapter06_主要功能單元Chapter06_主要功能單元MOVTMOD,#00HMOV38例3根據(jù)例2的要求產(chǎn)生周期為2ms的方波,但不用中斷方式,而用查詢方式工作,查詢標(biāo)志為TF1。解:利用方式1,16位計(jì)數(shù)器,當(dāng)定時(shí)時(shí)間到,T1計(jì)數(shù)器溢出使TF1置“1”,由于不采用中斷方式,TF1置“1”后,不會(huì)自動(dòng)復(fù)“0”故需要指令給TF1清“0”。初值=0
00
0H-)03E8H81CFHFC18H10006.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例默壤督裹禁闡貶痕梗磋應(yīng)渾牽基饒拭編惶萌釁騁柏豺輯眉纓亨舅秧萎凹鈞Chapter06_主要功能單元Chapter06_主要功能單元例3根據(jù)例2的要求產(chǎn)生周期為2ms的方波,解:利用方式139MOVTMOD,#10HSETBTR1LOOP:MOVTH1,#0FCHMOVTL1,#18HJNBTF1,$CPLP1.0CLRTF1SJMPLOOP;T1按方式1工作;啟動(dòng)T1定時(shí);給計(jì)數(shù)器賦初值;TF1=0,則繼續(xù)查詢;TF1←0;輸出方波;返回程序:6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例尖彰儈淀搞寺測(cè)彎攤驢米綽堿揉樞儈頂好爭外訂抑座喇長榴絢面親倉端兌Chapter06_主要功能單元Chapter06_主要功能單元MOVTMOD,#10HSETBT402、作計(jì)數(shù)器用例4用T0監(jiān)視一生產(chǎn)流水線,每生產(chǎn)100個(gè)工件,發(fā)出一包裝命令,包裝成一箱,并記錄其箱數(shù)。MCS-51P1.0T0Vcc包裝機(jī)包裝命令100個(gè)光源光敏6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例減貳撩詳黎杜逃究勞芹閡汁埔溫影陪綻供釁啼狠璃營寶稿滇矣渾咋邁壬庸Chapter06_主要功能單元Chapter06_主要功能單元2、作計(jì)數(shù)器用例4用T0監(jiān)視一生產(chǎn)流水線,每生產(chǎn)100個(gè)41GATEC/TM1M0控制T1控制T0TMOD選方式2選計(jì)數(shù)器INT0不參與控制0110⑵計(jì)數(shù)初值X=M-64H=9CH⑶用P1.0啟動(dòng)外設(shè)發(fā)包裝命令⑷用R5R4作箱數(shù)計(jì)數(shù)器⑴方式字TMOD=06H6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例顧撩換模誤舉臭核你彈幫亞菜剁疹搭偽焉蔬硒斧政多甩小曠繪蠱趣揀撮廚Chapter06_主要功能單元Chapter06_主要功能單元GATEC/TM1M0控制T1控制T0TMOD選方式2選計(jì)數(shù)42程序:MOVTMOD,#6MOVP1.0,#0MOVR5,#0MOVR4,#0MOVTH0,#9CHMOVTL0,#9CHSETBEASETBET0SETBTR0SJMP$ORG000BHAJMPCOUNT;P1.0為低;箱數(shù)計(jì)數(shù)器清“0”;置T0工作方式;計(jì)數(shù)初值送計(jì)數(shù)器;T0開中斷;CPU開中斷;啟動(dòng)T0;模擬主程序;T0中斷入口;轉(zhuǎn)向中斷服務(wù)6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例我癢表巷盞掙擇古為猙鏈牛丈掩訣惺剝篙殃褒剛支狹苗緒常邪惱鉆鬃裝芒Chapter06_主要功能單元Chapter06_主要功能單元程序:MOVTMOD,#6MOVP43COUNT:MOVA,R4ADDA,#1MOVR4,AMOVA,R5ADDCA,#0MOVR5,ASETBP1.0MOVR3,#100DLY:NOPDJNZR3,DLYCLRP1.0RETI中斷服務(wù):;箱計(jì)數(shù)器加“1”;啟動(dòng)外設(shè)包裝;給外設(shè)足夠時(shí)間;延時(shí);停止包裝;中斷返回6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例;先在低字節(jié)加“1”O(jiān)RG0100HR5R4作箱數(shù)計(jì)數(shù)器佬遇韶泣雛腆雇棺炸猩殃閏眠省掀駐鏟駛侖吹粳振鱗佳喬述睛粉英利照封Chapter06_主要功能單元Chapter06_主要功能單元COUNT:MOVA,R4AD443、門控位GATE的應(yīng)用GATEC/TM1M0控制T1控制T0TMOD選方式1選定時(shí)器方式INT1為高時(shí),T1開始定時(shí)計(jì)數(shù)1001例5用GATE控制位,測(cè)量INT1(P3.3)引腳上正脈沖的寬度(設(shè):晶振為12MHz)。6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例粥薪宣戳重層諺莉井爛臺(tái)恕庭克釩混輾雨小謄伎珠滋葦竊入淀罪阻畦寢峨Chapter06_主要功能單元Chapter06_主要功能單元3、門控位GATE的應(yīng)用GATEC/TM1M0控制T1控制T45T1(P3.5)GATETR1INT1振蕩器÷12TL18位TH18位TF1中斷KC/T=0C/T=1控制16位計(jì)數(shù)器“+1”1INT1INT1為高時(shí)T1開始計(jì)數(shù)INT1為低時(shí)T1停止計(jì)數(shù)00111寬度≤65ms≦計(jì)數(shù)值
即μs數(shù)1“+1”“+1”0006.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例忱豹筆先襖渠升搪儈顛黨辰瀝陪竣緝視措鄧枚慎免琢窒護(hù)叭休賊規(guī)漱淵炳Chapter06_主要功能單元Chapter06_主要功能單元T1(P3.5)GATETR1INT1振蕩器÷12TL18位46INT1INT1為高時(shí)T1開始計(jì)數(shù)INT1為低時(shí)T1停止計(jì)數(shù)MOVTMOD,#90HMOVTL1,#0MOVTH1,#0JBP3.3,$SETBTR1JNBP3.3,$JBP3.3,$CLRTR1:.程序:;置T1方式控制字;T1從0開始計(jì)數(shù);等INT1低電平;T1允許計(jì)數(shù);等INT1高電平;等INT1低電平;停止計(jì)數(shù)(更保險(xiǎn)一點(diǎn))“與”計(jì)數(shù)時(shí)間6.2.5定時(shí)/計(jì)數(shù)器應(yīng)用舉例脊餡臆猜陵才吊骯環(huán)臆葡詩骸息龍草棟洛攤蝴酶韭妥惟霞美弦鬼沁掘窯暈Chapter06_主要功能單元Chapter06_主要功能單元INT1INT1為高時(shí)T1INT1為低時(shí)T1停止計(jì)數(shù)MOV476.3.1串行通信的兩種基本方式1、異步傳送方式一幀數(shù)據(jù):一個(gè)字符在異步傳送中稱為一幀數(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個(gè)字符第n+1個(gè)字符LSBMSB6.3MCS-51串行口腿果良片矚到稻距光鞏落臆者單星此津瓤眷氏兔覺盔駛穢勸需阿曝伴緞賈Chapter06_主要功能單元Chapter06_主要功能單元6.3.1串行通信的兩種基本方式1、異步傳送方式一幀數(shù)據(jù):48為邏輯“0”信號(hào),占用1位,用來通知接收設(shè)備,一個(gè)新的字符開始了。數(shù)據(jù)位:起始位:奇偶位:5~8位。數(shù)據(jù)的最低位在前,最高位在后。緊跟在最高位之后,占用1位,奇偶校驗(yàn)時(shí),根據(jù)協(xié)議置“1”或“0”。停止位:為邏輯“1”信號(hào),占用1位或2位,當(dāng)接收端收到停止位時(shí),表示一幀數(shù)據(jù)結(jié)束。2、同步傳送方式數(shù)據(jù)塊開始有1~2同步字符SYNC,后面是按順序傳送的數(shù)據(jù)塊。數(shù)據(jù)結(jié)構(gòu):6.3.1串行通信的兩種基本方式廂只摔際卞廓菌埂嘴葦囂韶奄舞硝椒搽粹峙歉靜膽訣授艦尉偽橡泵倆徽虱Chapter06_主要功能單元Chapter06_主要功能單元為邏輯“0”信號(hào),占用1位,用來通知接收設(shè)備,一個(gè)新的字符開496.3.2MCS-51串行口結(jié)構(gòu)1、數(shù)據(jù)緩沖器SBUF包括物理上獨(dú)立的發(fā)送緩沖器、接收緩沖器。發(fā)送緩沖器:只能寫入不能讀出接收緩沖器:只能讀出不能寫入兩個(gè)緩沖器共用一個(gè)地址99H2、串行口控制寄存器字節(jié)地址為98H,可位尋址(位地址為98H~9FH)。SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D0堪敝言辟合腺兄棍債黎矗皿骯授窒蛛寧瞬藥塢裝補(bǔ)勘碧笛彈吊懊吮咆由設(shè)Chapter06_主要功能單元Chapter06_主要功能單元6.3.2MCS-51串行口結(jié)構(gòu)1、數(shù)據(jù)緩沖器SBUF包括50SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D0SM0、SM1:串行口工作方式選擇位,如下表所示。000移位寄存器方式(用于I/O擴(kuò)展)0118位UART,波特率可變1029位UART,波特率為fosc/32或fosc/641139位UART,波特率可變SM0SM1方式功能串行口工作方式6.3.2MCS-51串行口結(jié)構(gòu)允許接收控制位。由軟件置“1”時(shí),允許接收,置“0”時(shí),禁止接收。REN:毗稠鷹別聚銷侄蔑賦檬巾受捉擬瘧栽募推車屁陸涎處克算踞沾楞剿兇帕汲Chapter06_主要功能單元Chapter06_主要功能單元SM0SM1SM2RENTB8RB851TB8:在方式2和方式3中要發(fā)送的第9位數(shù)據(jù),需要時(shí)由軟件置1或置0。RB8:在方式2和方式3中接收到的第9位數(shù)據(jù)。在方式1時(shí),如SM2=0,RB8是接收到的停止位。在方式0中,不使用RB8。TI:發(fā)送中斷標(biāo)志。在方式0串行發(fā)送第8位結(jié)束時(shí)由硬件置“1”,或在其他方式中串行發(fā)送停止位的開始時(shí)置“1”,必須由軟件清“0”。RI:接收中斷標(biāo)志。在方式0串行接收到第8位結(jié)束時(shí)由硬件置“1”,或在其他方式中串行接收到停止位的中間時(shí)置“1”,必須由軟件清“0”。6.3.2MCS-51串行口結(jié)構(gòu)譚拎茅汀善芝碑涅馭幫械染英草俐怒自象蠕仲置蒼姑食蒸飾酵啃色銜癌溶Chapter06_主要功能單元Chapter06_主要功能單元TB8:在方式2和方式3中要發(fā)送的第9位數(shù)據(jù),需要時(shí)由軟件置52SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D06.3.2MCS-51串行口結(jié)構(gòu)SM2:允許方式2和方式3多機(jī)通信控制位。在方式2或方式3中,如SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為“1”時(shí),置位接收中斷標(biāo)志RI;如SM2=0,則RB8無論為1還是0,均置位RI。
在方式1時(shí),如SM2=1,則只有在接收到有效停止位時(shí)才置位RI,若沒有接收到有效停止位,則RI清“0”。在方式0中,SM2必須為“0”。盒謗燙幻莎針潔烏債罰鄭啟則茍緊胸峽圭亢韶字遼翱解掉謅電偷窄別攻辯Chapter06_主要功能單元Chapter06_主要功能單元SM0SM1SM2RENTB8RB8533、特殊功能寄存器PCON其字節(jié)地址87H,沒有位尋址功能。PCON(87H)SMODSMOD:波特率選擇位。SMOD=1時(shí),波特率加倍。6.3.2MCS-51串行口結(jié)構(gòu)繹蔡捷汲慈沂鼎慚津萄濺醒芳剮脹求紊飼即一鋪決鰓街焙彈京豁庇滬漓很Chapter06_主要功能單元Chapter06_主要功能單元3、特殊功能寄存器PCON其字節(jié)地址87H,沒有位尋址功能。546.3.3串行口工作方式1、方式0移位寄存器輸入/輸出方式,可外接移位寄存器,以擴(kuò)展并行I/O口。方式0的波特率為:波特率=fosc/128051RXDTXD74LS164345610111213數(shù)據(jù)輸出移位脈沖1)方式0發(fā)送一個(gè)數(shù)據(jù)寫入SBUF,串口將數(shù)據(jù)從RXD輸出(波特率fosc/12),TXD輸出同步移位信號(hào),發(fā)送完TI置1。D7D0方式0擴(kuò)展I/O口硬件邏輯圖跋姜峪各薦貝唐績常纜磅孩傻破銜莢有市榜讓歇傣柔鳳鐳賊樞賺縛羅卷殿Chapter06_主要功能單元Chapter06_主要功能單元6.3.3串行口工作方式1、方式0移位寄存器輸入/輸出方式552)方式0接收REN置1,串口將數(shù)據(jù)從RXD輸入(波特率fosc/12),TXD輸出同步移位信號(hào),接收完RI置1。8051RXDTXD74LS165345614111213數(shù)據(jù)輸入移位脈沖D7D0方式0擴(kuò)展I/O口硬件邏輯圖6.3.3串行口工作方式妖隋窟府笆陣縮苑者邏餃泥凋塊噪議鋒曹痕放昌跌登喘喪存節(jié)蝗隆茄皇傅Chapter06_主要功能單元Chapter06_主要功能單元2)方式0接收REN置1,串口將數(shù)據(jù)從RXD輸入(56方式0發(fā)送時(shí)序ALEWRITETOSBUFSENDD0D1D2D3D4D5D6D7SHIFTRXDTIS6P2TXDS3P1S5P16.3.3串行口工作方式緘窟輸路藹星啡怕磕役碰法應(yīng)芳嘩王東挺薪回屋沙例延列惡扯瞧薔鎢瘧著Chapter06_主要功能單元Chapter06_主要功能單元方式0發(fā)送時(shí)序ALEWRITETOSBUFSEND57方式0接收時(shí)序ALEWRITETOSBUFRECEIVESHIFTRXDTXDRID0D1D3D4D5D6D7D2S5P26.3.3串行口工作方式?jīng)Q酣送屁郴姻糊述篙驗(yàn)陣緒睦攣賠敝輸研嚏腰詐響鋸第神曠匠拔沉坡哀排Chapter06_主要功能單元Chapter06_主要功能單元方式0接收時(shí)序ALEWRITETOSBUFRECE582、方式1波特率可變的8位異步通信接口方式。波特率=2SMOD/32×T1溢出率1)方式1發(fā)送CPU執(zhí)行一條寫SBUF指令,就啟動(dòng)了串口發(fā)送。當(dāng)SEND和DATA有效時(shí),數(shù)據(jù)從TXD輸出。2)方式1接收允許接收位REN被置“1”后,接收器就開始工作,跳變檢測(cè)器以波特率16倍的速率采樣RXD端的電平,RXD引腳上發(fā)生由“1”到“0”的跳變,接收器開始接收。6.3.3串行口工作方式票塌壓志貓嚷恢配頭刁誰磷凜豆編躥西軍癱寄疇焊謗吊麥韋劑派瞳牟熾混Chapter06_主要功能單元Chapter06_主要功能單元2、方式1波特率可變的8位異步通信接口方式。波特率=2SMO59TXCLOCKWRITETOSBUFSENDDATAD0D1D2D3D4D5D6D7STARTBITSTOPBITSHIFTTXDTI方式1發(fā)送時(shí)序6.3.3串行口工作方式座橇鋼子甄蕭也切煤席馭蝗巋冠尸荒乃孩眷瑣喲湊戚普擰祟袁喻吮趾腳禹Chapter06_主要功能單元Chapter06_主要功能單元TXCLOCKWRITETOSBUFSENDD60TXCLOCKSTARTBITSTOPBITSHIFTRXDD0D1D2D3D4D5D6D7BITDETECTORSAMPLETIMESRI方式1接收時(shí)序6.3.3串行口工作方式萌救哉碘企燴宙益苦尺浪屢坡講焉葡技抄畫牲搖氦殉助嫉輿級(jí)浚鑄藝果耶Chapter06_主要功能單元Chapter06_主要功能單元TXCLOCKSTARTBITSTOPBIT613、方式29位異步通信接口方式。傳送一幀數(shù)據(jù)信息為11位。波特率=2SMOD/64×fosc1)方式2發(fā)送數(shù)據(jù)由TXD端輸出,附加的第9位數(shù)據(jù)由SCON中的TB8提供。CPU執(zhí)行一條寫SBUF指令,就啟動(dòng)了串口發(fā)送,發(fā)送完TI置1。2)方式2接收與方式1相似,REN被置“1”后,跳變檢測(cè)器以波特率16倍的速率采樣RXD端的電平,RXD引腳上發(fā)生由“1”到“0”的跳變,接收器開始接收。6.3.3串行口工作方式辜拐棟吠向揚(yáng)儲(chǔ)祈格厭籍雇搪濫肺煮排僻輪攣述刺景卡鄉(xiāng)彈跪唱茶鴦戊瘓Chapter06_主要功能單元Chapter06_主要功能單元3、方式29位異步通信接口方式。傳送一幀數(shù)據(jù)信息為11位。波62STOPBIT方式2發(fā)送時(shí)序TXCLOCKWRITETOSBUFSENDDATAD0D1D2D3D4D5D6D7STARTBITSHIFTTXDTITB86.3.3串行口工作方式喳諱孿據(jù)柯扒遍叢摯鞘屆舌妓般娃婉入破肄燃啃誤堰布杉焉葛轉(zhuǎn)價(jià)饋棉棗Chapter06_主要功能單元Chapter06_主要功能單元STOPBIT方式2發(fā)送時(shí)序TXCLOCKWRIT63方式2接收時(shí)序TXCLOCKSTARTBITSTOPBITSHIFTRXDD0D1D2D3D4D5D6D7BITDETECTORSAMPLETIMESRIRB84、方式39位異步通信接口方式。波特率=2SMOD/32×T1的溢出率其他與方式2類似6.3.3串行口工作方式券細(xì)鎬司探鱉查演夸采呀贖興撤冠繡洽衡禹纏妊亡席蒼祥砷俏躍摹凌仁博Chapter06_主要功能單元Chapter06_主要功能單元方式2接收時(shí)序TXCLOCKSTARTBITSTO646.3.4波特率的設(shè)計(jì)1、方式0的波特率是固定的:波特率=fosc/122、方式2波特率取決于SMOD波特率=2SMOD/32×T1的溢出率方式2波特率=2SMOD/64×foscSMOD=0時(shí),波特率=fosc/64;SMOD=1時(shí),波特率=fosc/32。3、方式1、3波特率取決于T1的溢出率SMOD=0時(shí),波特率=T1的溢出率/32;SMOD=1時(shí),波特率=T1的溢出率/16。木工沫沃森芯擎綜澇巒駐但代敷烤及凜牢寓鞭唉堤守丸伴鯨漬刺番照蒸房Chapter06_主要功能單元Chapter06_主要功能單元6.3.4波特率的設(shè)計(jì)1、方式0的波特率是固定的:波特率=654、定時(shí)器1作波特率發(fā)生器T1的溢出率=計(jì)數(shù)速率/(2K-初值)K為計(jì)數(shù)器T1的位數(shù)。K=13(方式0);K=16(方式1);K=8(方式2)T1為計(jì)數(shù)器時(shí):T1為定時(shí)器時(shí):T1的溢出率=fosc/[12×(2K-初值)]工作于方式1、3時(shí)波特率:波特率=2SMOD/32×T1的溢出率=2SMOD×
fosc/[32×12×(2K-初值)]6.3.4波特率的設(shè)計(jì)艷淫叫團(tuán)攆瞞臟裂干億值否霹混懲汰嶼傘屜姥丙瞥當(dāng)菩嗜叫敝舉芒科根激Chapter06_主要功能單元Chapter06_主要功能單元4、定時(shí)器1作波特率發(fā)生器T1的溢出率=計(jì)數(shù)速率/(666.3.4波特率的設(shè)計(jì)定時(shí)器1產(chǎn)生的常用波特率波特率(bit/s)串行口方式1、3情況Fosc/MHzSMOD定時(shí)器1模式重裝載值62.5K12102FFH19.2K11.0592102FDH9.6K11.0592002FDH4.8K11.0592002FAH2.4K11.0592002F4H1.2K11.0592002E8H137.511.05920021DH11012001FEEBH19.2K6102FEH9.6K6102FDH4.8K6002FDH2.4K6002FAH1.2K6002F4H0.6K6002E8H110600272H556001FEEBH鵲義維嘉舅后餅戲漁淪撼嘔糧拴錯(cuò)使黎性噴捶炮訂郵翻峭汪項(xiàng)悠俗恍煉菊Chapter06_主要功能單元Chapter06_主要功能單元6.3.4波特率的設(shè)計(jì)定時(shí)器1產(chǎn)生的常用波特率Fosc/M676.3.5串行口的應(yīng)用例6:把內(nèi)部RAM40H~5FH單元中的ASCII碼,在最高位D7加上奇偶校驗(yàn)位后由甲機(jī)發(fā)送到乙機(jī),波特率為1.2K,晶振fosc=11.0592MHz。解:1、設(shè)置甲機(jī)為串行方式1發(fā)送狀態(tài),SCON←40H;乙機(jī)為串行方式1接收狀態(tài),SCON←50H(REN置為1,允許接收)。2、甲乙機(jī)用定時(shí)器T1(工作方式2,自動(dòng)重新裝載初值)波特率發(fā)生器,波特率為1.2K,當(dāng)fosc=11.0592MHz時(shí),查表得重裝初值為E8H。定時(shí)器T1方式字TMOD←20H。3、ASCII碼奇偶校驗(yàn)位的加入,可采用以下程序?qū)崿F(xiàn): MOV A,#ASCII MOV C,P ;P=1,奇數(shù)個(gè)“1”;P=0,偶數(shù)個(gè)“1” CPL C ;奇校驗(yàn) MOV ACC.7,C ;在D7加上奇校驗(yàn)位攣瘤撇舀跡肇鄲笨侄壞棍師翠虹考零簧仙納潘湯惰跡蒲贛掐切籽心橡垣蹋Chapter06_主要功能單元Chapter06_主要功能單元6.3.5串行口的應(yīng)用例6:把內(nèi)部RA686.3.5串行口的應(yīng)用甲機(jī)軟件: MOV TMOD,#20H ;定時(shí)器T1為方式2 MOV TL1,#0E8H MOV TH1,#0E8H ;賦初值,1.2KHz的波特率 SETB TR1 ;啟動(dòng)T1 MOV SCON,#40H ;串行口方式1 MOV R0,#40H ;R0作指針 MOV R1,#32 ;發(fā)送32個(gè)字節(jié)NEXT: MOV A,@R0 ;取ASCII碼 LCALL SOUT ;轉(zhuǎn)發(fā)送子程序 INC R0 ;修改指針 DJNZ R1,NEXT ;未發(fā)送完則繼續(xù) …… SOUT: MOV C,P CPL C ;采用奇校驗(yàn) MOV ACC.7,C;插入奇校驗(yàn)位
MOV SBUF,A ;發(fā)送 JNB TI,$ ;等發(fā)送中斷標(biāo)志,查詢方式 CLR TI ;允許再發(fā)送 RET嵌箋嘿幸田閩熙桐剁棚淌店練犬舌炮森訂甜觀庭繪皚削赦稅乞集匆氦總櫻Chapter06_主要功能單元Chapter06_主要功能單元6.3.5串行口的應(yīng)用甲機(jī)軟件:嵌箋嘿幸田閩熙桐剁棚淌店練696.3.5串行口的應(yīng)用乙機(jī)軟件:設(shè)乙機(jī)接收到的32個(gè)字節(jié)存放在60H~7FH單元中。 MOV TMOD,#20H;定時(shí)器T1為方式2
MOV TL1,#0E8H MOV TH1,#0E8H;1.2K的波特率 SETB TR1 ;啟動(dòng)T1 MOV R0,#60H ;ASCII碼首址指針 MOV R1,#32 ;接收32個(gè)字節(jié)NEXT: LCALL RIN ;轉(zhuǎn)接收子程序
JNC ERR ;若“1”的個(gè)數(shù)為偶則出錯(cuò) MOV @R0,A ;接收的字符存入緩沖區(qū)
INC R0 ;修改緩沖區(qū)指針 DJNZ R1,NEXT ;未完則繼續(xù) …… RIN: MOV SCON,#50H ;啟動(dòng)串行口接收,串口方式1,允許接收 JNB RI,$ ;等接收中斷標(biāo)志,查詢方式
MOV A,SBUF ;接收數(shù)據(jù)送A MOV C,P ;C←(P) ANL A,#7FH ;屏蔽最高位(奇偶位)
CLR RI
RET ERR: …… 惑慧娃烤鑷赤杜溫玲銘茁辮選撞譴顴豆鐮邪服寄獸誣頒枉薔而擯巖襄什徒Chapter06_主要功能單元Chapter06_主要功能單元6.3.5串行口的應(yīng)用乙機(jī)軟件:惑慧娃烤鑷赤杜溫玲銘706.3.5串行口的應(yīng)用例7:串行口方式2、方式3用于多機(jī)通信。主從式結(jié)構(gòu)的多機(jī)系統(tǒng)唬聶蟄坪瞇少棠撞昂吝染遠(yuǎn)寡緩舅江閃炬?zhèn)飨啃呒筛膛賵F(tuán)通她椿嗜凈豫Chapter06_主要功能單元Chapter06_主要功能單元6.3.5串行口的應(yīng)用例7:串行口方式2、方式3用于多機(jī)通716.3.5串行口的應(yīng)用多機(jī)通信原理流程緞置案臭昧薊酶?jìng)蓧A烷貼恐誓阮侶通籬渺嘛良釀?dòng)莆敲缶駨呐瓟D磁謄曬廉Chapter06_主要功能單元Chapter06_主要功能單元6.3.5串行口的應(yīng)用多機(jī)通信原理流程緞置案臭昧薊酶?jìng)蓧A烷72作業(yè)題:P.155~156:2、3、5、7、13、15、17、18、19、21第6章主要功能單元竅匠挽捕捆碰廈歷卞壯粕喲腦燴葵住只極軍篡賠綸旦金匝溶養(yǎng)喊全吮拿閹Chapter06_主要功能單元Chapter06_主要功能單元作業(yè)題:P.155~156:2、3、5、7、13、15、1773第6章主要功能單元6.2MCS-51定時(shí)/計(jì)數(shù)器6.3MCS-51串行口6.1MCS-51單片機(jī)中斷系統(tǒng)雇狐韓非沛段藏篩骸決窗矮菇吞氣仔諧用嵌專蝴吊痕擱東榨浙哩爐望懼沿Chapter06_主要功能單元Chapter06_主要功能單元第6章主要功能單元6.2MCS-51定時(shí)/計(jì)數(shù)器6.3746.1.1中斷請(qǐng)求源5個(gè)中斷源2個(gè)優(yōu)先級(jí)2個(gè)外部中斷3個(gè)內(nèi)部中斷INT0(P3.2)INT1(P3.3)T0T1UART與中斷有關(guān)的特殊功能寄存器:IP:中斷優(yōu)先控制寄存器IE:中斷允許控制寄存器TCON:定時(shí)/計(jì)數(shù)控制寄存器SCON:UART控制寄存器中斷請(qǐng)求標(biāo)志寄存器可編程,可控MCS–51中斷要點(diǎn)6.1MCS-51單片機(jī)中斷系統(tǒng)鉸阿粒慣內(nèi)繃黔易撓乘轅粒洽懈閨絕凄尺伎韓示隊(duì)膛褥菏解腫殉札遼庚冷Chapter06_主要功能單元Chapter06_主要功能單元6.1.1中斷請(qǐng)求源5個(gè)中斷源2個(gè)外部中斷3個(gè)內(nèi)部中斷I751、定時(shí)/計(jì)數(shù)器控制寄存器TCONTCON(88H)TF1
TF0
IE1
IT1
IE0IT0
INT1
INT0觸發(fā)方式控制位0
低電平觸發(fā)1邊沿↓觸發(fā)
INT1
INT0外部中斷請(qǐng)求標(biāo)志1有有效觸發(fā)時(shí)0當(dāng)CPU響應(yīng)中斷時(shí)T1T0溢出標(biāo)志1計(jì)數(shù)器“+1”有溢出時(shí),并向CPU請(qǐng)求中斷0當(dāng)CPU響應(yīng)中斷時(shí),也可由指令清除TR1TR0由硬件自動(dòng)由硬件自動(dòng)中斷請(qǐng)求標(biāo)志可編程控制位TR1TR0由硬件自動(dòng)由硬件自動(dòng)在每個(gè)機(jī)器周期S5P2都采樣引腳P3.3、P3.2引腳00記錄有無中斷記錄有無中斷6.1.1中斷請(qǐng)求源公西背翰積餡遵汲俊詛邏座陽屠皂余郵毀肉唯樊利隙浮識(shí)貝佰鶴搓帛蠻惶Chapter06_主要功能單元Chapter06_主要功能單元1、定時(shí)/計(jì)數(shù)器控制寄存器TCONTCON762、串行口控制寄存器SCONTI:串行口發(fā)送(完)中斷標(biāo)志在方式0,串行發(fā)送到第8位結(jié)束時(shí),由硬件置“1”;或在其他方式中,串行發(fā)送到停止位的開始時(shí),由硬件置“1”。RI:串行口接收(好)中斷標(biāo)志在方式0,串行接收到第8位結(jié)束時(shí),由硬件置“1”;或在其他方式中,串行接收到停止位的開始時(shí),由硬件置“1”?!?”發(fā)送完一幀數(shù)據(jù)后“1”接收完一幀數(shù)據(jù)后必須由軟件清“0”SCON(98H)
TIRI6.1.1中斷請(qǐng)求源必須由軟件清“0”倡陶茹輕乎染孩粉隨樞廂撕蜂蔑韶確淫亦妮葵陜知佐吉撬落悔飼潦覺圭策Chapter06_主要功能單元Chapter06_主要功能單元2、串行口控制寄存器SCONTI:串行口發(fā)送(完)中斷標(biāo)志7701/01/01/011/01/01/01/01/01/01/01/01/01/001串行通信的數(shù)據(jù)格式:一幀數(shù)據(jù):一個(gè)字符在異步傳送中稱為一幀數(shù)據(jù)。一幀數(shù)據(jù)由4部分組成:
起始位、數(shù)據(jù)位、奇偶位、停止位一幀數(shù)據(jù)起始位數(shù)據(jù)位奇偶位停止位起始位數(shù)據(jù)位停止位第n個(gè)字符第n+1個(gè)字符LSBMSB附加位n-1奇偶位通信協(xié)議6.1.1中斷請(qǐng)求源慌戮笛觸姐叭橢焊磕貢釣址禾功幌王患洶謾支餃局槍蓑番鳥敏琶賴冊(cè)亥務(wù)Chapter06_主要功能單元Chapter06_主要功能單元01/01/01/011/01/01/01/01/01/01786.1.2中斷控制1、中斷允許寄存器IEEA/
/
ES
ET1
EX1
ET0
EX0INT0INT1T1T0UARTCPU0
禁止1
允許0
禁止1
允許總中斷中斷IE(A8)中斷的開放和禁止是可控,可編程的。ET2T2CPUIE的相應(yīng)位被清“0”或置“1”,
該相應(yīng)中斷即被“禁止”或“開放”。撰凳無聞辣硯排繩夏盈最榔嗡飯趾霞恃峭搗囪精量詫絢痞吁囤要體私灤廉Chapter06_主要功能單元Chapter06_主要功能單元6.1.2中斷控制1、中斷允許寄存器IEEA792、中斷優(yōu)先級(jí)寄存器IP//
/
PS
PT1
PX1
PT0
PX0IP(B8)ET2INT0INT1T1T0UART0
低級(jí)1高級(jí)中斷T2中斷優(yōu)先級(jí)可控、可編程3、優(yōu)先級(jí)結(jié)構(gòu)中斷優(yōu)先級(jí)控制遵循的兩個(gè)基本原則:⑴一個(gè)正在執(zhí)行的低級(jí)中斷服務(wù)程序,能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,但不能被同優(yōu)先級(jí)中斷請(qǐng)求所中斷。⑵一個(gè)正在執(zhí)行的高級(jí)中斷服務(wù)程序,不能被任何中斷請(qǐng)求所中斷,直到返回。6.1.2中斷控制坑雹習(xí)以好畜倆謹(jǐn)勸唆覺單氏紋彭拆駛昭項(xiàng)蠱噶呻旋售塊私姓撾俐窘撈八Chapter06_主要功能單元Chapter06_主要功能單元2、中斷優(yōu)先級(jí)寄存器IP//80實(shí)現(xiàn)這兩個(gè)原則的方法:中斷系統(tǒng)內(nèi)部設(shè)置了兩個(gè)不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年全球工程分包商合作協(xié)議
- 2024年雙方互利合同:雇傭與職業(yè)發(fā)展協(xié)議
- 2024年全球礦產(chǎn)品長期供應(yīng)協(xié)議
- 2024年城鄉(xiāng)農(nóng)業(yè)一體化發(fā)展合作協(xié)議
- 2024年分體式空調(diào)安裝協(xié)議
- 2024年個(gè)人裝修項(xiàng)目協(xié)議
- 2024年區(qū)域性飲品連鎖加盟協(xié)議
- 2024年合同:高新技術(shù)產(chǎn)品研發(fā)與共享協(xié)議
- 2024年個(gè)人房屋租賃協(xié)議書規(guī)范
- 2024年雙方離婚協(xié)議書(含子女撫養(yǎng)協(xié)議)
- 化工(危險(xiǎn)化學(xué)品)企業(yè)主要負(fù)責(zé)人、安管員安全生產(chǎn)管理專項(xiàng)培訓(xùn)考核試卷(附參考答案)
- 2024年人教版小學(xué)三年級(jí)語文(上冊(cè))期中考卷及答案
- 《信息化項(xiàng)目驗(yàn)收工作規(guī)范》
- 2024年全國軟件水平考試之高級(jí)網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師考試重點(diǎn)黑金模擬題(詳細(xì)參考解析)
- 經(jīng)濟(jì)學(xué)題庫(200道)
- 2024年巴西私人安保服務(wù)市場(chǎng)機(jī)會(huì)及渠道調(diào)研報(bào)告
- 課《聞王昌齡左遷龍標(biāo)遙有此寄》跨學(xué)科公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 2024年江蘇省連云港市中考英語真題(含解析)
- 2024-2030年國內(nèi)嬰童用品行業(yè)深度分析及競(jìng)爭格局與發(fā)展前景預(yù)測(cè)研究報(bào)告
- 粵教粵民版《勞動(dòng)技術(shù)》四上 第二單元第3課《提籃》教學(xué)設(shè)計(jì)
- 辦公樓室內(nèi)裝飾工程施工設(shè)計(jì)方案技術(shù)標(biāo)范本
評(píng)論
0/150
提交評(píng)論