單片機原理及應用 第二章_第1頁
單片機原理及應用 第二章_第2頁
單片機原理及應用 第二章_第3頁
單片機原理及應用 第二章_第4頁
單片機原理及應用 第二章_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理及應用第二章第一頁,共七十七頁,編輯于2023年,星期日§2.1MCS-51單片機邏輯結(jié)構(gòu)與引腳功能一、MCS-51系列單片機的基本組成第二頁,共七十七頁,編輯于2023年,星期日80C51單片機包括:面向控制的8位CPU和指令。4K字節(jié)的程序存儲器(Flash)。128字節(jié)的數(shù)據(jù)存儲器,21個特殊功能寄存器??删幊滩⑿蠭/O口PO-P3,有32位雙向輸入/輸出線。一個全雙工串行口。兩個16位定時器/計數(shù)器。五個中斷源,兩個中斷優(yōu)先級的中斷結(jié)構(gòu)。一個片內(nèi)時鐘振蕩器和時鐘電路??蓪ぶ?4K字節(jié)的程序存儲器和64K字節(jié)的外部數(shù)據(jù)存儲器。第三頁,共七十七頁,編輯于2023年,星期日二、MCS-51系列單片機的內(nèi)部結(jié)構(gòu)

MCS-51系列單片機的內(nèi)部結(jié)構(gòu)框圖第四頁,共七十七頁,編輯于2023年,星期日1、CPU

CPU由運算器、控制器及一些特殊功能寄存器組組成、其結(jié)構(gòu)形式與工作原理和一般的微處理器相同。可執(zhí)行下述算術(shù)/邏輯運算。1.1、運算器算術(shù)與邏輯運算部件ALUALU由加法器和其他邏輯電路等組成。它的功能是,完成各種算術(shù)運算和邏輯運算,它可以進行加、減、乘、除、加1、減1、比較等算術(shù)運算和與、或、非、異或、取反、取補等邏輯運算。以及循環(huán)移位、位操作等。第五頁,共七十七頁,編輯于2023年,星期日帶進位和不帶進位的加法帶進位的減法兩個八位無符號數(shù)的乘法和除法加1或減1操作邏輯“與”、“或”、“異或”操作、字節(jié)取反操作左右循環(huán)移位操作半字節(jié)交換二十進制(BCD碼)調(diào)整比較和條件轉(zhuǎn)移的判斷等操作“位”操作:置位、清零、取反、條件判斷、邏輯“與”、“或”等操作第六頁,共七十七頁,編輯于2023年,星期日寄存器累加器ACC

累加器ACC,簡稱累加器A,它是一個8位寄存器,通過暫存器與ALU相連,在算術(shù)運算和邏輯運算時,通常用累加器A存放一個參加操作的數(shù),作為ALU的一個輸入,而ALU的運算結(jié)果又存入累加器A中。寄存器B

寄存器B一般用于乘、除法指令,它與累加器A配合使用。運算前,寄存器B中存放乘數(shù)或除數(shù);運算后,B中保存了乘積的高位字節(jié)或商的余數(shù)部分。此外,寄存器B可作為存放中間結(jié)果的暫存寄存器使用。第七頁,共七十七頁,編輯于2023年,星期日程序狀態(tài)字寄存器PSW

運算操作過程中的一些狀態(tài)信息存放在程序狀態(tài)字寄存器PSW中,PSW寄存器的字節(jié)地址是DOH,PSW各位的符號與定義如下:

C—進位標志(CY),有進位或借位時,C=1,否則C=0;Cy=1提示無符號數(shù)運算超出范圍。在進行位操作時,CY作為位累加器C,也稱為布爾累加器。此外,循環(huán)移位指令和比較轉(zhuǎn)移指令也會影響CY標志。

AC—輔助進位標志,當累加器中A3向A4有進位或錯位時AC=1,否則AC=0;

F0—用戶標志位,可由用戶置“1”,或置“0”,作為某一種狀態(tài)的標志;第八頁,共七十七頁,編輯于2023年,星期日

OV—溢出標志,計算機中,帶符號數(shù)通常是用補碼表示的.對于單字節(jié)二進制補碼,其所能表示數(shù)的范圍是-128到+127,如果運算結(jié)果超出了這個數(shù)值范圍,就稱為溢出。一般兩個同號數(shù)相加或兩個異號數(shù)相減,有可能發(fā)生溢出;而兩個同號數(shù)相減或兩個異號數(shù)相加,則不會發(fā)生溢出。第九頁,共七十七頁,編輯于2023年,星期日當兩個正數(shù)相加,若和超過+127時,其結(jié)果的符號由正變負,即得出負數(shù),這時OV=l。

同理,兩負數(shù)相加,結(jié)果應為負數(shù),但因和數(shù)為-241<-l28,有溢出而使結(jié)果為正數(shù),此時OV=1。第十頁,共七十七頁,編輯于2023年,星期日在乘法運算時,OV=1表示結(jié)果超過了255,即乘積分別在寄存器B和A中;反之表示乘積在A中。在除法運算時,OV=1表示除數(shù)為0,不能進行除法,反之除數(shù)不為0,可以進行除法。第十一頁,共七十七頁,編輯于2023年,星期日P—奇偶標志,累加器A中“1”的個數(shù)為奇數(shù)時P=1,否則P=0;RS1,RS0:——工作寄存器組選擇控制位。

000組(內(nèi)部RAM地址00H~07H)011組(內(nèi)部RAM地址08H~0FH)102組(內(nèi)部RAM地址10H~17H)113組(內(nèi)部RAM地址18H~1FH)

MCS—51單片機的零標志z不包含在PSW寄存器中,而直接安排在累加器A中第十二頁,共七十七頁,編輯于2023年,星期日1.2控制器程序計數(shù)器PC

程序計數(shù)器PC(ProgramCounter)是16位專用寄存器,其內(nèi)容表示下一條要執(zhí)行的指令的地址,PC的內(nèi)容有自動加1的功能。當CPU順序地執(zhí)行指令時,PC的內(nèi)容以增量的規(guī)律變化著,于是當一條指令取出后,PC就指向下一條指令的地址,如果不按順序執(zhí)行指令,轉(zhuǎn)移到某地址再繼續(xù)執(zhí)行指令,這時在跳轉(zhuǎn)之前必須將轉(zhuǎn)向的程序的入口地址送往程序計數(shù)器,以便從該入口地址開始執(zhí)行程序。由此可見,PC實際上是一個地址指示器,改變PC中的內(nèi)容就可以改變指令執(zhí)行的次序,即改變程序執(zhí)行的路線。當系統(tǒng)復位后,PC=0000H,CPU便從這一固定的入口地址開始執(zhí)行程序。第十三頁,共七十七頁,編輯于2023年,星期日堆棧指針SP

堆棧是為暫存數(shù)據(jù)或返回地址而在RAM區(qū)專門開辟的一個數(shù)據(jù)存放區(qū),并按照“后進先出”的原則進行操作。

堆棧指針SP(StackPointer)是一個8位寄存器,用它存放棧頂?shù)牡刂?。進棧時,SP自動加1,將數(shù)據(jù)壓入SP所指定的地址單元;出棧時,將SP所指示的地址單元中的數(shù)據(jù)彈出,然后SP自動減1,因此,SP總是指向棧頂。

系統(tǒng)復位后,SP初始化為07H,所以第一個壓入堆棧的數(shù)據(jù)存放到08H單元,即堆棧區(qū)為從07H單元開始的一部分連續(xù)存儲單元。第十四頁,共七十七頁,編輯于2023年,星期日

SP的內(nèi)容是可編程的,因而可將堆棧區(qū)定位到內(nèi)部數(shù)據(jù)存儲器的任意位置。堆棧的大小可用“深度”表示,用戶在設(shè)定堆棧區(qū)時應該考慮到堆棧的深度,以便能滿足子程序嵌套時的需要。第十五頁,共七十七頁,編輯于2023年,星期日數(shù)據(jù)指針DPTR

數(shù)據(jù)指針DPTR(DataPointer)是一個16位的專用寄存器,專門用來存放16位數(shù)據(jù)存儲器的地址,以便對外部數(shù)據(jù)存儲器RAM讀寫數(shù)據(jù),作間接寄存器使用。它可指向64K字節(jié)范圍內(nèi)的任一存儲單元,也可以分成高字節(jié)DPH和低字節(jié)DPL兩個獨立的8位寄存器,這為修改DPTR的內(nèi)容提供了方便。指令寄存器、指令譯碼器和CPU定時控制

CPU從程序存儲器內(nèi)取出的指令首先要送到指令寄存器,然后送入指令譯碼器,由指令譯碼器對指令進行譯碼,即把指令轉(zhuǎn)變成執(zhí)行該指令所需要的信號,使計算機正確地執(zhí)行程序所要求的各種操作。第十六頁,共七十七頁,編輯于2023年,星期日三、MCS-51

單片機的引腳功能

40只引腳雙列直插封裝(DIP)44只引腳方形封裝方式為(4只無用)第十七頁,共七十七頁,編輯于2023年,星期日40只引腳按其功能來分,可分為3類:(1)電源及時鐘引腳:Vcc、Vss;XTAL1、XTAL2。(2)控制引腳:/PSEN、/EA、ALE、RESET(即RST)。(3)I/O口引腳:P0、P1、P2、P3,為4個8位I/O口的外部引腳。電源引腳(1)Vcc:+5V電源;(2)Vss:接地。時鐘引腳

(1)XTAL1(19腳):如果采用外接晶體振蕩器時,此引腳應接地。(2)XTAL2(18腳):接外部晶體的另一端。第十八頁,共七十七頁,編輯于2023年,星期日并行I/O:共4個口,32根I/O線。

P0口:8位雙向I/O口。當使用片外存儲器(ROM及RAM)時,作低八位地址和數(shù)據(jù)總線分時復用。能驅(qū)動8個LSTTL負載。

P1口:8位、準雙向I/O口。

P2口:8位、準雙向I/O口。當使用片外存儲器(ROM及RAM)時,輸出高8位地址。P2口可以驅(qū)動4個LSTTL負載。

P3口:8位、準雙向I/O口,具有內(nèi)部上拉電路。P3提供各種替代功能。在提供這些功能時,其輸出鎖存器應由程序置1。P3口可以驅(qū)動4個LSTTL負載。第十九頁,共七十七頁,編輯于2023年,星期日串行口:P3.0——RXD串行輸入口P3.1——TXD串行輸出口中斷:P3.2——外部中斷0輸入P3.3——外部中斷1輸入定時器/計數(shù)器:P3.4——定時器/計數(shù)器T0的外部輸入P3.5——定時器/計數(shù)器T1的外部輸入數(shù)據(jù)存儲器選通:P3.6——WR低電平有效,輸出,片外存儲器寫選通。P3.7——RD低電平有效,輸出,片外存儲器讀選通。第二十頁,共七十七頁,編輯于2023年,星期日控制線RST/VPD—復位輸入信號,高電平有效。在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,將器件復位。其第二功能為備用電源輸入端。EA/Vpp—片外程序存儲器訪問允許信號,低電平有效。EA=1,選擇片內(nèi)程序存儲器(80C51為4KB,80C52為8KB);EA=0,則程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。其第二功能Vpp為編程電壓輸入端,使用8751編程時,施加21V的編程電壓。第二十一頁,共七十七頁,編輯于2023年,星期日ALE/PROG——地址鎖存允許信號,輸出。在訪問片外存儲器或I/O時,用于鎖存低八位地址,以實現(xiàn)低八位地址與數(shù)據(jù)的隔離。由于ALE以1/6的振蕩頻率固定速率輸出,可作為對外輸出的時鐘或用作外部定時脈沖。在EPROM編程期間,作輸入。輸入編程脈沖(PROG)

ALE可以驅(qū)動8個LSTTL負載。PSEN——片外程序存儲器讀選通信號,低電平有效。在從片外程序存儲器取指期間,在每個機器周期中,當有效時,程序存儲器的內(nèi)容被送上P0口(數(shù)據(jù)總線)。第二十二頁,共七十七頁,編輯于2023年,星期日四、MCS-51的外部總線結(jié)構(gòu)第二十三頁,共七十七頁,編輯于2023年,星期日第二十四頁,共七十七頁,編輯于2023年,星期日§2.2MCS-51的尋址空間與存儲器結(jié)構(gòu)

80C51在物理結(jié)構(gòu)上有四個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。在邏輯上,80C51有三個存儲空間:片內(nèi)外統(tǒng)一編址的64K字節(jié)的程序存儲器地址空間(用16位地址)、片內(nèi)128字節(jié)的數(shù)據(jù)存儲器地址空間(用8位地址)、片外64K字節(jié)的數(shù)據(jù)存儲器地址空間。在訪問這三個不同的邏輯空間時,應采用不同的指令。第二十五頁,共七十七頁,編輯于2023年,星期日§2.2MCS-51的尋址空間與存儲器結(jié)構(gòu)第二十六頁,共七十七頁,編輯于2023年,星期日一、程序存儲器EA引腳接高電平時,程序從片內(nèi)程序存儲器0000H開始執(zhí)行,即訪問片內(nèi)存儲器;當PC值超出片內(nèi)ROM容量時,會自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行。EA引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器0000H開始存放的程序。對8031,由于片內(nèi)無ROM/EPROM,必須使EA=0,程序存儲器只能片外擴展,即0000H-FFFFH都是指向片外EPROM的。第二十七頁,共七十七頁,編輯于2023年,星期日

在程序存儲器中,有六個地址單元被保留用于某些特定的地址,如表所示。表

5種中斷源的中斷入口地址外部中斷0 0003H

定時器0(T0) 000BH

外部中斷1 0013H

定時器1(T1) 001BH

串行口 0023H第二十八頁,共七十七頁,編輯于2023年,星期日

單片機復位后,程序計數(shù)器PC的內(nèi)容為0000H,即系統(tǒng)從0000H單元開始執(zhí)行程序。一般在0000H-0002H單元存放一條絕對轉(zhuǎn)移指令,而用戶設(shè)計的主程序應從跳轉(zhuǎn)后的地址開始存放,以便CPU復位后,PC從0000H起始地址跳轉(zhuǎn)到用戶程序去執(zhí)行。5個中斷源的中斷入口地址間隔都只有8個單元,存放中斷服務(wù)程序往往是不夠用的。所以通常在這些入口存放一條絕對轉(zhuǎn)移指令,使程序轉(zhuǎn)到相應的中斷服務(wù)程序的起始地址。例:ORG0000HLJMPSTART

……..ORG1000HSTART:MOVTMOD,#27H

……..第二十九頁,共七十七頁,編輯于2023年,星期日二、數(shù)據(jù)存儲器

數(shù)據(jù)存儲器用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖以及標志位等。所以數(shù)據(jù)存儲器由讀寫存儲器RAM構(gòu)成。8052片內(nèi)RAM有256字節(jié),片外最大可擴展64K字節(jié)RAM。片內(nèi)和片外RAM是獨立編址的,用不同的指令來訪問不同的數(shù)據(jù)存儲器,即用MOV指令訪問片內(nèi)RAM,而用MOVX指令訪問片外RAM。片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器的配置如圖所示。片內(nèi)數(shù)據(jù)存儲器為8位地址,(8052)最大可尋址256個單元(00H-FFH),這是最靈活的地址空間。它由工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)組成,不同的地址區(qū)域內(nèi),功能不完全相同。第三十頁,共七十七頁,編輯于2023年,星期日片內(nèi)數(shù)據(jù)存儲器通用RAM區(qū)80單元可位尋址區(qū)16單元工作寄存區(qū)第三十一頁,共七十七頁,編輯于2023年,星期日片內(nèi)數(shù)據(jù)存儲器特殊功能寄存器第三十二頁,共七十七頁,編輯于2023年,星期日1、工作寄存器000組(00H~07H)011組(08H~0FH)102組(10H~17H)113組(18H~1FH)第三十三頁,共七十七頁,編輯于2023年,星期日1、工作寄存器在低128字節(jié)RAM區(qū)中,地址00H-1FH為通用工作寄存器區(qū),共分為四個組,每組有8個工作寄存器R0-R7,共占用32個單元。工作寄存器和RAM地址的對應關(guān)系如表所示。每組寄存器均可選作CPU當前使用的工作寄存器組。用戶可以通過指令對PSW中RSI和RSO的設(shè)置來決定CPU當前所使用的寄存器組。寄存器組別確定以后,究竟使用組中的哪一個寄存器就由8位地址號指示了。CPU復位以后,由于PSW中各位均為0,所以選定第0組工作寄存器。若程序中并不需要用四個工作寄存器組,那么剩下的工作寄存器組所對應的地位單元可以作為一般的數(shù)據(jù)緩沖區(qū)使用。第三十四頁,共七十七頁,編輯于2023年,星期日2、位尋址區(qū)

20H-2FH為位尋址區(qū)。每個單元有8位,16個單元共128位,每一位分配有一個8位地址,稱為位地址,其范圍是00H-7FH。位尋址區(qū)的每一位都可以當作一個軟件觸發(fā)器,由程序直接進行位處理。程序設(shè)計時,通常把各種程序狀態(tài)標志、位控制變量設(shè)在位尋址區(qū)內(nèi)。同樣,位尋址區(qū)的RAM單元也可以作為一般的數(shù)據(jù)緩沖器使用。

30H-7FH為數(shù)據(jù)緩沖區(qū),用來存放數(shù)據(jù)。此外,用戶堆棧一般設(shè)在這個區(qū)間。第三十五頁,共七十七頁,編輯于2023年,星期日3、特殊功能寄存器SFR

在高128字節(jié)RAM區(qū),80H-FFH地址為特殊功能寄存器SFR(SpecialFunctionalRegister)區(qū),SFR是用于對片內(nèi)功能模塊進行管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器,是一個具有特殊功能的RAM區(qū)。80C51有21個特殊功能寄存器,如I/O口鎖存器,定時器、串行口緩沖器以及各種控制寄存器和狀態(tài)寄存器都以特殊功能寄存器的形式出現(xiàn),離散地分布在80H-FFH范圍內(nèi)。特殊功能寄存器的名稱如下:第三十六頁,共七十七頁,編輯于2023年,星期日3、特殊功能寄存器SFR第三十七頁,共七十七頁,編輯于2023年,星期日3、特殊功能寄存器SFRA(或ACC):累加器AB:B寄存器PSW:程序狀態(tài)字SP:堆棧指針DPTR:數(shù)據(jù)指針(由DPH和DPL組成)PO-P3:P0口鎖存器一P3口鎖存器IP:中斷優(yōu)先級控制寄存器IE:中斷允許控制寄存器第三十八頁,共七十七頁,編輯于2023年,星期日TMOD:定時器/計數(shù)器方式控制寄存器TCON:定時器/計數(shù)器控制寄存器TH0:定時器/計數(shù)器0(高字節(jié))TL0:定時器/計數(shù)器0(低字節(jié))THI:定時器/計數(shù)器1(高字節(jié))TLI:定時器/計數(shù)器1(低字節(jié))SCON:串行口控制寄存器SBUF:串行口數(shù)據(jù)緩沖器PCON:電源控制寄存器第三十九頁,共七十七頁,編輯于2023年,星期日片外數(shù)據(jù)存儲區(qū)片外數(shù)據(jù)存儲器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能用寄存器間接尋址的方法訪問,所用的寄存器為DPTR、R1或R0。當用R0、R1尋址時,由于R0、R1為8位寄存器,因此最大尋址范圍為256B;當用DPTR尋址時,由于DPTR為16位寄存器,因此最大尋址范圍為64KB。第四十頁,共七十七頁,編輯于2023年,星期日§2.3MCS-51的并行I/O口

80C51單片機共有四個8位的并行雙向口,計有32根輸入/輸出(I/O)口線。各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器組成??衫萌我欢丝谳斎胼敵鰯?shù)據(jù),每條口線也可單獨使用,或在任一位上輸入輸出開關(guān)量,或?qū)ξ贿M行邏輯操作。除P1口僅做I/O口外,其余各端口均具有雙功能,可由用戶選擇使用。第四十一頁,共七十七頁,編輯于2023年,星期日

一、P0端口

字節(jié)地址為80H,

位地址80H~87H。

P0口某一位的電路包括:(1)一個數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存。(2)兩個三態(tài)的數(shù)據(jù)輸入緩沖器,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3)一個多路轉(zhuǎn)接開關(guān)MUX,實現(xiàn)鎖存器輸出和地址/數(shù)據(jù)線之間的接通轉(zhuǎn)接。(4)數(shù)據(jù)輸出的驅(qū)動和控制電路,由兩只場效應管(FET)組成,上面的那只場效應管構(gòu)成上拉電路。第四十二頁,共七十七頁,編輯于2023年,星期日P0口傳送地址或數(shù)據(jù)時,CPU發(fā)出控制信號1,打開上面的與門,使多路轉(zhuǎn)接開關(guān)MUX打向上邊,使內(nèi)部地址/數(shù)據(jù)線與下面的場效應管處于反相接通狀態(tài)。這時的輸出驅(qū)動電路由于上下兩個FET處于反相,形成推拉式電路結(jié)構(gòu),大大的提高了負載能力。而當輸入數(shù)據(jù)時,數(shù)據(jù)信號則直接從引腳通過輸入緩沖器進入內(nèi)部總線。第四十三頁,共七十七頁,編輯于2023年,星期日

P0口作為通用的I/O口使用。這時,CPU發(fā)來的“控制”信號為低電平0,封鎖了與門,并將輸出驅(qū)動電路的上拉場效應管T1截止,而多路轉(zhuǎn)接開關(guān)MUX打向下邊,與D鎖存器的/Q端接通。當P0口作為輸出口使用時,來自CPU的“寫入”脈沖加在D鎖存器的CP端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。但要注意,由于輸出電路是漏極開路(因為這時上拉場效應管截止),必須外接上拉電阻才能有高電平輸出。第四十四頁,共七十七頁,編輯于2023年,星期日

當P0口作為輸入口使用時,應區(qū)分“讀引腳”和“讀鎖存器”?!白x引腳”就是直接讀取引腳P0.x上的狀態(tài),這時由“讀引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;“讀引腳”前該口鎖存器必須先置1。

MOVP0,#0FFHMOVA,P0第四十五頁,共七十七頁,編輯于2023年,星期日

“讀鎖存器”則是“讀鎖存器”信號打開上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線。CPU執(zhí)行一次讀-改-寫操作。

ANL,ORL,XRL;JBC;CPL;INC,DEC;DJNZ;MOV;CLR,SETB;這些指令均執(zhí)行一次讀-改-寫操作。第四十六頁,共七十七頁,編輯于2023年,星期日二、P1端口

字節(jié)地址為90H,位地址90H~97H。第四十七頁,共七十七頁,編輯于2023年,星期日P1口只作為通用的I/O口使用,在電路結(jié)構(gòu)上與P0口有兩點區(qū)別:(1)因為P1口只傳送數(shù)據(jù),所以不再需要多路轉(zhuǎn)接開關(guān)MUX。(2)由于P1口用來傳送數(shù)據(jù),因此輸出電路中有上拉電阻,這樣電路的輸出不是三態(tài)的,所以P1口是準雙向口。因此:(1)P1口作為輸出口使用時,與P0口不同的是,外電路無需再接上拉電阻。(2)P1口作為輸入口使用時,應先向其鎖存器先寫入“1”,使輸出驅(qū)動電路的FET截止。

MOVP1,#0FFHMOVA,P1第四十八頁,共七十七頁,編輯于2023年,星期日三、P2端口字節(jié)地址為A0H,位地址A0H~A7H。

第四十九頁,共七十七頁,編輯于2023年,星期日

在實際應用中,因為P2口用于為系統(tǒng)提供高位地址,因此同P0口一樣,在口電路中有一個多路轉(zhuǎn)接開關(guān)MUX。但MUX的一個輸入端不再是“地址/數(shù)據(jù)”,而是單一的“地址”,這是因為P2口只作為地址線使用。當P2口用作為高位地址線使用時,多路轉(zhuǎn)接開關(guān)應接向“地址”端。正因為只作為地址線使用,口的輸出用不著是三態(tài)的,所以,P2口也是一個準雙向口。此外,P2口也可以作為通用I/O口使用,這時,多路轉(zhuǎn)接開關(guān)接向鎖存器Q端。P2口作為輸入口使用時,應先向其鎖存器先寫入“1”,使輸出驅(qū)動電路的FET截止。第五十頁,共七十七頁,編輯于2023年,星期日四、P3端口

P3口的字節(jié)地址為B0H,位地址為B0H~B7H

第五十一頁,共七十七頁,編輯于2023年,星期日P3口的第二功能定義。表P3口的第二功能定義

口引腳第二功能

P3.0 RXD(串行輸入口)

P3.1 TXD(串行輸出口)

P3.2 /INT0(外部中斷0)

P3.3 /INT1(外部中斷1)

P3.4 T0(定時器0外部計數(shù)輸入)

P3.5 T1(定時器1外部計數(shù)輸入)

P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)

P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)第五十二頁,共七十七頁,編輯于2023年,星期日(1)當作通用的I/O口使用時,電路中的“第二輸出功能”線應保持高電平,與非門開通,以使鎖存器的Q端輸出通路保持暢通。當輸入信號時,該鎖存器應預先置“1”

。引腳信號通過緩沖器送到內(nèi)部總線。(2)作為第二功能用:輸出時,Q=1,打開與非門,第二功能輸出;輸入時,引腳信號通過緩沖器送到第二輸入功能端。第五十三頁,共七十七頁,編輯于2023年,星期日P0~P3端口功能小結(jié):(1)P0~P3口都是并行I/O口,都可用于數(shù)據(jù)的輸入和輸出,但P0口和P2口除了可進行數(shù)據(jù)的輸入/輸出外,通常用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個多路轉(zhuǎn)接開關(guān)MUX,以便進行兩種用途的轉(zhuǎn)換。而P1口和P3口沒有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,在電路中沒有多路轉(zhuǎn)接開關(guān)MUX。由于P0口可作為地址/數(shù)據(jù)復用線使用,需傳送系統(tǒng)的低8位地址和8位數(shù)據(jù),因此MUX的一個輸入端為“地址/數(shù)據(jù)”信號。而P2口僅作為高位地址線使用,不涉及數(shù)據(jù),所以MUX的一個輸入信號為“地址”。

第五十四頁,共七十七頁,編輯于2023年,星期日(2)在4個口中只有P0口是一個真正的雙向口,P1~P3這3個口都是準雙向口。原因是在應用系統(tǒng)中,P0口作為系統(tǒng)的數(shù)據(jù)總線使用時,為保證數(shù)據(jù)的正確傳送,需要解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時芯片內(nèi)外才接通;不進行數(shù)據(jù)傳送時,芯片內(nèi)外應處于隔離狀態(tài)。為此,要求P0口的輸出緩沖器是一個三態(tài)門。在P0口中輸出三態(tài)門是由兩只場效應管(FET)組成,所以說它是一個真正的雙向口。而其它的三個口P1~P3中,上拉電阻代替P0口中的場效應管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準雙向口。第五十五頁,共七十七頁,編輯于2023年,星期日(3)P3口的口線具有第二功能,為系統(tǒng)提供一些控制信號。因此在P3口電路增加了第二功能控制邏輯。這是P3口與其它各口的不同之處。第五十六頁,共七十七頁,編輯于2023年,星期日§2.4CPU時序及輔助電路一、時鐘電路計算機電路為時序電路,即計算機是以時鐘為節(jié)拍順序工作的,所以,時鐘電路是計算機的重要組成部分。時鐘的頻率決定了計算機的運算速度。常用的時鐘電路設(shè)計有兩種方式,一種是內(nèi)部時鐘方式,另一種方式為外部時鐘方式。第五十七頁,共七十七頁,編輯于2023年,星期日

內(nèi)部時鐘方式

內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。C1和C2典型值通常選擇為30pF左右。晶體的振蕩頻率在1.2MHz~12MHz之間。現(xiàn)在的某些高速單片機芯片的時鐘頻率已達40MHz。第五十八頁,共七十七頁,編輯于2023年,星期日

外部時鐘方式

MCS-51單片機也可以采用外部時鐘方式,這時使用外部振蕩器,由它產(chǎn)生的外部時鐘脈沖信號接至XTAL2端直接送至內(nèi)部時鐘電路,XTAL1端接地,如圖a所示。通常接的外部信號頻率為低于12MHz的方波信號。這種方式適合于多塊芯片同時工作,便于同步。此外,由于XTAL2端的邏輯電平不是TTL的,故需外接一個上拉電阻,以便電平匹配。第五十九頁,共七十七頁,編輯于2023年,星期日

外部時鐘方式

對于CHMOS型的80C51單片機,因內(nèi)部時鐘發(fā)生器的信號取自反相放大器的輸入端,故采用外部時鐘脈沖信號時,外部時鐘信號應接至XTALI,而XTAL2懸空。外部時鐘信號的連接方式如圖b所示。第六十頁,共七十七頁,編輯于2023年,星期日二、復位操作和復位電路1復位操作

單片機的初始化操作,復位引腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可使MCS-51復位。復位時,PC初始化為0000H,使MCS-51單片機從0000H單元開始執(zhí)行程序。除系統(tǒng)的正常初始化外,當由于程序運行出錯或操作錯誤處于死機狀態(tài),為擺脫死機狀態(tài),也需按復位鍵使MCS-51重新啟動。除PC之外,復位操作還對其它一些寄存器有影響,見下表

SP=07H,而4個I/O端口P0-P3的引腳均為高電平第六十一頁,共七十七頁,編輯于2023年,星期日

在復位有效期間,MCS-51的ALE引腳和PSEN引腳均為高電平,且內(nèi)部RAM的狀態(tài)不受復位的影響。第六十二頁,共七十七頁,編輯于2023年,星期日2復位電路

片內(nèi)復位結(jié)構(gòu)

計算機在啟動運行時都需要復位,使CPU和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。內(nèi)部復位結(jié)構(gòu)如下圖。第六十三頁,共七十七頁,編輯于2023年,星期日

MCS-51單片機通常采用上電自動復位和開關(guān)手動復位兩種方式。上電復位是指單片機只要一上電,便自動地進入復位狀態(tài)。圖a是上電復位電路。在通電瞬間,電容c通過電阻R充電,RST端出現(xiàn)正脈沖,用以復位。關(guān)于參數(shù)的選定,應保證復位高電平持續(xù)時間(即正脈沖寬度)大于2個機器周期。手動復位是指通過一按鈕開關(guān),使單片機進入復位狀態(tài)。通常手動復位和上電復位組合,其電路如圖b所示。第六十四頁,共七十七頁,編輯于2023年,星期日

在實際應用系統(tǒng)中,為了保證復位電路可靠地工作,常將RC電路產(chǎn)生的復位信號再經(jīng)施密特觸發(fā)電路整形,然后接入單片機的復位端和外圍電路的復位端,如圖所示。其中,圖a是上電自動復位電路,圖b是上電復位與手動復位組合電路。第六十五頁,共七十七頁,編輯于2023年,星期日三、CPU的工作時序CPU執(zhí)行一條指令的各個微操作,所對應的脈沖信號遵循的時間順序稱為時序。為了直觀地展現(xiàn)CPU的時序,把執(zhí)行一條指令時相應信號線上有關(guān)信息的變化按時間序列以特定的波形表示出來,這就是時序圖,或簡稱為時序。由于指令的字節(jié)數(shù)不同,執(zhí)行的操作也不同,因而執(zhí)行不同的指令所需要的時間差別較大。為了便于說明,按指令的執(zhí)行過程定義了幾種周期,即振蕩周期、時鐘周期、機器周期、指令周期。

第六十六頁,共七十七頁,編輯于2023年,星期日1、時序的基本概念振蕩周期:為單片機提供定時信號的振蕩源的周期。時鐘周期(狀態(tài)周期):單片機提供定時信號的振蕩源的振蕩脈沖經(jīng)2分頻后形成狀態(tài)周期。狀態(tài)周期是振蕩周期的2倍。機器周期:完成一個基本操作所需要的時間稱為機器周期。80C51的一個機器周期由6個狀態(tài)周期,12個振蕩周期組成。三、CPU的工作時序第六十七頁,共七十七頁,編輯于2023年,星期

溫馨提示

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

最新文檔

評論

0/150

提交評論