STC89C51系列單片機(jī)的結(jié)構(gòu)和原理課件_第1頁(yè)
STC89C51系列單片機(jī)的結(jié)構(gòu)和原理課件_第2頁(yè)
STC89C51系列單片機(jī)的結(jié)構(gòu)和原理課件_第3頁(yè)
STC89C51系列單片機(jī)的結(jié)構(gòu)和原理課件_第4頁(yè)
STC89C51系列單片機(jī)的結(jié)構(gòu)和原理課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 STC89C51系列單片機(jī)的結(jié)構(gòu)和原理2.2 STC89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)2.3 STC89C51系列單片機(jī)的主要組成部分2.1 STC89C51如何控制流水燈2.4 單片機(jī)的復(fù)位電路2.5 單片機(jī)最小系統(tǒng)2.1 STC89C51如何控制流水燈任務(wù):使用單片機(jī)控制發(fā)光管按一定順序亮1.利用Proteus7連接電路圖2.利用 keil c軟件編寫(xiě)程序#include #include unsigned int temp1;void delay(unsigned int temp)/延時(shí)程序 while(-temp);void main() P2=0XFF;/led is off

2、while(1) P2=0XFE; temp1=35000; delay(temp1); P2=0XFD;temp1=35000;delay(temp1);P2=0XFB;temp1=35000;delay(temp1);P2=0XF7;temp1=35000;delay(temp1);P2=0XEF;temp1=35000;delay(temp1);P2=0XDF;temp1=35000;delay(temp1);P2=0XBF;temp1=35000;delay(temp1);P2=0X7F;temp1=35000;delay(temp1);3.利用 keil c軟件將C語(yǔ)言轉(zhuǎn)化成HEX文

3、件4.將HEX文件添加到Proteus7軟件中,進(jìn)行仿真思考:?jiǎn)纹瑱C(jī)如何使用?2.2 STC89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)51系列單片機(jī)結(jié)構(gòu)框圖 1. 電源引腳VSS(20腳):接地,0V參考點(diǎn)。VCC(40腳):電源,提供掉電、空閑、正常工作2外接晶體引腳XTAL1(19腳):接外部晶體的一端,振蕩反向放大器的輸入端和內(nèi)部時(shí)鐘電路輸入端。XTAL2(18腳):接外部晶體的另一端,振蕩反向放大器的輸出端。 3. 控制信號(hào)或與其它電源復(fù)用引腳 控制信號(hào)或與其它電源復(fù)用引腳有RST/VPD、 、 和 等4種形式。RST(9腳):復(fù)位端。當(dāng)晶體在運(yùn)行時(shí),只要此引腳上出現(xiàn)2個(gè)機(jī)器周期高電平即可復(fù)位,內(nèi)

4、部有擴(kuò)散電阻連接到Vss,僅需要外接一個(gè)電容到Vcc即可實(shí)現(xiàn)上電復(fù)位。ALE(30腳):地址鎖存使能。在訪問(wèn)外部存儲(chǔ)器時(shí),輸出脈沖鎖存地址的低字節(jié),在正常情況下,ALE輸出信號(hào)恒定為1/6振蕩頻率。并可用作外部時(shí)鐘或定時(shí),注意每次訪問(wèn)外部數(shù)據(jù)時(shí),一個(gè)ALE脈沖將被忽略。PSEN(29腳):程序存儲(chǔ)使能。讀外部程序存儲(chǔ)。當(dāng)從外部讀取程序時(shí),PSEN每個(gè)機(jī)器周期被激活兩次,在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)PSEN無(wú)效,訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí)PSEN無(wú)效。EA/Vpp(31腳):外部尋址使能/編程電壓。在訪問(wèn)整個(gè)外部程序存儲(chǔ)器時(shí),EA必須外部置低。如果EA為高時(shí),將執(zhí)行內(nèi)部程序。當(dāng)RST釋放后EA腳的值被鎖存,

5、任何時(shí)序的改變都將無(wú)效。該引腳在對(duì)FLASH編程時(shí)用于輸入編程電壓(Vpp)。輸入/輸出引腳P0口(P0.0-P0.7,32-39腳):是雙向8位三態(tài)I/O口??上蚱鋵?xiě)入1 使其狀態(tài)為懸浮,用作高阻輸入。P0口也可以在訪問(wèn)外部程序存儲(chǔ)器時(shí)作地址的低字節(jié),在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)作數(shù)據(jù)總線,此時(shí)通過(guò)內(nèi)部強(qiáng)上拉傳送1。P1口(P1.0-P1.7,1-8腳):是帶內(nèi)部上拉的雙向I/O口。向P1口寫(xiě)入1時(shí),P1口被內(nèi)部上拉為高電平,可用作輸入口;當(dāng)作為輸入腳時(shí),被外部拉低的P1口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。P2口(P2.0-P2.7,21-28腳):是帶內(nèi)部上拉的雙向I/O口。向P2口寫(xiě)入1時(shí),P2口被內(nèi)

6、部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時(shí),被外部拉低的P2口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。在訪問(wèn)外部程序存儲(chǔ)器和外部數(shù)據(jù)時(shí)分別作為地址高位字節(jié)和16 位地址,此時(shí)通過(guò)內(nèi)部強(qiáng)上拉傳送1。當(dāng)使用8位尋址方式訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口發(fā)送P2 特殊功能寄存器的內(nèi)容。P3口(P3.0-P3.7,10-17腳):是帶內(nèi)部上拉的雙向I/O 口。向P3 口寫(xiě)入1時(shí),P3 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時(shí),被外部拉低的P3 口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。P3口腳具有第二功能,表2-2介紹了P3口的第二功能???線第二功能類型名 稱P3.0RxDI串行輸入口P3.1TxD0串行輸出口P3.2I

7、NT0I外部中斷0P3.3INT1I外部中斷1P3.4T0I定時(shí)器0 外部輸入P3.5T1I定時(shí)器1 外部輸入P3.6WRO外部數(shù)據(jù)存儲(chǔ)器寫(xiě)信號(hào)P3.7RDO外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)2.3 STC89C51的系列單片機(jī)的主要組成部分該系列單片機(jī)由中央處理器(CPU)、存儲(chǔ)器和I/O接口三大部分組成。其中CPU包括運(yùn)算器和控制器兩大部分。2.3.1 運(yùn)算器對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個(gè)暫存器等。1算術(shù)邏輯運(yùn)算單元ALU可對(duì)8位變量邏輯運(yùn)算(與、或、異或、循環(huán)、求補(bǔ)和清零),還可算術(shù)運(yùn)算(加、減、乘、除)12ALU還

8、有位操作功能,對(duì)位變量進(jìn)行位處理,如置“1”、清“0”、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等。2累加器A使用最頻繁的寄存器,可寫(xiě)為Acc?!癆”與“Acc” 作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。(2)數(shù)據(jù)傳送大多都通過(guò)累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。13A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器3程序狀態(tài)字寄存器PSWPSW(Program Status Word)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為D0H。包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。格式如圖2-3所示。 圖2-3 PSW的格式14PSW中各個(gè)

9、位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位 可寫(xiě)為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy1;否則,Cy0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位 在BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時(shí),Ac1;否則,Ac0。(3)F0(PSW.5)用戶設(shè)定標(biāo)志位 由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置1或清0,控制程序的流向。用戶應(yīng)充分利用。15(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。(5)OV(PSW.2)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)

10、果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位 保留位(7)P(PSW.0)奇偶標(biāo)志位指令執(zhí)行完,累加器A中“1”的個(gè)數(shù)是奇數(shù)還是偶數(shù)。16P=1,表示A中“1”的個(gè)數(shù)為奇數(shù)。P=0,表示A中“1”的個(gè)數(shù)為偶數(shù)。此標(biāo)志位對(duì)串行通信有重要的意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?7182.3.2 控制器 任務(wù)識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地工作。 控制器包括:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。 程序計(jì)數(shù)器PC是

11、一個(gè)獨(dú)立的16位計(jì)數(shù)器,不可訪問(wèn)。單片機(jī)復(fù)位時(shí),PC中內(nèi)容為0000H,從程序存儲(chǔ)器0000H單元取指令,開(kāi)始執(zhí)行程序。 PC工作過(guò)程是:CPU讀指令時(shí),PC的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC自動(dòng)加1。 PC中內(nèi)容變化軌跡決定程序流程。當(dāng)順序執(zhí)行程序時(shí)自動(dòng)加1;執(zhí)行轉(zhuǎn)移程序或子程序、中斷子程序調(diào)用時(shí),自動(dòng)將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。 PC的計(jì)數(shù)寬度決定了程序存儲(chǔ)器的地址范圍。PC為16位,故可對(duì)64KB(=216B)尋址。19程序存儲(chǔ)器(FLASH,下載到4 KB ROM) 2.3、存儲(chǔ)器 1編址與訪問(wèn) 計(jì)算機(jī)的工作是按照事先編制好的程序命令序列一條條順序

12、執(zhí)行的,程序存儲(chǔ)器就是用來(lái)存放這些已編好的程序和表格常數(shù),它由只讀存儲(chǔ)器ROM或EPROM組成。計(jì)算機(jī)為了有序地工作,設(shè)置了一個(gè)專用寄存器 - 程序計(jì)數(shù)器PC,用以存放將要執(zhí)行的指令地址。每取出指令的個(gè)字節(jié)后,其內(nèi)容自動(dòng)加,指向下一字節(jié)地址,使計(jì)算機(jī)依次從程序存儲(chǔ)器取出指令予以執(zhí)行,完成某種程序操作。由于MCS-51單片機(jī)的程序計(jì)數(shù)器為16位,因此,可尋址的地址空間為64 KB。2程序的7個(gè)特殊入口地址操 作入 口 地 址復(fù)位0000H外部中斷00003H定時(shí)器/計(jì)數(shù)器0溢出000BH外部中斷10013H定時(shí)器/計(jì)數(shù)器1溢出001BH串行口中斷0023H定時(shí)器/計(jì)數(shù)器0溢出或T2EX端負(fù)跳變(

13、52子系列)002BH表1 MCS-51單片機(jī)復(fù)位、中斷入口地址數(shù)據(jù)存儲(chǔ)器 1編址與訪問(wèn) MCS-51單片機(jī)片內(nèi)、外數(shù)據(jù)存儲(chǔ)器是兩個(gè)獨(dú)立的地址空間,應(yīng)分別單獨(dú)編址。片內(nèi)數(shù)據(jù)存儲(chǔ)器除RAM塊外,還有特殊功能寄存器(SFR)塊。對(duì)于51子系列,前者有128個(gè)字節(jié),其編址為00H7FH;后者有128個(gè)字節(jié),其編址為80HFFH;二者連續(xù)而不重疊。由于訪問(wèn)它們所用的指令不同,并不會(huì)引起混亂。片外數(shù)據(jù)存儲(chǔ)器一般是16位編址。 2. 內(nèi)部數(shù)據(jù)存儲(chǔ)器 MCS-51 片內(nèi)RAM為 256 字節(jié), 地址范圍為00HFFH, 分為兩大部分: 低 128 字節(jié)(00H7FH)為真正的RAM區(qū); 高 128 字節(jié)(8

14、0HFFH)為特殊功能寄存器區(qū)SFR。 在低 128 字節(jié)RAM中, 00H1FH共 32 單元是 4 個(gè)通用工作寄存器區(qū)。每一個(gè)區(qū)有 8 個(gè)通用寄存器R0R7。低 128 字節(jié)(00H7FH) 其中真正用戶能用到得只有20H7FH共96個(gè)字節(jié);故一般需要擴(kuò)展片外存儲(chǔ)器。 其中20H2FH為位尋址(重點(diǎn)),故可設(shè)位變量。sbit p20=P20;sbit p21=P21;If p20=1 then p21=0表 2 寄存器與RAM 地址對(duì)照表 表 3 SFR特殊功能寄存器地址表 28特殊功能寄存器位 地 址字 節(jié)地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1H

15、F0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表4 SFR中的位地址分布

16、特殊功能寄存器(SFR )特殊功能寄存器(SFR)也稱專用寄存器,專門(mén)用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)等功能模塊的工作,用戶在編程時(shí)可以給其設(shè)定值,但不能移作它用。SFR離散地分布在片內(nèi)RAM的80HFFH地址空間,與片內(nèi)數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。51子系列有18個(gè)特殊功能寄存器,其中3個(gè)為雙字節(jié)(DPTR、T0、T1),共占用21個(gè)字節(jié);其中11個(gè)可位尋址(僅83位有效)。凡是可位尋址的SFR,字節(jié)地址末位只能是0H或8H。52子系列有21個(gè)特殊寄存器,其中5個(gè)為雙字節(jié),共占用26個(gè)字節(jié) 注意:(1)21個(gè)可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部RAM

17、高128單元之中,共83個(gè)可尋址位。盡管還剩余許多空閑單元,但用戶并不能使用。(2)在22個(gè)專用寄存器中,唯一一個(gè)不可尋址的PC。PC不占據(jù)RAM單元,它在物理上是獨(dú)立的(在控制器中),因此是不可尋址的寄存器。(3)對(duì)專用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器單元地址。(因?yàn)榧拇嫫髅偷刂穯卧牡刂芬呀?jīng)一一對(duì)應(yīng))序號(hào)特殊功能寄存器符號(hào)名 稱字節(jié)地址位地址復(fù)位值1A(或Acc)累加器E0HE7HE0H00H2BB寄存器F0HF7HF0H00H3DPH數(shù)據(jù)指針DPTR高字節(jié)83H00H4DPL數(shù)據(jù)指針DPTR低字節(jié)82H00H5IE中斷允許控制寄存器A8HAFHA8H

18、00H6IP中斷優(yōu)先級(jí)控制寄存器B8HBFHB8HX000 0000B7P0P0口寄存器80H87H80HFFH8P1P1口寄存器90H97H90HFFH9P2P2口寄存器A0HA7HA0HFFH10P3P3口寄存器B0HB7HB0HFFH11PCON電源控制寄存器87H00XXX000B12PSW程序狀態(tài)字寄存器D0HD7HD0H00H13SBUF串行發(fā)送數(shù)據(jù)緩沖器99HXXXXXXXXB14SCON串行控制寄存器98H9FH98H00H15SP堆棧指針81H07H16TCON定時(shí)器/計(jì)數(shù)器控制寄存器88H8FH88H00H17TL0定時(shí)器/計(jì)數(shù)器0(低字節(jié))8AH00H18TH0定時(shí)器/計(jì)

19、數(shù)器0(高字節(jié))8BH00H19TL1定時(shí)器/計(jì)數(shù)器1(低字節(jié))8CH00H20TH1定時(shí)器/計(jì)數(shù)器1(高字節(jié))8DH00H21TMOD定時(shí)器/計(jì)數(shù)器方式控制89H00H位地址空間 211個(gè)尋址位的位地址,其中:00H7FH這128位處于片內(nèi)RAM字節(jié)地址20H2FH 單元中。其余的83個(gè)可尋址位分布在特殊功能寄存器SFR中,??杀晃粚ぶ返奶厥饧拇嫫饔?1個(gè),共有位地址88個(gè),5個(gè)位未用,其余83個(gè)位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū)字節(jié)地址為80HFFH的范圍內(nèi),其最低的位地址等于其字節(jié)地址,且其字節(jié)地址的末位都為0H或8H。 AT89C51片內(nèi)RAM的可尋址位及其位地址字節(jié)單元地址D7D

20、6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H474645444342414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702F

21、H7F7E7D7C7B7A7978SFR中的位地址分布特殊功能寄存器位 地 址字 節(jié)地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92

22、H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80HP1P3口驅(qū)動(dòng)LED發(fā)光二極管 例如:使用單片機(jī)的并行口P1P3直接驅(qū)動(dòng)發(fā)光二極管,電路如下圖。由于P1P3內(nèi)部有30k左右的上拉電阻。如高電平輸出,則強(qiáng)行從P1、P2和P3口輸出的電流會(huì)造成單片機(jī)端口的損壞。如端口引腳為低電平,能使電流從單片機(jī)外部流入內(nèi)部,則將大大增加流過(guò)的電流值。所以,當(dāng)P1P3口驅(qū)動(dòng)LED發(fā)光二極管時(shí),應(yīng)該采用低電平驅(qū)動(dòng)。(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動(dòng) (b)恰當(dāng)?shù)倪B接:低電平驅(qū)動(dòng)發(fā)光二極管與AT89C51并行口的直接連接有關(guān)時(shí)序的

23、概念 計(jì)算機(jī)在執(zhí)行指令時(shí),一條指令經(jīng)譯碼后產(chǎn)生若干個(gè)基本微操作,這些基本微操作在時(shí)間上有嚴(yán)格的先后次序,這種次序稱為計(jì)算機(jī)的時(shí)序。 幾個(gè)CPU時(shí)序的基本概念1振蕩周期: 指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,是時(shí)序中最小的時(shí)間單位。若為內(nèi)部產(chǎn)生方式,則為石英晶體的振蕩周期。(常用12MHz、6MHz等)。振蕩脈沖并不直接使用,由XTAL2或XTAL1端送往內(nèi)部時(shí)鐘電路(fosc):經(jīng)過(guò)2分頻,向CPU提供2相時(shí)鐘信號(hào)P1和P2( f拍節(jié)= 1/2 osc)再經(jīng)3分頻,(6分頻)產(chǎn)生ALE時(shí)序( fALE = 1/6 fosc);經(jīng)過(guò)12分頻,成為機(jī)器周期信號(hào)( MC = 12/ fosc),如

24、下圖所示。需要指出的是,CPU的運(yùn)算操作在P1期間,數(shù)據(jù)傳送在P2期間。2時(shí)鐘周期:是振蕩源信號(hào)經(jīng)2分頻后形成的時(shí)鐘脈沖信號(hào),也就是一個(gè)時(shí)鐘周期是振蕩周期的2倍。時(shí)鐘信號(hào)向單片機(jī)提供一個(gè)二節(jié)拍時(shí)鐘信號(hào),在每個(gè)時(shí)鐘的前半周期,節(jié)拍1信號(hào)P1有效,后半周期節(jié)拍P2有效,每個(gè)節(jié)拍持續(xù)1個(gè)振蕩周期。3機(jī)器周期:CPU完成一個(gè)基本操作所需的時(shí)間為機(jī)器周期。一個(gè)機(jī)器周期包含6個(gè)時(shí)鐘周期,也就是等于12個(gè)振蕩周期。 當(dāng)石英晶體的振蕩為12MHz和6MHz時(shí),時(shí)鐘周期分別為1/12s和1/6s,機(jī)器周期分別為1s和2s。4指令周期:是指CPU執(zhí)行一條指令所需的時(shí)間,是時(shí)序中最大時(shí)間單位。由于單片機(jī)執(zhí)行不同的指

25、令,所需要的時(shí)間不同,因此,不同指令所包含的機(jī)器周期數(shù)也不同,機(jī)器周期越少的指令執(zhí)行速度快。單片機(jī)中大多數(shù)指令的指令周期由一個(gè)機(jī)器周期或兩個(gè)機(jī)器周期組成,只有乘法、除法指令需要四個(gè)機(jī)器周期。CPU時(shí)序機(jī)器周期:每個(gè)機(jī)器周期包含S1、S2、S3、S4、S5、S6個(gè)狀態(tài),每個(gè)狀態(tài)包含2拍P1和P2,每一個(gè)節(jié)拍持續(xù)1個(gè)振蕩周期。因此,每12個(gè)振蕩周期為一個(gè)機(jī)器周期。依次可表示為S1P1、S1P2、S2P1、S2P2、S6P1、S6P2。時(shí)鐘電路(什么作用?) 單片機(jī)時(shí)鐘內(nèi)接法;圖1 -自己產(chǎn)生時(shí)鐘信號(hào)作為單片機(jī) 單片機(jī)的時(shí)鐘外接方式;圖2-使用其他電路產(chǎn)生圖1 時(shí)鐘振蕩電路 圖2 外部時(shí)鐘接法 三、

26、I/O接口1.P0口的某位P0.n(n=07)結(jié)構(gòu)圖,它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。D QCLK QMUXP0.n讀鎖存器內(nèi)部總線寫(xiě)鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳 當(dāng)系統(tǒng)不進(jìn)行片外的ROM擴(kuò)展,也不進(jìn)行片外RAM擴(kuò)展時(shí),單片機(jī)硬件自動(dòng)使C=0,MUX開(kāi)關(guān)接向鎖存器的反相輸出端,將輸出上拉場(chǎng)效應(yīng)管T1截止;當(dāng)有外部擴(kuò)展時(shí),P0口必須做輸出地址、數(shù)據(jù)時(shí), C=1,地址通過(guò)T1送到P0口,當(dāng)輸入數(shù)據(jù)時(shí),通過(guò)下邊緩沖器進(jìn)入內(nèi)存D QCLK QMUXP0.n讀鎖存器內(nèi)部總線寫(xiě)鎖存

27、器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳1、P0口作為普通I/O口輸出時(shí):CPU發(fā)出控制電平“0”封鎖“與”門(mén),多路開(kāi)關(guān)MUX把鎖存器與輸出驅(qū)動(dòng)場(chǎng)效應(yīng)管T2柵極接通。D QCLK QMUXP0.n讀鎖存器內(nèi)部總線寫(xiě)鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳 內(nèi)部總線與P0口同相。由于輸出驅(qū)動(dòng)級(jí)是漏極開(kāi)路電路,若驅(qū)動(dòng)NMOS或其它拉流負(fù)載時(shí),需要外接上拉電阻。 輸入時(shí)-分讀引腳或讀鎖存器,此刻如果T2導(dǎo)通,則P0將被鎖定為0,輸入數(shù)據(jù)不能正確讀入,故必須使P0=1,T1和T2截止,才能讀入數(shù)據(jù),因此稱為準(zhǔn)雙口。D QCLK QMUXP0.n讀鎖存器內(nèi)部總線寫(xiě)鎖存器讀引腳地址/數(shù)據(jù)控

28、制VCCT1T2P0口引腳 因?yàn)門(mén)2截止,故P0口數(shù)據(jù),通過(guò)下邊三態(tài)門(mén)進(jìn)入內(nèi)存總線。2. P2 用作通用I/O口 當(dāng)不在單片機(jī)芯片外部擴(kuò)展程序存儲(chǔ)器,只擴(kuò)展256B的片外RAM時(shí),僅用到了地址線的低8位,P2口仍可以作為通用I/O口使用。P0、P1、P2、P3口的電平與CMOS和TTL電平兼容 P0口的每一位口線可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。在作為通用 I/O口時(shí),由于輸出驅(qū)動(dòng)電路是開(kāi)漏方式,由集電極開(kāi)路(OC門(mén))電路或漏極開(kāi)路電路驅(qū)動(dòng)時(shí)需外接上拉電阻;當(dāng)作為地址/數(shù)據(jù)總線使用時(shí),口線輸出不是開(kāi)漏的,無(wú)須外接上拉電阻。 P1、P2 和P3 口為準(zhǔn)雙向口, 在內(nèi)部差別不大, 但使用功能有所不同。

29、P1口是用戶專用 8 位準(zhǔn)雙向I/O口, 具有通用輸入/輸出功能, 每一位都能獨(dú)立地設(shè)定為輸入或輸出。當(dāng)有輸出方式變?yōu)檩斎敕绞綍r(shí), 該位的鎖存器必須寫(xiě)入“1”, 然后才能進(jìn)入輸入操作。 P2口是 8 位準(zhǔn)雙向I/O口。外接I/O設(shè)備時(shí), 可作為擴(kuò)展系統(tǒng)的地址總線, 輸出高8位地址, 與P0 口一起組成 16 位地址總線。 對(duì)于 8031 而言, P2 口一般只作為地址總線使用, 而不作為I/O線直接與外部設(shè)備相連。 P3 口的第二功能 2.4 單片機(jī)的復(fù)位 復(fù)位是使單片機(jī)的CPU或系統(tǒng)中的其它部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開(kāi)始工作。單片機(jī)的工作就是從復(fù)位開(kāi)始的。 復(fù)位電路 在振蕩器工

30、作時(shí),將RST腳保持至少兩個(gè)機(jī)器周期高電平(6 時(shí)鐘模式時(shí)為12個(gè)振蕩器周期,12時(shí)鐘模式時(shí)為24個(gè)振蕩器周期)可實(shí)現(xiàn)復(fù)位。為了保證上電復(fù)位的可靠,RST 必須保持足夠長(zhǎng)時(shí)間的高電平,該時(shí)間至少為振蕩器的穩(wěn)定時(shí)間(通常為幾個(gè)毫秒)加上兩個(gè)機(jī)器周期。上電時(shí)VCC 和RST 必須同時(shí)上升以實(shí)現(xiàn)正確的啟動(dòng)。如果RST引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài) 初始化后,程序計(jì)數(shù)器PC=0000H。 P0-P3=FFH,各端口鎖存器已寫(xiě)入1,此時(shí)不但可用于輸出,也可以于輸入。 SP=07H,表明堆棧指針指向片內(nèi)RAM的07單元(即第一個(gè)被壓入的內(nèi)容將寫(xiě)入到08H單元)。 IP、IE和PCON的有效位為0,分別表明各中斷源處于低優(yōu)先級(jí)、各中斷均被關(guān)斷、串行通信的波特率不加倍。 PSW=00H,表明當(dāng)前工作寄存器選為0組。 (a)上電復(fù)位 (b)上電與按鍵均有效的復(fù)位 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位在加電的瞬間,RST引腳為高電平,隨著電

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論