版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
LiuHongHarbinuniversity劉宏單片機(jī)原理及其應(yīng)用電氣信息工程1第二章MCS-51的結(jié)構(gòu)和原理1MCS-51的基本結(jié)構(gòu)和應(yīng)用模式2MCS-51的內(nèi)部結(jié)構(gòu)3MCS-51的存儲(chǔ)器組織4MCS-51的并行口結(jié)構(gòu)與操作5MCS-51的典型產(chǎn)品資源配置2第五位數(shù)字1基本型4KROM2增強(qiáng)型
8KROM2.1MCS-51系列概述2.1.1MCS-51系列
MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱。這一系列的單片機(jī)包括兩大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列屬于增強(qiáng)型。各子系列配置如表2-1所示。第四位數(shù)字代表片內(nèi)有無程序存儲(chǔ)器3片內(nèi)無程序存儲(chǔ)器5片內(nèi)有程序存儲(chǔ)器片內(nèi)ROM形式無ROMEPROMFlash51基本型80318051875180C3180C5187C5189C5152增強(qiáng)型80328052875280C3280C5287C5289C52第三位字母代表單片機(jī)的生產(chǎn)工藝空白為HMOSC為CHMOSS為在線可編程ISP第二位數(shù)字代表程序存儲(chǔ)器類型0無ROM或?yàn)楣S掩膜7為OTP或EPROM9為Flash3芯片型號(hào)中C的意義MCS-51系列單片機(jī)采用以下兩種半導(dǎo)體工藝生產(chǎn)
HMOS
芯片型號(hào)中不帶有字母“C”的,功耗較大。
CHMOS
芯片型號(hào)中凡帶有字母“C”的,具有高速度、高密度、低功耗的特點(diǎn)例如8051的功耗為630mW,
80C51的功耗只有120mW。在便攜式、手提式或野外作業(yè)儀器設(shè)備或長(zhǎng)期無人值守自動(dòng)監(jiān)測(cè)、監(jiān)控的儀表上是非常有意義的。因此在這些產(chǎn)品中最好使用CHMOS型單片機(jī)芯片。4程序存儲(chǔ)器類型在片內(nèi)程序存儲(chǔ)器的配置上,該系列單片機(jī)有三種形式,即掩膜ROM、EPROM和ROM。兼容型51則存在OTP和Flash類型。只讀存儲(chǔ)器ROM(ReadOnlyMemory)
特點(diǎn):在正常操作時(shí)只能讀出而不能寫入,斷電后ROM中的信息不會(huì)丟失。常用來存放一些固定程序或數(shù)據(jù)表等。
ROM按編程(存儲(chǔ)信息)的方式又可分為:
掩膜ROM:信息由廠家固化,用戶不能更改。
可編程只讀存儲(chǔ)器PROM:信息由用戶一次性寫入,一旦寫入,只能讀出,不能再更改。(OTP)
可擦除可編程只讀存儲(chǔ)器EPROM:紫外線擦除,可重復(fù)編程。
電可擦除可編程只讀存儲(chǔ)器EEPROM/E2PROM:可通過加電寫入或清除其內(nèi)容。既有與RAM一樣讀寫操作簡(jiǎn)便,又有數(shù)據(jù)不會(huì)因掉電而丟失的優(yōu)點(diǎn)。但價(jià)格昂貴。快擦寫存儲(chǔ)器FLASH:類似EEPROM可以采用電擦除和寫入,但是只能整頁(yè)擦除和寫入,擦除次數(shù)和數(shù)據(jù)保存時(shí)間不如EEPROM,但是價(jià)格低廉。52.2MCS-51的基本結(jié)構(gòu)和應(yīng)用模式單片機(jī)的三總線結(jié)構(gòu)以微處理器(CPU)為核心CPU與其他部件間通過三總線連接AB:AddressBusDB:DataBusCB:ControlBus
AB復(fù)位外部設(shè)備ROMRAMC/T中斷系統(tǒng)I/O口CPU時(shí)鐘DBCB嵌入式處理器6總線:連接功能部件間的一組公共信號(hào)線地址總線AB:CPU輸出的地址碼信號(hào),用于選擇被訪問的具體的存儲(chǔ)單元、I/O端口*地址線的根數(shù)決定了CPU的尋址范圍。CPU的尋址范圍=2n,n-地址線根數(shù)如:8位地址碼,可尋址28=256個(gè)存儲(chǔ)單元16位地址碼,可尋址216=64K個(gè)存儲(chǔ)單元數(shù)據(jù)總線DB:CPU與存儲(chǔ)器、I/O接口之間
(雙向)傳送數(shù)據(jù)的公共通路。
*數(shù)據(jù)總線的條數(shù)決定CPU一次最多可以傳送的數(shù)據(jù)寬度(位數(shù))。如:8位機(jī)的DB有8條,CPU一次可讀寫8位數(shù)據(jù)16位機(jī)的DB有16條,CPU一次可讀寫16位
控制總線CB:用來傳送各種控制或狀態(tài)信號(hào)
*CPU送出和接受的對(duì)存儲(chǔ)器、I/O接口讀寫及中斷等控制信號(hào)2.2.1單片機(jī)的三總線(BUS)72.2MCS-51的基本結(jié)構(gòu)和應(yīng)用模式2.2.2MCS-51單片機(jī)的引腳及封裝40引腳,雙列直插式結(jié)構(gòu)VCCGND電源VCC-40GND-20DC5V單片機(jī)電源處理需要注意什么問題?1、4.0Vto5.5V電壓范圍2、并聯(lián)退耦電容82.2MCS-51的基本結(jié)構(gòu)和應(yīng)用模式2.2.2MCS-51單片機(jī)的引腳及封裝40引腳,雙列直插式結(jié)構(gòu)VCCXTAL1XTAL2GND電源VCC-40、GND-20時(shí)鐘XTAL1-18、XTAL2-19單片機(jī)中時(shí)鐘的作用?92.2MCS-51的基本結(jié)構(gòu)和應(yīng)用模式2.2.2MCS-51單片機(jī)的引腳及封裝40引腳,雙列直插式結(jié)構(gòu)RST/VPDVCCEA/VPPALE/PROGPSENXTAL2XTAL1GND電源VCC-40、GND-20時(shí)鐘XTAL2-18、XTAL1-19控制總線PSEN-33ProgramStoreEnableALE-32AddressLatchEnableEA/VPP-31ExternalAccessEnableRESET-9100時(shí),選外部ROM;EA=復(fù)位信號(hào):高電平復(fù)位CPU,低電平CPU工作EA/VPPALEPSEN名稱功能片外取指信號(hào)(片外程序存儲(chǔ)器讀)輸出端低電平有效。通過P0口讀回指令或常數(shù)??刂频氖瞧獬绦虼鎯?chǔ)器RESET控制總線控制信號(hào)地址鎖存信號(hào)。ALE低電平時(shí),P0口出現(xiàn)數(shù)據(jù)信息;ALE高電平時(shí),P0口出現(xiàn)地址信息。程序存儲(chǔ)器選擇信號(hào)
1,地址小于4k時(shí),選內(nèi)部ROM(針對(duì)51)地址大于4k時(shí),選外部ROM(針對(duì)51)P0口是數(shù)據(jù)/地址復(fù)用口用下降沿鎖存P0口的低8位地址到外部鎖存器112.2MCS-51的基本結(jié)構(gòu)和應(yīng)用模式2.2.2MCS-51單片機(jī)的引腳及封裝40引腳,雙列直插式結(jié)構(gòu)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時(shí)鐘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口||第二功能口一共有幾個(gè)總線?122.2.3MCS-51的應(yīng)用模式(1)無外部總線應(yīng)用模式優(yōu)點(diǎn):不使用外部擴(kuò)展總線因此具有較多的外部I/O口(最多32根I/O)外部電路簡(jiǎn)單,體積小功耗低,可靠性高缺點(diǎn):只能使用單片機(jī)內(nèi)部的ROM和RAM,因此資源有限,無法實(shí)現(xiàn)復(fù)雜功能由于半導(dǎo)體工藝技術(shù)的提高,單片機(jī)內(nèi)部集成的RAM/ROM資源不斷提高,而成本則不斷降低,因此無外部總線的應(yīng)用模式是低成本單片機(jī)系統(tǒng)主要的工作方式如左圖所示的能使單片機(jī)運(yùn)行的最基本的硬件環(huán)境被稱作最小系統(tǒng)13非總線型51單片機(jī)非總線型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)擴(kuò)展外部總線應(yīng)用模式優(yōu)點(diǎn):通過“三總線”可以擴(kuò)展如下資源:1)程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器2)并行總線外圍器件一般情況下,并行擴(kuò)展外圍設(shè)備的數(shù)據(jù)傳輸率比串行擴(kuò)展高,通信時(shí)序簡(jiǎn)單,接口協(xié)議簡(jiǎn)潔缺點(diǎn):占用大量I/O(僅剩余P1和P3的一部分,約14根)外圍電路復(fù)雜,采用外部程序和數(shù)據(jù)擴(kuò)展時(shí)程序運(yùn)行速度慢,系統(tǒng)可靠性降低15(3)MCS-51單片機(jī)的工作方式
MCS-51單片機(jī)的工作方式有
復(fù)位中斷執(zhí)行方式
程序執(zhí)行方式
掉電和低功耗方式162.2.4MCS-51最小系統(tǒng)設(shè)計(jì)
AB復(fù)位外部設(shè)備ROMRAMC/T中斷系統(tǒng)I/O口CPU時(shí)鐘DBCB嵌入式處理器172.2.4MCS-51最小系統(tǒng)設(shè)計(jì)最小系統(tǒng)的組成1)時(shí)鐘電路2)復(fù)位電路3)EA/VPP4)電源和退藕電容181)時(shí)鐘電路Pierce振蕩器皮爾斯振蕩器有低功耗、低成本及良好的穩(wěn)定性等特點(diǎn),因此常見于通常的應(yīng)用中。
Inv:內(nèi)部反向器,作用等同于放大器。Q:石英或陶瓷晶振。RF:內(nèi)部反饋電阻(譯注:它的存在使反相器工作在線性區(qū),從而使其獲得增益,作用等同于放大器)。RExt:外部限流電阻。CL1和CL2:兩個(gè)外部負(fù)載電容。Cs:由于PCB布線及連接等寄生效應(yīng)引起的等效雜散電容(OSC_IN和OSC_OUT管腳上)。
19石英晶振等效電路C0:等效電路中與串聯(lián)臂并接的電容(譯注:也叫并電容,靜電電容,其值一般僅與晶振的尺寸有關(guān))。Lm:(動(dòng)態(tài)等效電感)代表晶振機(jī)械振動(dòng)的慣性。Cm:(動(dòng)態(tài)等效電容)代表晶振的彈性。Rm:(動(dòng)態(tài)等效電阻)代表電路的損耗。
8M晶振等效數(shù)值等效元件 數(shù)值 Rm 8Ω Lm 14.7mH Cm 0.027pF C0 5.57pF 20石英晶振的振蕩特性Fs的是當(dāng)電抗Z=0時(shí)的串聯(lián)諧頻率,是Lm、Cm和Rm支路的諧振頻率Fa是當(dāng)電抗Z趨于無窮大時(shí)的并聯(lián)諧振頻率,是整個(gè)等效電路的諧振頻率在Fs到Fa的區(qū)域即通常所謂的:“并聯(lián)諧振區(qū)”(圖中的陰影部分),在這一區(qū)域晶振工作在并聯(lián)諧振狀態(tài)。該區(qū)域是晶振的正常工作區(qū)域,F(xiàn)a-Fs就是晶振的帶寬。帶寬越窄,晶振品質(zhì)因素越高,振蕩頻率越穩(wěn)定。在此區(qū)域晶振呈電感特性,從而帶來了相當(dāng)于180°的相移。8M晶振等效數(shù)值等效元件 數(shù)值 Rm 8Ω Lm 14.7mH Cm 0.027pFC0 5.57pFFs=7988768Hz,F(xiàn)a=8008102Hz如果該晶振的CL為10pF,則其振蕩頻率為:FP=7995695Hz。要使其達(dá)到準(zhǔn)確的標(biāo)稱振蕩頻率8MHz,CL應(yīng)該為4.02pF。21時(shí)鐘電路設(shè)計(jì)所涉及的問題1、使用內(nèi)部時(shí)鐘振蕩電路還是外部時(shí)鐘?2、內(nèi)部時(shí)鐘電路能否穩(wěn)定振蕩的條件?3、時(shí)鐘電路的準(zhǔn)確性及其調(diào)校?4、什么情況下需要外部電阻REXT,REXT如何計(jì)算?5、振蕩電路的啟動(dòng)時(shí)間?22挑選合適的晶振及外部器件的簡(jiǎn)易指南挑選合適的晶振可分為3個(gè)主要步驟:第一步:增益裕量(Gainmargin)計(jì)算選擇一個(gè)晶振計(jì)算晶振的增益裕量(Gainmargin)并檢查其是否大于5:如果Gainmargin<5,說明這不是一個(gè)合適的晶振,應(yīng)當(dāng)再挑選一個(gè)低ESR值和/或低CL值的晶振,重新第一步。如果Gainmargin>5,進(jìn)行第二步。其中:gm是反向器的跨導(dǎo),其單位是mA/V(對(duì)于高頻的情況)或者是μA/V(對(duì)于低頻的情況,例如32kHz)。gmcrit(gmcritical)的值取決于晶振本身的參數(shù)。例:設(shè)對(duì)于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第二步:外部負(fù)載電容的計(jì)算計(jì)算CL1和CL2的值,并檢查標(biāo)定為該計(jì)算值的電容是否能在市場(chǎng)上獲得。●如果能找到容值為計(jì)算值的電容,則晶振可以在期望的頻率正常起振。然后轉(zhuǎn)到第三步?!袢绻也坏饺葜禐橛?jì)算值的電容:該應(yīng)用對(duì)頻率要求很高,你可使用一個(gè)可變電容并將其調(diào)整到計(jì)算值,然后轉(zhuǎn)到第三步。如果對(duì)頻率的要求不是特別苛刻,選擇市場(chǎng)上能獲得的電容中容值距計(jì)算值最近的電容,然后轉(zhuǎn)到第三步。第三步:驅(qū)動(dòng)級(jí)別及外部電阻的計(jì)算
振蕩器頻率F=8MHzCL2=15pF得到:RExt=1326Ω23時(shí)鐘電路的連接方法XTAL1XTAL2外部振蕩信號(hào)XTAL1XTAL2VccVssR外部振蕩信號(hào)XTAL2XTAL1VccVssR(a)內(nèi)部時(shí)鐘方式(b)HMOS工藝外接時(shí)鐘(c)CHMOS工藝外接時(shí)鐘XTAL1(19腳):接外部晶振和微調(diào)電容的一端。采用外部時(shí)鐘電路時(shí),對(duì)HMOS型工藝的單片機(jī),此引腳應(yīng)接地;對(duì)CHMOS型而言,此引腳應(yīng)接外部時(shí)鐘的輸入端。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端。使用外部時(shí)鐘時(shí),對(duì)HMOS型工藝的單片機(jī),此引腳應(yīng)接外部時(shí)鐘的輸入端;對(duì)CHMOS型而言,此引腳懸空。對(duì)晶振頻率精確度要求不高的情況下,石英晶振的CL1和CL2可選30pF,陶瓷晶振時(shí)可選40pF242)復(fù)位電路在單片機(jī)的RST引腳上保持2個(gè)機(jī)器周期以上的高電平,單片機(jī)即復(fù)位;只要RST引腳保持高電平,單片機(jī)就循環(huán)復(fù)位。RST/VPD引腳輸入的高電平不撤除,單片機(jī)就一直保持復(fù)位狀態(tài)。當(dāng)RST從高電平變?yōu)榈碗娖胶?,MCS-51從0000H地址開始執(zhí)行程序。單片機(jī)復(fù)位完成后,其內(nèi)部各寄存器恢復(fù)到初始狀態(tài)。25常用的復(fù)位電路(1)分立元件復(fù)位電路上電后RST引腳上的波形(示意圖)26常用的復(fù)位電路(2)專用復(fù)位集成電路MAX811有多種供電電壓及復(fù)位門檻電壓版本;支持手動(dòng)復(fù)位;有高低兩種電平的復(fù)位信號(hào)輸出;體積小,可靠性高。X5045/25045有多種供電電壓及復(fù)位門檻電壓版本;支持手動(dòng)復(fù)位;包含4Kb的E2PROM;具有看門狗功能。272.3MCS-51的內(nèi)部結(jié)構(gòu)RAM128BRAM地址寄存器P3口P1口P2口P0口鎖存器鎖存器鎖存器鎖存器中斷定時(shí)/計(jì)數(shù)器串行口SPBACC暫存器1暫存器2PSW指令寄存器IR指令譯碼器IDDPL緩沖器程序計(jì)數(shù)器PCPC增量器地址寄存器AR定時(shí)與控制4KROMALUDPH運(yùn)算器控制器存儲(chǔ)器I/O接口28一、運(yùn)算器
1.算術(shù)邏輯單元(ALU—ArithmeticLogicUnit)
2.累加器(ACC—Accumulator)
3.寄存器B4.程序狀態(tài)字(PSW—ProgramStatusWord)
5.布爾處理器二、控制器1.程序計(jì)數(shù)器(PC—ProgramCounter)2.指令寄存器IR指令譯碼器ID3.?dāng)?shù)據(jù)指針(DPTR)4.
堆棧指針(SP——StackPointer)
2.3.1MCS-51的CPU29功能:運(yùn)算部件實(shí)現(xiàn)算術(shù)、邏輯運(yùn)算、位變量處理、移位、數(shù)據(jù)傳送1.算術(shù)邏輯單元(ALU)8位其累加器是ACC
二進(jìn)制四則運(yùn)算和布爾代數(shù)的邏輯運(yùn)算運(yùn)算結(jié)果影響PSW的有關(guān)標(biāo)志位
2.累加器(ACC)8位存放操作數(shù)和中間結(jié)果工作頻繁,大多數(shù)操作均通過它進(jìn)行
3.寄存器B
8位乘法時(shí)用于存乘數(shù)/積的高8位除法時(shí)用于存除數(shù)/余數(shù)
4.程序狀態(tài)字(PSW)8位特殊功能寄存器
5.布爾處理器1位它以進(jìn)位標(biāo)志(CY)作為累加位進(jìn)行位操作一、運(yùn)算器30程序狀態(tài)字PSW各位標(biāo)志的含義CYACF0RS1RS0OV-P
PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)進(jìn)位標(biāo)志位AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志F0(PSW.5)用戶標(biāo)志位RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位OV(PSW.2)溢出標(biāo)志位
PSW.1未定義位P(PSW.0)奇偶標(biāo)志位31
CY是PSW中最常用的標(biāo)志位。由硬件或軟件置位和清零。
字節(jié)運(yùn)算中(ALU):它表示運(yùn)算結(jié)果是否有進(jìn)位(或借位)。
Cy=SUB⊕C8加法時(shí)(SUB=0):有進(jìn)位Cy由硬件置“1”即Cy=1;無進(jìn)位CY被硬件清“0”即Cy=0。減法時(shí)(SUB=1):有借位Cy由硬件置“1”即Cy=1;無借位CY被硬件清“0”即Cy=0。位操作(布爾操作)時(shí),CY作為累加器使用,其作用相當(dāng)于字節(jié)操作的累加器ACC。
Cy32
JCrel;cy=1轉(zhuǎn)移
JNCrel;cy=0轉(zhuǎn)移位操作指令中做累加器
ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,c
CyC在指令中可作為轉(zhuǎn)移的條件33AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。
當(dāng)執(zhí)行加減運(yùn)算時(shí),其運(yùn)算結(jié)果產(chǎn)生低四位向高四位進(jìn)位或借位時(shí),AC由硬件置“1”;否則AC位被自動(dòng)清“0”。
AC=SUB⊕
C4
一般在BCD碼運(yùn)算時(shí),系統(tǒng)用于進(jìn)行十進(jìn)制調(diào)整。
Ac34OV
OV(PSW.2)溢出標(biāo)志位它反映運(yùn)算結(jié)果是否溢出,溢出時(shí)則由硬件將OV位置“1”;否則置“0”。只有在補(bǔ)碼運(yùn)算時(shí)起作用。雙進(jìn)位位法判溢出:
OV=C8⊕C7當(dāng)兩個(gè)正數(shù)相加時(shí),C8肯定為0,若C7=1,符號(hào)位變?yōu)?(負(fù)),得到一個(gè)負(fù)數(shù),則發(fā)生溢出,OV=1(錯(cuò)誤);若C7=0,符號(hào)位不變,則沒有溢出,OV=0(正確)
35溢出和進(jìn)位是兩種不同性質(zhì)的概念。溢出是指有正負(fù)號(hào)的兩個(gè)數(shù)運(yùn)算時(shí),運(yùn)算結(jié)果超出了累加器以補(bǔ)碼所能表示一個(gè)有符號(hào)數(shù)的范圍。補(bǔ)碼運(yùn)算是閉運(yùn)算。而進(jìn)位則表示兩數(shù)運(yùn)算最高位(D7)相加(或相減)有無進(jìn)位(或借位)。無符號(hào)運(yùn)算是開運(yùn)算。因此使用時(shí)應(yīng)加以注意。OV與Cy36例:35+42=[35]補(bǔ)=00100011
+[42]補(bǔ)=00101010
001001101
Cy=0,OV=0,結(jié)果為4DH,仍為補(bǔ)碼形式。若要顯示運(yùn)算結(jié)果,應(yīng)對(duì)運(yùn)算結(jié)果求真值
+77真值就是將補(bǔ)碼形式的運(yùn)算結(jié)果用“+”“–”號(hào)的形式來表示運(yùn)算結(jié)果的實(shí)際數(shù)值。一般用十六進(jìn)制或十進(jìn)制表示加法運(yùn)算(SUB=0)3785+78=Cy=0,OV=1,有溢出結(jié)果無意義若將上述運(yùn)算“看成”是有符號(hào)數(shù)的運(yùn)算,運(yùn)算結(jié)果的最高位可“看作”符號(hào)位,結(jié)果為負(fù)數(shù),由于8位有符號(hào)數(shù)補(bǔ)碼的表示范圍為–128~+127,該運(yùn)算結(jié)果顯然超出了數(shù)的表示范圍,OV=1產(chǎn)生了溢出現(xiàn)象,運(yùn)算結(jié)果無意義,應(yīng)做溢出提示。若將上述運(yùn)算“看成”是無符號(hào)數(shù)的運(yùn)算,運(yùn)算結(jié)果的最高位不再做符號(hào)位了,而是數(shù)值位(權(quán)為128),8位無符號(hào)數(shù)補(bǔ)碼的表示范圍為0~255,盡管產(chǎn)生了溢出標(biāo)志,但運(yùn)算結(jié)果仍有意義,真值為163溢出[85]補(bǔ)=01010101
+[78]補(bǔ)=01001110
010100011
38微機(jī)的補(bǔ)碼運(yùn)算可分為帶符號(hào)數(shù)的補(bǔ)碼運(yùn)算和無符號(hào)數(shù)的補(bǔ)碼運(yùn)算,但微機(jī)并不認(rèn)識(shí)數(shù)的屬性,運(yùn)算器在進(jìn)行加減運(yùn)算時(shí)并不區(qū)分操作數(shù)是否帶有符號(hào),運(yùn)算過程都是一樣的當(dāng)SUB=0時(shí),直接將兩個(gè)數(shù)相加,當(dāng)SUB=1時(shí),將減數(shù)求補(bǔ)(取反加1),再進(jìn)行運(yùn)算。在運(yùn)算的同時(shí)自動(dòng)設(shè)置CY和OV,運(yùn)算后若是無符號(hào)數(shù),通過判斷CY確定是否有進(jìn)位,如果是帶符號(hào)數(shù),則通過判斷OV確定是否溢出3976+(-23)=[76]補(bǔ)=01001100+[-23]補(bǔ)=11101001
100110101
Cy=1,OV=0+53自動(dòng)丟失40
F0(PSW.5)用戶標(biāo)志位。用戶可根據(jù)自己的需要對(duì)F0位賦予一定的含義,由用戶置位或復(fù)位,作為軟件標(biāo)志。
SETBF0;置位
CLRF0
;復(fù)位相當(dāng)于高級(jí)語(yǔ)言中的邏輯變量F041
P(PSW.0)奇偶標(biāo)志位
P標(biāo)志表明累加器ACC中1的個(gè)數(shù)的奇偶性。在每條指令執(zhí)行完后,單片機(jī)根據(jù)ACC的內(nèi)容對(duì)P位自動(dòng)置位或復(fù)位。若累加器ACC中有奇數(shù)個(gè)“1”,則P=1;若累加器ACC中有偶數(shù)個(gè)“1”,則P=0。P42程序狀態(tài)字PSW回顧C(jī)yACF0RS1RS0OV…PD7D6D5D4D3D2D1D0PSW進(jìn)位標(biāo)志、“位累加器”
輔助進(jìn)位標(biāo)志
用戶通用狀態(tài)標(biāo)志
溢出標(biāo)志
奇偶標(biāo)志位
保留位
工作寄存器組選擇控制位
若A中有奇數(shù)個(gè)“1”,則P置位,否則清零
431.程序計(jì)數(shù)器(PC)16位計(jì)數(shù)器(重要)
PC是程序的字節(jié)地址計(jì)數(shù)器,其內(nèi)容是將要執(zhí)行的下一條指令的地址,尋址范圍達(dá)64KB。
PC有自動(dòng)加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。二、控制器442.指令譯碼器ID
當(dāng)指令取出經(jīng)指令寄存器IR送至指令譯碼器ID時(shí),ID對(duì)該指令進(jìn)行譯碼,即把指令轉(zhuǎn)變成所需的電平信號(hào),CPU根據(jù)ID輸出的電平信號(hào)使定時(shí)控制電路定時(shí)地產(chǎn)生執(zhí)行該指令所需的各種控制信號(hào),以使計(jì)算機(jī)能正確執(zhí)行程序所要求的各種操作。
程序存儲(chǔ)器PC取出指令碼指令寄存器IR指令譯碼器ID把指令轉(zhuǎn)變成所需要得電平信號(hào)
CPU產(chǎn)生執(zhí)行該指令所需的各種控制信號(hào)取指令分析指令執(zhí)行指令45運(yùn)算器和控制器工作實(shí)例等效程序代碼MOVA,#07HADDA,#0AHMOVA,20H返回框圖46
數(shù)據(jù)指針DPTR為16位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器時(shí)的地址。編程時(shí),DPTR既可按16位寄存器使用,也可以按兩個(gè)8位寄存器分開使用。即:DPH DPTR的高8位DPL DPTR的低8位3.?dāng)?shù)據(jù)指針(DPTR)16bit47堆棧是指用戶在單片機(jī)內(nèi)部RAM中開辟的、遵循“先進(jìn)后出”原則、只能從一端存取數(shù)據(jù)的一個(gè)存儲(chǔ)區(qū)。并把存取數(shù)據(jù)的一端稱為棧頂,SP就是指向棧頂?shù)闹羔?。凡是關(guān)系到堆棧操作的場(chǎng)合(無論是入棧還是出棧),都需要借助MCS-51的CPU中一個(gè)專用8位寄存器SP來間接指示堆棧中數(shù)據(jù)存取的位置,該寄存器被稱為堆棧指針。MCS-51的堆棧是向上生成的(即向地址增加的方向),堆棧指針SP的初始值稱為棧底。在堆棧操作過程中,SP始終指向堆棧的棧頂。需要注意的是,單片機(jī)復(fù)位后SP的值為07H,因此入棧數(shù)據(jù)將從08H存起。
4.堆棧指針SP(StackPointer)48入棧操作時(shí)首先將SP的內(nèi)容[記為(SP)]自動(dòng)增1,將SP間接指示的棧區(qū)片內(nèi)RAM存儲(chǔ)單元地址向上調(diào)整一次,再把數(shù)據(jù)壓入由SP最新指示的片內(nèi)RAM單元中;出棧操作時(shí),首先將當(dāng)前棧頂?shù)膬?nèi)容彈出到相應(yīng)位置,然后把SP的內(nèi)容自動(dòng)減1。可見,在堆棧操作過程中,SP的值將自動(dòng)增1或減1。
89H棧底SPSP入棧過程PUSHACC棧底出棧過程POPACCSP89HSP
89HAA
89H49三、與口相關(guān)的寄存器(7個(gè))并行I/O口P0、P1、P2、P3,均為8位;串行口數(shù)據(jù)緩沖器SBUF;串行口控制寄存器SCON;串行通訊波特率倍增寄存器PCON,(又稱為電源控制寄存器)。50四、與中斷相關(guān)的寄存器(2個(gè))中斷允許控制寄存器IE;中斷優(yōu)先級(jí)控制寄存器IP。
五、與定時(shí)器/計(jì)數(shù)器相關(guān)的寄存器(6個(gè))
T0的兩個(gè)8位計(jì)數(shù)初值寄存器TH0、TL0T1的兩個(gè)8位計(jì)數(shù)初值寄存器TH1、TL1
工作方式寄存器TMOD;控制寄存器TCON。512.3.2MCS-51的存儲(chǔ)器結(jié)構(gòu)8051單片機(jī)在系統(tǒng)結(jié)構(gòu)上采用了哈佛型,其存儲(chǔ)器在物理結(jié)構(gòu)上分程序存儲(chǔ)器(ROM)和數(shù)據(jù)存儲(chǔ)器(RAM)。有四個(gè)物理上相互獨(dú)立的存儲(chǔ)空間:其配置如圖
ROM:4K
范圍是:000H~0FFFH
RAM:128字節(jié)
范圍是:00H~7FH52程序存儲(chǔ)器(C語(yǔ)言中被稱為code區(qū))0000H0001H0002H(PC)中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行口中斷8位...0FFFH0FFEH內(nèi)部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1EA=0程序存儲(chǔ)器(code)資源分布中斷入口地址引腳接為高電平時(shí),CPU可訪問內(nèi)部和外部ROM,并且程序自片內(nèi)程序存儲(chǔ)器開始執(zhí)行,PC值超出片內(nèi)ROM容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器中的程序。一.MCS-51程序存儲(chǔ)器配置53程序存儲(chǔ)器中的特定程序入口
(51子系列為6個(gè))
54外部RAM數(shù)據(jù)存儲(chǔ)器xdata0000HFFFFH(64K)內(nèi)部數(shù)據(jù)存儲(chǔ)器間接尋址idata00HFFH7FH80H(高128B)(低128B)RAM專用
寄存器sfr0組R0R7R0R7R0R7R0R71組2組3組工作寄存器區(qū)可位尋址區(qū)(bdata)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)內(nèi)部RAM存儲(chǔ)器(data)18H1FH10H17H08H0FH00H07H二.MCS-51內(nèi)部數(shù)據(jù)存儲(chǔ)器RS1RS0000組011組102組013組551、工作寄存器區(qū)低端32個(gè)字節(jié)分成4個(gè)工作寄存器組,每組8個(gè)單元,分別稱為R0,R1…,R7。程序運(yùn)行時(shí)只能使用一個(gè)工作寄存器組作為當(dāng)前工作寄存器組。當(dāng)前工作寄存器組的機(jī)制便于快速現(xiàn)場(chǎng)保護(hù)。
PSW的RS1、RS0決定當(dāng)前工作寄存器組號(hào)寄存器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個(gè)單元,只可按字節(jié)尋址,而不可位尋址。程序運(yùn)行期間,會(huì)產(chǎn)生一些運(yùn)算結(jié)果等中間數(shù)據(jù),這些數(shù)據(jù)可在此區(qū)間暫時(shí)保存。另外,若程序運(yùn)行過程中遇到調(diào)用子程序或響應(yīng)中斷,往往需要保護(hù)現(xiàn)場(chǎng),將有關(guān)的數(shù)據(jù)壓入堆棧,待子程序返回或中斷響應(yīng)結(jié)束時(shí)再將入棧數(shù)據(jù)彈出,此時(shí),該區(qū)間可作堆棧使用。單片機(jī)復(fù)位后,堆棧指針SP的值為07H,即默認(rèn)此區(qū)間的08H為棧底??紤]到00H~2FH通常保留作工作寄存器區(qū)和位尋址區(qū),因此一般將棧底設(shè)置在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復(fù)位后各SFR的初始狀態(tài)——重要寄存器內(nèi)容寄存器內(nèi)容PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000B61說明:1、51子系列離散分布有21個(gè)特殊功能寄存器SFR、52子系列為26個(gè)。2、凡地址能被8整除的寄存器(共11個(gè))都是可位尋址的寄存器。3、位尋址形式:直接位地址:如D3H位助記符:RS0寄存器.位:如PSW.3單元地址.位:如D0H.3位型bit10,1sbit10,1訪問SFRsfr80~255sfr16160~6553562C51的數(shù)據(jù)的存儲(chǔ)器類型
變量和常量必須以一定的存儲(chǔ)器類型定位于單片機(jī)的存儲(chǔ)區(qū)域中。
存儲(chǔ)器類型長(zhǎng)度(位)對(duì)應(yīng)單片機(jī)存儲(chǔ)器bdata1片內(nèi)RAM,位尋址區(qū),共128位。(亦能字節(jié)訪問)data8片內(nèi)RAM,直接尋址,共128字節(jié)。idata8片內(nèi)RAM,間接尋址,共256字節(jié)。pdata8片外RAM,分頁(yè)間址,共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;//實(shí)型變量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í)/計(jì)數(shù)器:2個(gè),16位
中斷系統(tǒng):5個(gè)中斷源,2個(gè)優(yōu)先級(jí)
651、并行I/O端口
MCS-51單片機(jī)內(nèi)部有4個(gè)并行的I/O接口電路:P0、P1、P2、P3,它們都是雙向口,既可以輸入又可以輸出。P0、P2口經(jīng)常用作外部擴(kuò)展存儲(chǔ)器時(shí)的數(shù)據(jù)、地址總線,P3口除了可用作I/O口外,每一根都有第二功能。通過這些I/O接口,單片機(jī)可以外接鍵盤、顯示器等外圍設(shè)備,還可以進(jìn)行系統(tǒng)擴(kuò)展,以解決片內(nèi)硬件資源不足問題。66⑶I/O口P0口:三態(tài)雙向復(fù)用口地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結(jié)構(gòu)Vcc11001“讀”01100P0口作地址/數(shù)據(jù)復(fù)用總線D0~D7A0~A767P0口作地址/數(shù)據(jù)復(fù)用總線從P0口輸出數(shù)據(jù)或地址信息的過程:控制端高電平MUX接反相器輸出端輸出級(jí)T1連接與門開鎖信號(hào)驅(qū)動(dòng)T0驅(qū)動(dòng)電路接通P0口輸出數(shù)據(jù)/地址信息從P0口輸入數(shù)據(jù)信息:引腳信號(hào)從輸入三態(tài)緩沖器進(jìn)入內(nèi)部總線“讀”68P0口:作通用I/O口使用地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結(jié)構(gòu)Vcc外接上拉電阻0100讀讀-修改-寫功能1ANLP0,A(P0)^(A)P0“讀”Vcc69P0口作通用I/O口使用輸出時(shí):P0口作通用I/O口使用輸入時(shí):先將鎖存器寫“1”T0、T1截止讀引腳信號(hào)P0~P3口線上的“讀-修改-寫”是通過上面一個(gè)三態(tài)門實(shí)現(xiàn)的。P0的驅(qū)動(dòng)能力:驅(qū)動(dòng)8個(gè)TTL門控制端低電平與門輸出低電平T0截止輸出漏級(jí)開路外接上拉電阻MUX接鎖存器Q端鎖存器Q與T1連接70P0口作通用I/O口使用輸入時(shí):先將鎖存器寫“1”T0、T1截止讀引腳信號(hào)地址/數(shù)據(jù)控制讀鎖存器寫鎖存器DCLQQP0.x鎖存器T0T1MUXP0.x引腳內(nèi)部總線讀引腳P0口位結(jié)構(gòu)Vcc010071P1口:準(zhǔn)雙向口讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP1.x鎖存器TP1.x引腳Vcc內(nèi)部上拉電阻010101輸出輸入“讀引腳”P1口位結(jié)構(gòu)72作通用I/O口輸出時(shí):將“1”寫入鎖存器輸出高電平將“0”寫入鎖存器Q=1,T導(dǎo)通輸出低電平作通用I/O口輸入時(shí):口鎖存器必須寫“1”先將“1”寫入鎖存器,使T截止,口線上的數(shù)據(jù)取決于外部輸入Q=0,T截止
P1口的驅(qū)動(dòng)能力:驅(qū)動(dòng)4個(gè)TTL門內(nèi)部總線為引腳為“高電平”“低電平”“1”“0”“讀”準(zhǔn)雙向口73P2口:準(zhǔn)雙向口地址控制讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP2.x鎖存器TP2.x引腳P2口位結(jié)構(gòu)VccMUX上拉電阻74P2口作通用I/O口使用時(shí):
準(zhǔn)雙向口。MUX倒向左邊,輸出級(jí)與鎖存器“Q”端接通,P2口I/O操作完全與P1口相同P2口作地址總線高8位使用時(shí):
在CPU的控制下,MUX倒向右邊,接通內(nèi)部地址總線,P2口的口線狀態(tài)取決于片內(nèi)輸出的地址信息
P2口的驅(qū)動(dòng)能力:驅(qū)動(dòng)4個(gè)TTL門75第二輸入功能P3口:雙功能口讀鎖存器寫鎖存器內(nèi)部總線讀引腳DCLQQP3.x鎖存器TP3.x引腳Vcc上拉電阻第二輸出功能11076P3作第一功能口使用時(shí):
輸出控制線為高電平,與非門的輸出取決于鎖存器“Q”端的狀態(tài),P3口的I/O操作和P1口相同。P3作第二功能口使用時(shí):
相應(yīng)的口線鎖存器必須為“1”,與非門的輸出取決于第二功能輸出線。
P3的驅(qū)動(dòng)能力:驅(qū)動(dòng)4個(gè)TTL門
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色生態(tài)苗木種植技術(shù)服務(wù)承包合同4篇
- 二零二五版農(nóng)業(yè)資源整合與開發(fā)合同樣本4篇
- 2025年海外教育機(jī)構(gòu)外籍教師聘用合同參考文本
- 二零二五年度事業(yè)單位職工退休后健康服務(wù)保障合同4篇
- 2025年個(gè)人二手房交易全程代理服務(wù)合同4篇
- 2025年度安全門采購(gòu)與安裝工程合同2篇
- 二零二五年度2025版新能源汽車充電樁銷售合同范本4篇
- 二零二五年度教育培訓(xùn)講師專業(yè)能力評(píng)定合同模板4篇
- 2025年度住宅小區(qū)道路與照明設(shè)施維護(hù)合同4篇
- 2025年度金融數(shù)據(jù)分析派遣員工勞動(dòng)合同范本4篇
- 南安市第三次全國(guó)文物普查不可移動(dòng)文物-各鄉(xiāng)鎮(zhèn)、街道分布情況登記清單(表五)
- 選煤廠安全知識(shí)培訓(xùn)課件
- 項(xiàng)目前期選址分析報(bào)告
- 急性肺栓塞搶救流程
- 《統(tǒng)計(jì)學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語(yǔ)言-時(shí)間序列分析和預(yù)測(cè)
- 《形象價(jià)值百萬(wàn)》課件
- 紅色文化教育國(guó)內(nèi)外研究現(xiàn)狀范文十
- 中醫(yī)基礎(chǔ)理論-肝
- 小學(xué)外來人員出入校門登記表
- 《土地利用規(guī)劃學(xué)》完整課件
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評(píng)價(jià)規(guī)范
評(píng)論
0/150
提交評(píng)論