版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2.2 STC89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)系列單片機(jī)的內(nèi)部結(jié)構(gòu)2.3 STC89C51系列單片機(jī)的主要組成部分系列單片機(jī)的主要組成部分2.1 STC89C51如何控制流水燈如何控制流水燈2.4 單片機(jī)的復(fù)位電路單片機(jī)的復(fù)位電路2.5 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)2.1 STC89C51如何控制流水燈如何控制流水燈任務(wù):使用單片機(jī)控制發(fā)光管按一定順序亮任務(wù):使用單片機(jī)控制發(fā)光管按一定順序亮1.利用利用Proteus7連接電路圖連接電路圖2.利用利用 keil c軟件編寫程序軟件編寫程序3.利用 keil c軟件將C語(yǔ)言轉(zhuǎn)化成HEX文件4.將HEX文件添加到Proteus7軟件中,進(jìn)行仿真思考:
2、單片機(jī)如何使用?思考:?jiǎn)纹瑱C(jī)如何使用?2.2 STC89C51系列單片機(jī)的內(nèi)部結(jié)構(gòu)系列單片機(jī)的內(nèi)部結(jié)構(gòu)51系列單片機(jī)結(jié)構(gòu)框圖系列單片機(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ù)用引腳 控制信號(hào)或與其它電源復(fù)用引腳有RST/VPD、 、 和 等4種形式。/.ALE PROGPSEN/PPEA
3、V RST(9腳):復(fù)位端。腳):復(fù)位端。當(dāng)晶體在運(yùn)行時(shí),只要此引腳上出現(xiàn)2個(gè)機(jī)器周期高電平即可復(fù)位,內(nèi)部有擴(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腳)腳):外部尋址使能
4、/編程電壓。在訪問(wèn)整個(gè)外部程序存儲(chǔ)器時(shí),EA必須外部置低。如果EA為高時(shí),將執(zhí)行內(nèi)部程序。當(dāng)RST釋放后EA腳的值被鎖存,任何時(shí)序的改變都將無(wú)效。該引腳在對(duì)FLASH編程時(shí)用于輸入編程電壓(Vpp)。輸入輸入/輸出引腳輸出引腳 P0口口(P0.0-P0.7,32-39腳)腳):是雙向8位三態(tài)I/O口??上蚱鋵懭? 使其狀態(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口寫入1時(shí),P1口被內(nèi)部上拉為高電平,可用作輸入口;當(dāng)作為輸入
5、腳時(shí),被外部拉低的P1口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。 P2口口(P2.0-P2.7,21-28腳)腳):是帶內(nèi)部上拉的雙向I/O口。向P2口寫入1時(shí),P2口被內(nèi)部上拉為高電平,可用作輸入口。當(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 口寫入1時(shí),P3 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時(shí),被外部拉低的P3 口會(huì)
6、因?yàn)閮?nèi)部上拉而輸出電流。P3口腳具有第二功能,表2-2介紹了P3口的第二功能???線第二功能類型名 稱P3.0RxDI串行輸入口P3.1TxD0串行輸出口P3.2INT0I外部中斷0P3.3INT1I外部中斷1P3.4T0I定時(shí)器0 外部輸入P3.5T1I定時(shí)器1 外部輸入P3.6WRO外部數(shù)據(jù)存儲(chǔ)器寫信號(hào)P3.7RDO外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)2.3 STC89C512.3 STC89C51的系列單片機(jī)的主要組成部分的系列單片機(jī)的主要組成部分該系列單片機(jī)由中央處理器該系列單片機(jī)由中央處理器(CPU)(CPU)、存儲(chǔ)器和、存儲(chǔ)器和I/OI/O接口三接口三大部分組成。大部分組成。其中其中CPUCPU包
7、括包括運(yùn)算器運(yùn)算器和和控制器控制器兩大部分。兩大部分。2.3.1 2.3.1 運(yùn)算器運(yùn)算器對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元邏輯運(yùn)算單元ALUALU、累加器、累加器A A、位處理器、程序狀態(tài)字寄存、位處理器、程序狀態(tài)字寄存器器PSWPSW及兩個(gè)暫存器等。及兩個(gè)暫存器等。1 1算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元ALUALU可對(duì)可對(duì)8 8位變量位變量邏輯運(yùn)算邏輯運(yùn)算(與、或、異或、循環(huán)、求補(bǔ)和清(與、或、異或、循環(huán)、求補(bǔ)和清零),還可零),還可算術(shù)運(yùn)算算術(shù)運(yùn)算(加、減、乘、除)(加、減、乘、除)12ALUALU還有位操作功能,
8、對(duì)位變量進(jìn)行位處理,如置還有位操作功能,對(duì)位變量進(jìn)行位處理,如置“1 1”、清、清“0 0”、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與與”、“或或”等。等。2 2累加器累加器A A使用最頻繁的寄存器,使用最頻繁的寄存器,可寫為可寫為AccAcc?!癆 A”與與“AccAcc” 作用如下:作用如下:(1 1)ALUALU單元的輸入數(shù)據(jù)源之一,又是單元的輸入數(shù)據(jù)源之一,又是ALUALU運(yùn)算結(jié)果存放單運(yùn)算結(jié)果存放單元。元。(2 2)數(shù)據(jù)傳送大多都通過(guò)累加器)數(shù)據(jù)傳送大多都通過(guò)累加器A A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。13A A的進(jìn)位標(biāo)志的進(jìn)位標(biāo)志CyCy是特殊的,因?yàn)樗瑫r(shí)又是是
9、特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位處理機(jī)的位累位累加器加器3 3程序狀態(tài)字寄存器程序狀態(tài)字寄存器PSWPSWPSWPSW(Program Status WordProgram Status Word)位于片內(nèi)特殊功能寄存器區(qū),)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為字節(jié)地址為D0HD0H。包含了包含了程序運(yùn)行狀態(tài)的信息程序運(yùn)行狀態(tài)的信息,其中,其中4 4位保存當(dāng)前指令執(zhí)行后位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。的狀態(tài),供程序查詢和判斷。格式如圖格式如圖2-32-3所示。所示。 圖圖2-32-3 PSW PSW的格式的格式14PSWPSW中各個(gè)位的功能中各個(gè)位的功能:(1 1)CyCy(P
10、SW.7PSW.7)進(jìn)位標(biāo)志位)進(jìn)位標(biāo)志位 可寫為可寫為C C。在算術(shù)和邏輯運(yùn)算時(shí),若有。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位進(jìn)位/ /借位借位,CyCy1 1;否則,;否則,CyCy0 0。在位處理器中,它是位累加器。在位處理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)輔助進(jìn)位標(biāo)志位)輔助進(jìn)位標(biāo)志位 在在BCDBCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3D3位向位向D4D4位產(chǎn)位產(chǎn)生進(jìn)位或借位時(shí),生進(jìn)位或借位時(shí),AcAc1 1;否則,;否則,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用戶設(shè)定標(biāo)志位)用戶設(shè)定標(biāo)志位 由用戶使用的一個(gè)狀態(tài)標(biāo)志位
11、,可用指令來(lái)使它置由用戶使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置1 1或或清清0 0,控制程序的流向。用戶應(yīng)充分利用。,控制程序的流向。用戶應(yīng)充分利用。15(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4組工作寄存器區(qū)選擇組工作寄存器區(qū)選擇選擇片內(nèi)選擇片內(nèi)RAMRAM區(qū)中的區(qū)中的4 4組工作寄存器區(qū)中的某一組為當(dāng)前工組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。作寄存區(qū)。(5 5)OVOV(PSW.2PSW.2)溢出標(biāo)志位)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,果結(jié)果產(chǎn)生溢
12、出,OV=1OV=1;否則,;否則,OV=0OV=0。(6 6)PSW.1PSW.1位位 保留位保留位(7 7)P P(PSW.0PSW.0)奇偶標(biāo)志位)奇偶標(biāo)志位指令執(zhí)行完,累加器指令執(zhí)行完,累加器A A中中“1 1”的個(gè)數(shù)的個(gè)數(shù)是是奇數(shù)奇數(shù)還是還是偶數(shù)偶數(shù)。16P=1P=1,表示表示A A中中“1 1”的個(gè)數(shù)為的個(gè)數(shù)為奇數(shù)奇數(shù)。P=0P=0,表示,表示A A中中“1 1”的個(gè)數(shù)為的個(gè)數(shù)為偶數(shù)偶數(shù)。此標(biāo)志位對(duì)串行通信有重要的意義,常用此標(biāo)志位對(duì)串行通信有重要的意義,常用奇偶檢驗(yàn)奇偶檢驗(yàn)的的方法來(lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃?。方法?lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?7182.3.2 2.3.2 控制器控
13、制器 任務(wù)任務(wù)識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地工作。而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地工作。 控制器包括:控制器包括:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及程序計(jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。 程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC是一個(gè)獨(dú)立的是一個(gè)獨(dú)立的1616位計(jì)數(shù)器,不可訪問(wèn)。單片機(jī)復(fù)位計(jì)數(shù)器,不可訪問(wèn)。單片機(jī)復(fù)位時(shí),位時(shí),P
14、CPC中內(nèi)容為中內(nèi)容為0000H0000H,從程序存儲(chǔ)器,從程序存儲(chǔ)器0000H0000H單元取指令,單元取指令,開(kāi)始執(zhí)行程序。開(kāi)始執(zhí)行程序。 PC PC工作過(guò)程是工作過(guò)程是:CPUCPU讀指令時(shí),讀指令時(shí),PCPC的內(nèi)容作為所取指令的地址,的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PCPC自動(dòng)加自動(dòng)加1 1。 PC PC中內(nèi)容變化軌跡中內(nèi)容變化軌跡決定程序流程。當(dāng)決定程序流程。當(dāng)順序執(zhí)行順序執(zhí)行程序時(shí)自動(dòng)程序時(shí)自動(dòng)加加1 1;執(zhí)行;執(zhí)行轉(zhuǎn)移程序轉(zhuǎn)移程序或或子程序、中斷子程序調(diào)用子程序、中斷子程序調(diào)用時(shí),自動(dòng)時(shí),自動(dòng)將其內(nèi)容更改成所要轉(zhuǎn)移
15、的目的地址。將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。 PC PC的計(jì)數(shù)寬度的計(jì)數(shù)寬度決定了程序存儲(chǔ)器的地址范圍。決定了程序存儲(chǔ)器的地址范圍。PCPC為為1616位,位,故可對(duì)故可對(duì)64KB64KB(=2=21616B B)尋址。尋址。19程序存儲(chǔ)器(程序存儲(chǔ)器(FLASH,下載到,下載到4 KB ROM) 2.3、存儲(chǔ)器、存儲(chǔ)器 1編址與訪問(wèn)編址與訪問(wèn) 計(jì)算機(jī)的工作是按照事先編制好的程序命令序列一條條順序執(zhí)行的,程序存儲(chǔ)器就是用來(lái)存放這些已編好的程序和表格常數(shù),它由只讀存儲(chǔ)器ROM或EPROM組成。計(jì)算機(jī)為了有序地工作,設(shè)置了一個(gè)專用寄存器 - 程序計(jì)數(shù)器PC,用以存放將要執(zhí)行的指令地址。每取出指令
16、的個(gè)字節(jié)后,其內(nèi)容自動(dòng)加,指向下一字節(jié)地址,使計(jì)算機(jī)依次從程序存儲(chǔ)器取出指令予以執(zhí)行,完成某種程序操作。由于MCS-51單片機(jī)的程序計(jì)數(shù)器為16位,因此,可尋址的地址空間為64 KB。2程序的程序的7個(gè)特殊入口地址個(gè)特殊入口地址操 作入 口 地 址復(fù)位0000H外部中斷00003H定時(shí)器/計(jì)數(shù)器0溢出000BH外部中斷10013H定時(shí)器/計(jì)數(shù)器1溢出001BH串行口中斷0023H定時(shí)器/計(jì)數(shù)器0溢出或T2EX端負(fù)跳變(52子系列)002BH表1 MCS-51單片機(jī)復(fù)位、中斷入口地址數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 1編址與訪問(wèn)編址與訪問(wèn) MCS-51單片機(jī)片內(nèi)、外數(shù)據(jù)存儲(chǔ)器是兩個(gè)獨(dú)立的地址空間,應(yīng)分別單獨(dú)
17、編址。片內(nèi)數(shù)據(jù)存儲(chǔ)器除RAM塊外,還有特殊功能寄存器(SFR)塊。對(duì)于51子系列,前者有128個(gè)字節(jié),其編址為00H7FH;后者有128個(gè)字節(jié),其編址為80HFFH;二者連續(xù)而不重疊二者連續(xù)而不重疊。由于訪問(wèn)它們所用的指令不同,并不會(huì)引起混亂。片外數(shù)據(jù)存儲(chǔ)器一般是16位編址。 2. 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器 MCS-51 片內(nèi)RAM為 256 字節(jié), 地址范圍為00HFFH, 分為兩大部分: 低低 128 字節(jié)字節(jié)(00H7FH)為真正的RAM區(qū); 高高 128 字節(jié)字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。 在低 128 字節(jié)RAM中, 00H1FH共 32 單元是 4 個(gè)通用個(gè)通用
18、工作寄存器區(qū)工作寄存器區(qū)。每一個(gè)區(qū)有 8 個(gè)通用寄存器R0R7。低低 128 字節(jié)(字節(jié)(00H7FH) 其中真正用戶能用到得只有20H7FH共96個(gè)字節(jié);故一般需要擴(kuò)展片外存儲(chǔ)器。 其中20H2FH為位尋址(重點(diǎn)),(重點(diǎn)),故可設(shè)位變故可設(shè)位變量。量。sbit p20=P20;sbit p21=P21;If p20=1 then p21=0表表 2 寄存器與寄存器與RAM 地址對(duì)照表地址對(duì)照表 表表 3 SFR特殊功能寄存器地址表特殊功能寄存器地址表 28特殊功能寄存器位 地 址字 節(jié)地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7H
19、E6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表4 SFR中的位地址分布特殊功能寄存器(特殊功能
20、寄存器(SFR ) 特殊功能寄存器(SFR)也稱專用寄存器,專門專門用于用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)等功能模塊的工作,用戶在編程時(shí)可以給其設(shè)定值編程時(shí)可以給其設(shè)定值,但不能移作它用。SFR離散地分布在片內(nèi)離散地分布在片內(nèi)RAM的的80HFFH地址空間地址空間,與片內(nèi)數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。 51子系列有18個(gè)特殊功能寄存器,其中3個(gè)為雙字個(gè)為雙字節(jié)(節(jié)(DPTR、T0、T1),共占用21個(gè)字節(jié);其中11個(gè)可位尋址(僅83位有效)。凡是可位尋址的凡是可位尋址的SFR,字節(jié)地址末位,字節(jié)地址末位只能是只能是0H或或8H。 52子系列有21個(gè)特殊寄存器,其
21、中5個(gè)為雙字節(jié),共占用26個(gè)字節(jié) 注意:注意:(1)21個(gè)可字節(jié)尋址的專用寄存器是不連續(xù)地分散在個(gè)可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部?jī)?nèi)部RAM高高128單元單元之中,共之中,共83個(gè)可尋址位個(gè)可尋址位。盡管。盡管還剩余許多空閑單元,但用戶并不能使用。還剩余許多空閑單元,但用戶并不能使用。(2)在)在22個(gè)專用寄存器中,唯一一個(gè)個(gè)專用寄存器中,唯一一個(gè)不可尋址的不可尋址的PC。PC不占據(jù)不占據(jù)RAM單元單元,它在物理上是獨(dú)立的(在控制,它在物理上是獨(dú)立的(在控制器中),因此是器中),因此是不可尋址的寄存器不可尋址的寄存器。(3)對(duì)專用寄存器)對(duì)專用寄存器只能使用直接尋址方式只能使用直接尋
22、址方式,書寫時(shí)既,書寫時(shí)既可使用寄存器符號(hào)可使用寄存器符號(hào),也,也可使用寄存器單元地址可使用寄存器單元地址。(因?yàn)榧拇嫫髅偷刂穯卧牡刂芬呀?jīng)一一對(duì)應(yīng))(因?yàn)榧拇嫫髅偷刂穯卧牡刂芬呀?jīng)一一對(duì)應(yīng))序號(hào)序號(hào)特殊功能寄存器符號(hào)特殊功能寄存器符號(hào)名名 稱稱字節(jié)地址字節(jié)地址位地址位地址復(fù)位值復(fù)位值1A(或或Acc)累加器累加器E0HE7HE0H00H2BB寄存器寄存器F0HF7HF0H00H3DPH數(shù)據(jù)指針數(shù)據(jù)指針DPTR高字節(jié)高字節(jié)83H00H4DPL數(shù)據(jù)指針數(shù)據(jù)指針DPTR低字節(jié)低字節(jié)82H00H5IE中斷允許控制寄存器中斷允許控制寄存器A8HAFHA8H00H6IP中斷優(yōu)先級(jí)控制寄存器中斷優(yōu)先級(jí)
23、控制寄存器B8HBFHB8HX000 0000B7P0P0口寄存器口寄存器80H87H80HFFH8P1P1口寄存器口寄存器90H97H90HFFH9P2P2口寄存器口寄存器A0HA7HA0HFFH10P3P3口寄存器口寄存器B0HB7HB0HFFH11PCON電源控制寄存器電源控制寄存器87H00XXX000B12PSW程序狀態(tài)字寄存器程序狀態(tài)字寄存器D0HD7HD0H00H13SBUF串行發(fā)送數(shù)據(jù)緩沖器串行發(fā)送數(shù)據(jù)緩沖器99HXXXXXXXXB14SCON串行控制寄存器串行控制寄存器98H9FH98H00H15SP堆棧指針堆棧指針81H07H16TCON定時(shí)器定時(shí)器/計(jì)數(shù)器控制寄存計(jì)數(shù)器控
24、制寄存器器88H8FH88H00H17TL0定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器0(低字節(jié)低字節(jié))8AH00H18TH0定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器0(高字節(jié)高字節(jié))8BH00H19TL1定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器1(低字節(jié)低字節(jié))8CH00H20TH1定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器1(高字節(jié)高字節(jié))8DH00H21TMOD定時(shí)器定時(shí)器/計(jì)數(shù)器方式控制計(jì)數(shù)器方式控制89H00H位地址空間位地址空間 211個(gè)尋址位的位地址,其中:00H7FH這128位處于片內(nèi)RAM字節(jié)地址20H2FH 單元中。其余的83個(gè)可尋址位分布在特殊功能寄存器SFR中,。 可被位尋址的特殊寄存器有11個(gè),共有位地址88個(gè),5個(gè)位未用,其
25、余83個(gè)位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū)字節(jié)地址為80HFFH的范圍內(nèi),其最低的位地址等于其字節(jié)地址,且其字節(jié)地址的末位都為0H或8H。 AT89C51片內(nèi)片內(nèi)RAM的可尋址位及其位地址的可尋址位及其位地址字節(jié)單元地字節(jié)單元地址址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H47464544434
26、2414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A7978SFR中的位地址分布中的位地址分布特殊功特殊功能能寄存器寄存器位位 地地 址址字字 節(jié)地節(jié)地 址址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHB
27、AHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80HP1P3口驅(qū)動(dòng)口驅(qū)動(dòng)LED發(fā)光二極管發(fā)光二極管 例如:使用單片機(jī)的并行口P1P3直接驅(qū)動(dòng)發(fā)光二極管,電路如下圖。由于P1P3內(nèi)部有30k左右的上拉電阻。 如高電平輸出,則強(qiáng)行從
28、P1、P2和P3口輸出的電流會(huì)造成單片機(jī)端口的損壞。 如端口引腳為低電平,能使電流從單片機(jī)外部流入內(nèi)部,則將大大增加流過(guò)的電流值。所以,當(dāng)P1P3口驅(qū)動(dòng)LED發(fā)光二極管時(shí),應(yīng)該采用低電平驅(qū)動(dòng)采用低電平驅(qū)動(dòng)。(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動(dòng))不恰當(dāng)?shù)倪B接:高電平驅(qū)動(dòng) (b)恰當(dāng)?shù)倪B接:低電平驅(qū)動(dòng))恰當(dāng)?shù)倪B接:低電平驅(qū)動(dòng)發(fā)光二極管與發(fā)光二極管與AT89C51并行口的直接連接并行口的直接連接有關(guān)時(shí)序的概念有關(guān)時(shí)序的概念 計(jì)算機(jī)在執(zhí)行指令時(shí),一條指令經(jīng)譯碼后產(chǎn)生若干個(gè)基計(jì)算機(jī)在執(zhí)行指令時(shí),一條指令經(jīng)譯碼后產(chǎn)生若干個(gè)基本微操作,這些基本微操作在時(shí)間上有嚴(yán)格的先后次序,這本微操作,這些基本微操作在時(shí)間上有嚴(yán)
29、格的先后次序,這種次序稱為計(jì)算機(jī)的時(shí)序。種次序稱為計(jì)算機(jī)的時(shí)序。 幾個(gè)幾個(gè)CPU時(shí)序的基本概念時(shí)序的基本概念1振蕩周期振蕩周期: 指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,是指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,是時(shí)序中最小的時(shí)間單位。若為內(nèi)部產(chǎn)生方式,則為石英晶體時(shí)序中最小的時(shí)間單位。若為內(nèi)部產(chǎn)生方式,則為石英晶體的振蕩周期。(常用的振蕩周期。(常用12MHz、6MHz等)。等)。振蕩脈沖并不直接使用,振蕩脈沖并不直接使用,由由XTAL2或或XTAL1端送往內(nèi)部時(shí)鐘電端送往內(nèi)部時(shí)鐘電路(路(fosc):):經(jīng)過(guò)經(jīng)過(guò)2分頻分頻,向,向CPU提供提供2相時(shí)鐘信號(hào)相時(shí)鐘信號(hào)P1和和P2( f拍節(jié)拍節(jié)=
30、 1/2 osc)再經(jīng)再經(jīng)3分頻分頻,(,(6分頻)產(chǎn)生分頻)產(chǎn)生ALE時(shí)序(時(shí)序( fALE = 1/6 fosc););經(jīng)過(guò)經(jīng)過(guò)12分頻分頻,成為機(jī)器周期信號(hào)(,成為機(jī)器周期信號(hào)( MC = 12/ fosc),如下圖所),如下圖所示。示。需要指出的是,需要指出的是,CPU的運(yùn)算操作在的運(yùn)算操作在P1期間,數(shù)據(jù)傳送在期間,數(shù)據(jù)傳送在P2期間。期間。2時(shí)鐘周期:時(shí)鐘周期:是振蕩源信號(hào)經(jīng)是振蕩源信號(hào)經(jīng)2分頻分頻后形成的時(shí)鐘脈后形成的時(shí)鐘脈沖信號(hào),也就是一個(gè)時(shí)鐘周期是振蕩周期的沖信號(hào),也就是一個(gè)時(shí)鐘周期是振蕩周期的2倍。時(shí)倍。時(shí)鐘信號(hào)向單片機(jī)提供一個(gè)二節(jié)拍時(shí)鐘信號(hào),在每個(gè)鐘信號(hào)向單片機(jī)提供一個(gè)二
31、節(jié)拍時(shí)鐘信號(hào),在每個(gè)時(shí)鐘的前半周期,時(shí)鐘的前半周期,節(jié)拍節(jié)拍1信號(hào)信號(hào)P1有效,后半周期節(jié)拍有效,后半周期節(jié)拍P2有效,有效,每個(gè)節(jié)拍持續(xù)每個(gè)節(jié)拍持續(xù)1個(gè)振蕩周期。個(gè)振蕩周期。3機(jī)器周期:機(jī)器周期:CPU完成一個(gè)基本操作所需的時(shí)間為機(jī)完成一個(gè)基本操作所需的時(shí)間為機(jī)器周期。一個(gè)機(jī)器周期包含器周期。一個(gè)機(jī)器周期包含6個(gè)時(shí)鐘周期,也就是等個(gè)時(shí)鐘周期,也就是等于于12個(gè)振蕩周期。個(gè)振蕩周期。 當(dāng)石英晶體的振蕩為當(dāng)石英晶體的振蕩為12MHz和和6MHz時(shí),時(shí)鐘周期時(shí),時(shí)鐘周期分別為分別為1/12s和和1/6s,機(jī)器周期分別為,機(jī)器周期分別為1s和和2s。4指令周期:指令周期:是指CPU執(zhí)行一條指令所需的
32、時(shí)間,是時(shí)序中最大時(shí)間單位。由于單片機(jī)執(zhí)行不同的指令,所需要的時(shí)間不同,因此,不同指令所包含的機(jī)器周期數(shù)也不同,機(jī)器周期越少的指令執(zhí)行速度快。 單片機(jī)中大多數(shù)指令的指令周期由一個(gè)機(jī)器周期或兩個(gè)機(jī)器周期組成,只有乘法、除法指令需要四個(gè)機(jī)器周期。CPU時(shí)序時(shí)序機(jī)器周期:機(jī)器周期:每個(gè)機(jī)器周期包含每個(gè)機(jī)器周期包含S1、S2、S3、S4、S5、S6個(gè)個(gè)狀態(tài),每個(gè)狀態(tài)包含狀態(tài),每個(gè)狀態(tài)包含2拍拍P1和和P2,每一個(gè)節(jié)拍持續(xù),每一個(gè)節(jié)拍持續(xù)1個(gè)振蕩周個(gè)振蕩周期。因此,每期。因此,每12個(gè)振蕩周期為一個(gè)機(jī)器周期。依次可表示為個(gè)振蕩周期為一個(gè)機(jī)器周期。依次可表示為S1P1、S1P2、S2P1、S2P2、S6P
33、1、S6P2。時(shí)鐘電路(時(shí)鐘電路(什么作用?什么作用?) 單片機(jī)時(shí)鐘內(nèi)接法;圖1 -自己產(chǎn)生時(shí)鐘信號(hào)作為單片機(jī) 單片機(jī)的時(shí)鐘外接方式;圖2-使用其他電路產(chǎn)生圖1 時(shí)鐘振蕩電路 圖2 外部時(shí)鐘接法 三、三、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)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P0口口引腳引腳 當(dāng)系統(tǒng)不進(jìn)行片外的當(dāng)系統(tǒng)不進(jìn)行片外的ROM擴(kuò)展,也不
34、進(jìn)行片外擴(kuò)展,也不進(jìn)行片外RAM擴(kuò)展時(shí)擴(kuò)展時(shí),單片機(jī)硬件自動(dòng)使,單片機(jī)硬件自動(dòng)使C=0,MUX開(kāi)關(guān)接向鎖存器的開(kāi)關(guān)接向鎖存器的反相輸出端反相輸出端,將輸出上拉場(chǎng)效應(yīng)管T1截止;當(dāng)有外部擴(kuò)展時(shí),P0口必須做輸出地址、數(shù)據(jù)時(shí), C=1,地址通過(guò)地址通過(guò)T1送到送到P0口,當(dāng)輸入數(shù)據(jù)時(shí),通過(guò)下邊緩沖器進(jìn)入內(nèi)存口,當(dāng)輸入數(shù)據(jù)時(shí),通過(guò)下邊緩沖器進(jìn)入內(nèi)存D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P0口口引腳引腳1、P0口作為普通口作為普通I/O口口輸出時(shí):輸出時(shí):CPU發(fā)出控制電平“0”封鎖“與”門,多路開(kāi)關(guān)MUX把鎖
35、存器與輸出驅(qū)動(dòng)場(chǎng)效應(yīng)管T2柵極接通。D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(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)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P
36、0口口引腳引腳 因?yàn)門2截止,故P0口數(shù)據(jù),通過(guò)下邊三態(tài)門進(jìn)入內(nèi)存總線。2. P2 用作通用用作通用I/O口口 當(dāng)不在單片機(jī)芯片外部擴(kuò)展程序存儲(chǔ)器,只擴(kuò)展當(dāng)不在單片機(jī)芯片外部擴(kuò)展程序存儲(chǔ)器,只擴(kuò)展256B的片的片外外RAM時(shí),僅用到了地址線的低時(shí),僅用到了地址線的低8位,位,P2口仍可以作為通用口仍可以作為通用I/O口使用口使用。P0、P1、P2、P3口的口的電平電平與與CMOS和和TTL電平兼容電平兼容 P0口的每一位口線可以口的每一位口線可以驅(qū)動(dòng)驅(qū)動(dòng)8個(gè)個(gè)LSTTL負(fù)載。在負(fù)載。在作為通用作為通用 I/O口口時(shí),由于輸出驅(qū)動(dòng)電路是開(kāi)漏方式,由集電極開(kāi)路時(shí),由于輸出驅(qū)動(dòng)電路是開(kāi)漏方式,由集電
37、極開(kāi)路(OC門)電路或漏極開(kāi)路電路驅(qū)動(dòng)時(shí)門)電路或漏極開(kāi)路電路驅(qū)動(dòng)時(shí)需外接上拉電阻需外接上拉電阻;當(dāng);當(dāng)作為作為地址地址/數(shù)據(jù)總線數(shù)據(jù)總線使用時(shí),口線輸出不是開(kāi)漏的,使用時(shí),口線輸出不是開(kāi)漏的,無(wú)須外無(wú)須外接上拉電阻接上拉電阻。 P1、P2 和P3 口為準(zhǔn)雙向口, 在內(nèi)部差別不大, 但使用功能有所不同。 P1口是用戶專用 8 位準(zhǔn)雙向I/O口, 具有通用輸入/輸出功能, 每一位都能獨(dú)立地設(shè)定為輸入或輸出。當(dāng)有輸出方式變?yōu)檩斎敕绞綍r(shí), 該位的鎖存器必須寫入“1”, 然后才能進(jìn)入輸入操作。 P2口是 8 位準(zhǔn)雙向I/O口。外接I/O設(shè)備時(shí), 可作為擴(kuò)展系統(tǒng)的地址總線, 輸出高輸出高8位地址位地址,
38、 與P0 口一起組成 16 位地址總線。 對(duì)于 8031 而言, P2 口一般只作為地址總線使用, 而不作為I/O線直接與外部設(shè)備相連。 P3 口的第二功能口的第二功能 2.4 單片機(jī)的復(fù)位單片機(jī)的復(fù)位 復(fù)位是使單片機(jī)的CPU或系統(tǒng)中的其它部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開(kāi)始工作。單片單片機(jī)的工作就是從復(fù)位開(kāi)始的機(jī)的工作就是從復(fù)位開(kāi)始的。 復(fù)位電路 在振蕩器工作時(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,各端口鎖存器已寫入1,此時(shí)不但可用于輸出,也可以于輸入。 SP=07H,表明堆棧指針指向片內(nèi)RAM的07單元(即第一個(gè)被壓入的內(nèi)容將寫入到08H單元)。 IP、IE和PCON的有效位為0,分別表明各中斷源處于低優(yōu)先級(jí)、各中斷均被關(guān)斷、串行通信的波特率不加倍。 PSW=00H,表明當(dāng)前工作寄存器選為0組。 (a)上電復(fù)位 (b)上電與按鍵
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年浮標(biāo)式氧氣吸入器項(xiàng)目融資計(jì)劃書
- 生命科學(xué)試題庫(kù)
- 養(yǎng)老院老人生日慶祝制度
- 養(yǎng)老院老人緊急救援服務(wù)質(zhì)量管理制度
- 質(zhì)量管理體系國(guó)家審核員培訓(xùn)考試題
- 房建木工合同范本(2篇)
- 2025年鎮(zhèn)江c1貨運(yùn)從業(yè)資格證模擬考試題
- 2025年合作下載貨運(yùn)從業(yè)資格證模擬考試
- 2025年南寧貨運(yùn)從業(yè)資格證實(shí)操考試題
- 2025年舟山駕??荚囏涍\(yùn)從業(yè)資格證考試
- 項(xiàng)目投資退出計(jì)劃方案
- 護(hù)理員服務(wù)外包投標(biāo)方案(技術(shù)方案)
- 票據(jù)賬戶主動(dòng)管理服務(wù)操作手冊(cè)
- 2023年10月自考00051管理系統(tǒng)中計(jì)算機(jī)應(yīng)用真題及答案含評(píng)分標(biāo)準(zhǔn)
- 心力衰竭患者的運(yùn)動(dòng)康復(fù)
- 班主任如何做好班級(jí)建設(shè)工作
- 德能勤績(jī)考核表
- 《夏天里的成長(zhǎng)》的說(shuō)課課件
- 03X502 空氣采樣早期煙霧探測(cè)系統(tǒng)
- 頸脊神經(jīng)后支射頻技術(shù)
- 河南省鄭州市管城區(qū)卷2023-2024學(xué)年數(shù)學(xué)四年級(jí)第一學(xué)期期末聯(lián)考試題含答案
評(píng)論
0/150
提交評(píng)論