版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
LiuHongHarbinuniversity劉宏單片機原理及其應用電氣信息工程1第二章MCS-51的結構和原理1MCS-51的基本結構和應用模式2MCS-51的內(nèi)部結構3MCS-51的存儲器組織4MCS-51的并行口結構與操作5MCS-51的典型產(chǎn)品資源配置2第五位數(shù)字1基本型4KROM2增強型
8KROM2.1MCS-51系列概述2.1.1MCS-51系列
MCS-51是Intel公司生產(chǎn)的一個單片機系列名稱。這一系列的單片機包括兩大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列屬于增強型。各子系列配置如表2-1所示。第四位數(shù)字代表片內(nèi)有無程序存儲器3片內(nèi)無程序存儲器5片內(nèi)有程序存儲器片內(nèi)ROM形式無ROMEPROMFlash51基本型80318051875180C3180C5187C5189C5152增強型80328052875280C3280C5287C5289C52第三位字母代表單片機的生產(chǎn)工藝空白為HMOSC為CHMOSS為在線可編程ISP第二位數(shù)字代表程序存儲器類型0無ROM或為工廠掩膜7為OTP或EPROM9為Flash3芯片型號中C的意義MCS-51系列單片機采用以下兩種半導體工藝生產(chǎn)
HMOS
芯片型號中不帶有字母“C”的,功耗較大。
CHMOS
芯片型號中凡帶有字母“C”的,具有高速度、高密度、低功耗的特點例如8051的功耗為630mW,
80C51的功耗只有120mW。在便攜式、手提式或野外作業(yè)儀器設備或長期無人值守自動監(jiān)測、監(jiān)控的儀表上是非常有意義的。因此在這些產(chǎn)品中最好使用CHMOS型單片機芯片。4程序存儲器類型在片內(nèi)程序存儲器的配置上,該系列單片機有三種形式,即掩膜ROM、EPROM和ROM。兼容型51則存在OTP和Flash類型。只讀存儲器ROM(ReadOnlyMemory)
特點:在正常操作時只能讀出而不能寫入,斷電后ROM中的信息不會丟失。常用來存放一些固定程序或數(shù)據(jù)表等。
ROM按編程(存儲信息)的方式又可分為:
掩膜ROM:信息由廠家固化,用戶不能更改。
可編程只讀存儲器PROM:信息由用戶一次性寫入,一旦寫入,只能讀出,不能再更改。(OTP)
可擦除可編程只讀存儲器EPROM:紫外線擦除,可重復編程。
電可擦除可編程只讀存儲器EEPROM/E2PROM:可通過加電寫入或清除其內(nèi)容。既有與RAM一樣讀寫操作簡便,又有數(shù)據(jù)不會因掉電而丟失的優(yōu)點。但價格昂貴??觳翆懘鎯ζ鱂LASH:類似EEPROM可以采用電擦除和寫入,但是只能整頁擦除和寫入,擦除次數(shù)和數(shù)據(jù)保存時間不如EEPROM,但是價格低廉。52.2MCS-51的基本結構和應用模式單片機的三總線結構以微處理器(CPU)為核心CPU與其他部件間通過三總線連接AB:AddressBusDB:DataBusCB:ControlBus
AB復位外部設備ROMRAMC/T中斷系統(tǒng)I/O口CPU時鐘DBCB嵌入式處理器6總線:連接功能部件間的一組公共信號線地址總線AB:CPU輸出的地址碼信號,用于選擇被訪問的具體的存儲單元、I/O端口*地址線的根數(shù)決定了CPU的尋址范圍。CPU的尋址范圍=2n,n-地址線根數(shù)如:8位地址碼,可尋址28=256個存儲單元16位地址碼,可尋址216=64K個存儲單元數(shù)據(jù)總線DB:CPU與存儲器、I/O接口之間
(雙向)傳送數(shù)據(jù)的公共通路。
*數(shù)據(jù)總線的條數(shù)決定CPU一次最多可以傳送的數(shù)據(jù)寬度(位數(shù))。如:8位機的DB有8條,CPU一次可讀寫8位數(shù)據(jù)16位機的DB有16條,CPU一次可讀寫16位
控制總線CB:用來傳送各種控制或狀態(tài)信號
*CPU送出和接受的對存儲器、I/O接口讀寫及中斷等控制信號2.2.1單片機的三總線(BUS)72.2MCS-51的基本結構和應用模式2.2.2MCS-51單片機的引腳及封裝40引腳,雙列直插式結構VCCGND電源VCC-40GND-20DC5V單片機電源處理需要注意什么問題?1、4.0Vto5.5V電壓范圍2、并聯(lián)退耦電容82.2MCS-51的基本結構和應用模式2.2.2MCS-51單片機的引腳及封裝40引腳,雙列直插式結構VCCXTAL1XTAL2GND電源VCC-40、GND-20時鐘XTAL1-18、XTAL2-19單片機中時鐘的作用?92.2MCS-51的基本結構和應用模式2.2.2MCS-51單片機的引腳及封裝40引腳,雙列直插式結構RST/VPDVCCEA/VPPALE/PROGPSENXTAL2XTAL1GND電源VCC-40、GND-20時鐘XTAL2-18、XTAL1-19控制總線PSEN-33ProgramStoreEnableALE-32AddressLatchEnableEA/VPP-31ExternalAccessEnableRESET-9100時,選外部ROM;EA=復位信號:高電平復位CPU,低電平CPU工作EA/VPPALEPSEN名稱功能片外取指信號(片外程序存儲器讀)輸出端低電平有效。通過P0口讀回指令或常數(shù)。控制的是片外程序存儲器RESET控制總線控制信號地址鎖存信號。ALE低電平時,P0口出現(xiàn)數(shù)據(jù)信息;ALE高電平時,P0口出現(xiàn)地址信息。程序存儲器選擇信號
1,地址小于4k時,選內(nèi)部ROM(針對51)地址大于4k時,選外部ROM(針對51)P0口是數(shù)據(jù)/地址復用口用下降沿鎖存P0口的低8位地址到外部鎖存器112.2MCS-51的基本結構和應用模式2.2.2MCS-51單片機的引腳及封裝40引腳,雙列直插式結構P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0RXDTXD
INT0
INT1
T0
WRRDT1
P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7VccEA/VPPALE/PROGPSENXTAL1XTAL2GND電源Vcc-40、GND-20時鐘XTAL1-18、XTAL2-19控制總線PSEN-33ALE-32EA/VPP-31RESET-9I/O口線
P0
P1
P2I/O口||地址總線高8bit
P3共32條I/O口||數(shù)據(jù)/地址總線低8bitI/O口I/O口||第二功能口一共有幾個總線?122.2.3MCS-51的應用模式(1)無外部總線應用模式優(yōu)點:不使用外部擴展總線因此具有較多的外部I/O口(最多32根I/O)外部電路簡單,體積小功耗低,可靠性高缺點:只能使用單片機內(nèi)部的ROM和RAM,因此資源有限,無法實現(xiàn)復雜功能由于半導體工藝技術的提高,單片機內(nèi)部集成的RAM/ROM資源不斷提高,而成本則不斷降低,因此無外部總線的應用模式是低成本單片機系統(tǒng)主要的工作方式如左圖所示的能使單片機運行的最基本的硬件環(huán)境被稱作最小系統(tǒng)13非總線型51單片機非總線型1234567891020191817161514131211RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.789C2051注:類似的還有Philips公司的
87LPC64,20引腳
8XC748/750/(751),24引腳
8X749(752),28引腳
8XC754,28引腳等等14(2)擴展外部總線應用模式優(yōu)點:通過“三總線”可以擴展如下資源:1)程序存儲器、數(shù)據(jù)存儲器2)并行總線外圍器件一般情況下,并行擴展外圍設備的數(shù)據(jù)傳輸率比串行擴展高,通信時序簡單,接口協(xié)議簡潔缺點:占用大量I/O(僅剩余P1和P3的一部分,約14根)外圍電路復雜,采用外部程序和數(shù)據(jù)擴展時程序運行速度慢,系統(tǒng)可靠性降低15(3)MCS-51單片機的工作方式
MCS-51單片機的工作方式有
復位中斷執(zhí)行方式
程序執(zhí)行方式
掉電和低功耗方式162.2.4MCS-51最小系統(tǒng)設計
AB復位外部設備ROMRAMC/T中斷系統(tǒng)I/O口CPU時鐘DBCB嵌入式處理器172.2.4MCS-51最小系統(tǒng)設計最小系統(tǒng)的組成1)時鐘電路2)復位電路3)EA/VPP4)電源和退藕電容181)時鐘電路Pierce振蕩器皮爾斯振蕩器有低功耗、低成本及良好的穩(wěn)定性等特點,因此常見于通常的應用中。
Inv:內(nèi)部反向器,作用等同于放大器。Q:石英或陶瓷晶振。RF:內(nèi)部反饋電阻(譯注:它的存在使反相器工作在線性區(qū),從而使其獲得增益,作用等同于放大器)。RExt:外部限流電阻。CL1和CL2:兩個外部負載電容。Cs:由于PCB布線及連接等寄生效應引起的等效雜散電容(OSC_IN和OSC_OUT管腳上)。
19石英晶振等效電路C0:等效電路中與串聯(lián)臂并接的電容(譯注:也叫并電容,靜電電容,其值一般僅與晶振的尺寸有關)。Lm:(動態(tài)等效電感)代表晶振機械振動的慣性。Cm:(動態(tài)等效電容)代表晶振的彈性。Rm:(動態(tài)等效電阻)代表電路的損耗。
8M晶振等效數(shù)值等效元件 數(shù)值 Rm 8Ω Lm 14.7mH Cm 0.027pF C0 5.57pF 20石英晶振的振蕩特性Fs的是當電抗Z=0時的串聯(lián)諧頻率,是Lm、Cm和Rm支路的諧振頻率Fa是當電抗Z趨于無窮大時的并聯(lián)諧振頻率,是整個等效電路的諧振頻率在Fs到Fa的區(qū)域即通常所謂的:“并聯(lián)諧振區(qū)”(圖中的陰影部分),在這一區(qū)域晶振工作在并聯(lián)諧振狀態(tài)。該區(qū)域是晶振的正常工作區(qū)域,F(xiàn)a-Fs就是晶振的帶寬。帶寬越窄,晶振品質(zhì)因素越高,振蕩頻率越穩(wěn)定。在此區(qū)域晶振呈電感特性,從而帶來了相當于180°的相移。8M晶振等效數(shù)值等效元件 數(shù)值 Rm 8Ω Lm 14.7mH Cm 0.027pFC0 5.57pFFs=7988768Hz,F(xiàn)a=8008102Hz如果該晶振的CL為10pF,則其振蕩頻率為:FP=7995695Hz。要使其達到準確的標稱振蕩頻率8MHz,CL應該為4.02pF。21時鐘電路設計所涉及的問題1、使用內(nèi)部時鐘振蕩電路還是外部時鐘?2、內(nèi)部時鐘電路能否穩(wěn)定振蕩的條件?3、時鐘電路的準確性及其調(diào)校?4、什么情況下需要外部電阻REXT,REXT如何計算?5、振蕩電路的啟動時間?22挑選合適的晶振及外部器件的簡易指南挑選合適的晶振可分為3個主要步驟:第一步:增益裕量(Gainmargin)計算選擇一個晶振計算晶振的增益裕量(Gainmargin)并檢查其是否大于5:如果Gainmargin<5,說明這不是一個合適的晶振,應當再挑選一個低ESR值和/或低CL值的晶振,重新第一步。如果Gainmargin>5,進行第二步。其中:gm是反向器的跨導,其單位是mA/V(對于高頻的情況)或者是μA/V(對于低頻的情況,例如32kHz)。gmcrit(gmcritical)的值取決于晶振本身的參數(shù)。例:設對于51振蕩器,其gm等于25mA/V,采用Fox晶振frequency=8MHz,C0=7pF,CL=10pF,ESR=80gmcrit=4*80*(2*pi*8*106)2*(7*10–12+10*10–12)2=0.23mA/VGainmargin=gm/gmcrit=25/0.23=107第二步:外部負載電容的計算計算CL1和CL2的值,并檢查標定為該計算值的電容是否能在市場上獲得?!袢绻苷业饺葜禐橛嬎阒档碾娙荩瑒t晶振可以在期望的頻率正常起振。然后轉到第三步?!袢绻也坏饺葜禐橛嬎阒档碾娙荩涸搼脤︻l率要求很高,你可使用一個可變電容并將其調(diào)整到計算值,然后轉到第三步。如果對頻率的要求不是特別苛刻,選擇市場上能獲得的電容中容值距計算值最近的電容,然后轉到第三步。第三步:驅動級別及外部電阻的計算
振蕩器頻率F=8MHzCL2=15pF得到:RExt=1326Ω23時鐘電路的連接方法XTAL1XTAL2外部振蕩信號XTAL1XTAL2VccVssR外部振蕩信號XTAL2XTAL1VccVssR(a)內(nèi)部時鐘方式(b)HMOS工藝外接時鐘(c)CHMOS工藝外接時鐘XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,對HMOS型工藝的單片機,此引腳應接地;對CHMOS型而言,此引腳應接外部時鐘的輸入端。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,對HMOS型工藝的單片機,此引腳應接外部時鐘的輸入端;對CHMOS型而言,此引腳懸空。對晶振頻率精確度要求不高的情況下,石英晶振的CL1和CL2可選30pF,陶瓷晶振時可選40pF242)復位電路在單片機的RST引腳上保持2個機器周期以上的高電平,單片機即復位;只要RST引腳保持高電平,單片機就循環(huán)復位。RST/VPD引腳輸入的高電平不撤除,單片機就一直保持復位狀態(tài)。當RST從高電平變?yōu)榈碗娖胶螅琈CS-51從0000H地址開始執(zhí)行程序。單片機復位完成后,其內(nèi)部各寄存器恢復到初始狀態(tài)。25常用的復位電路(1)分立元件復位電路上電后RST引腳上的波形(示意圖)26常用的復位電路(2)專用復位集成電路MAX811有多種供電電壓及復位門檻電壓版本;支持手動復位;有高低兩種電平的復位信號輸出;體積小,可靠性高。X5045/25045有多種供電電壓及復位門檻電壓版本;支持手動復位;包含4Kb的E2PROM;具有看門狗功能。272.3MCS-51的內(nèi)部結構RAM128BRAM地址寄存器P3口P1口P2口P0口鎖存器鎖存器鎖存器鎖存器中斷定時/計數(shù)器串行口SPBACC暫存器1暫存器2PSW指令寄存器IR指令譯碼器IDDPL緩沖器程序計數(shù)器PCPC增量器地址寄存器AR定時與控制4KROMALUDPH運算器控制器存儲器I/O接口28一、運算器
1.算術邏輯單元(ALU—ArithmeticLogicUnit)
2.累加器(ACC—Accumulator)
3.寄存器B4.程序狀態(tài)字(PSW—ProgramStatusWord)
5.布爾處理器二、控制器1.程序計數(shù)器(PC—ProgramCounter)2.指令寄存器IR指令譯碼器ID3.數(shù)據(jù)指針(DPTR)4.
堆棧指針(SP——StackPointer)
2.3.1MCS-51的CPU29功能:運算部件實現(xiàn)算術、邏輯運算、位變量處理、移位、數(shù)據(jù)傳送1.算術邏輯單元(ALU)8位其累加器是ACC
二進制四則運算和布爾代數(shù)的邏輯運算運算結果影響PSW的有關標志位
2.累加器(ACC)8位存放操作數(shù)和中間結果工作頻繁,大多數(shù)操作均通過它進行
3.寄存器B
8位乘法時用于存乘數(shù)/積的高8位除法時用于存除數(shù)/余數(shù)
4.程序狀態(tài)字(PSW)8位特殊功能寄存器
5.布爾處理器1位它以進位標志(CY)作為累加位進行位操作一、運算器30程序狀態(tài)字PSW各位標志的含義CYACF0RS1RS0OV-P
PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)進位標志位AC(PSW.6)輔助進位(或稱半進位)標志F0(PSW.5)用戶標志位RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位OV(PSW.2)溢出標志位
PSW.1未定義位P(PSW.0)奇偶標志位31
CY是PSW中最常用的標志位。由硬件或軟件置位和清零。
字節(jié)運算中(ALU):它表示運算結果是否有進位(或借位)。
Cy=SUB⊕C8加法時(SUB=0):有進位Cy由硬件置“1”即Cy=1;無進位CY被硬件清“0”即Cy=0。減法時(SUB=1):有借位Cy由硬件置“1”即Cy=1;無借位CY被硬件清“0”即Cy=0。位操作(布爾操作)時,CY作為累加器使用,其作用相當于字節(jié)操作的累加器ACC。
Cy32
JCrel;cy=1轉移
JNCrel;cy=0轉移位操作指令中做累加器
ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,c
CyC在指令中可作為轉移的條件33AC(PSW.6)輔助進位(或稱半進位)標志。
當執(zhí)行加減運算時,其運算結果產(chǎn)生低四位向高四位進位或借位時,AC由硬件置“1”;否則AC位被自動清“0”。
AC=SUB⊕
C4
一般在BCD碼運算時,系統(tǒng)用于進行十進制調(diào)整。
Ac34OV
OV(PSW.2)溢出標志位它反映運算結果是否溢出,溢出時則由硬件將OV位置“1”;否則置“0”。只有在補碼運算時起作用。雙進位位法判溢出:
OV=C8⊕C7當兩個正數(shù)相加時,C8肯定為0,若C7=1,符號位變?yōu)?(負),得到一個負數(shù),則發(fā)生溢出,OV=1(錯誤);若C7=0,符號位不變,則沒有溢出,OV=0(正確)
35溢出和進位是兩種不同性質(zhì)的概念。溢出是指有正負號的兩個數(shù)運算時,運算結果超出了累加器以補碼所能表示一個有符號數(shù)的范圍。補碼運算是閉運算。而進位則表示兩數(shù)運算最高位(D7)相加(或相減)有無進位(或借位)。無符號運算是開運算。因此使用時應加以注意。OV與Cy36例:35+42=[35]補=00100011
+[42]補=00101010
001001101
Cy=0,OV=0,結果為4DH,仍為補碼形式。若要顯示運算結果,應對運算結果求真值
+77真值就是將補碼形式的運算結果用“+”“–”號的形式來表示運算結果的實際數(shù)值。一般用十六進制或十進制表示加法運算(SUB=0)3785+78=Cy=0,OV=1,有溢出結果無意義若將上述運算“看成”是有符號數(shù)的運算,運算結果的最高位可“看作”符號位,結果為負數(shù),由于8位有符號數(shù)補碼的表示范圍為–128~+127,該運算結果顯然超出了數(shù)的表示范圍,OV=1產(chǎn)生了溢出現(xiàn)象,運算結果無意義,應做溢出提示。若將上述運算“看成”是無符號數(shù)的運算,運算結果的最高位不再做符號位了,而是數(shù)值位(權為128),8位無符號數(shù)補碼的表示范圍為0~255,盡管產(chǎn)生了溢出標志,但運算結果仍有意義,真值為163溢出[85]補=01010101
+[78]補=01001110
010100011
38微機的補碼運算可分為帶符號數(shù)的補碼運算和無符號數(shù)的補碼運算,但微機并不認識數(shù)的屬性,運算器在進行加減運算時并不區(qū)分操作數(shù)是否帶有符號,運算過程都是一樣的當SUB=0時,直接將兩個數(shù)相加,當SUB=1時,將減數(shù)求補(取反加1),再進行運算。在運算的同時自動設置CY和OV,運算后若是無符號數(shù),通過判斷CY確定是否有進位,如果是帶符號數(shù),則通過判斷OV確定是否溢出3976+(-23)=[76]補=01001100+[-23]補=11101001
100110101
Cy=1,OV=0+53自動丟失40
F0(PSW.5)用戶標志位。用戶可根據(jù)自己的需要對F0位賦予一定的含義,由用戶置位或復位,作為軟件標志。
SETBF0;置位
CLRF0
;復位相當于高級語言中的邏輯變量F041
P(PSW.0)奇偶標志位
P標志表明累加器ACC中1的個數(shù)的奇偶性。在每條指令執(zhí)行完后,單片機根據(jù)ACC的內(nèi)容對P位自動置位或復位。若累加器ACC中有奇數(shù)個“1”,則P=1;若累加器ACC中有偶數(shù)個“1”,則P=0。P42程序狀態(tài)字PSW回顧CyACF0RS1RS0OV…PD7D6D5D4D3D2D1D0PSW進位標志、“位累加器”
輔助進位標志
用戶通用狀態(tài)標志
溢出標志
奇偶標志位
保留位
工作寄存器組選擇控制位
若A中有奇數(shù)個“1”,則P置位,否則清零
431.程序計數(shù)器(PC)16位計數(shù)器(重要)
PC是程序的字節(jié)地址計數(shù)器,其內(nèi)容是將要執(zhí)行的下一條指令的地址,尋址范圍達64KB。
PC有自動加1功能,從而實現(xiàn)程序的順序執(zhí)行??梢酝ㄟ^轉移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉移。二、控制器442.指令譯碼器ID
當指令取出經(jīng)指令寄存器IR送至指令譯碼器ID時,ID對該指令進行譯碼,即把指令轉變成所需的電平信號,CPU根據(jù)ID輸出的電平信號使定時控制電路定時地產(chǎn)生執(zhí)行該指令所需的各種控制信號,以使計算機能正確執(zhí)行程序所要求的各種操作。
程序存儲器PC取出指令碼指令寄存器IR指令譯碼器ID把指令轉變成所需要得電平信號
CPU產(chǎn)生執(zhí)行該指令所需的各種控制信號取指令分析指令執(zhí)行指令45運算器和控制器工作實例等效程序代碼MOVA,#07HADDA,#0AHMOVA,20H返回框圖46
數(shù)據(jù)指針DPTR為16位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲器和外部數(shù)據(jù)存儲器時的地址。編程時,DPTR既可按16位寄存器使用,也可以按兩個8位寄存器分開使用。即:DPH DPTR的高8位DPL DPTR的低8位3.數(shù)據(jù)指針(DPTR)16bit47堆棧是指用戶在單片機內(nèi)部RAM中開辟的、遵循“先進后出”原則、只能從一端存取數(shù)據(jù)的一個存儲區(qū)。并把存取數(shù)據(jù)的一端稱為棧頂,SP就是指向棧頂?shù)闹羔?。凡是關系到堆棧操作的場合(無論是入棧還是出棧),都需要借助MCS-51的CPU中一個專用8位寄存器SP來間接指示堆棧中數(shù)據(jù)存取的位置,該寄存器被稱為堆棧指針。MCS-51的堆棧是向上生成的(即向地址增加的方向),堆棧指針SP的初始值稱為棧底。在堆棧操作過程中,SP始終指向堆棧的棧頂。需要注意的是,單片機復位后SP的值為07H,因此入棧數(shù)據(jù)將從08H存起。
4.堆棧指針SP(StackPointer)48入棧操作時首先將SP的內(nèi)容[記為(SP)]自動增1,將SP間接指示的棧區(qū)片內(nèi)RAM存儲單元地址向上調(diào)整一次,再把數(shù)據(jù)壓入由SP最新指示的片內(nèi)RAM單元中;出棧操作時,首先將當前棧頂?shù)膬?nèi)容彈出到相應位置,然后把SP的內(nèi)容自動減1。可見,在堆棧操作過程中,SP的值將自動增1或減1。
89H棧底SPSP入棧過程PUSHACC棧底出棧過程POPACCSP89HSP
89HAA
89H49三、與口相關的寄存器(7個)并行I/O口P0、P1、P2、P3,均為8位;串行口數(shù)據(jù)緩沖器SBUF;串行口控制寄存器SCON;串行通訊波特率倍增寄存器PCON,(又稱為電源控制寄存器)。50四、與中斷相關的寄存器(2個)中斷允許控制寄存器IE;中斷優(yōu)先級控制寄存器IP。
五、與定時器/計數(shù)器相關的寄存器(6個)
T0的兩個8位計數(shù)初值寄存器TH0、TL0T1的兩個8位計數(shù)初值寄存器TH1、TL1
工作方式寄存器TMOD;控制寄存器TCON。512.3.2MCS-51的存儲器結構8051單片機在系統(tǒng)結構上采用了哈佛型,其存儲器在物理結構上分程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)。有四個物理上相互獨立的存儲空間:其配置如圖
ROM:4K
范圍是:000H~0FFFH
RAM:128字節(jié)
范圍是:00H~7FH52程序存儲器(C語言中被稱為code區(qū))0000H0001H0002H(PC)中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEH內(nèi)部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1EA=0程序存儲器(code)資源分布中斷入口地址引腳接為高電平時,CPU可訪問內(nèi)部和外部ROM,并且程序自片內(nèi)程序存儲器開始執(zhí)行,PC值超出片內(nèi)ROM容量時,會自動轉向片外程序存儲器中的程序。一.MCS-51程序存儲器配置53程序存儲器中的特定程序入口
(51子系列為6個)
54外部RAM數(shù)據(jù)存儲器xdata0000HFFFFH(64K)內(nèi)部數(shù)據(jù)存儲器間接尋址idata00HFFH7FH80H(高128B)(低128B)RAM專用
寄存器sfr0組R0R7R0R7R0R7R0R71組2組3組工作寄存器區(qū)可位尋址區(qū)(bdata)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)內(nèi)部RAM存儲器(data)18H1FH10H17H08H0FH00H07H二.MCS-51內(nèi)部數(shù)據(jù)存儲器RS1RS0000組011組102組013組551、工作寄存器區(qū)低端32個字節(jié)分成4個工作寄存器組,每組8個單元,分別稱為R0,R1…,R7。程序運行時只能使用一個工作寄存器組作為當前工作寄存器組。當前工作寄存器組的機制便于快速現(xiàn)場保護。
PSW的RS1、RS0決定當前工作寄存器組號寄存器0組:地址00H~07H;寄存器1組:地址08H~0FH;寄存器2組:地址10H~17H;寄存器3組:地址18H~1FH。562、位尋址區(qū)(bit尋址區(qū))2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07
MSB位地址LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800573、通用RAM區(qū)(30H~7FH)(date)此區(qū)間共80個單元,只可按字節(jié)尋址,而不可位尋址。程序運行期間,會產(chǎn)生一些運算結果等中間數(shù)據(jù),這些數(shù)據(jù)可在此區(qū)間暫時保存。另外,若程序運行過程中遇到調(diào)用子程序或響應中斷,往往需要保護現(xiàn)場,將有關的數(shù)據(jù)壓入堆棧,待子程序返回或中斷響應結束時再將入棧數(shù)據(jù)彈出,此時,該區(qū)間可作堆棧使用。單片機復位后,堆棧指針SP的值為07H,即默認此區(qū)間的08H為棧底??紤]到00H~2FH通常保留作工作寄存器區(qū)和位尋址區(qū),因此一般將棧底設置在30H以上單元。
58
寄存器
位地址/位定義
地址
F7
F6
F5
F4
F3
F2
F1
F0
B
F0H
E7
E6
E5
E4
E3
E2
E1
E0
ACC
E0
D7
D6
D5
D4
D3
D2
D1
D0
PSW
CY
AC
F0
RS1
RS0
OV
/
P
D0H
BF
BE
BD
BC
BB
BA
B9
B8
IP
PT2PSPT1PX1PT0PX0B8H
B7
B6
B5
B4
B3
B2
B1
B0
P3
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
B0H
AFHAEADACABAAA9A8IE
EA-ET2ESET1EX1ET0EX0A8H
A7
A6
A5
A4
A3
A2
A1
A0
P2
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
A0H
SBUF
99H
4.特殊功能寄存器(sfr/sfr16)599FH9EH9DH9CH9BH9AH99H98HSCONSM0SM1SM2RENTB8
RB8TIRI98H
97
96
95
94
93
92
91
90
P1
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
90H
TH1
8DH
TH0
8CH
TL1
8BH
TL0
8AH
TMOD
GATE
C/T
M1
M0
GATE
C/T
M1
M0
89H
8F
8E
8D
8C
8B
8A
89
88
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
88H
PCON
SMOD
/
/
/
GF1
GF0
PD
IDL
87H
DPH
83H
DPL
82H
SP
81H
87
86
85
84
83
82
81
80
P0
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
80H
60復位后各SFR的初始狀態(tài)——重要寄存器內(nèi)容寄存器內(nèi)容PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000B61說明:1、51子系列離散分布有21個特殊功能寄存器SFR、52子系列為26個。2、凡地址能被8整除的寄存器(共11個)都是可位尋址的寄存器。3、位尋址形式:直接位地址:如D3H位助記符:RS0寄存器.位:如PSW.3單元地址.位:如D0H.3位型bit10,1sbit10,1訪問SFRsfr80~255sfr16160~6553562C51的數(shù)據(jù)的存儲器類型
變量和常量必須以一定的存儲器類型定位于單片機的存儲區(qū)域中。
存儲器類型長度(位)對應單片機存儲器bdata1片內(nèi)RAM,位尋址區(qū),共128位。(亦能字節(jié)訪問)data8片內(nèi)RAM,直接尋址,共128字節(jié)。idata8片內(nèi)RAM,間接尋址,共256字節(jié)。pdata8片外RAM,分頁間址,共256字節(jié)。(MOVX@Ri)xdata16片外RAM,間接尋址,共64k字節(jié)。(MOVX@DPTR)code16ROM區(qū)域,間接尋址,共64k字節(jié)。(MOVC@DPTR)63C51中的數(shù)據(jù)類型定義bitbdataflags;//位變量flags定位在片內(nèi)RAM的位尋址區(qū)chardatavar;//字符變量var定位在片內(nèi)RAM區(qū)floatidatax,y,z;//實型變量x,y,z定位在片內(nèi)間址RAM區(qū)sfrP1=0x90;//定義P1口地址為90HsfrSCON=0x90;sfrP0=0x80;sfr16T2=0xCC;
642.3.3I/O口及功能單元
并口:P0~P3,雙向口。每口8條I/O線
串行口:P3.0、P3.1,全雙工定時/計數(shù)器:2個,16位
中斷系統(tǒng):5個中斷源,2個優(yōu)先級
651、并行I/O端口
MCS-51單片機內(nèi)部有4個并行的I/O接口電路:P0、P1、P2、P3,它們都是雙向口,既可以輸入又可以輸出。P0、P2口經(jīng)常用作外部擴展存儲器時的數(shù)據(jù)、地址總線,P3口除了可用作I/O口外,每一根都有第二功能。通過這些I/O接口,單片機可以外接鍵盤、顯示器等外圍設備,還可以進行系統(tǒng)擴展,以解決片內(nèi)硬件資源不足問題。66⑶I/O口P0口:三態(tài)雙向復用口地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結構Vcc11001“讀”01100P0口作地址/數(shù)據(jù)復用總線D0~D7A0~A767P0口作地址/數(shù)據(jù)復用總線從P0口輸出數(shù)據(jù)或地址信息的過程:控制端高電平MUX接反相器輸出端輸出級T1連接與門開鎖信號驅動T0驅動電路接通P0口輸出數(shù)據(jù)/地址信息從P0口輸入數(shù)據(jù)信息:引腳信號從輸入三態(tài)緩沖器進入內(nèi)部總線“讀”68P0口:作通用I/O口使用地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結構Vcc外接上拉電阻0100讀讀-修改-寫功能1ANLP0,A(P0)^(A)P0“讀”Vcc69P0口作通用I/O口使用輸出時:P0口作通用I/O口使用輸入時:先將鎖存器寫“1”T0、T1截止讀引腳信號P0~P3口線上的“讀-修改-寫”是通過上面一個三態(tài)門實現(xiàn)的。P0的驅動能力:驅動8個TTL門控制端低電平與門輸出低電平T0截止輸出漏級開路外接上拉電阻MUX接鎖存器Q端鎖存器Q與T1連接70P0口作通用I/O口使用輸入時:先將鎖存器寫“1”T0、T1截止讀引腳信號地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結構Vcc010071P1口:準雙向口讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP1.x鎖存器TP1.x引腳Vcc內(nèi)部上拉電阻010101輸出輸入“讀引腳”P1口位結構72作通用I/O口輸出時:將“1”寫入鎖存器輸出高電平將“0”寫入鎖存器Q=1,T導通輸出低電平作通用I/O口輸入時:口鎖存器必須寫“1”先將“1”寫入鎖存器,使T截止,口線上的數(shù)據(jù)取決于外部輸入Q=0,T截止
P1口的驅動能力:驅動4個TTL門內(nèi)部總線為引腳為“高電平”“低電平”“1”“0”“讀”準雙向口73P2口:準雙向口地址控制讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP2.x鎖存器TP2.x引腳P2口位結構VccMUX上拉電阻74P2口作通用I/O口使用時:
準雙向口。MUX倒向左邊,輸出級與鎖存器“Q”端接通,P2口I/O操作完全與P1口相同P2口作地址總線高8位使用時:
在CPU的控制下,MUX倒向右邊,接通內(nèi)部地址總線,P2口的口線狀態(tài)取決于片內(nèi)輸出的地址信息
P2口的驅動能力:驅動4個TTL門75第二輸入功能P3口:雙功能口讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP3.x鎖存器TP3.x引腳Vcc上拉電阻第二輸出功能11076P3作第一功能口使用時:
輸出控制線為高電平,與非門的輸出取決于鎖存器“Q”端的狀態(tài),P3口的I/O操作和P1口相同。P3作第二功能口使用時:
相應的口線鎖存器必須為“1”,與非門的輸出取決于第二功能輸出線。
P3的驅動能力:驅動4個TTL門
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木制品加工分包合同
- 商鋪接盤協(xié)議書
- 業(yè)務銷售保證書寫作指導
- 定址選購協(xié)議格式
- 工程咨詢服務造價招標文件編制
- 服務誠信保證書承諾
- 誠信可靠保證書
- 公司貸款合同范例
- 房產(chǎn)中介服務合同樣式
- 電纜采購協(xié)議模板
- 2024電化學儲能考試題庫含答案
- 教師教學創(chuàng)新團隊工作總結
- 鑄牢中華民族共同體意識-考試復習題庫(含答案)
- 2024年6月廣東省高中學業(yè)水平考試物理試卷(附答案)
- 債務規(guī)劃債務管理方案
- 掀起冬季學習高潮課件
- 人教版九年級英語上冊閱讀理解10篇(含答案)
- 麻醉科技術操作規(guī)范2020版
- 外研版七年級上冊英語作文范文
- 《電工新技術介紹》課件
- 改革開放簡史智慧樹知到課后章節(jié)答案2023年下北方工業(yè)大學
評論
0/150
提交評論