




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
12.1總體結構2.2CPU和時鐘電路2.3存儲器2.4并行I/O口小結第2章MCS-51單片機的系統結構MCS-51總體結構
MCS-51系列基本產品型號:8051、8031、8751稱為51子系列。不同型號MCS-51單片機CPU處理能力和指令系統完全兼容,只是存儲器和I/O接口的配置有所不同。232.1單片機的總體結構2.1.18051內部結構(1)中央處理器CPU(2)數據存儲器RAM(3)程序存儲器ROM(4)定時/計數器(6)I/O并行端口(7)串行端口(8)中斷控制系統(9)時鐘電路(10)特殊功能寄存器42.1.1具體結構5P0口(P0.0~P0.7)雙向數據總線和低8位地址總線P1口(P1.0~P1.7)雙向輸入/輸出口(I/O口)P2口(P2.0~P2.7)雙向輸入/輸出口(I/O口),在訪問外部存儲器時用作高8位地址總線P3口(P3.0~P3.7)除了作為一般的雙向輸入/輸出口外,每個引腳還具有第二功能串行口輸入端串行口輸出端外部中斷0請求輸入端外部中斷1請求輸入端定時/計數器0外部輸入端定時/計數器1外部輸入端時鐘電路引腳,外接晶體與微調電容外部數據存儲器寫選通外部數據存儲器讀選通復位信號輸入端外部程序存儲器地址允許輸入端/固化編程電壓輸入端地址鎖存使能信號端(輸出)/編程脈沖輸入端外部程序存儲器讀選通信號電源地2.1.2引腳定義及功能6注意事項
1)RST:輸入端,高有效,實現復位;2)ALE,PSEN:輸出端,上電后自動、持續輸出高頻脈沖信號;3)EA:輸入端,接高電平,則先從片內程序開始,然后片外;接地時,只訪問片外地址;4)P0,P2口:地址總線或I/O端口;(擴展外部存儲器時,不再做IO)5)P1口:普通I/O;6)P3口:I/O口,而且還有第2功能;7)上述四個口,作為I/O口,在讀數據前,先向對應控制寄存器寫入1;8)RD和WR:輸出口,無需編程,自動配合控制程序。72.1.3片外總線結構1.數據總線2.地址總線3.控制總線8(1)運算部件ALU 累加器ACC
寄存器B
程序狀態字寄存器PSW(2)控制器部件 程序計數器PC
指令寄存器IR
定時與控制邏輯2.2.1CPU結構2.2CPU和時鐘電路中央處理器CPU是單片機的核心部件,是用來實現運算和控制功能的部件。CPU通過數據總線、地址總線和控制總線與其他部件之間進行聯系。一、CPU內部結構1.算術邏輯運算單元ALU(8位)+、–、×、÷算術運算,與、或、非、異或邏輯運算、循環移位、位處理。2.寄存器陣列
(1)工作寄存器R0~R7
(8位)暫存運算數據和中間結果。
4個工作寄存器區,工作寄存器0區~3區。每個區均含8個寄存器R0~R7。
9
(2)累加器Acc(8位)
運算時,將累加器中的一個操作數經暫存器2送至ALU,與另一個來自暫存器1的操作數在ALU中運算,運算結果又送回ACC。(3)寄存器B(8位)乘、除運算時存放一個操作數、運算結果。亦可作通用寄存器。(4)程序狀態字PSW(8位)
存放ALU運算過程的標志狀態,例如結果有無溢出,進位等
CyACF0RS1RS0OV—P10(5)數據指針DPTR(16位)
存放片外存儲器地址,作為片外存儲器的指針。可分成兩個8位寄存器DPH、DPL使用。(6)堆棧指針SP(8位)堆棧是按“先進后出、后進先出”的原則存取數據的存儲區。MCS-51堆棧設在片內RAM區。數據入棧/出棧時,SP自動加1/減1,其內容始終為棧頂地址。復位時:SP=07H。(7)程序計數器PC(16位)----取指地址CPU總是按PC的指示讀取程序。PC可自動加1。因此CPU執行程序一般是順序方式。當發生轉移、子程序調用、中斷和復位等操作,PC被強制改寫,程序執行順序也發生改變。復位時:PC=0000H。11122.2.2時鐘電路內部時鐘電路外部時鐘電路為了保證各部件間協調一致的同步工作,單片機內部的電路應在唯一的時鐘信號控制下嚴格地按照時序進行工作。單片機時鐘電路:通常有兩種,即內部時鐘電路和外部時鐘電路。13單片機片內有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體振蕩器或陶瓷諧振器連接,就構成了內部自激振蕩器并產生振蕩時鐘脈沖(如圖所示)。1.內部時鐘方式:外接晶體振蕩器時,C1和C2值通常選為20~40pF;外接陶瓷振蕩器時,C1和C2為30~50pF。C1和C2對頻率有微調作用,影響振蕩的穩定性和起振速度。為了減少寄生電容,更好地保證振蕩器穩定可靠的工作,振蕩器和電容應盡可能與芯片靠近安裝。14外部時鐘電路外部振蕩方式就是把外部已有的時鐘信號引入單片機內,如圖所示。2.外部時鐘方式:當多芯片同時工作時,這種方式便于同步。152.2.3CPU時序:各指令的微操作在時間上有嚴格的次序,這種微操作的時間次序我們稱作時序。為了便于對CPU的時序進行分析,人們按指令的執行過程規定了幾種周期,即時鐘周期、機器周期和指令周期,這也被稱為時序定時單位。①振蕩周期:也稱時鐘周期,是指為單片機提供時鐘脈沖信號的振蕩源的周期,它是時鐘信號頻率fOSC的倒數,是單片機中最基本、最小的時間單位。如果時鐘信號或晶體振蕩器的頻率為12MHz,則振蕩周期T=1/12μs。把振蕩脈沖的周期定義為拍節(Phase,用P表示)。②狀態周期:振蕩脈沖經過二分頻后,就是單片機的狀態信號,其周期定義為狀態(State,用S表示),亦即CPU從一個狀態轉換到另一狀態所需的時間。一個狀態周期由一個或一個以上的時鐘周期組成。在MCS-51中,一個狀態周期由兩個振蕩周期組成。16③機器周期:指的是計算機完成一次完整的、基本的操作所需要的時間。MCS-51一個機器周期由六個狀態周期組成,共12個振蕩周期。P1P2S1P2振蕩周期(節拍)狀態周期機器周期機器周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2MCS-51系列單片機一個機器周期由12個振蕩周期組成,分為六個狀態,分別稱為S1、S2、S3、S4、S5、S6,每個狀態都包含P1、P2兩個節拍。17④指令周期:它是指CPU完成一條指令操作所需的全部時間。每條指令執行時間都是由一個或幾個機器周期組成。MCS-51系統中,有單周期指令、雙周期指令和四周期指令。1.復位狀態復位是單片機的初始化操作,單片機在啟動運行初始化和運行過程中程序出錯或操作錯誤使系統處于死鎖狀態時,都需要進行復位,它的作用是使系統處于一個確定的初始狀態,并從這個狀態開始工作。復位是一個很重要的操作方式。2.2.4復位電路18單片機的外部復位電路有上電自動復位電路和按鍵手動復位電路兩種。上電自動復位利用電容器充電來實現。上電瞬間,RC電路充電,RST引腳端出現正脈沖,只要RST引腳端保持10ms以上高電平,就可使單片機有效的復位。2.復位電路3、復位后的狀態:復位后,片內各寄存器的狀態如表2.1所列,表中X為不確定數。192.3存儲器MCS-51及其兼容的系列單片機存儲器由三部分組成:
程序存儲器(包括片內程序存儲器,大小與芯片型號有關;外部程序存儲器地址編碼從0000H~FFFFH,共64KB)。
片內數據存儲器(包括內部RAM存儲器00H~FFH,共256字節;特殊功能寄存器)。
外部數據存儲器(0000H~FFFFH,共64KB)。單片機的存儲器在物理結構上可分為4個存儲空間:片內程序存儲器;片外程序存儲器;片內數據存儲器;片外數據存儲器。202.3.1程序存儲器1、程序存儲器:包括片內和片外程序存儲器兩個部分,是統一編址的。其主要用來存放編好的用戶程序和表格常數,它以16位的程序計數器PC作為地址指針,故其直接尋址空間為64KB。21
2.地址分配:具體在擴展外部程序存儲器時,如果引腳信號為高電平,則對ROM的讀操作是從內部程序存儲器開始,可延續至外部程序存儲器。如果引腳信號為低電平,則對ROM的讀操作僅限定在外部程序存儲器。在訪問外部程序存儲器時,還產生外部程序存儲器讀選通控制信號,而在訪問內部程序存儲器時,不產生該信號。22在程序存儲器中有7個特殊單元,使用時應予以注意:3.程序存儲器的入口地址上電復位后,程序計數器(PC)=0000H,單片機從0000H單元開始取指令執行程序。一般在這三個單元中存放一條無條件轉移指令,以便直接轉去指定的主程序入口地址。以上為五個中斷源的中斷地址區,又稱為中斷入口地址。通常也是從中斷地址區首地址開始存放一條無條件轉移指令,以便中斷響應后,通過中斷地址區,再轉到中斷服務程序的實際入口地址去執行。232.3.2數據存儲器單片機的數據存儲器主要用于存放經常要修改的運算中間結果、數據暫存或標志位等,通常都是由隨機訪問存儲器RAM組成的。數據存儲器可以分為片內和片外兩個部分。片內數據存儲器與片外數據存儲器不論在邏輯上還是在物理上都是分開的,它們是通過不同的尋址方式來區分的。24數據存儲器可分為內部數據存儲器和外部數據存儲器,部分地址是重疊的,訪問時用不同的指令來加以區分:訪問內部數據存儲器用MOV指令;訪問外部數據存儲器用MOVX指令。內部數據存儲器最大可尋址256個單元,其又分為兩個部分:低128B,地址范圍是00H~7FH,是真正的RAM區;高128B,地址范圍是80H~FFH,是特殊功能寄存器(SFR)區。1.內部數據存儲器低128單元2551單片機的32個工作寄存器與RAM安排在同一個隊列空間里,統一編址并使用同樣的尋址方式(直接尋址和間接尋址)
51系列單片機共有4組通用工作寄存器,每組有8個工作寄存器(R0~R7),占用內部RAM的00H~1FH地址,共占32個單元。
(1)通用工作寄存器區通用工作寄存器常用于存放操作數或中間結果等,有時也簡稱工作寄存器。26在任一時刻,CPU只能使用其中的一組工作寄存器,并且把正在使用的那組工作寄存器稱之為當前工作寄存器組。通過對程序狀態字PSW中RS1、RS0的設置,每組寄存器均可選作CPU的當前工作寄存器27位尋址區的地址范圍為20H~2FH單元,其既可作為一般RAM單元使用,進行字節操作,也可以對單元中的每一位進行位操作,因此把該區稱之為位尋址區。位尋址區共有16個RAM單元,總計128位,位地址范圍為00H~7FH,可用位尋址方式訪問各位。
(2)位尋址區28128位的位地址為00H~7FH,其位地址分布見下表:MSB(MostSignificantBit):最高有效位LSB(LeastSignificantBit):最低有效位298051采用不同的尋址方式來加以區分,即訪問128個位地址用位尋址方式,訪問128B單元地址用直接尋址和間接尋址方式,這樣就可以區分開00H~7FH是位地址還是字節地址。對用戶RAM區的使用沒有任何規定或限制,但應當提及,在一般應用中常把堆棧開辟在此區中。(3)用戶RAM區:就是供用戶使用的一般RAM區,其單元地址為30H~7FH。128位的位地址為00H~7FH,而128B的RAM單元的地址范圍也是00H~7FH,地址形式一樣。30在片外數據存儲器中,數據區和擴展的I/O口是統一編址的,使用的指令也完全相同,因此,用戶在應用系統設計時,必須合理地進行外部RAM和I/O端口的地址分配,并保證譯碼的唯一性。2.外部數據存儲器片內RAM與片外RAM的低地址部分(00H~0FFH)是相同的,但是它們卻是兩個地址空間,區分這兩個地址空間的方法是采用不同的指令:訪問片內數據存儲器時,采用MOV指令;訪問片外數據存儲器時,采用MOVX指令。外部數據存儲器又稱外部RAM,當片內RAM不能滿足數量上的要求時,可通過總線端口和其他I/O口擴展外部數據RAM,其最大容量可達64K字節。312.3.3特殊功能寄存器特殊功能寄存器主要用于管理片內各功能部件,是一類特殊的寄存器,其地址位于片內數據存儲器高128單元。51系列單片機對特殊功能寄存器采取與片內RAM統一編址的方法進行管理,使用直接尋址方式,其中有些寄存器還可以進行位尋址。由于單片機芯片內集成了一些常用的外圍接口電路,如并行I/O端口、串行口、定時器/計數器、中斷控制器等,因此這些外圍接口電路中的控制寄存器、狀態寄存器以及數據寄存器也就位于芯片內,統稱為特殊功能寄存器(SFR,即SpecialFunctionRegisters)。3233①MCS-51單片機共有21個特殊功能寄存器;②89S51單片機共有22個特殊功能寄存器;③89S52單片機共有26個特殊功能寄存器其中部分寄存器介紹如下,其余的將在以后章節中陸續說明。程序計數器PC是一個16位計數器,用于存放和指示下一條將要執行的指令的地址,尋址范圍為64KB,即整個程序存儲器空間。PC具有自動加1的功能,當一條指令從存儲器中取出之后,PC值就會自動加1,指向下一條將要執行的指令的地址。注意:在單片機中取指令的操作是以字節為單位進行計數的。
1.程序計數器PC(ProgramCounter)34B寄存器是一個8位寄存器,主要用于乘除運算。乘法運算時,B是乘數,乘法操作后,乘積的高8位存于B中;除法運算時,B是除數,除法操作后,余數存于B中。此外,B寄存器也可作為一般數據寄存器使用,其地址為0F0H。3.B寄存器2.累加器A(Accumulator):是最繁忙的一個寄存器,加、減、乘、除算術運算指令的結果都存放在累加器A或AB寄存器對中。指令系統中用A作為累加器的助記符。35數據指針DPTR為16位寄存器。編程時,DPTR既可以按16位寄存器使用,也可以分為兩個8位寄存器分開使用,即高位字節DPH和低位字節DPL。4.雙數據指針DPTR(DataPointer)DPTR通常在訪問外部數據存儲器時作間址寄存器使用,也可以用在變址尋址方式中,用DPTR作基址寄存器,用于對程序存儲器的訪問。由于外部數據存儲器的尋址范圍64KB,故把DPTR設計為16位。365.堆棧指針SP(StackPointer)堆棧是一種數據結構,所謂堆棧就是只允許在其一端進行數據插入和數據刪除操作的線性表。數據插入堆棧稱為入棧(PUSH),從堆棧中讀出數據稱為出棧(POP)。堆棧的最大特點就是“后進先出”。不論是數據進棧還是數據出棧,都是對堆棧的棧頂單元進行的。為了指示棧頂地址,設置堆棧指針SP,SP的內容就是堆棧棧頂的存儲單元地址。51單片機堆棧設在內部數據存儲器RAM中,通過一個8位地址就可以訪問。其SP是一個8位特殊功能寄存器SFR。系統復位后,SP的內容為07H,一般在程序設計時把SP值初始化為30H以后。由于SP始化為不同值,因此堆棧位置是浮動的。37程序狀態字寄存器PSW:8位。其各位含義為:
CY:進位、借位標志。有進位、借位時CY=1,否則CY=0;
AC:輔助進位、借位標志;
F0:用戶標志位,由用戶自己定義;
RS1、RS0:當前工作寄存器組選擇位;
OV:溢出標志位。有溢出時OV=1,否則OV=0;
P:奇偶標志位。ACC中結果有奇數個1時P=1,否則P=0。6.程序狀態字寄存器PSW382.4并行I/O端口結構
MCS-51系列單片機(包括89S51/S52單片機)具有4個8位并行雙向I/O端口P0,P1,P2和P3,共32根I/O口線。每一根I/O口線都能獨立地用作輸入或輸出口,具有字節尋址和位尋址功能。這4個端口是單片機與外部設備進行信息(數據、地址、控制信號)交換的輸入或輸出通道。在數據傳輸過程中,是通過對接口電路中輸入/輸出數據的端口寄存器進行編址以進行讀/寫操作的。39P0:有開關控制,作數據和地址A0-A7總線,漏極開路I/O口;P1:有上拉電阻,用作通用I/O口;P2:有開關,也有上拉電阻,A8-A15總線,不擴展高位地址時作準雙向口P3:有上拉電阻,作通用I/O口,但是其每一引腳還具有第二功能P0、P1、P2、P3四個8位并行I/O口,全部可以作為雙向I/O口,它們的用途:40在系統擴展中,P0口分時用作低8位地址線和數據線。P0口先輸出片外存儲器的低8位地址并鎖存到地址鎖存器中,然后再輸出或輸入數據。另外,P0口還可以用作通用輸入/輸出口使用。2.4.1P0口411.P0口作低8位地址/數據總線此時,控制信號為高電平,多路開關MUX接通A端。地址總線輸出外部數據輸入422.P0口用作一般I/O口讀引腳讀鎖存器讀-修改-寫控制信號為低電平,多路開關MUX接通B端。注意:當作為輸入口使用時,應先向口鎖存器寫1。因為要防止V2導通,造成讀取數據錯誤。本來Q端與引腳的信號是一致的,不直接讀引腳而讀鎖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車制造業2025年供應鏈風險管理數字化解決方案報告
- 2025屆廣東省梅州市梅江實驗中學英語八年級第二學期期末質量檢測模擬試題含答案
- 2025年元宇宙社交平臺虛擬現實社交平臺運營模式研究報告
- 城市污水處理廠智能化升級改造中的智能化水質處理技術研究報告
- 2025年醫院電子病歷系統在醫院信息化建設中的邊緣計算應用報告
- 2025年醫藥行業未來趨勢:仿制藥一致性評價下的醫藥電商發展報告
- 2025年醫藥企業研發外包(CRO)與企業核心競爭力提升報告
- 能源行業2025年儲能技術多元化儲能電池材料研發與創新報告
- 禮儀培訓課件標題
- 安全轉運試題及答案
- 2025年中學教師資格考試《綜合素質》教育法律法規經典案例分析及強化試題集(含答案)
- 2025年小學語文期末考試試題及答案
- 發改委立項用-超薄玻璃項目可行性研究報告
- 《等腰三角形的性質》課件
- 工業互聯網與船舶行業融合應用參考指南 2025
- 2024年浙江省《輔警招聘考試必刷500題》考試題庫附答案【綜合題】
- 中國熔融粘合環氧粉末涂料項目商業計劃書
- 200以內加減法-2000題(帶答案)
- 南通國家級南通經濟技術開發區公開招聘招商人員筆試歷年參考題庫附帶答案詳解析
- 2025年北京市第一次普通高中學業水平合格性考試歷史試題(含答案)
- 蘇教版-數學二年級下冊-期末試卷10套
評論
0/150
提交評論