單片機(jī)原理及應(yīng)用復(fù)習(xí)課件_第1頁
單片機(jī)原理及應(yīng)用復(fù)習(xí)課件_第2頁
單片機(jī)原理及應(yīng)用復(fù)習(xí)課件_第3頁
單片機(jī)原理及應(yīng)用復(fù)習(xí)課件_第4頁
單片機(jī)原理及應(yīng)用復(fù)習(xí)課件_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

單片機(jī)原理及應(yīng)用

復(fù)習(xí)1第1章計(jì)算機(jī)基礎(chǔ)知識(shí)熟練掌握二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的相互轉(zhuǎn)換關(guān)系。掌握原碼、反碼、補(bǔ)碼之間的轉(zhuǎn)換關(guān)系,會(huì)計(jì)算-128~+127的原碼、反碼、補(bǔ)碼。掌握二進(jìn)制數(shù)的算數(shù)運(yùn)算和邏輯運(yùn)算規(guī)則,理解進(jìn)位和溢出的含義。掌握BCD碼(十進(jìn)制數(shù)的二進(jìn)制表示),0~9、a~z、A~Z的ASCII碼。2第2章80C51單片機(jī)的硬件結(jié)構(gòu)單片機(jī)的概念

將CPU和其他接口電路集成于一個(gè)芯片之中,使其具有計(jì)算機(jī)的基本功能。其中包括以下主要微型機(jī)部件:隨機(jī)存儲(chǔ)器RAM(RandomAccessMemory)只讀存儲(chǔ)器ROM(ReadOnlyMemory)中斷系統(tǒng)定時(shí)器/計(jì)數(shù)器I/O口電路3MCS-51單片機(jī)系列按資源的配置數(shù)量,MCS-51單片機(jī)系列分為51子系列:基本型,根據(jù)片內(nèi)ROM的配置,對(duì)應(yīng)芯片依次為8031、8051、8751、80C31、80C51、87C5152子系列:增強(qiáng)型,對(duì)應(yīng)芯片依次為8032、8052、8752、80C32、80C52、87C52。系列片內(nèi)ROM/B片內(nèi)RAM/B并行I/O口串行I/O口定時(shí)器/計(jì)數(shù)器中斷源制造工藝無掩膜ROMEPROMMCS-51子系列803180514K87514K1284×8位125HMOS80C3180C514K87C514K1284×8位125CHMOSMCS-52子系列803280528K87528K1284×8位136HMOS80C3280C528K87C528K1284×8位136CHMOS480C51單片機(jī)芯片引腳VCC(40):+5V電源VSS(20):接地XTAL1(19)和XTAL2(18):振蕩電路PSEN(29):片外ROM選通信號(hào),低電平有效。ALE/PROG(30):地址鎖存信號(hào)輸出端/EPROM編程脈沖輸入端。RST/VPD(9):復(fù)位信號(hào)輸入端/備用電源輸入端EA/VPP(31):內(nèi)/外部ROM選擇端P0口(39-32):雙向I/O口P1口(1-8):準(zhǔn)雙向通用I/O口P2口(21-28):準(zhǔn)雙向I/O口P3口(10-17):多功能口580C51單片機(jī)芯片邏輯符號(hào)口線第二功能功能含義P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請(qǐng)P3.3INT1外部中斷1申請(qǐng)P3.4T0定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入P3.5T1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀選通6MCS-51系列單片機(jī)結(jié)構(gòu)及組成CPU7MCS—51系列單片機(jī)由8大部分組成:一個(gè)8位CPU,包括運(yùn)算器和控制器;128個(gè)字節(jié)的片內(nèi)RAM(52子系列為256字節(jié));4KB的片內(nèi)ROM或EPROM(52子系列8KB,8031和8032無);18個(gè)特殊功能寄存器SFR(52子系列21個(gè));4個(gè)8位并行I/O接口:P0口、P1口、P2口、P3口;1個(gè)全雙工串行I/O接口;2個(gè)16位定時(shí)器/計(jì)數(shù)器(52子系列為3個(gè));1個(gè)具有5個(gè)中斷源,可編程為2個(gè)優(yōu)先級(jí)的中斷系統(tǒng),可以接收外部中斷申請(qǐng)、定時(shí)器/計(jì)數(shù)器中斷申請(qǐng)和串行口中斷申請(qǐng)(52子系列為6個(gè)或7個(gè))。

880C51芯片邏輯結(jié)構(gòu)圖9

PSW(程序狀態(tài)字)

PSW是一個(gè)8位的標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢和判別。PSW格式及含義如下:

CY(PSW.7)——進(jìn)位標(biāo)志位AC(PSW.6)——輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志F0(PSW.5)——由用戶定義的標(biāo)志位。復(fù)位時(shí)該位為“0”RS1和RS0(PSW.4和PSW.3)——工作寄存器組選擇位OV(PSW.2)

——溢出標(biāo)志位。由硬件置位或清零。

PSW.1

——未定義位

P(PSW.0)

——奇偶標(biāo)志位(A中1的個(gè)數(shù):偶0,奇1)位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標(biāo)志CYACF0RS1RS0OV/P10

PC(程序計(jì)數(shù)器)PC是專門用來控制指令執(zhí)行順序的寄存器,其內(nèi)容為將要執(zhí)行的下一條指令的地址,即下一條將要從ROM中取出的指令地址。PC是一個(gè)16位的寄存器,它在物理上是獨(dú)立的,不在內(nèi)部RAM之列,沒有地址,是不可尋址的。16位地址的尋址范圍為64KB(ROM)。用戶不需要也無法對(duì)PC進(jìn)行讀/寫,PC的內(nèi)容是通過執(zhí)行指令改變的。在執(zhí)行指令過程中,PC具有自動(dòng)加1功能。在執(zhí)行轉(zhuǎn)移、調(diào)用、返回等指令時(shí)能自動(dòng)改變PC內(nèi)容,以改變程序的執(zhí)行順序。復(fù)位時(shí),PC自動(dòng)裝入0000H,使程序從0000H單元開始執(zhí)行。11

DPTR(數(shù)據(jù)指針)16位特殊功能寄存器,也可作為兩個(gè)8位寄存器,高8位用DPH表示,低8位用DPL表示。它是MCS-51中唯一一個(gè)供用戶使用的16位寄存器。功能:在訪問外部RAM時(shí)作地址指針使用。在變址尋址方式中,用作基址寄存器,用于對(duì)ROM的訪問。1280C51單片機(jī)存儲(chǔ)器組織結(jié)構(gòu)內(nèi)部ROM4KBEA=1外部ROM4KBEA=0內(nèi)部RAM128B0FFFH0000H0FFFH0000HFFFFH1000H外部RAM64KB特殊功能寄存器(21個(gè)SFR)外部ROM60KBFFH80H7FH00H程序存儲(chǔ)器地址空間數(shù)據(jù)存儲(chǔ)器地址空間FFFFH0000H(MOV指令操作域)(MOVX指令操作域)(MOVC指令操作域)13MCS-51單片機(jī)系統(tǒng)的存儲(chǔ)器結(jié)構(gòu)特點(diǎn)數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器截然分開

RAM和ROM的地址空間、存取指令和控制信號(hào)各有一套。存儲(chǔ)器有內(nèi)外之分

為擴(kuò)展外部存儲(chǔ)器,單片機(jī)的芯片引腳已經(jīng)作了預(yù)先準(zhǔn)備:通過口線最多可提供16位地址,對(duì)外部存儲(chǔ)器的尋址范圍達(dá)64KB;ALE信號(hào)用于外部存儲(chǔ)器的地址鎖存;WR和RD信號(hào)分別用于外部RAM的寫選通和讀選通;PSEN信號(hào)用于外部ROM的讀選通;EA信號(hào)用于內(nèi)外ROM的訪問控制。14系統(tǒng)復(fù)位和中斷地址區(qū)(ROM)

地址區(qū)

操作0000H~0002H系統(tǒng)復(fù)位0003H~000AH外部中斷0中斷地址區(qū)000BH~0012H定時(shí)器/計(jì)數(shù)器0中斷地址區(qū)0013H~001AH外部中斷1中斷地址區(qū)001BH~0022H定時(shí)器/計(jì)數(shù)器1中斷地址區(qū)0023H~002AH串行口中斷地址區(qū)一般從中斷首地址開始存放一條無條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)際入口地址。15內(nèi)部RAM低128單元的劃分工作寄存器組0位尋址區(qū)(位地址:00H~7FH)用戶RAM區(qū)(堆棧、數(shù)據(jù)緩沖)7FH30H2FH20H工作寄存器組3工作寄存器組2工作寄存器組11FH18H17H10H0FH08H07H00HR7R0R7R0R7R0R7R0………………………工作寄存器區(qū)(共32個(gè)字節(jié)單元,分為4組,每組8個(gè)8位寄存器,只能按字節(jié)尋址)用戶RAM區(qū)(共80個(gè)字節(jié)單元,只能按字節(jié)尋址)位尋址區(qū)(共16個(gè)字節(jié)單元,128個(gè)位,可按位尋址,也可按字節(jié)尋址)16工作寄存器組0工作寄存器組1工作寄存器組2工作寄存器組3地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR7工作寄存器的使用方法:①以寄存器的形式使用,用寄存器符號(hào)表示;

②以存儲(chǔ)單元的形式使用,以單元地址表示。工作寄存器區(qū)各寄存器對(duì)應(yīng)的地址17單元地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H04H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29F4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H內(nèi)部RAM位尋址區(qū)的位地址18SFR名稱符號(hào)D7位地址/位定義D0字節(jié)地址寄存器BBF7F6F5F4F3F2F1F0F0H累加器AACCE7E6E5E4E3E2E1E0E0H程序狀態(tài)字PSWD7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OVP中斷優(yōu)先級(jí)IPBFBEBDBCBBBAB9B8B8HPSPT1PX1PT0PX0I/O端口3P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0中斷允許控制IEAFAEADACABAAA9A8A8HEAESET1EX1ET0EX0I/O端口2P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0串行數(shù)據(jù)緩沖SBUF99H串行控制SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRII/O端口1P1A99695949392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0特殊功能寄存器地址映像19SFR名稱符號(hào)D7位地址/位定義D0字節(jié)地址定時(shí)/計(jì)數(shù)器1(高字節(jié))TH18DH定時(shí)/計(jì)數(shù)器0(高字節(jié))TH08CH定時(shí)/計(jì)數(shù)器1(低字節(jié))TL18BH定時(shí)/計(jì)數(shù)器0(低字節(jié))TL08AH定時(shí)/計(jì)數(shù)器方式選擇TMODGATEC/TM1M0GATEC/TM1M089H定時(shí)/計(jì)數(shù)器控制TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0電源控制及波特率控制PCONSMODGF1GF0PDIDL87H數(shù)據(jù)指針高字節(jié)DPH83H數(shù)據(jù)指針低字節(jié)DPL82H堆棧SP81HI/O端口0P087H86H85H84H83H82H81H80H80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0特殊功能寄存器地址映像(續(xù))20

堆棧指針(SP)堆棧指針SP是8位的特殊功能寄存器,可指向片內(nèi)RAM128字節(jié)(00H~7FH)的任何單元。堆棧的兩種操作(進(jìn)棧和出棧)都是對(duì)棧頂單元進(jìn)行的。SP用來指示棧頂,SP的內(nèi)容就是堆棧棧頂?shù)拇鎯?chǔ)單元地址。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,但由于堆棧一般在內(nèi)部RAM的30H~7FH單元中開辟,所以在程序設(shè)計(jì)時(shí)應(yīng)注意把SP值初始化為30H以后,以免堆棧占用工作寄存器區(qū)和位尋址區(qū)。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于SP可初始化為不同值,因此堆棧位置是浮動(dòng)的。51單片機(jī)的堆棧屬于向上生長型21P0口字節(jié)地址:80H,位地址:80H~87H既能用作通用I/O口,又能用作地址/數(shù)據(jù)總線的復(fù)用。V1V2123422P1口字節(jié)地址:90H,位地址:90H~97H只能作為通用I/O口使用,是準(zhǔn)雙向口。12V123P2口字節(jié)地址:0A0H,位地址:0A0H~0A7H可作為通用I/O口或地址總線高8位,是準(zhǔn)雙向口。123V124P3口字節(jié)地址:0B0H,位地址:0B0H~0B7H可用作通用I/O口,同時(shí)每個(gè)引腳還有第二功能。準(zhǔn)雙向口3V141225【注意】I/O口作為輸入口時(shí)有讀鎖存器與讀引腳兩種工作方式:讀鎖存器時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到鎖存器。(讀-修改-寫)讀引腳時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線,CPU將根據(jù)不同的指令,分別發(fā)出“讀鎖存器”或“讀引腳”信號(hào),由硬件自動(dòng)完成不同的操作。讀引腳時(shí),首先要通過外部指令把鎖存器置“1”,然后再執(zhí)行讀引腳操作。26

時(shí)序定時(shí)單位振蕩周期(節(jié)拍P):振蕩脈沖的周期。時(shí)鐘周期(狀態(tài)S):兩個(gè)振蕩周期為一個(gè)時(shí)鐘周期。一個(gè)狀態(tài)包含兩個(gè)節(jié)拍,前半周期對(duì)應(yīng)的節(jié)拍叫P1,后半周期對(duì)應(yīng)的節(jié)拍叫P2。機(jī)器周期:一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài),用S1、S2、…、S6表示;共12個(gè)節(jié)拍,依次可表示為S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。指令周期:執(zhí)行一條指令所需要的時(shí)間,它以機(jī)器周期為單位,是最大的時(shí)序定時(shí)單位。MCS-51的指令周期根據(jù)指令的不同,可包含有1、2、4個(gè)機(jī)器周期。27

時(shí)鐘電路80C51單片機(jī)的振蕩電路分頻電路28程序執(zhí)行方式(分為連續(xù)執(zhí)行和單步執(zhí)行)復(fù)位方式:在RST端加上持續(xù)2個(gè)機(jī)器周期以上的高電平。掉電方式:由PCON的位PD來控制(PD=1)。掉電方式下,只有片內(nèi)RAM00H~7FH單元的內(nèi)容被保留,其它一切都停止。在VCC恢復(fù)正常之前,不可進(jìn)行復(fù)位。當(dāng)VCC恢復(fù)正常后,硬件復(fù)位10ms能使單片機(jī)退出掉電保護(hù)。低功耗節(jié)電工作方式:由PCON的位IDL來控制(IDL=1)。在節(jié)電電方式下,單片機(jī)的時(shí)鐘振蕩電路繼續(xù)工作,為中斷邏輯、定時(shí)器和串行口繼續(xù)提供時(shí)鐘信號(hào),在內(nèi)部只是把送往CPU的時(shí)鐘信號(hào)封鎖。EPROM編程和校驗(yàn)方式

MCS-51單片機(jī)的5種工作方式29復(fù)位后單片機(jī)有關(guān)寄存器的狀態(tài)寄存器復(fù)位狀態(tài)PC0000HACC00HPSW00HSP07HDPTR0000HIP×××00000BIE0××00000BP0~P3FFHTCON00H寄存器復(fù)位狀態(tài)TMOD00HTL000HTH000HTL100HTH100HSCON00HSBUF未定PCON(HMOS)0×××××××BPCON(CHMOS)0×××0000B3080C51的復(fù)位電路上電自動(dòng)復(fù)位:通過電容充電來實(shí)現(xiàn)。接通電源即可完成系統(tǒng)的復(fù)位。按鍵手動(dòng)復(fù)位:按下復(fù)位按鈕即可復(fù)位。分為電平方式和脈沖方式兩種。單片機(jī)系統(tǒng)在運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位鍵重新啟動(dòng)。31第3章80C51單片機(jī)的指令系統(tǒng)MCS-51單片機(jī)匯編語言語句的標(biāo)準(zhǔn)格式:

MCS-51單片機(jī)指令系統(tǒng)共有111條指令:[<標(biāo)號(hào):>]<操作碼

>[<操作數(shù)>][;<注釋>]按指令周期分類:單周期指令(64條)雙周期指令(45條)四周期指令(2條)按字節(jié)數(shù)分類:單字節(jié)指令(49條)雙字節(jié)指令(45條)三字節(jié)指令(17條)

32MCS-51單片機(jī)的7種尋址方式及相應(yīng)的存儲(chǔ)器空間

序號(hào)尋址方式相應(yīng)存儲(chǔ)器空間1寄存器尋址R0~R7,累加器A、寄存器B、數(shù)據(jù)指針DPTR、位累加器CY2直接尋址內(nèi)部RAM的低128單元(00H~7FH),SFR,程序存儲(chǔ)器(轉(zhuǎn)移或調(diào)用)3寄存器間接尋址內(nèi)部RAM的低128單元,外部RAM4立即尋址程序存儲(chǔ)器(立即數(shù))5變址尋址程序存儲(chǔ)器(@A+DPTR、@A+PC)6位尋址內(nèi)部RAM中的20H~2FH,SFR中的可尋址位7相對(duì)尋址程序存儲(chǔ)器尋址方式:指定操作數(shù)存放位置的方法。33343536373839移位類指令404142指令助記符有影響的標(biāo)志位備注CYOVAC“√”:表示根據(jù)運(yùn)行結(jié)果使該標(biāo)志置1或清零;“×”:表示運(yùn)行結(jié)果對(duì)該標(biāo)志無影響;“0”:表示標(biāo)志清0;“1”:表示標(biāo)志置1。ADD√√√ADDC√√√SUBB√√√MUL0√×DIV0√×DA√×√RRC√××RLC√××SETBC1××CLRC0××CPLC√××ANLC,bit√××ANLC,/bit√××ORLC,bit√××ORLC,/bit√××MOVC,bit√××CJNE√××影響標(biāo)志位的指令43

偽指令(匯編控制指令)功能:用來設(shè)置符號(hào)值、保留和初始化存儲(chǔ)空間、控制用戶程序代碼的位置。僅起到幫助匯編順利進(jìn)行的作用,不產(chǎn)生任何機(jī)器碼,也不影響程序的執(zhí)行。匯編起始地址偽指令:ORG結(jié)束匯編偽指令:END賦值偽指令:EQU定義字節(jié)偽指令:DB定義數(shù)據(jù)字偽指令:DW預(yù)留存儲(chǔ)空間偽指令:DS位定義偽指令:BIT

44第5章80C51單片機(jī)的中斷與定時(shí)MCS-51單片機(jī)的中斷系統(tǒng)具有5個(gè)中斷源(52子系列為6個(gè))

:2個(gè)外部中斷、2個(gè)定時(shí)器中斷和

1個(gè)串行中斷。

可分為2個(gè)中斷優(yōu)先級(jí),實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套。每一個(gè)中斷源的優(yōu)先級(jí)可用程序設(shè)定。與中斷系統(tǒng)工作有關(guān)的SFR:中斷允許控制寄存器:IE定時(shí)器/計(jì)數(shù)器控制寄存器:TCON串行口控制寄存器:SCON中斷優(yōu)先級(jí)控制寄存器:IP中斷源中斷向量外部中斷00003H定時(shí)器0中斷000BH外部中斷10013H定時(shí)器1中斷001BH串行中斷0023H45中斷允許控制寄存器:IE 字節(jié)地址:0A8H位地址:0A8H~0AFH功能:用于控制是否允許使用中斷。80C51單片機(jī)復(fù)位后IE=00H。單片機(jī)中斷響應(yīng)后硬件不會(huì)自動(dòng)關(guān)閉中斷,因此,在轉(zhuǎn)中斷服務(wù)程序后,應(yīng)根據(jù)需要使用能將EA復(fù)位的有關(guān)指令禁止中斷,即以軟件方式關(guān)閉中斷。位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符號(hào)EA——ESET1EX1ET0EX046定時(shí)器控制寄存器:TCON 字節(jié)地址:88H位地址:88H~8FH

功能:用于保存外部中斷請(qǐng)求以及定時(shí)器的計(jì)數(shù)溢出。計(jì)數(shù)溢出標(biāo)志位TF0和TF1的使用有兩種情況:采用中斷方式時(shí),作為中斷請(qǐng)求標(biāo)志位來使用;采用查詢方式時(shí),作為狀態(tài)位供查詢使用。位地址8FH8EH8DH8CH8BH8AH89H88H位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT047串行口控制寄存器:SCON 字節(jié)地址:98H位地址:98H~9FH功能:用于串行數(shù)據(jù)通信控制。在發(fā)送數(shù)據(jù)過程中,當(dāng)最后一個(gè)數(shù)據(jù)位被發(fā)送完成后,TI由硬件置“1”

;軟件查詢時(shí)TI可作為狀態(tài)位使用。在接收數(shù)據(jù)過程中,當(dāng)采樣到最后一個(gè)數(shù)據(jù)位有效時(shí),RI由硬件置“1”

;軟件查詢時(shí)RI可作為狀態(tài)位使用。在轉(zhuǎn)向中斷服務(wù)程序后,TI和RI用軟件清“0”。位地址9FH9EH9DH9CH9BH9AH99H98H位符號(hào)SM0SM1SM2RENTB8RB8TIRI48中斷優(yōu)先級(jí)控制寄存器:IP 字節(jié)地址:0B8H位地址:0B8H~0BFH功能:用于設(shè)定各中斷的優(yōu)先級(jí),通過IP可將中斷分為高、低兩個(gè)優(yōu)先級(jí)。PX0:外部中斷0優(yōu)先級(jí)設(shè)定位PT0:定時(shí)器0中斷優(yōu)先級(jí)設(shè)定位PX1:外部中斷1優(yōu)先級(jí)設(shè)定位PT1:定時(shí)器1中斷優(yōu)先級(jí)設(shè)定位PS:串行中斷優(yōu)先級(jí)設(shè)定位位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H位符號(hào)———PSPT1PX1PT0PX0為“0”的位優(yōu)先級(jí)低為“1”的位優(yōu)先級(jí)高CPU復(fù)位時(shí),IP中的各位均被清04980C51中斷系統(tǒng)控制邏輯外中斷請(qǐng)求標(biāo)志計(jì)數(shù)溢出標(biāo)志串行發(fā)送和接收標(biāo)志中斷響應(yīng)時(shí)的中斷優(yōu)先原則是通過由中斷標(biāo)志、中斷允許控制及中斷優(yōu)先級(jí)控制所構(gòu)成的中斷系統(tǒng)總體控制邏輯實(shí)現(xiàn)的。50MCS-51單片機(jī)的中斷嵌套因?yàn)镸CS-51單片機(jī)只具有兩個(gè)優(yōu)先級(jí),因此具備兩級(jí)中斷服務(wù)嵌套的功能,中斷嵌套只能一層,其對(duì)中斷優(yōu)先級(jí)的處理原則是:低優(yōu)先級(jí)中斷請(qǐng)求不能打斷高優(yōu)先級(jí)的中斷服務(wù);但高優(yōu)先級(jí)中斷請(qǐng)求可以打斷低優(yōu)先級(jí)的中斷服務(wù),從而實(shí)現(xiàn)中斷嵌套。同優(yōu)先級(jí)的中斷不能嵌套。即如果一個(gè)中斷請(qǐng)求已被響應(yīng),則同級(jí)的其它中斷服務(wù)將被禁止。如果同級(jí)的多個(gè)中斷請(qǐng)求同時(shí)出現(xiàn),則按CPU查詢次序確定哪個(gè)中斷請(qǐng)求先被響應(yīng)。51中斷源入口地址同級(jí)內(nèi)的中斷優(yōu)先權(quán)外部中斷00003H最高最低定時(shí)器0溢出中斷000BH外部中斷10013H定時(shí)器1溢出中斷001BH串行口中斷0023H單片機(jī)在每一個(gè)機(jī)器周期的最后一個(gè)狀態(tài)S6進(jìn)行中斷查詢,查詢按優(yōu)先級(jí)順序進(jìn)行。對(duì)同一優(yōu)先級(jí)中斷請(qǐng)求的查詢次序:52中斷響應(yīng)是有條件的,并不是查詢到的所有中斷請(qǐng)求都能被立即響應(yīng),當(dāng)存在下列情況之一時(shí),中斷響應(yīng)被封鎖:CPU正在執(zhí)行一個(gè)同級(jí)或高級(jí)的中斷服務(wù)程序。查詢中斷請(qǐng)求的機(jī)器周期不是當(dāng)前指令的最后一個(gè)機(jī)器周期。當(dāng)前正在執(zhí)行的指令是返回指令(RET或RETI)或訪問寄存器IE、IP的指令。中斷響應(yīng)的條件單片機(jī)對(duì)中斷查詢的結(jié)果不作記憶,當(dāng)有新的查詢結(jié)果出現(xiàn)時(shí),因?yàn)橐陨显蚨煌涎拥牟樵兘Y(jié)果將不復(fù)存在,其中斷請(qǐng)求也不能再被響應(yīng),CPU將按新的查詢結(jié)果進(jìn)行中斷響應(yīng)。53只有在一條指令全部執(zhí)行完畢之后,才能響應(yīng)中斷請(qǐng)求,以確保指令的完整執(zhí)行。中斷服務(wù)流程執(zhí)行主程序返回?cái)帱c(diǎn)執(zhí)行一條指令關(guān)中斷保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)開中斷中斷服務(wù)關(guān)中斷恢復(fù)現(xiàn)場(chǎng)開中斷有中斷請(qǐng)求?取下一條指令YN5480C51單片機(jī)的定時(shí)器/計(jì)數(shù)器位地址8FH8EH8DH8CH8BH8AH89H88H位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0定時(shí)器/計(jì)數(shù)器控制寄存器:TCON字節(jié)地址:88H位地址:88H~8FH(可位尋址)功能:用于保存外部中斷請(qǐng)求以及定時(shí)器的計(jì)數(shù)溢出。TF0和TF1:計(jì)數(shù)溢出標(biāo)志位TR0和TR1:運(yùn)行控制位(軟件置1或清0)55定時(shí)器方式選擇寄存器:TMOD字節(jié)地址:89H(不可位尋址)位序D7D6D5D4D3D2D1D0位符號(hào)GATEC/TM1M0GATEC/TM1M0定時(shí)器/計(jì)數(shù)器1定時(shí)器/計(jì)數(shù)器0功能:用于設(shè)定定時(shí)器/計(jì)數(shù)器的工作方式(只能用字節(jié)傳送指令設(shè)置其內(nèi)容)中斷允許控制寄存器:IE字節(jié)地址:0A8H位地址:0A8H~0AFH位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符號(hào)EA——ESET1EX1ET0EX056

定時(shí)器工作方式0計(jì)數(shù)值的范圍:1~8192(213)定時(shí)時(shí)間的計(jì)算公式:(213-計(jì)數(shù)初值)×機(jī)器周期57

定時(shí)器工作方式

1計(jì)數(shù)值的范圍:1~65536(216)定時(shí)時(shí)間的計(jì)算公式:(216-計(jì)數(shù)初值)×機(jī)器周期TL0(8位)58定時(shí)器工作方式

2方式2為8位計(jì)數(shù)結(jié)構(gòu),最大計(jì)數(shù)值為256(28)。方式2適用于循環(huán)定時(shí)或循環(huán)計(jì)數(shù)??捎糜诋a(chǎn)生固定脈寬的脈沖,或作為串行數(shù)據(jù)通信的波特率發(fā)生器。59

定時(shí)器工作方式

3在工作方式3下,定時(shí)器/計(jì)數(shù)器0被拆成兩個(gè)獨(dú)立的8位計(jì)數(shù)器TL0和TH0。其中TH0借用定時(shí)器/計(jì)數(shù)器1的運(yùn)行控制位TR1及計(jì)數(shù)溢出標(biāo)志位TF1,此時(shí)定時(shí)器/計(jì)數(shù)器1只能工作在方式0、方式1或方式2。在工作方式3下,定時(shí)器/計(jì)數(shù)器0中TL0和TH0的使用:TL0既可用于計(jì)數(shù),又可用于定時(shí)。TH0只能作8位的定時(shí)器使用。60定時(shí)器/計(jì)數(shù)器0工作方式3的邏輯結(jié)構(gòu)61工作方式3下的定時(shí)器/計(jì)數(shù)器162系統(tǒng)擴(kuò)展是通過系統(tǒng)總線進(jìn)行的??偩€是連接單片機(jī)各擴(kuò)展部件的一組公共信號(hào)線,是系統(tǒng)共享的通路,通過總線把個(gè)擴(kuò)展部件連接起來,以進(jìn)行數(shù)據(jù)、地址和控制信號(hào)的傳送。單片機(jī)數(shù)據(jù)存儲(chǔ)器程序存儲(chǔ)器I/O接口I/O接口地址總線AB數(shù)據(jù)總線DB控制總線CBI/O設(shè)備I/O設(shè)備第6章單片機(jī)并行存儲(chǔ)器擴(kuò)展6380C51單片機(jī)并行擴(kuò)展總線結(jié)構(gòu)圖由于系統(tǒng)外擴(kuò)展的需要,80C51單片機(jī)的4個(gè)并行I/O口(共32條口線),只有P1口和P3口的部分口線可供數(shù)據(jù)I/O使用。(P3.7)(P3.6)64存儲(chǔ)器并行擴(kuò)展存儲(chǔ)器擴(kuò)展的主要內(nèi)容:地址線、數(shù)據(jù)線和控制線的連接。地址線的連接:低位地址線的連接與存儲(chǔ)芯片的容量有關(guān),高位地址線與擴(kuò)展存儲(chǔ)芯片的片選端直接連接(線選法)或通過譯碼器連接(譯碼法)。數(shù)據(jù)線的連接:將存儲(chǔ)芯片的數(shù)據(jù)輸出端與單片機(jī)P0口線對(duì)應(yīng)連接即可。控制線的連接:擴(kuò)展ROM時(shí),將單片機(jī)的PSEN引腳與外部ROM的OE端連接;擴(kuò)展RAM時(shí),將單片機(jī)的WR和RD引腳分別與外部RAM的WE和OE端連接。存儲(chǔ)單元地址分析:只要把最低地址和最高地址找出來,擴(kuò)展的存儲(chǔ)器在存儲(chǔ)空間中所占據(jù)的地址范圍即可確定。65單片程序存儲(chǔ)器擴(kuò)展連接圖66說明:假設(shè)將P2口的P2.7與2716的片選端CE連接,則擴(kuò)展的2716芯片的地址范圍為:由于P2.3~P2.6的狀態(tài)與2716芯片的尋址無關(guān),所以在該芯片被尋址時(shí),P2.3~P2.6可以為任意狀態(tài),即從0000~1111共16種組合,表明2716芯片對(duì)應(yīng)著16個(gè)地址區(qū)間,在這些地址區(qū)間內(nèi)都能訪問到2716,這就是地址區(qū)間重疊問題。一般假定未用到的高位地址線的狀態(tài)為0。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0最低地址1××××00000000000最高地址1××××1111111111167多片程序存儲(chǔ)器的擴(kuò)展(線選法1)使用兩片2764擴(kuò)展一個(gè)程序存儲(chǔ)器系統(tǒng)。P0.7~P0.0P2.4~P2.0P2.7P2.6III803168多片程序存儲(chǔ)器的擴(kuò)展(線選法2)使用兩片2764擴(kuò)展一個(gè)程序存儲(chǔ)器系統(tǒng)。P0.7~P0.0P2.4~P2.0III803169多片程序存儲(chǔ)器的擴(kuò)展(譯碼法)使用8片2764擴(kuò)展一個(gè)程序存儲(chǔ)器系統(tǒng)。70單片數(shù)據(jù)存儲(chǔ)器擴(kuò)展連接圖7112多片數(shù)據(jù)存儲(chǔ)器的擴(kuò)展(線選法)使用2片6116擴(kuò)展一個(gè)數(shù)據(jù)存儲(chǔ)器系統(tǒng)。P2.4P2.372同時(shí)擴(kuò)展8KB的RAM和8KB的ROM(線選法)P2.6P2.773

2764(ROM)接P2.7,地址范圍:0000H~1FFFH0××0,0000,0000,0000~0××1,1111,1111,11116264(RAM)接P2.6,地址范圍:0000H~1FFFH×0×0,0000,0000,0000~×0×1,1111,1111,1111由于兩種存儲(chǔ)器都是由P2口提供高位地址,P0口提供低8位地址,故它們的地址范圍相同,都是0000H~1FFFH。但ROM的讀操作由PSEN信號(hào)控制,而RAM的讀和寫分別由RD和WR信號(hào)控制,因此不會(huì)造成操作上的混亂。說明:74單片機(jī)存儲(chǔ)器系統(tǒng)的特點(diǎn)1. 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器并存。2. 內(nèi)外存儲(chǔ)器并存。 80C51單片機(jī)系統(tǒng)有4個(gè)物理存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)空間片外程序存儲(chǔ)空間片內(nèi)數(shù)據(jù)存儲(chǔ)空間片外數(shù)據(jù)存儲(chǔ)空間3.程序存儲(chǔ)器地址具有連續(xù)性要求。 80C51單片機(jī)系統(tǒng)有3個(gè)邏輯存儲(chǔ)空間,即:片內(nèi)外統(tǒng)一編址的64KB程序存儲(chǔ)器空間256B的片內(nèi)數(shù)據(jù)存儲(chǔ)空間64KB的片外數(shù)據(jù)存儲(chǔ)空間751. 存儲(chǔ)空間的區(qū)分硬件措施:對(duì)不同的存儲(chǔ)空間使用不同的控制信號(hào)。軟件措施:訪問不同的存儲(chǔ)空間使用不同的指令。

2.內(nèi)外程序存儲(chǔ)空間的銜接MCS-51系列單片機(jī)芯片中,有些芯片有內(nèi)部ROM,有些芯片沒有內(nèi)部ROM。為此,MCS-51單片機(jī)特別配置了一個(gè)訪問內(nèi)外程序存儲(chǔ)器的控制信號(hào)EA。80C51單片機(jī)存儲(chǔ)器的使用76I/O接口電路:單片機(jī)與外部設(shè)備之間接口界面的硬件電路。端口:接口電路中已編址并能進(jìn)行讀或(和)寫操作的寄存器,簡稱為口(Port)。第7章單片機(jī)并行I/O擴(kuò)展I/O接口電路的功能:速度協(xié)調(diào)輸出數(shù)據(jù)鎖存數(shù)據(jù)總線隔離數(shù)據(jù)轉(zhuǎn)換增強(qiáng)驅(qū)動(dòng)能力I/O接口的特點(diǎn):異步性實(shí)時(shí)性與設(shè)備無關(guān)性77無條件方式(同步程序傳送):無需測(cè)試設(shè)備的狀態(tài),可以根據(jù)需要隨時(shí)進(jìn)行I/O操作。查詢方式(有條件傳送方式):在I/O操作前,要檢測(cè)設(shè)備的狀態(tài),只有在確認(rèn)設(shè)備已“準(zhǔn)備好”的情況下,單片機(jī)才能執(zhí)行I/O操作。中斷方式:當(dāng)設(shè)備做好準(zhǔn)備之后,就向單片機(jī)發(fā)出中斷請(qǐng)求。單片機(jī)接收到中斷請(qǐng)求之后作出響應(yīng),暫停正在執(zhí)行的原程序,而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,通過執(zhí)行中斷服務(wù)程序完成一次I/O操作,然后程序返回,單片機(jī)再繼續(xù)執(zhí)行被中斷的原程序。單片機(jī)I/O控制方式78可編程并行接口芯片82558255的內(nèi)部結(jié)構(gòu)按功能可分為3個(gè)邏輯電路部分:口電路總線接口電路控制邏輯電路791.方式0(基本輸入/輸出方式)方式0適用于無條件數(shù)據(jù)傳送。因?yàn)闆]有條件限制,所以數(shù)據(jù)傳送可隨時(shí)進(jìn)行。兩個(gè)8位口(A口和B口)和兩個(gè)4位口(C口高位部分和C口低位部分)都可以分別或同時(shí)設(shè)置為方式0。4個(gè)口可以有16種輸入/輸出組合。2.方式1(選通輸入/輸出方式)方式1下,A口和B口是數(shù)據(jù)口,C口是控制口,用于傳送和保存數(shù)據(jù)口所需要的聯(lián)絡(luò)信號(hào)。A口和B口的聯(lián)絡(luò)信號(hào)都是3個(gè)。8255工作方式80只有A口才能選擇工作方式2,這時(shí)A口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。81C口位線方式2輸入輸出PC7OBFAPC6ACKAPC5IBFAPC4STBAPC3INTRAINTRAPC2PC1PC03.方式2(雙向數(shù)據(jù)傳送方式)C口位線方式1輸入輸出PC7OBFAPC6ACKAPC5IBFAPC4STBAPC3INTRAINTRAPC2STBBACKBPC1IBFBOBFBPC0INTRBINTRB818255是可編程接口芯片,主要編程內(nèi)容是兩條控制命令:工作方式命令和C口位置位/復(fù)位命令,編程寫入的命令保存在8255的控制寄存器中。由于這兩條命令是通過標(biāo)志位(最高位)狀態(tài)進(jìn)行區(qū)別的,所以可按同一地址寫入,且先后順序不受限制。8255的編程內(nèi)容82功能:用于設(shè)定各數(shù)據(jù)口的工作方式及數(shù)據(jù)傳送方向。1.工作方式命令83在方式1和方式2下,C口用于定義控制信號(hào)和狀態(tài)信號(hào),因此,C口的每一位都可以進(jìn)行置位或復(fù)位。2.C口位置位/復(fù)位命令848255端口選擇及讀/寫控制表CSA1A0RDWR選擇端口端口操作00001A口讀端口A00101B口讀端口B01001C口讀端口C00010A口寫端口A00110B口寫端口B01010C口寫端口C01110控制寄存器寫控制命令1××××—數(shù)據(jù)總線緩沖器輸出端呈高阻抗【注意】:控制寄存器只有寫操作。對(duì)于端口選擇信號(hào),在接口電路中A0、A1分別接地址線A0、A1。片選信號(hào)CS在線選法中直接與一條高位地址線連接,在譯碼法中接地址譯碼器的輸出。85鍵盤掃描程序流程7FH1FH17H0FH07HBFH1EH16H0EH06HDFH1DH15H0DH05HEFH1CH14H0CH04HF7H1BH13H0BH03HFBH1AH12H0AH02HFDH19H11H09H01HFEH18H10H08H00HF7HFBHFDHFEH86去抖動(dòng)去抖動(dòng)處理有軟件和硬件兩種方法:軟件去抖動(dòng)方法是采用時(shí)間延遲以躲過抖動(dòng)(延時(shí)時(shí)間為10~20ms),待狀態(tài)穩(wěn)定后再進(jìn)行列線狀態(tài)輸入和判定。硬件方法是在鍵盤中附加雙穩(wěn)態(tài)電路或?yàn)V波電路等去抖動(dòng)電路,以抑制抖動(dòng)的產(chǎn)生。硬件去抖動(dòng)需增加成本。87用8255實(shí)現(xiàn)鍵盤接口接口電路邏輯圖(以8255作8×4鍵盤的接口為例)P0.7P0.0+5V74LS373888段LED顯示器898段數(shù)碼管顯示十六進(jìn)制數(shù)的段碼表字符共陰極段碼共陽極段碼03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90H字符共陰極段碼共陽極段碼A77H88HB7CH83HC39HC6HD5EHA1HE79H86HF71H8EHH76H09HP73H8CHU3EHC1H滅00HFFH908255作6位LED顯示器接口電路91

異步串行通信異步串行通信是以字符為單位的間歇傳輸形式。為實(shí)現(xiàn)發(fā)送和接收雙方的協(xié)調(diào),傳送時(shí)按字符進(jìn)行包裝,在數(shù)據(jù)位之外要增添起始位、奇偶校驗(yàn)位和停止位,構(gòu)成一個(gè)通信幀。第8章MCS-51單片機(jī)串行通信92

同步串行通信為提高傳送速度,把數(shù)據(jù)傳輸按相等的時(shí)間間隔分塊進(jìn)行,在數(shù)據(jù)塊的開始加一些特殊字符,作為發(fā)送和接收雙方的同步標(biāo)志。由于數(shù)據(jù)塊的位數(shù)較多,為防止錯(cuò)位,在發(fā)送數(shù)據(jù)時(shí)一般同時(shí)給出時(shí)鐘信號(hào),以保持接收與發(fā)送的同步。93串行通信的線路形式單工形式(Simplex

)。數(shù)據(jù)傳輸是單向的。通信雙方中一方固定為發(fā)送端,另一方則固定為接收端。全雙工形式(Full-duplex)。數(shù)據(jù)傳輸是雙向的,可以同時(shí)發(fā)送和接收數(shù)據(jù),需要兩條數(shù)據(jù)線。半雙工形式(Half-duplex)。數(shù)據(jù)傳輸也是雙向的,但任何時(shí)刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。9480C51單片機(jī)串行口硬件電路串行口主要由發(fā)送寄存器、接收寄存器和移位寄存器等組成。95串行口控制機(jī)制MCS-51單片機(jī)的串行口通過控制寄存器、中斷功能和波特率設(shè)置實(shí)現(xiàn)串行通信控制。

串行口控制寄存器(SCON)單元地址:98H,位地址:98H~9FH位地址9FH9EH9DH9CH9BH9AH99H98H位符號(hào)SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式選擇位(由軟件選定)SM2:多機(jī)通信控制位。(由軟件置位或清零)TB8:發(fā)送數(shù)據(jù)位8。

RB8:接收數(shù)據(jù)位8。REN:允許接收位。

TI:串行發(fā)送中斷請(qǐng)求標(biāo)志。RI:串行接收中斷請(qǐng)求標(biāo)志。96

串行中斷MCS-51單片機(jī)有2個(gè)串行中斷:串行發(fā)送中斷和串行接收中斷,這兩個(gè)串行中斷共享一個(gè)中斷向量0023H,通過在中斷服務(wù)程序中對(duì)中斷源進(jìn)行判斷,進(jìn)行不同的中斷處理。每當(dāng)串行口發(fā)送或接收一個(gè)數(shù)據(jù)字節(jié)時(shí),都產(chǎn)生中斷請(qǐng)求。串行中斷請(qǐng)求在芯片內(nèi)部發(fā)生,因此不需要引腳。串行中斷控制共涉及3個(gè)寄存器:串行口控制寄存器SCON中斷允許控制寄存器IE中斷優(yōu)先級(jí)控制寄存器IP

97串行工

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論