單片機應(yīng)用技術(shù)第三周_第1頁
單片機應(yīng)用技術(shù)第三周_第2頁
單片機應(yīng)用技術(shù)第三周_第3頁
單片機應(yīng)用技術(shù)第三周_第4頁
單片機應(yīng)用技術(shù)第三周_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機應(yīng)用技術(shù)第三周第一頁,共三十四頁,2022年,8月28日MCS—51單片機的存儲器配置

MCS-51的程序存儲器地址配置FFFFH1000H內(nèi)部程序存儲器(ROM)4KB0FFFH0000HFFFFH0000H(EA=0)外部程序存儲器(ROM)64KB外部程序存儲器(ROM)60KB

EA=1程序存儲器配置第二頁,共三十四頁,2022年,8月28日位尋址區(qū)(位地址00H~7FH)

16B工作寄存器區(qū)3(R0~R7)8B工作寄存器區(qū)2(R0~R7)8B工作寄存器區(qū)1(R0~R7)8B工作寄存器區(qū)0(R0~R7)8B07H00H.........OFH08H17H10H1FH18H2FH20H7FH30H數(shù)據(jù)緩沖區(qū)

80BFFH80H

特殊功能寄存器區(qū)

128B內(nèi)部數(shù)據(jù)存儲器(RAM)FFFFH0000H外部數(shù)據(jù)存儲器(RAM)特殊功能寄存器

MCS-51系列單片機的數(shù)據(jù)存儲器地址配置第三頁,共三十四頁,2022年,8月28日※

每一個I/O口都能用作輸入或輸出。

用作輸入時,均須先寫入“1”;用作輸出時,P0口應(yīng)外接上拉電阻。

在并行擴展外存儲器或I/O口情況下,

P0口用于低8位地址總線和數(shù)據(jù)總線,分時傳送低

8位地址(地址總線)和8位數(shù)據(jù)信號;

P2口用于高8位地址總線;

P3口常用于第二功能,用戶能使用的I/O口只有P1口和未用作第二功能的部分P3口端線。第四頁,共三十四頁,2022年,8月28日8051地址鎖存器程序存儲器(60K)數(shù)據(jù)存儲器(64K)ALE0EPSENWRRDWRRDP2口P0口EAVCC8051同時擴展外ROM和外RAM連接圖A0~A7A8~A15D0~D774L537327646264第五頁,共三十四頁,2022年,8月28日1.4時鐘電路與復(fù)位電路1.4.1單片機的時鐘電路與時序

1.時鐘信號的產(chǎn)生在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機的時鐘振蕩電路,如圖1.13所示。第六頁,共三十四頁,2022年,8月28日時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。請讀者特別注意時鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會造成概念上的錯誤。一般地,電容C1和C2取30pF左右,晶體的振蕩頻率范圍是1.2~12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快。MCS-51在通常應(yīng)用情況下,使用的振蕩頻率為6MHz或12MHz。第七頁,共三十四頁,2022年,8月28日圖1.13時鐘振蕩電路第八頁,共三十四頁,2022年,8月28日

2.引入外部脈沖信號在由多片單片機組成的系統(tǒng)中,為了各單片機之間時鐘信號的同步,應(yīng)當(dāng)引入惟一的公用外部脈沖信號作為各單片機的振蕩脈沖。這時,外部的脈沖信號經(jīng)XTAL2引腳輸入,其連接如圖1.14所示。第九頁,共三十四頁,2022年,8月28日圖1.14外部時鐘源接法第十頁,共三十四頁,2022年,8月28日

3.時序

1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍(用P表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機的時鐘信號的周期,定義其為狀態(tài)(用S表示)。這樣,一個狀態(tài)就包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫節(jié)拍1(P1),后半周期對應(yīng)的節(jié)拍叫節(jié)拍2(P2)。第十一頁,共三十四頁,2022年,8月28日

2)機器周期

MCS-51采用定時控制方式,因此它有固定的機器周期。規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為S1~S6,可參見圖1.15(a)。由于一個狀態(tài)又包括兩個節(jié)拍,因此,一個機器周期總共有12個節(jié)拍,分別記作S1P1、S1P2、…、S6P2。由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振蕩脈沖的十二分頻。當(dāng)振蕩脈沖頻率為12MHz時,一個機器周期為1μs;當(dāng)振蕩脈沖頻率為6MHz時,一個機器周期為2μs。第十二頁,共三十四頁,2022年,8月28日

3)指令周期指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱為指令周期。它一般由若干個機器周期組成。不同的指令,所需要的機器周期數(shù)也不相同。通常,包含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令,依次類推。指令的運算速度與指令所包含的機器周期有關(guān),機器周期數(shù)越少的指令,執(zhí)行速度越快。MCS-51單片機指令通??梢苑譃閱沃芷谥噶睢㈦p周期指令和四周期指令。四周期指令只有乘法和除法指令兩條,其余均為單周期和雙周期指令。單片機執(zhí)行任何一條指令時都可以分為取指令階段和執(zhí)行指令階段。MCS-51的取指/執(zhí)行時序如圖1.15(a)所示。第十三頁,共三十四頁,2022年,8月28日由圖1.15(a)可見,ALE引腳上出現(xiàn)的信號是周期性的,在每個機器周期內(nèi)出現(xiàn)兩次高電平。第一次出現(xiàn)在S1P2和S2P1期間,第二次出現(xiàn)在S4P2和S5P1期間。ALE信號每出現(xiàn)一次高電平,CPU就進行一次取指操作,但由于不同指令的字節(jié)數(shù)和機器周期數(shù)不同,因此取指令操作也隨指令的不同而有小的差異。按照指令字節(jié)數(shù)和機器周期數(shù),8051的111條指令可分為6類,分別是:單字節(jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令、三字節(jié)雙周期指令,參見附錄2。第十四頁,共三十四頁,2022年,8月28日圖1.15(b)、(c)分別給出了單字節(jié)單周期和雙字節(jié)單周期指令的時序。單周期指令的執(zhí)行始于S1P2,這時操作碼被鎖存到指令寄存器內(nèi)。若是雙字節(jié)指令,則在同一機器周期的S4讀第二字節(jié);若是單字節(jié)指令,則在S4仍有讀操作,但被讀入的字節(jié)無效,且程序計數(shù)器PC并不加1。圖1.15(d)給出了單字節(jié)雙周期指令的時序,兩個機器周期內(nèi)進行了4次讀操作碼操作。因為是單字節(jié)指令,所以后三次讀操作都是無效的。第十五頁,共三十四頁,2022年,8月28日圖1.15MCS-51單片機的取指/執(zhí)行時序單片機的機器周期;(b)單字節(jié)單周期指令,如INCA;(c)雙字節(jié)單周期指令,如ADDA,data;(d)單字節(jié)雙周期指令,如INCDPTR第十六頁,共三十四頁,2022年,8月28日1.4.2單片機的復(fù)位電路單片機復(fù)位使CPU和系統(tǒng)中的其它功能部件都處在一個確定的初始狀態(tài)下,并從這個狀態(tài)開始工作,例如復(fù)位后PC=0000H,使單片機從第一個單元取指令。從實訓(xùn)1已經(jīng)看出,無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位,所以我們必須弄清楚MCS-51型單片機復(fù)位的條件、復(fù)位電路和復(fù)位后的狀態(tài)。單片機復(fù)位的條件是:必須使RST/VPD或RST引腳(9)加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平。例如,若時鐘頻率為12MHz,每個機器周期為1μs,則只需2μs以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機器周期執(zhí)行復(fù)位。單片機常見的復(fù)位電路如圖1.16(a)、(b)所示。第十七頁,共三十四頁,2022年,8月28日圖1.16(a)為上電復(fù)位電路,它是利用電容充電來實現(xiàn)的。在接電瞬間,RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。只要保證RST為高電平的時間大于兩個機器周期,便能正常復(fù)位。圖1.16(b)為按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖1.16(b)中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個復(fù)位高電平。第十八頁,共三十四頁,2022年,8月28日圖1.16單片機常見的復(fù)位電路(a)上電復(fù)位電路;(b)按鍵復(fù)位電路第十九頁,共三十四頁,2022年,8月28日單片機復(fù)位期間不產(chǎn)生ALE和信號,即ALE=1和=1。這表明單片機復(fù)位期間不會有任何取指操作。復(fù)位后,內(nèi)部各專用寄存器狀態(tài)如下:PC:0000H TMOD: 00HACC:00H TCON: 00HB: 00H TH0: 00HPSW:00H TL0: 00HSP: 07H

TH1: 00HDPTR:0000H TL1: 00HP0~P3:FFH

SCON: 00HIP: ***00000B SBUF: 不定IE: 0**00000B PCON: 0***0000B第二十頁,共三十四頁,2022年,8月28日其中,*表示無關(guān)位。請注意:

(1)復(fù)位后PC值為0000H,表明復(fù)位后程序從0000H開始執(zhí)行,這一點在實訓(xùn)1中已介紹。

(2)SP值為07H,表明堆棧底部在07H。一般需重新設(shè)置SP值。

(3)P0~P3口值為FFH。P0~P3口用作輸入口時,必須先寫入“1”。單片機在復(fù)位后,已使P0~P3口每一端線為“1”,為這些端線用作輸入口做好了準(zhǔn)備。第二十一頁,共三十四頁,2022年,8月28日1.5單片機的工作過程單片機的工作過程實質(zhì)上是執(zhí)行用戶編制程序的過程。一般程序的機器碼都已固化到存儲器中,例如實訓(xùn)1中的步驟(3),因此開機復(fù)位后,就可以執(zhí)行指令。執(zhí)行指令又是取指令和執(zhí)行指令的周而復(fù)始的過程。例如指令MOVA,#56H表示把立即數(shù)56H這個值送入A累加器。該指令對應(yīng)的機器碼是74H、56H,假設(shè)它們已存在0000H開始的單元中。下面我們來說明單片機的工作過程。接通電源開機后,PC=0000H,取指令過程如下:

(1)?PC中的0000H送到片內(nèi)的地址寄存器。第二十二頁,共三十四頁,2022年,8月28日

(2)?PC的內(nèi)容自動加1變?yōu)?001H,指向下一個指令字節(jié)。

(3)地址寄存器中的內(nèi)容0000H通過地址總線送到存儲器,經(jīng)存儲器中的地址譯碼選中0000H單元。

(4)?CPU通過控制總線發(fā)出讀命令。

(5)被選中單元的內(nèi)容74H送內(nèi)部數(shù)據(jù)總線,該內(nèi)容通過內(nèi)部數(shù)據(jù)總線送到單片機內(nèi)部的指令寄存器。至此,取指令過程結(jié)束,進入執(zhí)行指令過程。第二十三頁,共三十四頁,2022年,8月28日微型機的工作過程取指令分析指令執(zhí)行指令執(zhí)行程序的過程第二十四頁,共三十四頁,2022年,8月28日地址譯碼器0000H0001H0002H00ff01110100ff單元地址線數(shù)據(jù)線讀……控制邏輯CPU

0101011001110100第二十五頁,共三十四頁,2022年,8月28日執(zhí)行指令的過程如下:

(1)指令寄存器中的內(nèi)容經(jīng)指令譯碼器譯碼后,表明這條指令是取數(shù)命令,即把一個立即數(shù)送A中。

(2)?PC的內(nèi)容為0001H,送地址寄存器,譯碼后選中0001H單元,同時PC的內(nèi)容自動加1變?yōu)?002H。

(3)?CPU同樣通過控制總線發(fā)出讀命令。

(4)將0001H單元的內(nèi)容56H讀出并經(jīng)內(nèi)部數(shù)據(jù)總線送至A。至此,本指令執(zhí)行結(jié)束。PC=0002H,機器又進入下一條指令的取指令過程。機器一直重復(fù)上述過程直到程序中的所有指令執(zhí)行完畢,這就是單片機的基本工作過程。第二十六頁,共三十四頁,2022年,8月28日本章小結(jié)本章通過介紹MCS-51型單片機芯片的硬件結(jié)構(gòu)及工作特性,使我們知道MCS-51單片機是由一個8位CPU,一個片內(nèi)振蕩器及時鐘電路,4KBROM(8051有4KB掩膜ROM,8751有4KBEPROM,8031片內(nèi)無ROM,89C51有4KBFPEROM),128B片內(nèi)RAM,21個特殊功能寄存器,兩個16位定時/計數(shù)器,4個8位并行I/O口,一個串行輸入/輸出口和5個中斷源等電路組成的。芯片共有40個引腳,除了電源、地、兩個時鐘輸入/輸出腳以及32個I/O引腳外,還有4個控制引腳:ALE(低8位地址鎖存允許)、(片外ROM讀選通)、RST(復(fù)位)、(內(nèi)外ROM選擇)。第二十七頁,共三十四頁,2022年,8月28日

MCS-51單片機片內(nèi)有256B的數(shù)據(jù)存儲器,它分為低128B的片內(nèi)RAM區(qū)和高128B的特殊功能寄存器區(qū)。低128B的片內(nèi)RAM又可分為工作寄存器區(qū)(00H~1FH)、位尋址區(qū)(20H~2FH)和數(shù)據(jù)緩沖器(30H~7FH)。累加器A、程序狀態(tài)寄存器PSW、堆棧指針SP、數(shù)據(jù)存儲器地址指針DPTR、程序存儲器地址指針PC,均有著特殊的用途和功能。

MCS-51單片機有4個8位的并行I/O口,它們在結(jié)構(gòu)和特性上基本相同。當(dāng)需要片外擴展RAM和ROM時,P0口分時傳送低8位地址和8位數(shù)據(jù),P2口傳送高8位地址,P3口常用于第二功能,通常情況下只有P1口用作一般的輸入/輸出引腳。第二十八頁,共三十四頁,2022年,8月28日習(xí)題11.1單項選擇題。(1)?MCS-51單片機的CPU主要由

組成。A.運算器、控制器 B.加法器、寄存器C.運算器、加法器 D.運算器、譯碼器(2)單片機中的程序計數(shù)器PC用來

。A.存放指令 B.存放正在執(zhí)行的指令地址C.存放下一條指令地址 D.存放上一條指令地址(3)單片機AT89C51的引腳

。A.必須接地 B.必須接+5VC.可懸空 D.以上三種視需要而定第二十九頁,共三十四頁,2022年,8月28日(4)訪問外部存儲器或其它接口芯片時,作數(shù)據(jù)線和低8位地址線的是

。A.P0口 B.P1口C.P2口 D.P0口和P2口(5)?PSW中的RS1和RS0用來

。A.選擇工作寄存器區(qū)號 B.指示復(fù)位C.選擇定時器 D.選擇工作方式(6)單片機上電復(fù)位后,PC的內(nèi)容和SP的內(nèi)容為

。

A.0000H,00H B.0000H,07H

C.0003H,07H D.0800H,08H1.2填空題(1)若MCS-51單片機的晶振頻率為fOSC=12MHz,則一個機器周期等于

μs。第三十頁,共三十四頁,2022年,8月28日

(2)?MCS-51單片機的XTAL1和XTAL2引腳是

引腳。

(3)MCS-51單片機的數(shù)據(jù)指針DPTR是一個16位的專用地址指針寄存器,主要用來

(4)?MCS-51單片機中輸入/輸出端口中,常用于第二功能的是

(5)?MCS-51單片機內(nèi)存的堆棧是一個特殊的存儲區(qū),用來

,它是按后進先出的原則存取數(shù)據(jù)的。

(6)?單片機應(yīng)用程序一般存放在

中。

1.3微型計算機系統(tǒng)由哪幾部分組成?

1.4什么是單片機?它由哪幾部分組成?什么是單片機應(yīng)用系統(tǒng)?二者是什么關(guān)系?第三十一頁,共三十四頁,2022年,8月28日

1.5MCS-51單片機的控制線有幾根?每一根控制線的作用是什么?

1.6P3口的第二功能是什么?

1.7MCS-51單片機片內(nèi)RAM的組成是如何劃分的,各有什么功能?

1.8MCS-51

溫馨提示

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

評論

0/150

提交評論