版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章MCS-51單片機(jī)的基本結(jié)構(gòu)吳政江制作
貴州電子信息職業(yè)技術(shù)學(xué)院貴州省人才培養(yǎng)優(yōu)秀單位2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)2.2AT89C51單片機(jī)引腳及其功能2.3AT89C51存儲器2.4AT89C51單片機(jī)最小應(yīng)用系統(tǒng)實(shí)訓(xùn)二:單片機(jī)控制信號燈亮滅
小結(jié)習(xí)題與思考題MCS-51系列單片機(jī)的基本特性可歸納為:(1)8位的CPU,片內(nèi)有振蕩器和時(shí)鐘電路,工作頻率為1~12MHz(Atmel89Cxx為0~24MHz)(2)片內(nèi)有128/256字節(jié)的數(shù)據(jù)存儲器RAM(3)片內(nèi)有0K/4K/8K字節(jié)的程序存儲器ROM(4)可尋址片外64K字節(jié)的數(shù)據(jù)存儲器RAM(5)可尋址片外64K字節(jié)的程序存儲器ROM(6)片內(nèi)21/26個專用寄存器(SFR)(7)4個8位的并行I/O口(PIO)(8)1個全雙工串行口(SIO/UART)(9)2/3個16位定時(shí)器/計(jì)數(shù)器(TIMER/COUNTER)(10)可處理5/6個中斷源,兩級中斷優(yōu)先級(11)內(nèi)置1個布爾處理器和1個布爾累加器(Cy)(12)MCS-51指令集含111條指令2.1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)圖2-1AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)圖P0口驅(qū)動器P2口驅(qū)動器P0口鎖存器P2口鎖存器RAMRAM地址寄存器BACCTMP1TMP2PSWP1口驅(qū)動器P1口鎖存器P3口驅(qū)動器P3口鎖存器OSC定時(shí)控制邏輯電路IRPCONSCONTMODTCONT2CONTH0TL0TH1TH2TL2RCAP2H*RCAP2L*中斷、串行通道定時(shí)器邏輯TL1SBUFIEIPEPROM/ROM程序地址寄存器緩沖器PC增量器程序計(jì)數(shù)器DPTRP0.0~P0.7P2.0~P2.7ALUSPP1.0~P1.7P3.0~P3.7PSENALERSTEAXTAL1XTAL2VCCGND注:*僅在8052/8032中才有2.1.1中央處理器(CPU)(1)運(yùn)算器①算術(shù)邏輯單元(ALU)。②累加器(ACC)。③暫存寄存器(TMP1、TMP2)。④狀態(tài)寄存器(PSW)。PSW各位的定義如表2-1所示。表2-1PSW各位定義表位編號PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0位定義CYACF0RS1RS0OV/P位地址D7HD6HD5HD4HD3HD2HD1HD0H
a.進(jìn)位標(biāo)志位CY。CY表示累加器A在加減運(yùn)算過程中其最高位A7有無進(jìn)位或借位。若有則CY=1,否則CY=0。此外,CPU在進(jìn)行移位操作時(shí)也會影響這個標(biāo)志位。b.輔助進(jìn)位位AC。AC表示累加器A在加減運(yùn)算時(shí)低4位(A3)向高4位(A4)有無進(jìn)位或借位。若有則AC=1,否則AC=0。
c.用戶標(biāo)志位F0。d.寄存器選擇位RS1、RS0。RS1、RS0狀態(tài)與工作寄存器R0~R7的物理地址關(guān)系如表2-2所示。表2-2工作寄存器R0~R7的物理地址RS1RS0工作寄存器組號R0~R7的物理地址00011011012300H~07H08H~0FH10H~17H18H~1FHe.溢出標(biāo)志位OV。若最高位(第7位)與次高位(第6位)同時(shí)有進(jìn)位或借位時(shí)結(jié)果未溢出,OV=0;若最高位(第7位)與次高位(第6位)一個有進(jìn)位或借位,而另一個沒有進(jìn)位或借位時(shí),結(jié)果溢出,OV=1。亦即f.奇偶標(biāo)志位P。P用于指示運(yùn)算結(jié)果中1的個數(shù)的奇偶性,若累加器A中1的個數(shù)為奇數(shù),則P=1;若1的個數(shù)為偶數(shù),則P=0?!纠?.1】試分析執(zhí)行加法指令,完成FFH與01H相加后,PSW各位的狀態(tài)。MOVA,#0FFHADDA,#01H執(zhí)行上述加法指令時(shí)的人工算式是:11111111B
+00000001B100000000B上述加法中,最高位有進(jìn)位,CY=1;次高位也有進(jìn)位,OV=0;低4位向高4位有進(jìn)位,AC=1;F0、RS1、RS0不受影響,P=0,則PSW的值為0C0H。
(2)控制器控制器是單片機(jī)內(nèi)部按一定時(shí)序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的部件。主要由程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID和定時(shí)控制邏輯電路等構(gòu)成。程序計(jì)數(shù)器PC:專門用于存放現(xiàn)行指令的16位地址的。指令寄存器IR:用于存放CPU根據(jù)PC地址從ROM中讀出的指令操作碼。指令譯碼器ID:用于分析指令操作碼的部件,指令操作碼經(jīng)譯碼后產(chǎn)生相應(yīng)于某一特定操作的信號。定時(shí)控制邏輯電路:用來產(chǎn)生脈沖序列和多種節(jié)拍脈沖。(3)寄存器陣列寄存器陣列是單片機(jī)內(nèi)部的臨時(shí)存儲單元或固定用途單元,包括:通用寄存器組:用來存放過渡性的數(shù)據(jù)和地址,提高CPU的運(yùn)行速度。專用寄存器組:主要用來指示當(dāng)前要執(zhí)行指令的內(nèi)存地址,存放特定的操作數(shù),指示指令運(yùn)行的狀態(tài)等。例如前面介紹的PC、PSW、累加器ACC等。其他專用寄存器將在后面的相關(guān)章節(jié)中介紹。2.1.2存儲器AT89C51單片機(jī)內(nèi)部有256個字節(jié)的數(shù)據(jù)存儲器(RAM)和4?KB的閃存程序存儲器(FlashROM),當(dāng)不夠使用時(shí),可分別擴(kuò)展為64KB的外部數(shù)據(jù)存儲器(RAM)和64KB外部程序存儲器(ROM)。2.1.3I/O端口(1)并行I/O端口AT89C51單片機(jī)有四個8位并行I/O端口,分別命名為P0口、P1口、P2口和P3口,它們都是8位準(zhǔn)雙向口(不是完全的雙向口,在作輸入時(shí)必須先向其輸出鎖存器寫入1),每次可以并行輸入或輸出8位二進(jìn)制信息。也可以按位操作進(jìn)行輸入或輸出信息。每個并行I/O口內(nèi)部有一個8位數(shù)據(jù)輸出鎖存器(即特殊功能寄存器SFR中的P0~P3),一個輸出驅(qū)動器和一個8位輸入緩沖器。(2)串行I/O端口AT89C51單片機(jī)有一個全雙工的可編程串行I/O端口,它利用了P3口的第二功能,即將P3.1引腳作為串行數(shù)據(jù)的發(fā)送線TXD,將P3.0引腳作為串行數(shù)據(jù)的接收線RXD。在串行口控制寄存器SCON,電源及波特率選擇寄存器PCON和串行數(shù)據(jù)緩沖器(它們都是特殊功能寄存器)的控制下,每次只能發(fā)送或接收一位二進(jìn)制信息。
2.1.4定時(shí)器/計(jì)數(shù)器AT89C51單片機(jī)內(nèi)部有兩個16位可編程定時(shí)器/計(jì)數(shù)器,簡稱為定時(shí)器0(T0)和定時(shí)器1(T1),T0和T1分別由兩個8位寄存器構(gòu)成,其中T0由TH0(高8位)和TL0(低8位)構(gòu)成,T1由TH1(高8位)和TL1(低8位)構(gòu)成。2.1.5中斷系統(tǒng)單片機(jī)中的中斷是指CPU暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù)(即執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指能夠處理上述中斷過程所需要的部分電路。AT89C51單片機(jī)的中斷系統(tǒng)由中斷源、中斷允許控制器IE、中斷優(yōu)先級控制器IP、定時(shí)器控制器TCON(中斷標(biāo)志寄存器)等構(gòu)成。2.1.6內(nèi)部總線總線是用于傳送信息的公共途徑,分為數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)三種類型。單片機(jī)內(nèi)的CPU、存儲器、I/O接口等單元部件都是通過總線連接到一起的。AT89C51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。內(nèi)部所有的單元電路都掛在總線上,它們之間的信息傳遞都經(jīng)過內(nèi)部總線,并采用分時(shí)操作、分時(shí)使用的方法,所以不會引起信息沖突或搶占總線的問題。圖2-2AT89C51/52單片機(jī)外形及引腳排列圖12345678910111213141516171819204039383736353433323130292827262524232221(T2)P1.0(T2EX)P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(T0)P3.4(T1)P3.5XTAL2XTAL1GND(TNT1)P3.3(TNT0)P3.2(WR)P3.6(RD)P3.7VCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)P2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)EA/VPPALE/PROGPSENP1.5P1.6P1.7RST(RXD)P3.0NC(TXD)P3.1(T0)P3.4(T1)P3.5(INT1)P3.3(INT0)P3.2P0.7(AD7)NCP2.7(A15)P2.6(A14)P2.5(A13)ALE/PROGPSENP0.4(AD4)P0.5(AD5)P0.6(AD6)EA/VPP789101112131415161739383736353433323130291819202122232425262728P1.1(T2EX)P1.4P1.3P1.2P1.0(T2)NCVCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)(RD)P3.7XTAL1XTAL2GNDNC(A8)P2.0(A9)P2.1(A10)P2.2(A11)P2.3(A12)P2.4(WR)P3.66543214443424140(b)DIP封裝(c)PLCC封裝AT89C51DIP40AT89C51RD2/ED2PLCC44(a)三種單片機(jī)的外形2.2.1I/O端口功能(1)P0口2.2AT89C51單片機(jī)引腳及其功能
圖2-3P0口位結(jié)構(gòu)圖DCLQQP0.XMUXT2T1Vcc控制地址/數(shù)據(jù)讀鎖存器內(nèi)部總線寫鎖存器讀引腳P0.X鎖存器(2)P1口圖2-4P1口位結(jié)構(gòu)圖讀鎖存器內(nèi)部總線寫鎖存器讀引腳P1.XTP1.X鎖存器DVcc內(nèi)部上拉電阻QQCL(3)P2口圖2-5P2口位結(jié)構(gòu)圖DCLQQP2.X鎖存器MUXTVcc控制內(nèi)部上拉電阻讀鎖存器內(nèi)部總線寫鎖存器讀引腳P2.X地址
(4)P3口圖2-6P3口位結(jié)構(gòu)圖DCLQQP3.X鎖存器讀鎖存器內(nèi)部總線寫鎖存器讀引腳VccT內(nèi)部上拉電阻第二輸出功能第二輸入功能P3.X表2-3P3口各位的第二功能P3口的位第二功能功能P3.0RXD串行數(shù)據(jù)接收口P3.1TXD串行數(shù)據(jù)發(fā)送口P3.2外中斷0輸入P3.3外中斷1輸入P3.4T0計(jì)數(shù)器0計(jì)數(shù)輸入P3.5T1計(jì)數(shù)器1計(jì)數(shù)輸入P3.6外部RAM寫選通信號P3.7外部RAM讀選通信號2.2.2電源線(1)VCC(第40腳):+5V電源線。(2)GND(第20腳):接地線。2.2.3外接晶體引腳(1)XTAL1(第19腳):片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時(shí)鐘工作的輸入端。采用內(nèi)部振蕩器時(shí),它接外部石英晶體和微調(diào)電容的一個引腳。當(dāng)采用外部振蕩器時(shí),它是外部時(shí)鐘的輸入端。(2)XTAL2(第18腳):片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時(shí),該引腳懸空。2.2.4控制線(1)RST(第9腳):復(fù)位輸入端,高電平有效。(2)ALE/(第30腳):地址鎖存允許/編程線。(3)(第29腳):外部程序存儲器的讀選通線。(4)/VPP(第31腳):片外ROM允許訪問端/編程電源端。AT89C51單片機(jī)存儲器采用哈佛型結(jié)構(gòu),即將程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)分開,它們有各自獨(dú)立的存儲空間、尋址機(jī)構(gòu)和尋址方式。其典型結(jié)構(gòu)如圖2-7所示。2.3AT89C51存儲器
圖2-7AT89C51存儲器結(jié)構(gòu)圖(a)程序存儲器地址分配;(b)數(shù)據(jù)存儲器地址分配1EA
0FFFH0000H0EA
==外部FFFFH1000H內(nèi)部RAM專用寄存器外部FFH80H7FH00H0000HFFFFH(a)(b)外部內(nèi)部2.3.1程序存儲器
1、片內(nèi)程序存儲器。片內(nèi)有4KB字節(jié)的Flash程序存儲器,地址范圍為0000H~0FFFH。
2、片外程序存儲器。當(dāng)片內(nèi)程序存儲器不夠使用時(shí),可以擴(kuò)展片外程序存儲器。因程序計(jì)數(shù)器PC和程序地址指針DPTR都是16位的,所以片外程序存儲器擴(kuò)展的最大空間是64KB,地址范圍為0000H~0FFFFH。
3、片內(nèi)程序存儲器與片外程序存儲器的關(guān)系。無論片內(nèi)還是片外擴(kuò)展的程序存儲器,兩者的地址空間是統(tǒng)一的。0000H~0FFFH這4KB的地址空間為片內(nèi)和片外程序存儲所共有,或片內(nèi)占用或片外占用,但兩者不能同時(shí)占用。為了加以區(qū)分,AT89C51提供了一個專用的控制引腳,引腳接高電平時(shí),單片機(jī)程序從內(nèi)部ROM開始執(zhí)行,當(dāng)PC值超出內(nèi)部ROM的容量時(shí),會自動轉(zhuǎn)向外部程序存儲器空間。若引腳接低電平,則程序從外部程序存儲器的0000H地址開始執(zhí)行,不管是否有內(nèi)部程序存儲器。
4、在64KB程序存儲器空間中,有六個單元具有固定用途。第一個是0000H單元,因?yàn)锳T89C51單片機(jī)復(fù)位后程序計(jì)數(shù)器PC的內(nèi)容為0000H,故CPU必須從0000H單元開始執(zhí)行程序,即0000H單元是整個系統(tǒng)程序的起始地址。另外五個單元分別是0003H、000BH、0013H、001BH、0023H均為中斷源的中斷入口地址。由于0000H單元與另一個固定地址0003H之間只有3個字節(jié)空間,存放不下一個程序。因此,一般在0000H單元中存放一條絕對轉(zhuǎn)移指令,用戶編寫的程序從轉(zhuǎn)移地址開始存放,這樣做的目的是為了跳過其他五個中斷入口地址。
5、擴(kuò)展外部程序存儲器。在系統(tǒng)需要擴(kuò)展外部程序存儲器時(shí),P0口和P2口作為地址/數(shù)據(jù)總線使用。P0口作為地址/數(shù)據(jù)復(fù)用總線使用,它先輸出16位地址的低8位(PC程序計(jì)數(shù)器低8位),然后輸出8位數(shù)據(jù)。當(dāng)系統(tǒng)不需擴(kuò)展,只用內(nèi)部4KB的Flash存儲器時(shí),P0口和P2口可作為普通的I/O口使用。2.3.2數(shù)據(jù)存儲器AT89C51單片機(jī)的數(shù)據(jù)存儲器也有片內(nèi)和片外之分。片內(nèi)有256個字節(jié)RAM,地址范圍為00H~0FFH。片外數(shù)據(jù)存儲器可擴(kuò)展64KB存儲空間,地址范圍為0000H~0FFFFH,但兩者的地址空間是分開的,各自獨(dú)立的,結(jié)構(gòu)分配如圖2-7(b)所示。訪問指令也各不相同,訪問內(nèi)部數(shù)據(jù)存儲器時(shí),用MOV指令;訪問外部數(shù)據(jù)存儲器時(shí),用MOVX指令。(1)片內(nèi)數(shù)據(jù)存儲器①片內(nèi)RAM區(qū)。00H~7FH共128單元。a.通用寄存器區(qū)。00H~1FH這32個單元為通用寄存器區(qū),分為四組,每組占八個RAM單元,地址由小到大分別用代號R0~R7表示。通過設(shè)置程序狀態(tài)字PSW中的RS1、RS0狀態(tài)來決定哪一組寄存器工作,如表2-2所示。不用的工作寄存器單元可作為一般的RAM使用。b.位尋址區(qū)。20H~2FH這16個單元為位尋址區(qū)。它有雙重尋址功能,既可以進(jìn)行位尋址操作(相應(yīng)的地址稱為位地址,16×8=128位,位地址范圍為00H~7FH),也可以同普通RAM單元一樣按字節(jié)尋址操作(相應(yīng)的地址稱為字節(jié)地址,范圍為20H~2FH)。c.普通RAM區(qū)。30H~7FH這80個單元為普通RAM區(qū)。用于存放用戶數(shù)據(jù),只能按字節(jié)存取。d.堆棧區(qū)。堆棧是按“先進(jìn)后出或后進(jìn)先出”規(guī)律存取數(shù)據(jù)的片內(nèi)RAM區(qū)域,即堆棧是數(shù)據(jù)存儲器中的一個特殊區(qū)域。在RAM中專門劃出一個連續(xù)存儲區(qū),用來暫時(shí)存放子程序端口地址、中斷端口地址和其他一些需要保護(hù)的數(shù)據(jù)。這個連續(xù)區(qū)域可以是前面128字節(jié)RAM中的任意一段區(qū)域(中間不能間斷),由使用者通過初始化程序中設(shè)置堆棧指針寄存器SP的初始值來確定棧底位置,從而確定堆棧所在的區(qū)域。堆棧的結(jié)構(gòu)如圖2-9所示。單片機(jī)復(fù)位后堆棧指針SP的初值為07H,如果不想占用寄存器區(qū)和位尋址區(qū),可在程序初始化中修改SP的初值。例如,MOVSP,#30H,則棧底被確定為30H單元。每向堆棧中存入一個數(shù)據(jù),堆棧指針自動加1,即(SP)+1→SP,指向棧頂上方空余的存儲單元。需要存入的數(shù)據(jù)依次存入,而SP始終指向棧頂。從堆棧中取出(彈出)數(shù)據(jù)時(shí),只能取出棧頂存儲器中的數(shù)據(jù),然后SP自動減1,即(SP)-1→SP,此時(shí)SP仍指向棧頂?shù)刂贰O惹氨蝗〕鰯?shù)據(jù)的那個存儲單元,雖然其中內(nèi)容仍為原數(shù)據(jù),但已作廢,允許被刷新,下次新壓入數(shù)據(jù)會覆蓋原數(shù)據(jù)??傊?,堆棧操作無論是存入數(shù)據(jù)還是取出數(shù)據(jù),均只能依次存入或依次取出,不能跳越,而且必須遵守“先進(jìn)后出或后進(jìn)先出”的原則。其壓棧和彈棧指令分別是PUSH和POP。圖2-9堆棧結(jié)構(gòu)圖32H棧頂33H31H30H棧底(SP)→34H
②專用寄存器區(qū)。片內(nèi)80H~0FFH這一區(qū)間,AT89C51單片機(jī)集合了一些特殊用途的寄存器,一般稱之為特殊功能寄存器SFR,也叫專用寄存器。每個SFR占有一個RAM單元。它們離散地分布在80H~0FFH地址范圍內(nèi),如表2-4所示。
特殊功能寄存器通常用寄存器尋址,但也可以用直接尋址方式進(jìn)行字節(jié)訪問。其中11個寄存器還可以進(jìn)行位尋址(表2-4中帶*號的寄存器)操作,其位地址的分配如表2-5所示。由表2-4或表2-5可知,凡字節(jié)地址的低位為0或8(即字節(jié)地址能被8整除)的特殊功能寄存器具有位地址。其位地址的最低位就是該特殊功能寄存器的字節(jié)地址,然后依次加1增大。還有,位地址和字節(jié)地址是重復(fù)的,如80H既是P0的字節(jié)地址,又是P0的最低位的位地址,這一般可以通過指令來進(jìn)行區(qū)分。凡字節(jié)操作指令涉及到的地址為字節(jié)地址,凡位操作指令涉及到的地址為位地址。
(2)片外數(shù)據(jù)存儲器AT89C51單片機(jī)可擴(kuò)展片外64KB空間的數(shù)據(jù)存儲器,地址范圍為0000H~0FFFFH,它與程序存儲器的地址空間是重合的,但兩者的尋址指令和控制線不同。程序存儲器的訪問指令為MOVC,控制線為,而片外數(shù)據(jù)存儲器訪問指令為MOVX,讀寫控制線為、。所以盡管地址重合,也不會造成混亂。值得注意的是,數(shù)據(jù)存儲器與I/O口及外圍設(shè)備是統(tǒng)一編址的,即任何擴(kuò)展的I/O口以及外圍設(shè)備地址均占用數(shù)據(jù)存儲器地址,因此使用時(shí)要合理安排數(shù)據(jù)存儲器地址空間。單片機(jī)最小應(yīng)用系統(tǒng)是指僅使用單片機(jī)內(nèi)部資源再輔以必須的外圍電路所構(gòu)成的“簡單”的應(yīng)用系統(tǒng)。對于片內(nèi)有程序存儲器的單片機(jī)(如美國Atmel公司的AT89C51單片機(jī)),其最小應(yīng)用系統(tǒng)的外圍電路至少包括復(fù)位電路、時(shí)鐘電路以及電源電路三種類型。對于片內(nèi)沒有程序存儲器的單片機(jī)(如美國Intel公司的8031單片機(jī)),其最小應(yīng)用系統(tǒng)的外圍電路除了上述三種類型外,還必須有程序存儲器擴(kuò)展電路。2.4.1復(fù)位電路單片機(jī)復(fù)位是單片機(jī)的初始化工作,復(fù)位后CPU及其它功能部件都處在某一確定的初始狀態(tài),并從這個狀態(tài)開始工作。AT89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號由(RST)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RST引腳高電平兩個機(jī)器周期,單片機(jī)即復(fù)位。實(shí)際電路設(shè)計(jì)中,高電平時(shí)間通常取10ms。2.4AT89C51單片機(jī)最小應(yīng)用系統(tǒng)
(1)上電自動復(fù)位電路(2)按鍵電平復(fù)位電路(3)脈沖方式按鍵自動復(fù)位電路(a)(b)(c)圖2-10單片機(jī)復(fù)位電路圖(a)上電自動復(fù)位電路;(b)電平方式按鍵手動復(fù)位電路;(c)脈沖方式按鍵自動復(fù)位電路2.4.2時(shí)鐘電路(1)時(shí)鐘電路的組成(a)(b)(a)外接石英晶體(b)使用外部時(shí)鐘
圖2-11時(shí)鐘電路(2)CPU時(shí)序①時(shí)鐘周期。②狀態(tài)周期。③機(jī)器周期。④指令周期。2.4.3電源電路單片機(jī)及其系統(tǒng)需要一種或多種電源電壓,這些電壓要求非常穩(wěn)定,其誤差通常必須保持在其標(biāo)稱值的5%以內(nèi)。通常使用三端穩(wěn)壓集成電路78XX系列(對正電壓)和79XX系列(對負(fù)電壓)來設(shè)計(jì)單片機(jī)的穩(wěn)壓電源,以簡化電路,節(jié)約能源。電路如圖2-13所示。其原理是首先將220V的交流市電經(jīng)變壓器降壓、整流器整流得到脈動直流電壓,最后再經(jīng)濾波器濾波、三端穩(wěn)壓集成電路7805穩(wěn)壓即可得到非常穩(wěn)定的+5V直流電源。7805220V~+5VDC圖2-13電源電路圖2-14畫出了AT89C51單片機(jī)的最小應(yīng)用系統(tǒng)。對于Intel公司的8031單片機(jī)由于片內(nèi)沒有程序存儲器,其最小應(yīng)用系統(tǒng)還必須有程序存儲器擴(kuò)展電路。圖2-14AT89C51的最小應(yīng)用系統(tǒng)1.實(shí)訓(xùn)目的通過本次實(shí)訓(xùn),(1)能掌握單片機(jī)最小系統(tǒng)的結(jié)構(gòu)、組成及使用;(2)能應(yīng)用單片機(jī)最小系統(tǒng)編程控制一個信號燈的亮滅;(3)初步掌握KeilC51uvision4的基本操作方法;(4)初步掌握ISIS7professional的基本操作方法。2.知識要點(diǎn)(1)硬件電路及其工作原理硬件電路如圖2-15所示,它就是單片機(jī)最小應(yīng)用系統(tǒng)加上P1口所接8個發(fā)光二極管。這里用發(fā)光二極管代替信號燈。只要用程序控制I/O口的電平高低,就可以控制信號燈的亮滅。由于單片機(jī)的P1口與發(fā)光二極管的陰極相連,發(fā)光二極管的陽極經(jīng)限流電阻接到電源的正極,所以當(dāng)P1口輸出高電平時(shí),發(fā)光二極管熄滅,當(dāng)P1口輸出低電平時(shí),發(fā)光二極管被點(diǎn)亮。(2)參考程序本次實(shí)訓(xùn)只要求用AT89C51控制接在P1.0上的發(fā)光二極管亮滅,即亮一段時(shí)間然后熄滅一段時(shí)間再亮一段時(shí)間,依此規(guī)律循環(huán)。匯編語言參考源程序如下所示。實(shí)訓(xùn)二:單片機(jī)控制信號燈亮滅
ORG0000H
AJMPMAIN
ORG0100H
MAIN:CPLP1.0
ACALLDELAY
SJMPMAIN
DELAY:MOVR2,#10
DL3:MOVR0,#200
DL1:MOVR1,#250
DL2:DJNZR1,DL2
DJNZR0,DL1
DJNZR2,DL3
RET
END圖2-15信號燈亮滅控制硬件電路圖3.實(shí)訓(xùn)器材(1)DICE-5208K開發(fā)型單片機(jī)綜合實(shí)驗(yàn)儀1套。(2)PC機(jī)1臺。(3)DICE-3000仿真器1臺。(4)帶插針的導(dǎo)線若干。4.實(shí)訓(xùn)內(nèi)容及步驟(1)啟動ISIS7professional軟件,并用其繪制圖2-15所示電路原理圖。(2)啟動KeilC51uvision4軟件。建立工程,輸入上述匯編語言參考源程序并編譯調(diào)試生成二進(jìn)制的目標(biāo)文件。(3)將第(2)步生成的二進(jìn)制目標(biāo)文件加載到第(1)步所繪圖2-15所示電路原理圖的AT89C51單片機(jī)中,然后仿真運(yùn)行觀察P1.0所接發(fā)光二極管的亮滅變化是否符合要求。(4)按硬件電路焊好電路板,將參考程序?qū)懭隡CS-51單片機(jī),通電,觀察P1.0所接發(fā)光二極管的亮滅變化是否符合要求。5.思考題(1)總結(jié)ISIS7professional軟件的使用方法。(2)總結(jié)KeilC51uvision4軟件的使用方法。(3)修改源程序,使8個發(fā)光二極管閃爍。小結(jié)本章主要介紹了AT89C51單片機(jī)的基本結(jié)構(gòu)。主要內(nèi)容包括:第一、內(nèi)部總體結(jié)構(gòu)。主要由中央處理器(CPU)、存儲器、I/O端口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)以及內(nèi)部總線等部分組成。第二、引腳及其功能。AT89C51單片機(jī)共有40個引腳,按其功能可分為I/O端口線、電源線、外接晶體引腳線以及控制線等四個部分。第三、存儲器。AT89C51單片機(jī)的存儲器分為程序存儲器和數(shù)據(jù)存儲器兩種類型。程序存儲器用于存放需要長期保存的程序及常數(shù),數(shù)據(jù)存儲器用于存放需要暫時(shí)保存的數(shù)據(jù)。程序存儲器和數(shù)據(jù)存儲器均有片內(nèi)、片外之分。其中內(nèi)部數(shù)據(jù)存儲器結(jié)構(gòu)復(fù)雜,功能較多,包括通用寄存器區(qū)、位尋址區(qū)、普通RAM區(qū)以及專用寄存器區(qū)等。是必須重點(diǎn)掌握的內(nèi)容。第四、單片機(jī)最小應(yīng)用系統(tǒng)。單片機(jī)最小應(yīng)用系統(tǒng)是指僅使用單片機(jī)內(nèi)部資源再輔以必須的外圍電路所構(gòu)成的“簡單”的應(yīng)用系統(tǒng)。其外圍電路至少包括復(fù)位電路、時(shí)鐘電路以及電源電路三種類型。本章是學(xué)習(xí)后續(xù)內(nèi)容的硬件基礎(chǔ),必須認(rèn)真學(xué)習(xí)和掌握。習(xí)題與思考題一、填空題1.MCS-51單片機(jī)工作寄存器共有四組,每組8個寄存器R0~R7,但任一時(shí)刻只能使用一組寄存器,稱為當(dāng)前工作寄存器,這由_________寄存器的_____________兩位進(jìn)行選擇。2.堆棧是按______________________________規(guī)律存取數(shù)據(jù)的內(nèi)部RAM區(qū)域,它的一端固定,稱為_______________,另一端浮動,稱為_______________。3.MCS-51單片機(jī)的存儲器結(jié)構(gòu)在物理上可分為四個空間,在邏輯上可分為三個空間。三個邏輯空間分別是__________
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋交易終止合同范本
- 農(nóng)村土地出售合同書樣本
- 停車場租賃合同協(xié)議書范文
- 2024養(yǎng)殖場土地承包合同
- 股票投資代持協(xié)議書
- 2024年彩鋼瓦安裝合同書
- 2024產(chǎn)權(quán)轉(zhuǎn)讓居間合同協(xié)議書
- 工程機(jī)械運(yùn)輸合同模板
- 個人之間專利權(quán)轉(zhuǎn)讓協(xié)議范本
- 2024年按揭房屋歸女方離婚協(xié)議書
- 2024全球量子產(chǎn)業(yè)發(fā)展報(bào)告
- 場地移交安全管理協(xié)議書
- 醫(yī)院卒中中心建設(shè)各種制度、流程匯編
- 重慶市江北區(qū)2023-2024學(xué)年六年級下學(xué)期期末考試數(shù)學(xué)試題
- 軍隊(duì)文職聘用合同管理規(guī)定
- 2024年貴州省安順市西秀區(qū)小升初語文試卷
- 2024-2029年中國兒童牙冠行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報(bào)告
- 新時(shí)代鐵路發(fā)展面對面全文內(nèi)容
- 人工智能與語文閱讀理解教學(xué)
- 科學(xué)素養(yǎng)培育及提升-知到答案、智慧樹答案
- 快遞主管崗位職責(zé)
評論
0/150
提交評論