《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件2單片機(jī)基本結(jié)構(gòu)1_第1頁
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件2單片機(jī)基本結(jié)構(gòu)1_第2頁
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件2單片機(jī)基本結(jié)構(gòu)1_第3頁
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件2單片機(jī)基本結(jié)構(gòu)1_第4頁
《單片機(jī)原理及系統(tǒng)設(shè)計(jì)實(shí)用教程》課件2單片機(jī)基本結(jié)構(gòu)1_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)的學(xué)習(xí)重點(diǎn)CPU+內(nèi)存:寄存器應(yīng)用,指令集和尋址方式接口:各種可編程接口的應(yīng)用特點(diǎn)及初始化方法。基本接口包含:通用并行接口、串行接口、定時(shí)器、中斷控制。以上3點(diǎn)是學(xué)習(xí)的重點(diǎn)單片機(jī)的數(shù)據(jù)交換接口盡管外部設(shè)備多種多樣,根本上來說就是數(shù)據(jù)的傳輸:外部設(shè)備把指令、數(shù)據(jù)送到單片機(jī)內(nèi)讓單片機(jī)進(jìn)行處理單片機(jī)把處理情況和處理結(jié)果,以及需要保存的數(shù)據(jù)送到外部設(shè)備:顯示;打印;保存;交換……單片機(jī)還需要讀取外部狀態(tài)信息和輸出控制信息。單片機(jī)接口就是完成以上數(shù)據(jù)傳輸任務(wù)的基本電路模塊。單片機(jī)基本接口并行接口:多條線(8線)同時(shí)傳輸數(shù)據(jù)。一次傳輸一字節(jié)。串行接口:?jiǎn)尉€傳輸,一次傳輸一位,分時(shí)傳送。定時(shí)器:產(chǎn)生設(shè)定的時(shí)間間隔信號(hào),用于安排計(jì)算機(jī)的多種任務(wù)執(zhí)行時(shí)間,也可以測(cè)量外部信號(hào)的寬度,周期,功能強(qiáng)的定時(shí)器,還可以產(chǎn)生多種波形輸出,例如PWM等。中斷控制器:用于使CPU能及時(shí)響應(yīng)多種外部設(shè)備申請(qǐng)的服務(wù)。配合外部低速設(shè)備的數(shù)據(jù)交換。其他接口:DMA直接存儲(chǔ)器存取,AD/DA數(shù)字/模擬接口等,隨不同型號(hào)不同而不同。通訊接口舉例并行接口:LPT打印機(jī);內(nèi)部FDD軟驅(qū);IDE光驅(qū)/硬盤……串行接口:COM1/COM2串行接口;USB通用串行接口;鍵盤、鼠標(biāo)接口;紅外線接口;網(wǎng)絡(luò)接口……串行接口還有更廣泛的應(yīng)用:手機(jī),數(shù)字電視,衛(wèi)星通訊……屬串行接口的還有一些其它名稱:I2C,SPI,SMBus,通訊協(xié)議有些差異。RS485,RS232等,傳送的驅(qū)動(dòng)方式和數(shù)據(jù)電平有些差異。單片機(jī)的其他接口擴(kuò)展的其它接口如:A/D;D/A接口;I2C接口,CAN接口;SPI接口;DMA接口等不同廠家的產(chǎn)品具有不同的特點(diǎn),但基本結(jié)構(gòu)框架類似,一通百通。如果使用C語言編程,只要了解對(duì)應(yīng)接口的初始化代碼就可以對(duì)不同型號(hào)單片機(jī)進(jìn)行編程了!基于51單片機(jī)核,英飛凌infeineon,AD,ATMEL,PHILIPS等公司還提供了更多的接口功能,使之應(yīng)用更廣泛和靈活。單片機(jī)不同型號(hào)間的主要差異CPU字長:4位;8位;16位;32位ROM容量:沒有(需要外部擴(kuò)展);1K;2K;4K;8K…64K,128K…,工藝上分EPROM;E2PROM;FLASHROMRAM容量:128B;256B;1K;2K…,基本RAM和片內(nèi)擴(kuò)展XRAM接口數(shù)量和種類:并口;串口;定時(shí)器;中斷控制器。好的芯片還集成了AD/DA接口,DMA,PWM,CAN,I2C,……。同時(shí)增加更多引腳。常見的8位16位單片機(jī)Intel8051系列和96系列Motolola的MC68H系列Microchip的PIC系列ATMEL的89系列,ATMEGA系列PHILIPS的P89/P87C5系列SiliconLaborratories的C8051F..系列億恒C500/166系列(原西門子,infineon)8/16位三菱740族8位,M16C/62系列16位TI的MSP430系列內(nèi)部總線地址寄存器(段寄存器)程序計(jì)數(shù)器數(shù)據(jù)寄存器通用寄存器總線緩沖總線緩沖數(shù)據(jù)總線地址總線累加器ALU暫存器狀態(tài)寄存器器指令寄存器指令譯碼時(shí)序邏輯控制信號(hào)CPU的一般結(jié)構(gòu)CPU主要結(jié)構(gòu)和功能ALU:算術(shù)邏輯單元。它是一個(gè)集:加、減、乘、除、移位、與、或、非、異或等多種功能模塊的電路單元。選擇ALU的某項(xiàng)功能是通過“指令譯碼器”送出的控制信號(hào)決定的。指令寄存器存放著從存儲(chǔ)器讀回的操作指令,它被“指令譯碼器”譯成操作ALU的控制信號(hào)。地址寄存器/程序計(jì)數(shù)器自動(dòng)計(jì)算CPU要執(zhí)行的下一條指令的存放地址,并產(chǎn)生相應(yīng)地址信號(hào)用于選擇程序存儲(chǔ)器。指令譯碼器在執(zhí)行完當(dāng)前指令時(shí),發(fā)出“讀指令”信號(hào),把下一條指令讀入指令寄存器。新型單片機(jī)采用“流水線”方式,執(zhí)行指令的同時(shí)就可以讀取新的指令。狀態(tài)寄存器存放著ALU運(yùn)算的狀態(tài)標(biāo)志。通用寄存器存放一些最常用的運(yùn)算數(shù)據(jù)或地址。運(yùn)算前,數(shù)據(jù)會(huì)轉(zhuǎn)存到暫存器中累加器是最常用的運(yùn)算寄存器。通常,運(yùn)算前是運(yùn)算數(shù)據(jù),運(yùn)算后存放運(yùn)算結(jié)果。它配合暫存器通過ALU進(jìn)行運(yùn)算。存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器:RAM程序存儲(chǔ)器:ROM兩類存儲(chǔ)器的編址方法有兩種:線性統(tǒng)一編址和分區(qū)編址。IntelMCS-51為“分區(qū)編址”,ROM和RAM各自占用一個(gè)獨(dú)立地址空間。IntelX86采用線性統(tǒng)一編址。ROM和RAM分布于同一個(gè)地址空間的不同地址段。許多計(jì)算機(jī)都采用線性統(tǒng)一編址,稱為“馮·涅曼”體系結(jié)構(gòu)。例如億恒C164CI系列單片機(jī)。地址:就像門牌號(hào)或者密碼鎖,每一個(gè)存儲(chǔ)單元應(yīng)當(dāng)具有獨(dú)立的唯一的地址代碼。單片機(jī)的RAM特點(diǎn)單片機(jī)的RAM又分為“片內(nèi)”和“片外”兩種。片內(nèi)RAM包含兩種應(yīng)用類型:①通用寄存器+片內(nèi)RAM。②特殊功能寄存器SFR。SFR是特殊功能寄存器(SpecialFunctionRegisters),而且是專用的!它們控制著單片機(jī)的各種接口功能,也存放著接口的輸入輸出數(shù)據(jù)。這些寄存器都有特定的地址。片外RAM通常指外部擴(kuò)展的RAM。一些性能較好的單片機(jī)片內(nèi)也集成了“片外”RAM,稱為:XRAM,實(shí)際上還是集成在片內(nèi)。片內(nèi)RAM和片外RAM也分為統(tǒng)一編址和獨(dú)立編址兩種51單片機(jī)RAM屬于獨(dú)立編址,而ROM則為統(tǒng)一編址。后續(xù)詳細(xì)解說。單片機(jī)的接口單片機(jī)的基本接口就是前面講過的:并行接口;串行接口;定時(shí)器和中斷控制器。性能好的單片機(jī)除了增加接口數(shù)量之外,還增加了許多專用接口,例如模數(shù)/數(shù)模轉(zhuǎn)換器接口,USB接口,CAN接口,I2C接口,PWM接口等等。所有接口的控制寄存器和數(shù)據(jù)寄存器都安排在SFR區(qū)。它們同片內(nèi)RAM那樣都有具體的地址安排,并有相應(yīng)的寄存器名稱。各生產(chǎn)廠家會(huì)提供“寄存器名=地址”的文件或編譯器。各接口引腳往往是多功能的,用軟件選擇它的某一功能。(配合硬件連接)特別值得注意的是:可以直接對(duì)一個(gè)引腳進(jìn)行控制!這是其它計(jì)算機(jī)沒有的。一些并行接口常作為外部擴(kuò)展時(shí)的數(shù)據(jù)線、地址線和控制線使用。(當(dāng)需要時(shí))51系列單片機(jī)最早以8031為代表,后來派生出許多型號(hào),它們的基本結(jié)構(gòu)和指令代碼相同。甚至引腳也相同,可以直接互換。這類系列統(tǒng)稱為MCS-51系列,常見型號(hào)有:8031,8032,8751,8752,8051,8052…89C51,89C52,97C51,97C52,89C2051……生產(chǎn)51系列單片機(jī)的許多廠家還推出了性能更好的型號(hào),這些廠家有:Philips,Dallas,SIMENS,AMD,Atmel,NEC,HARRIS,WinBond,YHUNDAI,ADI,SiliconLaborratories等,產(chǎn)品名稱變化也大,例如:Dallas的DS80C320,WinBond的W78E58,SiliconLaborratories的C8051F0XX,Philips的P89LPCXXX等。51單片機(jī)代表型號(hào)及資源型號(hào)ROM(KB)RAM字節(jié)并口引腳數(shù)串口定時(shí)器中斷源8031無1284×81258032無2564×813680514KPROM1284×812589514K1284×812589528K2564×813689C5832K2564×813687C5416K2564×813689C20512K1282×812587C514K1284×8125常見代號(hào)分析80C31的C字表示CMOS工藝,通常忽略不講。第二個(gè)字:0,7,9等,表示ROM的工藝,0為PROM,7為EPROM,9為E2PROM或flashROM。第三個(gè)字:3:無ROM,5:有ROM第四個(gè)字n:n=1:RAM128字節(jié),定時(shí)器2個(gè),ROM4Kn=2:RAM256字節(jié),定時(shí)器3個(gè),ROM=8Kn>2:RAM256字節(jié),定時(shí)器3個(gè),ROM=n*4K注:此方法不完全通用,可以參考。希望大家記住此方法。例:89C5187C5251單片機(jī)引腳和封裝封裝的英文縮寫意義DIP雙列直插式封裝PDIPPlasticDual-In-LinePackage塑料雙列直插式組件TQFPThinQuadFlatPack薄型四方扁平封裝

PQFPPlasticQuadFlatPack塑料四方扁平封裝

PLCCPlasticLeadedChipCarrier/PlasticLeadlessChipCarrier塑料式引線芯片載體封裝/塑料無引線芯片承載封裝BGABallGridArray球柵陣列(封裝)

PGAPinGridArray柵格陣列接腳

TSOPThinSmall-OutlinePackage薄型小外型封裝

SOTSmall-OutlineTransistor小外型晶體管

封裝的意義做PCB圖,要根據(jù)封裝尺寸和間距做,選擇封裝時(shí)要考慮產(chǎn)品的尺寸.不同封裝的成品率和散熱性能不同.DIP40封裝的51單片機(jī)引腳定義P1.0~P1.7 并行口P1,其中P1.0和P1.1可能作為定時(shí)器T2的功能引腳。P0.1~P0.7 并行口P0,當(dāng)需要擴(kuò)展存儲(chǔ)器或接口時(shí),可以作為數(shù)據(jù)/地址(低8位)總線。P2.0~P2.7 并行口P2,當(dāng)需要擴(kuò)展存儲(chǔ)器或接口時(shí),可以作為地址總線高8位。P3.0~P3.7 并行口P3,通常單獨(dú)使用它們的第二功能:

P3口特殊功能P3.0 RXD,異步通訊接口的數(shù)據(jù)輸入端。

P3.1 TXD,異步通訊接口的數(shù)據(jù)輸出端。

P3.2 INT0,外部中斷0申請(qǐng)的輸入端。

P3.3 INT1,外部中斷1申請(qǐng)的輸入端。

P3.4 T0,定時(shí)器T0外部時(shí)鐘輸入端。

P3.5 T1,定時(shí)器T1外部時(shí)鐘輸入端。

P3.6 WR,對(duì)外部存儲(chǔ)器/接口的“寫”信號(hào)。

P3.7 RD,對(duì)外部存儲(chǔ)器/接口的“讀”信號(hào)。51單片機(jī)的其它引腳VCC 工作電源,常為+5V,某些型號(hào)可以工作在2.7~8V之間。VSS GND,接地端。XTAL1 外接晶體振蕩器,當(dāng)使用外部時(shí)鐘時(shí),此腳應(yīng)接地。XTAL2 外接晶體振蕩器。也作外部時(shí)鐘輸入。PSEN 讀外部ROM信號(hào)。RST 復(fù)位輸入端,高電平復(fù)位,低電平時(shí)CPU工作。ALE/PROG 地址鎖存信號(hào)輸出(正脈沖)/編程脈沖輸入(負(fù)脈沖),用戶一般不考慮后者。此信號(hào)控制外接的74LS373鎖存器把P0口的地址分量分離出來作為擴(kuò)展地址的低8位。EA/VPP 片內(nèi)片外ROM選擇/編程電壓輸入,用戶一般不考慮后者。當(dāng)接GND時(shí),表示使用外部程序存儲(chǔ)器;當(dāng)接VCC時(shí),使用片內(nèi)程序存儲(chǔ)器。MCS-51單片機(jī)最小系統(tǒng)舉例

拿到一塊芯片,想要使用它,首先必須要知道怎樣連線,我們用的一塊稱之為8951的芯片,下面我們就看一下如何給它連線。

1、電源:?jiǎn)纹瑱C(jī)使用的是5V電源,其中正極接40引腳,負(fù)極(地)接20引腳。

2、振蒎電路:?jiǎn)纹瑱C(jī)是一種時(shí)序電路,必須提供脈沖信號(hào)才能正常工作,在單片機(jī)內(nèi)部已集成了振蕩器,使用晶體振蕩器,接18、19腳。只要買來晶振,電容,連上就可以了,按下圖接上即可。3、復(fù)位引腳:按圖中畫法連好,至于復(fù)位是何含義及為何需要復(fù)要復(fù)位,在單片機(jī)功能中介紹。

4、EA引腳:EA引腳接到正電源端。至此,一個(gè)單片機(jī)就接好。5、編程并匯編為機(jī)器語言,寫入8751片內(nèi)程序存儲(chǔ)器。6、通電,單片機(jī)就開始工作了,即從地址0000開始執(zhí)行程序。

如要求8個(gè)LED燈間隔輪流亮滅,程序?yàn)椋?/p>

MOVA,#10101010B;LOOP:MOVP1,A ;(A)->(P1)CPLA;A求反

SJMPLOOP;跳轉(zhuǎn)到LOOP51單片機(jī)內(nèi)部結(jié)構(gòu)框圖1存儲(chǔ)器結(jié)構(gòu)51單片機(jī)的“地址重疊”片內(nèi)RAM地址:00H~7FH(52系列為00H~FFH)位地址:00H~7FH片外擴(kuò)展RAM地址:0000H~FFFFH(擴(kuò)展)ROM地址:0000H~FFFFH單片機(jī)對(duì)其訪問時(shí),各使用不同的指令就可區(qū)別!片內(nèi):MOV指令等,因?qū)ο蟛煌褂貌煌拇嫫骰驅(qū)ぶ贩绞骄涂蓞^(qū)分:位或者字節(jié)。片外RAM用MOVX,控制信號(hào):WR和RD訪問ROM用MOVC,控制信號(hào):PSEN。ROM以線性方式編址,無論EA腳接高電平或低電平8051片內(nèi)有128字節(jié)數(shù)據(jù)存儲(chǔ)器RAM(不包括特殊寄存器),4K字節(jié)的程序存儲(chǔ)器ROM??稍谄鈹U(kuò)展RAM和ROM,并各有64KB的尋址范圍。64K字節(jié)的ROM空間中,有4K字節(jié)地址對(duì)于片內(nèi)ROM和片外ROM是公共的。EA控制信號(hào)用來區(qū)分內(nèi)部ROM和外部ROM。程序存儲(chǔ)器ROM保留單元:0000~0002單元是所有執(zhí)行程序的入口地址。0003~002AH單元均勻地分為五段,用作五個(gè)中斷服務(wù)程序的入口。數(shù)據(jù)存儲(chǔ)器RAM128字節(jié)(不包括特殊寄存器):00~7FH是真正的RAM區(qū),可以讀寫各種數(shù)據(jù),分為三個(gè)區(qū)域:從00~1FH安排了四組工作寄存器;第二個(gè)區(qū)域是位尋址區(qū),占用地址20~2FH;第三個(gè)區(qū)域就是一般的RAM,地址為30~7FH。特殊寄存器RAM128字節(jié):80~FFH是專門用作特殊功能寄存器(SFR)的區(qū)域。CPU由運(yùn)算器、控制器和若干特殊功能寄存器組成。運(yùn)算器可完成加、減及各種邏輯運(yùn)算,還可直接完成乘除運(yùn)算??刂破髟趩纹瑱C(jī)內(nèi)部協(xié)調(diào)各功能部件之間的數(shù)據(jù)傳送、數(shù)據(jù)運(yùn)算等操作。特殊功能寄存器有ACC,B,PSW,SP和DPTR。ACC就是累加器,在乘除運(yùn)算時(shí),B寄存器用來存放一個(gè)操作數(shù),也用來存放運(yùn)算后的一部分結(jié)果。PSW為標(biāo)志寄存器。SP為堆棧指針。DPTR為數(shù)據(jù)指針。

PSW::(ProgramStateWord)程序狀態(tài)字,8位。其中存放著當(dāng)前ALU的一些操作狀態(tài)特征。其字節(jié)地址是D0H。2.CPU

PC:(ProgramCounter)程序計(jì)數(shù)器,16位。它與8086CPU的IP(InstructionPointer)意義類似。PC中存放著CPU要執(zhí)行的下一條指令地址,CPU通過它產(chǎn)生ROM地址從而讀取指令。每執(zhí)行一條指令,它都會(huì)自動(dòng)增加。增加的數(shù)值依照已讀指令的長短而變化。只有中斷、跳轉(zhuǎn)和調(diào)用指令才能使其作其它變化。每當(dāng)開機(jī)或者復(fù)位時(shí),它的起始值為0000H。ACC:累加器,8位。51單片機(jī)大多數(shù)指令都必須使用ACC,它是使用最頻繁的寄存器。它與ALU直接相連,加、減、乘、除、移位以及其它邏輯運(yùn)算都要使用ACC,特別是:外部數(shù)據(jù)的讀寫也都必須使用ACC。ACC有兩個(gè)名字:A和ACC。A表示寄存器,ACC表示用地址表達(dá)的寄存器(存儲(chǔ)器)。除入棧出棧指令使用ACC這個(gè)名字外,其它指令中都用A。DPTR:數(shù)據(jù)指針16位,主要用于指出外部RAM的數(shù)據(jù)地址或ROM數(shù)據(jù)表的基地址。內(nèi)存中將其分為兩個(gè)8位寄存器,分別叫DPL和DPH,DPH存放地址的高8位,DPL存放低8位。程序狀態(tài)字PSWC:也叫CY,進(jìn)位標(biāo)志或借位標(biāo)志。當(dāng)運(yùn)算產(chǎn)生進(jìn)位或借位時(shí):C=1,否則C=0。C位還有一個(gè)特殊意義:它是1位計(jì)算機(jī)的“累加器”,CPU作布爾運(yùn)算時(shí),需要C的介入。同時(shí)C還可以讀取一個(gè)引腳的數(shù)據(jù)或者把C的數(shù)據(jù)從引腳送出。AC:半進(jìn)位。當(dāng)AC=1時(shí),表明運(yùn)算使低4位向高4位產(chǎn)生了進(jìn)位。F0:用戶標(biāo)志位。用戶可以用于存1位數(shù)據(jù)。RS1和RS0:(RegistersSelection)寄存器選擇位。用于選擇寄存器組。OV:溢出標(biāo)志。對(duì)符號(hào)數(shù)的運(yùn)算,當(dāng)結(jié)果超出-128~+127時(shí),產(chǎn)生溢出,此時(shí)OV=1。F1:用戶標(biāo)志位。用戶可以用于存1位數(shù)據(jù)。(有些品種不支持)P:奇偶標(biāo)志,反映ACC中數(shù)據(jù)的奇偶性。若ACC中有奇數(shù)個(gè)1,則P=1。位地址D7HD6HD5HD4HD3HD2HD1HD0H位符號(hào)CACF0RS1RS0OVF1P51單片機(jī)內(nèi)部RAM地址名稱/用途PSW/說明00~07R0R1R2R3R4R5R6R70組RS1=0,RS0=008~0FR0R1R2R3R4R5R6R71組RS1=0,RS0=110~17R0R1R2R3R4R5R6R72組RS1=1,RS0=018~1FR0R1R2R3R4R5R6R73組RS1=1,RS0=120~2F位尋址區(qū),地址00~7FH共128位,占16字節(jié)不用的字節(jié)作RAM30~7F用戶RAM區(qū),存變量、緩沖、堆棧等80~FF51、52單片機(jī)為SFR特殊功能寄存器采用直接地址(名稱)80~FF52單片機(jī)作RAM采用寄存器間接尋址

內(nèi)部RAM的讀寫采用“MOV”指令,操作數(shù)分為:字節(jié)或位,其操作對(duì)象隨之不同。

R0-R7通用寄存器部分,不用的字節(jié)也做RAM。通用寄存器的使用51單片機(jī)留了4組寄存器,它們都叫做:R0,R1~R7。它們?cè)诟鞣N運(yùn)算中起著參與運(yùn)算的作用。主程序只用0組寄存器。其它組用于不同的中斷服務(wù)程序。目的是互不破壞數(shù)據(jù)。如何切換到另一組呢?用程序改變PSW中的RS1和RS0就可。記?。褐鞒绦蚰J(rèn)使用:寄存器組0。中斷服務(wù)程序開始時(shí),先保存PSW,然后改寫RS1和RS0。退出服務(wù)時(shí)恢復(fù)原來的PSW。一般只要使用兩組就可以了。SFR簡(jiǎn)介

地址:80H~FFH并口數(shù)據(jù)寄存器:P0;P1;P2;P3累加器ACC和寄存器B定時(shí)器T0(TH0;TL0),T1(TH1;TL1)定時(shí)器控制寄存器:TMOD;TCON串行口控制SCON和數(shù)據(jù)SBUF中斷控制:IE,IP電源控制:PCON程序狀態(tài)字:PSW堆棧指針:SP數(shù)據(jù)指針:DPTR(DPH和DPL)單片機(jī)的“位”單片機(jī)特色之一是使用“位”變量并可以直接操作?!拔弧贝嬖谟诟鱾€(gè)并口(引腳),累加器,PSW以及若干寄存器中;同時(shí)在RAM中也預(yù)留了“可位尋址”的空間:20H~2FH。位空間占用16字節(jié),每個(gè)字節(jié)8位共128位,用地址00H~7FH表達(dá)。換算關(guān)系:字節(jié)地址=20H+(位地址/8),余數(shù)就是此字節(jié)的位號(hào)?!拔弧笨梢栽O(shè)為變量、標(biāo)志、LED顯示緩沖區(qū)等。51單片機(jī)的堆棧SP:stackPointer堆棧指針,8位。用于指出當(dāng)前堆棧的頂部地址,當(dāng)有入棧操作時(shí),SP自動(dòng)+1,出棧時(shí)SP=SP-1。堆棧:在RAM中劃分一個(gè)“塊”作為堆棧。堆棧的作用有兩個(gè):1.用于保存子程序返回時(shí)的程序地址信息。2.數(shù)據(jù)暫存。調(diào)用子程序或者響應(yīng)中斷時(shí),斷點(diǎn)的地址被CPU自動(dòng)存入堆棧,程序返回時(shí),此地址能自動(dòng)恢復(fù),從而繼續(xù)執(zhí)行被打斷處的程序。堆棧的操作是通過“堆棧指針SP”記錄的,它永遠(yuǎn)指出下一個(gè)空閑的存儲(chǔ)器地址。51單片機(jī)的堆棧為“上漲”型,入棧時(shí)SP=SP+1。因?yàn)?1機(jī)RAM很少,堆??臻g的預(yù)留需要精打細(xì)算。計(jì)算的依據(jù):考慮子程序嵌套的最大可能層數(shù),同時(shí)還要考慮中斷服務(wù)程序的子程序嵌套層數(shù),兩個(gè)層數(shù)相加后乘2,再留一點(diǎn)余量。128字節(jié)RAM空間,扣除必須使用的通用寄存器組數(shù);堆棧;位變量占用的字節(jié)數(shù),剩余部分才能設(shè)定為變量;緩沖區(qū)等。3并行接口

從外部來看,共有4組8位并行接口,占用32個(gè)引腳,另:兩個(gè)引腳作晶振接入,電源,地各一個(gè)腳及4個(gè)控制腳共計(jì)40個(gè)引腳。

4組并行接口分別稱為:P0;P1;P2和P3,每一個(gè)單獨(dú)引腳由小數(shù)點(diǎn)后的數(shù)字確定。例如:P1.0;P3.2等。

4組并口,除P1為專門的并口外,其它3個(gè)并口還有第二功能:P0可以作為外部的數(shù)據(jù)總線和地址低8位;P2作為地址高8位。P3的每一個(gè)引腳都有不同的第2功能:串行接口的輸入輸出;外部中斷輸入;定時(shí)器外部鐘輸入以及外部接口存儲(chǔ)器的讀寫信號(hào)。單片機(jī)內(nèi)部除CPU的主要結(jié)構(gòu)外,還有128B(256B)的RAM,一定數(shù)量的ROM。RAM和ROM的多少隨芯片型號(hào)不同而不同。

P0口和P2口可以作為外部擴(kuò)展的數(shù)據(jù)總線和地址總線使用。P0口分時(shí)作為數(shù)據(jù)線(8位)和地址線低8位使用,通過外部地址分離電路將其分離。分離信號(hào)就是ALEP2口作為地址線高8位使用P0和P2可以組合成16位地址,因而可以對(duì)外部的64KB空間進(jìn)行尋址訪問。他們可以同時(shí)連接ROM和RAM(訪問操作各自不同)4.定時(shí)/計(jì)數(shù)器8051內(nèi)部有兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器,最大計(jì)數(shù)模式為216-1。在定時(shí)工作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論