版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第2章章 單片機(jī)的硬件結(jié)構(gòu)單片機(jī)的硬件結(jié)構(gòu) AT89S51AT89S51的片內(nèi)硬件基本結(jié)構(gòu)、引腳功能、存儲器結(jié)構(gòu)、的片內(nèi)硬件基本結(jié)構(gòu)、引腳功能、存儲器結(jié)構(gòu)、特殊功能寄存器功能、特殊功能寄存器功能、4 4個并行個并行I/OI/O口的結(jié)構(gòu)和特點,口的結(jié)構(gòu)和特點, 復(fù)位電路和時鐘電路的設(shè)計復(fù)位電路和時鐘電路的設(shè)計, ,節(jié)電工作模式。節(jié)電工作模式。目的:目的: 本章學(xué)習(xí),為本章學(xué)習(xí),為AT89S51AT89S51系統(tǒng)的應(yīng)用設(shè)計打下基礎(chǔ)。在原理系統(tǒng)的應(yīng)用設(shè)計打下基礎(chǔ)。在原理和結(jié)構(gòu)上,單片機(jī)把微機(jī)的許多概念、技術(shù)與特點都繼承和結(jié)構(gòu)上,單片機(jī)把微機(jī)的許多概念、技術(shù)與特點都繼承下來。用學(xué)習(xí)微機(jī)的思路來學(xué)習(xí)單
2、片機(jī)。下來。用學(xué)習(xí)微機(jī)的思路來學(xué)習(xí)單片機(jī)。內(nèi)容概要內(nèi)容概要: :2.1 AT89S512.1 AT89S51單片機(jī)的硬件組成單片機(jī)的硬件組成2.2 AT89S512.2 AT89S51的引腳功能的引腳功能2.3 AT89S512.3 AT89S51的的CPUCPU2.4 AT89S512.4 AT89S51存儲器的結(jié)構(gòu)存儲器的結(jié)構(gòu)2.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口2.6 2.6 時鐘電路與時序時鐘電路與時序2.7 2.7 復(fù)位操作和復(fù)位電路復(fù)位操作和復(fù)位電路2.8 2.8 低功耗節(jié)電模式低功耗節(jié)電模式 單片機(jī)的基本組成有三個部分:單片機(jī)的基本組成有三個
3、部分:CPU、存儲器和、存儲器和I/O口口時鐘時鐘電路電路部分部分I/OI/O口口u各功能部件,通過片內(nèi)單一總線連接起來各功能部件,通過片內(nèi)單一總線連接起來u控制方式:控制方式:SFR對各功能部件集中控制對各功能部件集中控制有如下有如下功能部件功能部件:(1)8位微處理器(位微處理器(CPU););(2)數(shù)據(jù)存儲器()數(shù)據(jù)存儲器(128B RAM););(3)程序存儲器()程序存儲器(4KB Flash ROM););(4)4個個8位可編程并行位可編程并行I/O口(口(P0口、口、P1口、口、P2口、口、P3口);口);(5)1個全雙工的異步串行口;個全雙工的異步串行口;(6)2個可編程的個可
4、編程的16位定時器位定時器/計數(shù)器;計數(shù)器;(7)1個看門狗定時器;個看門狗定時器;(8)中斷系統(tǒng)具有)中斷系統(tǒng)具有5個中斷源、個中斷源、5個中斷向量;個中斷向量;(9)特殊功能寄存器()特殊功能寄存器(SFR)26個;個;(10)低功耗模式有)低功耗模式有空閑模式空閑模式和和掉電模式掉電模式,且具有掉電模式下的中斷恢,且具有掉電模式下的中斷恢復(fù)模式;復(fù)模式;(11)3個程序加密鎖定位。個程序加密鎖定位。片內(nèi)各功能部件性能片內(nèi)各功能部件性能(1)CPU(微處理器)(微處理器) 8位,位,包括包括運算器運算器和和控制器控制器,還有面向控制的,還有面向控制的位處理功能位處理功能。(2)數(shù)據(jù)存儲器(
5、)數(shù)據(jù)存儲器(RAM) 片內(nèi)為片內(nèi)為128B(52系列系列為為256B),片外最多可擴(kuò)),片外最多可擴(kuò)64KB。片內(nèi)以。片內(nèi)以高速高速RAM的形式集成,可加快運行的速度的形式集成,可加快運行的速度和和降低功耗。降低功耗。(3)程序存儲器()程序存儲器(Flash ROM) 片內(nèi)集成有片內(nèi)集成有4KB的的Flash存儲器(存儲器(AT89S52 則則為為8KB;AT89C55片內(nèi)片內(nèi)20KB),可外擴(kuò)至),可外擴(kuò)至64KB。(4)中斷系統(tǒng))中斷系統(tǒng) 具有具有6個個中斷源,中斷源,2級中斷優(yōu)先權(quán)。級中斷優(yōu)先權(quán)。(5)定時器)定時器/計數(shù)器計數(shù)器 2個個16位位定時器定時器/計數(shù)器(計數(shù)器(52系列
6、有系列有3個),個),4種種工作方式。工作方式。(6)1個看門狗定時器個看門狗定時器WDT 當(dāng)當(dāng)CPU由于干擾使程序陷入死循環(huán)或跑飛時由于干擾使程序陷入死循環(huán)或跑飛時,WDT可可使程使程序恢復(fù)正常運行。序恢復(fù)正常運行。(7)串行口)串行口 1個全雙工個全雙工的異步串行口,的異步串行口,4種工作方式??蛇M(jìn)行串行通信,種工作方式。可進(jìn)行串行通信,擴(kuò)展并行擴(kuò)展并行I/O口,還可與多個單片機(jī)構(gòu)成多機(jī)系統(tǒng)???,還可與多個單片機(jī)構(gòu)成多機(jī)系統(tǒng)。(8)P1口、口、P2口、口、P3口、口、P0口口 4個個8位位并行并行I/O口???。(9)特殊功能寄存器()特殊功能寄存器(SFR) 26個個,對片內(nèi)各功能部件管理
7、、控制和監(jiān)視。是各個功能部,對片內(nèi)各功能部件管理、控制和監(jiān)視。是各個功能部件的件的控制寄存器控制寄存器和和狀態(tài)寄存器,映射在片內(nèi)狀態(tài)寄存器,映射在片內(nèi)RAM區(qū)區(qū)80HFFH內(nèi)內(nèi)。2.2 AT89S51的引腳功能的引腳功能引腳按其功能可分為如下引腳按其功能可分為如下3類類:(1)電源及時鐘引腳)電源及時鐘引腳VCC、VSS;XTAL1、XTAL2。(2)控制引腳)控制引腳 、ALE/ 、 /VPP、RST(RESET)(3)I/O口引腳口引腳P0、P1、P2、P3,為,為4個個8位位I/O口口 AT89S51雙列直插封裝方式的引腳雙列直插封裝方式的引腳PSENPROGEA1電源引腳電源引腳(1)
8、VCC(40腳):腳):+5V電源。電源。(2)VSS(20腳):腳):接數(shù)字地。接數(shù)字地。2時鐘引腳時鐘引腳 (1)XTAL1(19腳):腳):片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路輸入端。用片內(nèi)振蕩器時,該腳接外部石英晶體和微調(diào)電路輸入端。用片內(nèi)振蕩器時,該腳接外部石英晶體和微調(diào)電容。容。外接時鐘源時外接時鐘源時,該腳接外部時鐘振蕩器的信號。,該腳接外部時鐘振蕩器的信號。(2)XTAL2(18腳):腳):片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用用片內(nèi)振蕩器片內(nèi)振蕩器,該腳連接外部石英晶體和微調(diào)電容。當(dāng)使用,該腳連接外部石英晶體和
9、微調(diào)電容。當(dāng)使用外部時鐘源外部時鐘源時,本腳時,本腳懸空懸空。2.2.2 控制引腳控制引腳(1)RST (RESET,9腳腳) 復(fù)位信號輸入,在引腳加上持續(xù)時間復(fù)位信號輸入,在引腳加上持續(xù)時間大于大于2個機(jī)器周期個機(jī)器周期的高電的高電平,可使單片機(jī)復(fù)位。正常工作,此腳電平應(yīng)平,可使單片機(jī)復(fù)位。正常工作,此腳電平應(yīng) 0.5V。當(dāng)看。當(dāng)看門狗定時器溢出輸出時,該腳將輸出長達(dá)門狗定時器溢出輸出時,該腳將輸出長達(dá)96個時鐘振蕩周期個時鐘振蕩周期的高電平。的高電平。(2) /VPP (31腳腳) :引腳引腳第一功能第一功能:外部程序存儲器訪問允許控制端。:外部程序存儲器訪問允許控制端。 =1,在,在PC
10、值不超出值不超出0FFFH(即不超出片內(nèi)(即不超出片內(nèi)4KB Flash存儲存儲器的地址范圍)時,單片機(jī)讀器的地址范圍)時,單片機(jī)讀片內(nèi)程序存儲器片內(nèi)程序存儲器(4KB)中的程)中的程序,但序,但PC值超出值超出0FFFH (即超出片內(nèi)(即超出片內(nèi)4KB Flash地址范圍)時,地址范圍)時,將將自動轉(zhuǎn)向讀取片外自動轉(zhuǎn)向讀取片外60KB(1000H-FFFFH)程序存儲器空間)程序存儲器空間中的程序。中的程序。EAEAEA =0,只讀取只讀取外部的程序存儲器外部的程序存儲器中的內(nèi)容,讀取的地址范圍中的內(nèi)容,讀取的地址范圍為為0000HFFFFH,片內(nèi)的,片內(nèi)的4KB Flash 程序存儲器不起
11、作用。程序存儲器不起作用。VPP:引腳引腳第二功能第二功能,對片內(nèi),對片內(nèi)Flash編程,接編程,接編程電壓編程電壓。EA(3)ALE/ (30腳)腳) ALE為為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供地地址鎖存信號址鎖存信號,將,將低低8位地址位地址鎖存在片外的地址鎖存器中。鎖存在片外的地址鎖存器中。 單片機(jī)單片機(jī)正常運行正常運行時,時,ALE端端一直有正脈沖信號輸出一直有正脈沖信號輸出,此頻,此頻率為時鐘振蕩器頻率率為時鐘振蕩器頻率fosc的的1/6??捎米魍獠慷〞r或觸發(fā)信號??捎米魍獠慷〞r或觸發(fā)信號。 注意注意:當(dāng)當(dāng)AT89S51訪問外部訪問外
12、部RAM時,要時,要丟失一個丟失一個ALE脈沖脈沖。 :引腳:引腳第二功能第二功能,對片內(nèi),對片內(nèi) Flash編程,為編程,為編程脈沖輸入端。編程脈沖輸入端。(4) (29腳)腳):片外程序存儲器讀選通信號,低電平有效。片外程序存儲器讀選通信號,低電平有效。PROGPROGPSEN2.2.3 并行并行I/O口引腳口引腳(1)P0口:口:8位,漏極開路的雙向位,漏極開路的雙向I/O口口 當(dāng)當(dāng)外擴(kuò)存儲器及外擴(kuò)存儲器及I/O接口芯片時接口芯片時,P0口作為口作為低低8位地址總線及數(shù)位地址總線及數(shù)據(jù)總線據(jù)總線的的分時復(fù)用分時復(fù)用端口。端口。 P0口可用作口可用作通用的通用的I/O口口,需加上拉電阻,為
13、,需加上拉電阻,為準(zhǔn)雙向口準(zhǔn)雙向口。作為。作為通用通用I/O輸入,應(yīng)輸入,應(yīng)先向端口寫入先向端口寫入1??沈?qū)動。可驅(qū)動8個個LS型型TTL負(fù)載。負(fù)載。(2)P1口:口:8位,準(zhǔn)雙向位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻??冢哂袃?nèi)部上拉電阻。 準(zhǔn)雙向準(zhǔn)雙向I/O口,作為口,作為通用通用I/O輸入時,應(yīng)先向端口鎖存器寫輸入時,應(yīng)先向端口鎖存器寫1。P1口可驅(qū)動口可驅(qū)動4個個LS型型TTL負(fù)載。負(fù)載。 P1.5/MOSI、P1.6/MISO和和P1.7/SCK 可用于對片內(nèi)可用于對片內(nèi)Flash存儲存儲器串行編程和校驗,它們分別是串行數(shù)據(jù)輸入、輸出和移位脈沖器串行編程和校驗,它們分別是串行數(shù)據(jù)輸入、
14、輸出和移位脈沖引腳。引腳。(3)P2口:口:8位,位,準(zhǔn)雙向準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻???,具有內(nèi)部上拉電阻。 當(dāng)當(dāng)AT89S51擴(kuò)展外部存儲器及擴(kuò)展外部存儲器及I/O口時,口時,P2口作為口作為高高8位位地址總線地址總線用,輸出高用,輸出高8位地址。位地址。 P2口口可作為普通的可作為普通的I/O口口使用。當(dāng)作為通用使用。當(dāng)作為通用I/O輸入時,輸入時,應(yīng)應(yīng)先向端口輸出鎖存器寫先向端口輸出鎖存器寫1。P2口可驅(qū)動口可驅(qū)動4個個LS型型TTL負(fù)載負(fù)載。(4)P3口:口:8位,位,準(zhǔn)雙向準(zhǔn)雙向I/O口口,具有內(nèi)部上拉電阻。,具有內(nèi)部上拉電阻。 可作為可作為通用的通用的I/O口使用口使用。作
15、為。作為通用通用I/O輸入,應(yīng)先向端口輸入,應(yīng)先向端口輸出鎖存器輸出鎖存器 寫入寫入1??沈?qū)動。可驅(qū)動4個個LS型型TTL負(fù)載。負(fù)載。 P3口還可提供口還可提供第二功能第二功能。2.3 AT89S51的的CPUCPU由由運算器運算器和和控制器控制器構(gòu)成。構(gòu)成。2.3.1 運算器運算器對操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運算。主要包括對操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運算。主要包括算術(shù)邏輯算術(shù)邏輯運算單元運算單元ALU、累加器、累加器A、位處理器、程序狀態(tài)字寄存器、位處理器、程序狀態(tài)字寄存器PSW及兩個暫存器及兩個暫存器等。等。1算術(shù)邏輯運算單元算術(shù)邏輯運算單元ALU可對可對8位變量位變量邏輯運算邏輯運算
16、(與、或、異或、循環(huán)、求補(bǔ)和清(與、或、異或、循環(huán)、求補(bǔ)和清零),還可零),還可算術(shù)運算算術(shù)運算(加、減、乘、除)。(加、減、乘、除)。 ALU還有位操作功能,對位變量進(jìn)行位處理,如置還有位操作功能,對位變量進(jìn)行位處理,如置“1”、清清“0”、求補(bǔ)、測試轉(zhuǎn)移及邏輯、求補(bǔ)、測試轉(zhuǎn)移及邏輯“與與”、“或或”等。等。2累加器累加器A使用最頻繁的寄存器,使用最頻繁的寄存器,可可寫為寫為Acc(1)ALU單元的輸入數(shù)據(jù)源之一,又是單元的輸入數(shù)據(jù)源之一,又是ALU運算結(jié)果存放單運算結(jié)果存放單元元。(2)數(shù)據(jù)傳送大多都通過累加器)數(shù)據(jù)傳送大多都通過累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決
17、解決“瓶頸堵塞瓶頸堵塞”問題,問題,AT89S51增加了一部分可以不經(jīng)過累增加了一部分可以不經(jīng)過累加器的傳送指令。加器的傳送指令。 A的進(jìn)位標(biāo)志的進(jìn)位標(biāo)志Cy是特殊的,它同時又是是特殊的,它同時又是位處理機(jī)的位處理機(jī)的位累加器位累加器3程序狀態(tài)字寄存器程序狀態(tài)字寄存器PSW(位于片內(nèi)特殊功能寄存器區(qū),位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為字節(jié)地址為D0H)包含了包含了程序運行狀態(tài)的信息程序運行狀態(tài)的信息,其中,其中4位保存當(dāng)前指令執(zhí)行后位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。的狀態(tài),供程序查詢和判斷。PSW中各個位的功能中各個位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位)進(jìn)位標(biāo)志位可寫為可
18、寫為C。在算術(shù)和邏輯運算時,若有。在算術(shù)和邏輯運算時,若有進(jìn)位進(jìn)位/借位借位,Cy1;否;否則,則,Cy0。在位處理器中,它是位累加器。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位)輔助進(jìn)位標(biāo)志位在在BCD碼運算時,用作十進(jìn)位調(diào)整。即當(dāng)碼運算時,用作十進(jìn)位調(diào)整。即當(dāng)D3位向位向D4位產(chǎn)生進(jìn)位或借位產(chǎn)生進(jìn)位或借位時,位時,Ac1;否則,;否則,Ac0。(3)F0(PSW.5)用戶設(shè)定標(biāo)志位)用戶設(shè)定標(biāo)志位 由用戶使用的一個狀態(tài)標(biāo)志位,可用指令來使它置由用戶使用的一個狀態(tài)標(biāo)志位,可用指令來使它置1或清或清0,控制程序,控制程序的流向。的流向。(4)RS1、RS0(PSW.4、
19、PSW.3)4組工作寄存器區(qū)選擇組工作寄存器區(qū)選擇選擇片內(nèi)選擇片內(nèi)RAM區(qū)中的區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。(5)OV(PSW.2)溢出標(biāo)志位)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)當(dāng)執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,果產(chǎn)生溢出,OV=1;否則,;否則,OV=0。(6)PSW.1位位 保留位保留位(7)P(PSW.0)奇偶標(biāo)志位)奇偶標(biāo)志位指令執(zhí)行完,累加器指令執(zhí)行完,累加器A中中“1”的個數(shù)的個數(shù)是是奇數(shù)奇數(shù)還是還是偶數(shù)偶數(shù)。P=1,表示表示A中中“1”的個數(shù)為的個數(shù)為奇數(shù)奇
20、數(shù)。P=0,表示,表示A中中“1”的個數(shù)為的個數(shù)為偶數(shù)偶數(shù)。此標(biāo)志位對串行通信有重要的意義此標(biāo)志位對串行通信有重要的意義,常用常用奇偶檢驗奇偶檢驗的方法來檢的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃?。驗?shù)據(jù)串行傳輸?shù)目煽啃浴?.3.2 控制器控制器控制器包括控制器包括:程序計數(shù)器、指令寄存器、指令譯碼器、定時及程序計數(shù)器、指令寄存器、指令譯碼器、定時及控制邏輯電路控制邏輯電路等。等。功能功能:控制指令的讀入、譯碼和執(zhí)行,從而對各功能部件進(jìn)行控制指令的讀入、譯碼和執(zhí)行,從而對各功能部件進(jìn)行定時和邏輯控制。定時和邏輯控制。程序計數(shù)器程序計數(shù)器PC:一個一個獨立的獨立的16位計數(shù)器位計數(shù)器,不可訪問。單片機(jī)復(fù)
21、,不可訪問。單片機(jī)復(fù)位時,位時,PC中內(nèi)容為中內(nèi)容為0000H,從程序存儲器,從程序存儲器0000H單元取指令,單元取指令,開始執(zhí)行程序。開始執(zhí)行程序。 PC工作過程工作過程是是CPU讀指令時,讀指令時,PC的內(nèi)容作為所取指令的地址,的內(nèi)容作為所取指令的地址,程序存儲器按此地址輸出指令字節(jié),同時程序存儲器按此地址輸出指令字節(jié),同時PC自動加自動加1。PC中內(nèi)容變化軌跡中內(nèi)容變化軌跡決定程序流程。當(dāng)決定程序流程。當(dāng)順序執(zhí)行順序執(zhí)行程序時自動加程序時自動加1;執(zhí)行執(zhí)行轉(zhuǎn)移程序轉(zhuǎn)移程序或或子程序、中斷子程序調(diào)用子程序、中斷子程序調(diào)用時,自動將其內(nèi)容更時,自動將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。改成所要
22、轉(zhuǎn)移的目的地址。 PC的計數(shù)寬度的計數(shù)寬度決定了程序存儲器的地址范圍。決定了程序存儲器的地址范圍。PC為為16位,故位,故可對可對64KB(=216B)尋址。尋址。2.4 AT89S51存儲器的結(jié)構(gòu)存儲器的結(jié)構(gòu)程序存儲器和數(shù)據(jù)存儲器分開程序存儲器和數(shù)據(jù)存儲器分開(哈佛結(jié)構(gòu)),(哈佛結(jié)構(gòu)),并有各自的訪問并有各自的訪問指令。指令。存儲器空間可分為存儲器空間可分為4類類:.程序存儲器空間程序存儲器空間.數(shù)據(jù)存儲器空間數(shù)據(jù)存儲器空間.特殊功能寄存器特殊功能寄存器SFR (Special Function Register).位地址空間位地址空間2.4.1 程序存儲器空間程序存儲器空間存放程序和表格之
23、類的固定常數(shù)存放程序和表格之類的固定常數(shù)。片內(nèi)為。片內(nèi)為4KB的的 Flash ,地址,地址為為0000H0FFFH。16位地址線,可外擴(kuò)的程序存儲器空間最位地址線,可外擴(kuò)的程序存儲器空間最大為大為64KB,地址為,地址為0000HFFFFH。(1)分為)分為片內(nèi)片內(nèi)和和片外片外兩部分兩部分,訪問片內(nèi)的還是片外的程序存,訪問片內(nèi)的還是片外的程序存儲器,由儲器,由 引腳電平引腳電平確定。確定。 =1時,時,CPU從片內(nèi)從片內(nèi)0000H開始取指令,開始取指令,當(dāng)當(dāng)PC值沒有超出值沒有超出0FFFH時,只訪問片內(nèi)時,只訪問片內(nèi)Flash 存儲器,存儲器,當(dāng)當(dāng)PC值超出值超出0FFFH自動自動轉(zhuǎn)向讀片
24、外程序存儲器空間轉(zhuǎn)向讀片外程序存儲器空間1000HFFFFH 內(nèi)的程序。內(nèi)的程序。 =0時,只能執(zhí)行片外程序存儲器(時,只能執(zhí)行片外程序存儲器(0000HFFFFH)中的)中的程序。程序。EAEAEA(2 2)程序存儲器某些固定單元)程序存儲器某些固定單元用于各中斷源中斷服務(wù)程序入口。用于各中斷源中斷服務(wù)程序入口。 64KB程序存儲器空間中有程序存儲器空間中有5個特殊單元個特殊單元分別對應(yīng)于分別對應(yīng)于5個中斷個中斷源的中斷入口地址。源的中斷入口地址。 通常這通常這5個中斷入口個中斷入口地址地址處都放處都放一條跳轉(zhuǎn)指令一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序
25、斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。2.4.2 數(shù)據(jù)存儲器空間數(shù)據(jù)存儲器空間.片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器 片內(nèi)數(shù)據(jù)存儲器(片內(nèi)數(shù)據(jù)存儲器(RAM)共)共128個單元個單元; 字節(jié)地址字節(jié)地址為為00H7FH。00H1FH 的的32個單元個單元是是4組通用工作組通用工作寄存器區(qū),每區(qū)包含寄存器區(qū),每區(qū)包含8B,為,為R7R0。可可通過指令改變通過指令改變RS1、RS0兩位兩位來選擇。來選擇。20H2FH的的16個個單元的單元的128位位可位尋址可位尋址,也也可字節(jié)尋址可字節(jié)尋址。30H7FH的單元的單元只能字節(jié)尋址只能字節(jié)尋址,用作,用作存數(shù)據(jù)存數(shù)據(jù)以及作為以及作為堆棧區(qū)堆棧區(qū)。2.
26、片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器 最多可外擴(kuò)最多可外擴(kuò)64KB的的RAM。 注意,片內(nèi)注意,片內(nèi)RAM與片外與片外RAM兩個空間是相互獨立的,兩個空間是相互獨立的,片內(nèi)片內(nèi)RAM與片外與片外RAM的低的低128B的地址是相同的的地址是相同的,但由于使用的,但由于使用的是不同的訪問指令,所以不會發(fā)生沖突。是不同的訪問指令,所以不會發(fā)生沖突。2.4.3 特殊功能寄存器(特殊功能寄存器(SFR) 采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件。特殊功能寄存各功能部件。特殊功能寄存器器映射在片內(nèi)映射在片內(nèi)RAM的的 80HFFH 區(qū)域區(qū)域中,共中,共26個。有些還個。有些還可位尋址。與可位
27、尋址。與AT89C51相比,相比,新增新增5個個SFR:DP1L、DP1H、AUXR、AUXR1和和WDTRST。 凡凡可位尋址的可位尋址的SFR,字節(jié)地址末位字節(jié)地址末位只能是只能是0H或或8H。 若讀若讀/寫未定義單元,將得到一個不確定的隨機(jī)數(shù)。寫未定義單元,將得到一個不確定的隨機(jī)數(shù)。1堆棧指針堆棧指針SP -指示堆棧頂部在內(nèi)部指示堆棧頂部在內(nèi)部RAM塊中的位置。塊中的位置。 堆棧結(jié)構(gòu)堆棧結(jié)構(gòu)向上生長型向上生長型。單片機(jī)。單片機(jī)復(fù)位復(fù)位后,后,SP為為07H,使得,使得堆棧實際上從堆棧實際上從08H單元開始,由于單元開始,由于08H1FH單元分別是屬于單元分別是屬于13組的工作寄存器區(qū),組
28、的工作寄存器區(qū),最好在復(fù)位后把最好在復(fù)位后把SP值改置為值改置為60H或或更大的值更大的值,避免堆棧與工作寄存器沖突。,避免堆棧與工作寄存器沖突。 堆棧是為堆棧是為子程序調(diào)用子程序調(diào)用和和中斷操作中斷操作而設(shè)而設(shè),主要用來保護(hù)斷點主要用來保護(hù)斷點和和現(xiàn)場?,F(xiàn)場。(1)保護(hù)斷點。)保護(hù)斷點。無論是子程序調(diào)用操作還是中斷服務(wù)子程序無論是子程序調(diào)用操作還是中斷服務(wù)子程序調(diào)用,最終都要調(diào)用,最終都要返回主程序返回主程序。應(yīng)預(yù)先把。應(yīng)預(yù)先把主程序的斷點在堆棧主程序的斷點在堆棧中保護(hù)起來,為程序正確返回做準(zhǔn)備。中保護(hù)起來,為程序正確返回做準(zhǔn)備。(2)現(xiàn)場保護(hù)。)現(xiàn)場保護(hù)。執(zhí)行子程序或中斷服務(wù)子程序時,要用
29、到一執(zhí)行子程序或中斷服務(wù)子程序時,要用到一些寄存器單元,會破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)些寄存器單元,會破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)容保存起來,送入堆棧,這就是所謂的容保存起來,送入堆棧,這就是所謂的“現(xiàn)場保護(hù)現(xiàn)場保護(hù)”。 兩種操作兩種操作: 數(shù)據(jù)壓入數(shù)據(jù)壓入(PUSH)堆棧,堆棧,數(shù)據(jù)彈出數(shù)據(jù)彈出(POP)堆棧。堆棧。 數(shù)據(jù)壓入堆棧,數(shù)據(jù)壓入堆棧,SP自動加自動加1;數(shù)據(jù)彈出堆棧,;數(shù)據(jù)彈出堆棧,SP自動減自動減1。2寄存器寄存器B為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當(dāng)作一個普通寄存器來使用。把它當(dāng)作一
30、個普通寄存器來使用。乘法乘法:兩乘數(shù)分別在:兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在中,執(zhí)行乘法指令后,乘積在BA中,中, B中存放高中存放高8位,位,A中存放低中存放低8位。位。除法除法:被除數(shù)取自:被除數(shù)取自A,除數(shù)取自,除數(shù)取自B,商存放在,商存放在A中,余數(shù)存中,余數(shù)存B中。中。3AUXR寄存器寄存器輔助寄存器輔助寄存器。DISALE:ALE的禁止的禁止/允許位允許位。0:ALE有效,發(fā)出脈沖;有效,發(fā)出脈沖;1:ALE僅在執(zhí)行僅在執(zhí)行MOVC和和MOVX類指令時有效,不訪問外部存儲器類指令時有效,不訪問外部存儲器時,時,ALE不輸出脈沖信號不輸出脈沖信號。DISRTO:禁止禁止/
31、允許允許WDT溢出時的復(fù)位輸出溢出時的復(fù)位輸出。0:WDT溢出時,在溢出時,在RST引腳輸出一個高電平脈沖;引腳輸出一個高電平脈沖;1:RST引腳僅為輸入腳。引腳僅為輸入腳。WDIDLE:WDT在空閑模式下的禁止在空閑模式下的禁止/允許位允許位。 0: WDT在空閑模式下繼續(xù)計數(shù);在空閑模式下繼續(xù)計數(shù); 1: WDT在空閑模式下暫停計數(shù)。在空閑模式下暫停計數(shù)。4. 數(shù)據(jù)指針數(shù)據(jù)指針DPTR0和和DPTR1 雙數(shù)據(jù)指針寄存器,訪問雙數(shù)據(jù)指針寄存器,訪問數(shù)據(jù)存儲器數(shù)據(jù)存儲器。 DPTR0:AT89C51單片機(jī)單片機(jī)原有原有的數(shù)據(jù)指針;的數(shù)據(jù)指針; DPTR1:新增加:新增加的數(shù)據(jù)指針。的數(shù)據(jù)指針。
32、 數(shù)據(jù)指針數(shù)據(jù)指針可作為一個可作為一個16位寄存器位寄存器來用,也可作為來用,也可作為兩個獨立的兩個獨立的8位寄存器位寄存器DP0H(或(或DP1H)和)和DP0L(或(或DP1L)來用。)來用。5. AUXR1寄存器寄存器輔助寄存器輔助寄存器 DPS:數(shù)據(jù)指針寄存器選擇位。數(shù)據(jù)指針寄存器選擇位。 當(dāng)當(dāng)DPS=0時,選用時,選用DPTR0;當(dāng);當(dāng)DPS=1時,選用時,選用DPTR1。6. 看門狗定時器看門狗定時器WDT WDT包含一個包含一個14位計數(shù)器位計數(shù)器和和看門狗定時器復(fù)位寄存看門狗定時器復(fù)位寄存WDTRST,當(dāng)當(dāng)CPU由于干擾,程序陷入死循環(huán)或跑飛狀態(tài)時,由于干擾,程序陷入死循環(huán)或跑
33、飛狀態(tài)時,WDT提供了提供了一種使程序恢復(fù)正常運行的有效手段。一種使程序恢復(fù)正常運行的有效手段。2.4.4 位地址空間位地址空間 211個尋址位的位地址,位地址范圍為個尋址位的位地址,位地址范圍為 00HFFH,其中,其中 00H7FH 這這128位處于位處于片內(nèi)片內(nèi)RAM 字節(jié)地址字節(jié)地址 20H2FH 單元中單元中.其余的其余的83個可尋址位個可尋址位分布在分布在特殊功能寄存器特殊功能寄存器SFR中中. 可被位尋址的可被位尋址的特殊寄存器特殊寄存器有有11個個,共有位地址,共有位地址88個,個,5個位個位未用,其余未用,其余83個位的位地址離散地分布于個位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲器
34、片內(nèi)數(shù)據(jù)存儲器區(qū)字區(qū)字節(jié)地址為節(jié)地址為80HFFH的范圍內(nèi),其的范圍內(nèi),其最低的位地址等于其字節(jié)地最低的位地址等于其字節(jié)地址址,且其字節(jié)地址的,且其字節(jié)地址的末位都為末位都為0H或或8H。特殊功能寄存器位 地 址字 節(jié)地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA
35、4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布 AT89S51各類存儲器的結(jié)構(gòu)圖各類存儲器的結(jié)構(gòu)圖2.5 AT89S51的并行的并行I/O端口端口 4個雙向的個雙向的8位并行位并行I/O端口端口,分別記為,分別記為P0、P1、P2和和P3,其中其中輸出鎖存器輸出鎖存器屬于屬于特殊功能寄存器特殊功能寄存器。端口的每一位均由輸出。端口的每一位均
36、由輸出鎖存器、輸出驅(qū)動器和輸入緩沖器組成,鎖存器、輸出驅(qū)動器和輸入緩沖器組成,4個端口按個端口按字節(jié)輸入字節(jié)輸入/輸輸出出外,外,也也可可位尋址位尋址。P0口口: 一個一個雙功能雙功能的的8位并行端口,位并行端口,字節(jié)地址字節(jié)地址為為80H,位地址為,位地址為80H87H。端口的各位具有完全相同但又相互獨立的電路結(jié)構(gòu)。端口的各位具有完全相同但又相互獨立的電路結(jié)構(gòu)。(1)一個數(shù)據(jù)輸出的)一個數(shù)據(jù)輸出的鎖存器鎖存器,用于數(shù)據(jù)位的鎖存。,用于數(shù)據(jù)位的鎖存。(2)兩個三態(tài)的)兩個三態(tài)的數(shù)據(jù)輸入緩沖器數(shù)據(jù)輸入緩沖器,用于,用于讀鎖存器數(shù)據(jù)讀鎖存器數(shù)據(jù)和和讀引腳數(shù)據(jù)讀引腳數(shù)據(jù)的輸?shù)妮斎刖彌_器入緩沖器BUF
37、1和和BUF2。(3)一個)一個多路轉(zhuǎn)接開關(guān)多路轉(zhuǎn)接開關(guān)MUX,輸入,輸入端端鎖存器鎖存器和和地址地址/數(shù)據(jù)信號數(shù)據(jù)信號的反相輸?shù)姆聪噍敵?。出。MUX由由“控制控制”信號控制,實現(xiàn)鎖存器的輸出和地址信號控制,實現(xiàn)鎖存器的輸出和地址/數(shù)據(jù)信號之間數(shù)據(jù)信號之間的轉(zhuǎn)接。的轉(zhuǎn)接。(4)數(shù)據(jù)輸出的)數(shù)據(jù)輸出的控制和驅(qū)動電路控制和驅(qū)動電路,由,由兩個場效應(yīng)管兩個場效應(yīng)管(FET)組成。)組成。位電路結(jié)構(gòu)位電路結(jié)構(gòu)(1)P0口用作地址口用作地址/數(shù)據(jù)總線數(shù)據(jù)總線 具有具有高阻抗輸入的高阻抗輸入的I/OI/O口口,P0P0口作為地址口作為地址/ /數(shù)據(jù)總線使用時是數(shù)據(jù)總線使用時是一個真正的雙向端口,簡稱一個真
38、正的雙向端口,簡稱雙向口雙向口。 用作與外部存儲器的連接,用作與外部存儲器的連接,輸出低輸出低8 8位地址和輸出位地址和輸出/ /輸入輸入8 8位數(shù)位數(shù)據(jù)。據(jù)。(2)P0口用作通用口用作通用I/O口口 需要在片外接上拉電阻,是一個需要在片外接上拉電阻,是一個準(zhǔn)雙向口準(zhǔn)雙向口。 作輸入口作輸入口,有,有兩種讀入方式兩種讀入方式:“讀鎖存器讀鎖存器”和和“讀引腳讀引腳”。 保證引腳信號的保證引腳信號的正確讀入正確讀入,應(yīng),應(yīng)首先向鎖存器寫首先向鎖存器寫1。 單片機(jī)復(fù)位后,鎖存器自動被置單片機(jī)復(fù)位后,鎖存器自動被置1; 由原來輸出轉(zhuǎn)變?yōu)檩斎霑r,應(yīng)先置鎖存器為由原來輸出轉(zhuǎn)變?yōu)檩斎霑r,應(yīng)先置鎖存器為1。
39、 P1口口:單功能的:單功能的I/O口,口,字節(jié)地址為字節(jié)地址為 90H,位地址為,位地址為 90H97H。(1)一個數(shù)據(jù)輸出鎖存)一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖器,用于輸出數(shù)據(jù)位的鎖存。存。(2)兩個三態(tài)的數(shù)據(jù)輸)兩個三態(tài)的數(shù)據(jù)輸入緩沖器入緩沖器BUF1和和BUF2,分別用于讀鎖存器數(shù)據(jù)和分別用于讀鎖存器數(shù)據(jù)和讀引腳數(shù)據(jù)的輸入緩沖。讀引腳數(shù)據(jù)的輸入緩沖。(3)數(shù)據(jù)輸出驅(qū)動電路,)數(shù)據(jù)輸出驅(qū)動電路,由一個場效應(yīng)管(由一個場效應(yīng)管(FET)和一個片內(nèi)上拉電阻組成。和一個片內(nèi)上拉電阻組成。位電路結(jié)構(gòu)位電路結(jié)構(gòu)P1口口只能作為通用的只能作為通用的I/O口口使用。使用。 內(nèi)部有上拉電阻內(nèi)部有上
40、拉電阻,無高阻抗輸入無高阻抗輸入狀態(tài),為狀態(tài),為準(zhǔn)雙向口準(zhǔn)雙向口。 “讀引腳讀引腳”輸入輸入時,必須時,必須先向鎖存器寫入先向鎖存器寫入1。P2口:雙功能口口:雙功能口,字節(jié)地址字節(jié)地址為為A0H,位地址位地址為為A0HA7H3)一個多)一個多路轉(zhuǎn)接開關(guān)路轉(zhuǎn)接開關(guān)MUX,一個輸入是鎖存器的,一個輸入是鎖存器的Q端,另一個端,另一個輸入是高輸入是高8位地址。位地址。4)輸出驅(qū)動電路,由場效應(yīng)管()輸出驅(qū)動電路,由場效應(yīng)管(FET)和內(nèi)部上拉電阻組成。)和內(nèi)部上拉電阻組成。1)一個數(shù)據(jù)輸出鎖)一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)存器,用于輸出數(shù)據(jù)位的鎖存。位的鎖存。2)兩個三態(tài)數(shù)據(jù)輸)兩個三態(tài)數(shù)據(jù)輸入
41、緩沖器入緩沖器BUF1和和BUF2,分別用于讀,分別用于讀鎖存器數(shù)據(jù)和讀引腳鎖存器數(shù)據(jù)和讀引腳數(shù)據(jù)的輸入緩沖。數(shù)據(jù)的輸入緩沖。位電路結(jié)構(gòu)位電路結(jié)構(gòu)(1)P2口用作口用作地址總線地址總線輸出外部存儲器的輸出外部存儲器的高高8位地址,位地址,與與P0口輸出的低口輸出的低8位位地址地址構(gòu)成構(gòu)成16位地址,可位地址,可尋址尋址64KB地址空間。地址空間。(2)P2口用作口用作通用通用I/O口口內(nèi)部內(nèi)部有有上拉電阻上拉電阻,無無高阻抗輸入高阻抗輸入狀態(tài),為狀態(tài),為準(zhǔn)雙向口準(zhǔn)雙向口。 “讀引腳讀引腳”輸入輸入時,必須時,必須先向鎖存器寫入先向鎖存器寫入1。 P3口:口:增加了第二功能增加了第二功能,字節(jié)地
42、址為字節(jié)地址為B0H,位地址位地址B0HB7H。(3)輸出驅(qū)動,由與非)輸出驅(qū)動,由與非門、場效應(yīng)管(門、場效應(yīng)管(FET)和)和內(nèi)部上拉電阻組成。內(nèi)部上拉電阻組成。(1)1個個數(shù)據(jù)輸出鎖存器,數(shù)據(jù)輸出鎖存器,鎖存輸出數(shù)據(jù)位。鎖存輸出數(shù)據(jù)位。(2)3個個三態(tài)數(shù)據(jù)輸入緩三態(tài)數(shù)據(jù)輸入緩沖器沖器BUF1、BUF2和和BUF3,分別用于讀鎖存,分別用于讀鎖存器、讀引腳數(shù)據(jù)和第二功器、讀引腳數(shù)據(jù)和第二功能數(shù)據(jù)的輸入緩沖。能數(shù)據(jù)的輸入緩沖。位電路結(jié)構(gòu)位電路結(jié)構(gòu)(1)P3口用作第二輸入口用作第二輸入/輸出功能輸出功能 當(dāng)選擇第二輸出功能時,鎖存器需要置當(dāng)選擇第二輸出功能時,鎖存器需要置1。 復(fù)位后復(fù)位后,鎖
43、存器自動置鎖存器自動置1,不不需任何設(shè)置工作,需任何設(shè)置工作,可可進(jìn)入第二進(jìn)入第二功能操作。功能操作。(2)P3口用作第一功能口用作第一功能通用通用I/O口口 內(nèi)部內(nèi)部有有上拉電阻上拉電阻,無無高阻抗輸入高阻抗輸入狀態(tài),為狀態(tài),為準(zhǔn)雙向口準(zhǔn)雙向口。 輸入輸入時,必須時,必須先向先向端口輸出端口輸出鎖存器寫入鎖存器寫入1。2.5.5 P1P3口驅(qū)動口驅(qū)動LED發(fā)光二極管發(fā)光二極管P0口與口與P1、P2、P3口相比,口相比,P0口的驅(qū)動能力較大口的驅(qū)動能力較大,每位可驅(qū),每位可驅(qū)動動8個個LSTTL輸入,而輸入,而P1、P2、P3口口的每一位的驅(qū)動能力,的每一位的驅(qū)動能力,只只有有P0口的一半口的
44、一半;當(dāng)當(dāng)P0口口某位為某位為高電平高電平時,可提供時,可提供400 A的電流;的電流;當(dāng)當(dāng)P0口某位為口某位為低電平低電平(0.45V)時,可提供)時,可提供3.2mA的灌電流。的灌電流。如低電平允許提高,灌電流可相應(yīng)加大。如低電平允許提高,灌電流可相應(yīng)加大。任何一個口要想獲得任何一個口要想獲得較大的驅(qū)動能力,只能用較大的驅(qū)動能力,只能用低電平低電平輸出。輸出。P1P3內(nèi)部有內(nèi)部有30k左右的左右的上拉電阻。上拉電阻。如如高電平高電平輸出輸出,則強(qiáng)行從,則強(qiáng)行從P1、P2和和P3口輸出的電流口輸出的電流Id會造成單片會造成單片機(jī)端口的損壞,如機(jī)端口的損壞,如圖(圖(a)所示。所示。如端口引腳
45、為如端口引腳為低電平低電平,能使電流,能使電流Id 從單片機(jī)外部流入內(nèi)部,則從單片機(jī)外部流入內(nèi)部,則將將大大增加流過的電流值大大增加流過的電流值,如,如圖(圖(b)所示。所示。當(dāng)當(dāng)P1P3口驅(qū)動口驅(qū)動LED發(fā)光二極管發(fā)光二極管時,應(yīng)該采用低電平驅(qū)動。時,應(yīng)該采用低電平驅(qū)動。(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動不恰當(dāng)?shù)倪B接:高電平驅(qū)動 (b)恰當(dāng)?shù)倪B接:低電平驅(qū)動恰當(dāng)?shù)倪B接:低電平驅(qū)動2.6 時鐘電路與時序時鐘電路與時序時鐘電路時鐘電路:產(chǎn)生產(chǎn)生單片機(jī)單片機(jī)工作時所工作時所必需的控制信號必需的控制信號,在時鐘信號,在時鐘信號的控制下,嚴(yán)格按時序執(zhí)行指令。的控制下,嚴(yán)格按時序執(zhí)行指令。CPU發(fā)的發(fā)的時序
46、信號時序信號兩類兩類,一類一類用對片內(nèi)各個功能部件控制,用用對片內(nèi)各個功能部件控制,用戶無須了解;戶無須了解;另一類另一類用于對片外存儲器或用于對片外存儲器或I/O口的控制口的控制,這部分,這部分時序?qū)τ诜治觥⒃O(shè)計硬件接口電路時序?qū)τ诜治?、設(shè)計硬件接口電路至關(guān)重要至關(guān)重要。2.6.1 時鐘電路設(shè)計時鐘電路設(shè)計 時鐘頻率時鐘頻率直接影響單片機(jī)的直接影響單片機(jī)的速度速度,時鐘電路的質(zhì)量也直接影,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。響單片機(jī)系統(tǒng)的穩(wěn)定性。 常用的時鐘電路有常用的時鐘電路有兩種方式兩種方式:內(nèi)部時鐘內(nèi)部時鐘和和外部時鐘外部時鐘方式。方式。1內(nèi)部時鐘方式內(nèi)部時鐘方式 AT89S5
47、1內(nèi)部有一個用于構(gòu)成振蕩器的內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器高增益反相放大器,輸入端為芯片引腳輸入端為芯片引腳XTAL1,輸出端為引腳,輸出端為引腳XTAL2。這兩個引。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器。蕩器。電容大小會影響振蕩器頻率高低、振蕩器的穩(wěn)定性和起振的快電容大小會影響振蕩器頻率高低、振蕩器的穩(wěn)定性和起振的快速性。速性。晶振頻率范圍通常是晶振頻率范圍通常是1.212MHz。晶體頻率越高,晶體頻率越高,單片機(jī)速度單片機(jī)速度就越快就越快。速度快對。速度快對存儲器的速度要求就高存儲器的速度要求就高,
48、印制電路板的工藝要,印制電路板的工藝要求也高,即線間的寄生電容要小。求也高,即線間的寄生電容要小。晶體和電容應(yīng)盡可能與單片機(jī)晶體和電容應(yīng)盡可能與單片機(jī)靠近靠近,以減少寄生電容,保證振蕩器穩(wěn)定、可靠地工作。,以減少寄生電容,保證振蕩器穩(wěn)定、可靠地工作。為提高溫度穩(wěn)定性,采用為提高溫度穩(wěn)定性,采用溫度穩(wěn)定性能好溫度穩(wěn)定性能好的電容。的電容。常選常選6MHz或或12MHz的的石英晶體石英晶體。隨著集成電路制造工藝技術(shù)。隨著集成電路制造工藝技術(shù)的發(fā)展,單片機(jī)的的發(fā)展,單片機(jī)的時鐘頻率時鐘頻率也在逐步提高也在逐步提高,已達(dá),已達(dá)33MHz。2外部時鐘方式外部時鐘方式 用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號,用現(xiàn)
49、成的外部振蕩器產(chǎn)生脈沖信號,常用于常用于多片多片AT89S51同時工作,以便于多片單片機(jī)之間的同步,一般為低于同時工作,以便于多片單片機(jī)之間的同步,一般為低于12MHz的方波。的方波。 外部時鐘源外部時鐘源直接接到直接接到XTAL1端端,XTAL2端懸空端懸空。 3時鐘信號的輸出時鐘信號的輸出 當(dāng)使用片內(nèi)振蕩器,當(dāng)使用片內(nèi)振蕩器,XTAL1、XTAL2引腳還能為應(yīng)用系引腳還能為應(yīng)用系統(tǒng)中的其他芯片提供時鐘,但需增加驅(qū)動能力。統(tǒng)中的其他芯片提供時鐘,但需增加驅(qū)動能力。有兩種有兩種引出引出的方式的方式。2.6.2 機(jī)器周期、指令周期與指令時序機(jī)器周期、指令周期與指令時序各種指令時序與時鐘周期相關(guān)。
50、各種指令時序與時鐘周期相關(guān)。1時鐘周期時鐘周期 時鐘控制信號的時鐘控制信號的基本時間單位基本時間單位。若晶振頻率為。若晶振頻率為fosc,則時鐘周,則時鐘周期期Tosc=1/fosc。如。如fosc=6MHz,Tosc=166.7ns。2機(jī)器周期機(jī)器周期 CPU完成一個基本操作所需時間為完成一個基本操作所需時間為機(jī)器周期機(jī)器周期。執(zhí)行一條指令執(zhí)行一條指令分為幾個機(jī)器周期分為幾個機(jī)器周期。每個機(jī)器周期完成一個。每個機(jī)器周期完成一個基本操作基本操作,如取,如取指令、讀或?qū)憯?shù)據(jù)等。每指令、讀或?qū)憯?shù)據(jù)等。每12個時鐘周期個時鐘周期為為1個機(jī)器周期。個機(jī)器周期。 1個機(jī)器周期個機(jī)器周期包括包括12個時鐘
51、周期個時鐘周期,分,分6個狀態(tài)個狀態(tài):S1S6。每。每個個狀態(tài)又分兩拍狀態(tài)又分兩拍:P1和和P2。一個機(jī)器周期中的。一個機(jī)器周期中的12個時鐘周個時鐘周期期表示為表示為S1P1、S1P2、S2P1、S2P2、S6P2。3指令周期指令周期 執(zhí)行一條指令執(zhí)行一條指令所需的時間所需的時間。簡單的。簡單的單字節(jié)指令單字節(jié)指令,取出指令立,取出指令立即執(zhí)行,即執(zhí)行,只需只需一個機(jī)器周期一個機(jī)器周期的時間的時間。而有些。而有些復(fù)雜的指令復(fù)雜的指令,如,如轉(zhuǎn)移、乘、除指令轉(zhuǎn)移、乘、除指令則需則需兩個兩個或或多個多個機(jī)器周期。機(jī)器周期。從指令執(zhí)行時間看從指令執(zhí)行時間看: 單字節(jié)和雙字節(jié)單字節(jié)和雙字節(jié)指令指令一
52、般為單機(jī)器周期一般為單機(jī)器周期和和雙機(jī)器周期雙機(jī)器周期; 三字節(jié)指令三字節(jié)指令都是都是雙機(jī)器周期雙機(jī)器周期; 乘、除指令乘、除指令占用占用4個機(jī)器周期個機(jī)器周期。2.7 復(fù)位操作和復(fù)位電路復(fù)位操作和復(fù)位電路 單片機(jī)的單片機(jī)的初始化操作初始化操作,給復(fù)位腳,給復(fù)位腳RST加上加上大于大于2個機(jī)器周期個機(jī)器周期的的高電平高電平就使就使AT89S51復(fù)位。復(fù)位。2.7.1 復(fù)位操作復(fù)位操作 復(fù)位時,復(fù)位時,PC初始化為初始化為0000H,程序從,程序從0000H單元開始執(zhí)行單元開始執(zhí)行. 除系統(tǒng)的正常初始化外,當(dāng)除系統(tǒng)的正常初始化外,當(dāng)程序出錯程序出錯或或操作錯誤操作錯誤使系統(tǒng)處于使系統(tǒng)處于死鎖死鎖
53、狀態(tài)時,狀態(tài)時,按復(fù)位鍵按復(fù)位鍵使使RST腳為高電平,重新啟動程序。腳為高電平,重新啟動程序。 復(fù)位操作還對復(fù)位操作還對其他一些寄存器其他一些寄存器有影響。有影響。l復(fù)位時,復(fù)位時,SP=07H ,而,而P0P3引腳均為高電平引腳均為高電平。在某些控制應(yīng)用中,要在某些控制應(yīng)用中,要注意考慮注意考慮P0P3引腳的高電平引腳的高電平對接在對接在這些引腳上的外部電路的影響這些引腳上的外部電路的影響。2.7.2 復(fù)位電路設(shè)計復(fù)位電路設(shè)計 復(fù)位引腳復(fù)位引腳RST通過一個通過一個施密特觸發(fā)器施密特觸發(fā)器與與復(fù)位電路復(fù)位電路相連,施密相連,施密特觸發(fā)器用來抑制噪聲,在每個機(jī)器周期的特觸發(fā)器用來抑制噪聲,在每
54、個機(jī)器周期的S5P2,施密特觸,施密特觸發(fā)器的發(fā)器的輸出電平輸出電平由由復(fù)位電路復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。位操作所需要的信號。片內(nèi)復(fù)位電路結(jié)構(gòu)片內(nèi)復(fù)位電路結(jié)構(gòu) 復(fù)位電路采用復(fù)位電路采用上電自動復(fù)位上電自動復(fù)位和和按鈕復(fù)位按鈕復(fù)位兩種方式兩種方式。上電自動復(fù)位上電自動復(fù)位是給電容是給電容C 充電加給充電加給RST引腳一個引腳一個短的高電平信短的高電平信號號,此信號隨著,此信號隨著VCC對電容對電容C 的充電過程而逐漸回落,即的充電過程而逐漸回落,即RST引引腳上的腳上的高電平持續(xù)時間高電平持續(xù)時間取決于電容取決于電容C 充電時間充電時間。
55、為保證系統(tǒng)可。為保證系統(tǒng)可靠復(fù)位,靠復(fù)位,RST引腳上的高電平必須維持足夠長的時間。引腳上的高電平必須維持足夠長的時間。對于對于CMOS型單片機(jī),型單片機(jī),由于在由于在RST引腳內(nèi)部引腳內(nèi)部有一個有一個下拉電阻下拉電阻,可將可將電阻電阻R去掉去掉,而將,而將電容電容C選為選為10 F。上電復(fù)位電路上電復(fù)位電路除了上電復(fù)位外,有時還需要除了上電復(fù)位外,有時還需要按鍵手動復(fù)位按鍵手動復(fù)位。按鍵手動復(fù)位有按鍵手動復(fù)位有電平電平和和脈沖脈沖兩種方式兩種方式。脈沖復(fù)位脈沖復(fù)位是利用是利用RC 微分電路產(chǎn)生的微分電路產(chǎn)生的正脈沖正脈沖來實現(xiàn)來實現(xiàn)的,阻容參的,阻容參數(shù)適于數(shù)適于6MHz時鐘。時鐘。 按鍵電
56、平復(fù)位電路按鍵電平復(fù)位電路 按鍵脈沖復(fù)位電路按鍵脈沖復(fù)位電路能能輸出輸出高、低兩種電平高、低兩種電平的復(fù)位控制信號,以適應(yīng)外圍的復(fù)位控制信號,以適應(yīng)外圍I/O接口芯接口芯片所片所要求的要求的不同復(fù)位電平信號不同復(fù)位電平信號。74LS122為單穩(wěn)電路,實驗表明,為單穩(wěn)電路,實驗表明,電容電容C 的選擇約為的選擇約為0.1 F較好。較好。兩種實用的兼有上電復(fù)位與按鍵復(fù)位的電路兩種實用的兼有上電復(fù)位與按鍵復(fù)位的電路2.8 低功耗節(jié)電模式低功耗節(jié)電模式 兩種低功耗節(jié)電工作模式兩種低功耗節(jié)電工作模式:空閑模式空閑模式(idle mode)和)和掉電掉電保持模式保持模式(power down mode)。
57、)。 掉電保持模式掉電保持模式下,下,Vcc可由可由后備電源后備電源供電。供電。低功耗節(jié)電模式的內(nèi)部控制電路低功耗節(jié)電模式的內(nèi)部控制電路兩種節(jié)電模式可通過兩種節(jié)電模式可通過PCON的的位位IDL和和位位PD的設(shè)置來實現(xiàn)。的設(shè)置來實現(xiàn)。PCON寄存器各位定義:寄存器各位定義:SMOD:串行通信波特率選擇。串行通信波特率選擇。 :保留位。:保留位。GF1、GF0:通用標(biāo)志位,兩個標(biāo)志位用戶使用。:通用標(biāo)志位,兩個標(biāo)志位用戶使用。PD: 掉電保持模式控制位,掉電保持模式控制位,PD=1,則,則進(jìn)入掉電保持模式。進(jìn)入掉電保持模式。IDL:空閑模式控制位,若空閑模式控制位,若IDL=1,則,則進(jìn)入空閑運行模式進(jìn)入空閑運行模式。特殊功能寄存器特殊功能寄存器PCON的格式的格式2.8.1 空閑模式空閑模式1. 空閑模式進(jìn)入空閑模式進(jìn)入 將將PCON中的中的IDL位置位置1,則
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版三角高炮合同
- 專項公共區(qū)域裝飾裝修工程承包協(xié)議2024一
- 2025年國際合同第六號生皮國際貿(mào)易稅務(wù)籌劃合同3篇
- 二零二五年度餐飲企業(yè)員工培訓(xùn)與職業(yè)發(fā)展規(guī)劃合同3篇
- 2024起重機(jī)安裝與運輸安全保障服務(wù)合同3篇
- 2025年度柴油發(fā)電機(jī)組租賃與維修保養(yǎng)合同4篇
- 2024石材荒料電子商務(wù)平臺合作協(xié)議6篇
- 個性化商標(biāo)創(chuàng)作協(xié)議:2024版委托書版A版
- 2024版生鮮供應(yīng)合同范本
- 2024金融居間服務(wù)的終止與解除合同
- 上海紐約大學(xué)自主招生面試試題綜合素質(zhì)答案技巧
- 辦公家具項目實施方案、供貨方案
- 2022年物流服務(wù)師職業(yè)技能競賽理論題庫(含答案)
- 危化品安全操作規(guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術(shù)規(guī)程
- 高邊坡施工危險源辨識及分析
- 中海地產(chǎn)設(shè)計管理程序
- 簡譜視唱15942
- 《城鎮(zhèn)燃?xì)庠O(shè)施運行、維護(hù)和搶修安全技術(shù)規(guī)程》(CJJ51-2006)
- 項目付款審核流程(visio流程圖)
評論
0/150
提交評論