我的課件第二章單片機芯片的硬件結(jié)構(gòu)_第1頁
我的課件第二章單片機芯片的硬件結(jié)構(gòu)_第2頁
我的課件第二章單片機芯片的硬件結(jié)構(gòu)_第3頁
我的課件第二章單片機芯片的硬件結(jié)構(gòu)_第4頁
我的課件第二章單片機芯片的硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章內(nèi)容單片機的邏輯結(jié)構(gòu)及信號引腳單片機并行輸入/輸出口電路單片機的時鐘電路與時序單片機的內(nèi)部存儲器單片機的系統(tǒng)復(fù)位第二章80C51單片機的硬件結(jié)構(gòu)單片機的概述單片機低功耗工件模式一、單片機的概述單片機是近代計算機技術(shù)發(fā)展的一個分支——嵌入式計算機系統(tǒng)。它是將計算機的主要部件:CPU、RAM、ROM、定時器/計數(shù)器、輸入/輸出接口電路等集成在一塊大規(guī)模的集成電路中,形成芯片級的微型計算機稱為單片微型計算機(SingleChipMicrocomputer)簡稱單片機。隨著單片機控制功能的增強和控制應(yīng)用的普及,又把它稱為微控制器MCU(MicroControllerUnit)或單片微控制器SMCU(Single

MicroControllerUnit)。嵌入式微處理器(EMP)由于32位單片機的元器件數(shù)增多,故在32位單片機中只把運算器控制器單獨集成在一個芯片上,而把其余部分集成在另處的芯片上,所以有嵌入式微處理器EMP(EmbeddedMicroProcessor

)的稱呼。(一)、單片機的概念(二)、單片機的發(fā)展單片機技術(shù)發(fā)展過程可分為三個主要階段:

◆單芯片微機形成階段

1976年,Intel公司推出了MCS-48系列單片機。8位CPU、1K字節(jié)ROM、64字節(jié)RAM、27根I/O線和1個8位定時/計數(shù)器。特點是:存儲器容量較小,尋址范圍?。ú淮笥?K),無串行接口,指令系統(tǒng)功能不強。◆性能完善提高階段

1980年,Intel公司推出了MCS-51系列單片機:8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。特點是:結(jié)構(gòu)體系完善,性能已大大提高,面向控制的特點進一步突出?,F(xiàn)在,MCS-51已成為公認的單片機經(jīng)典機種。

(1)、單片機的發(fā)展概述

◆微控制器化階段

1982年,Intel推出MCS-96系列單片機。芯片內(nèi)集成:16位CPU、8K字節(jié)ROM、232字節(jié)RAM、5個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K。片上還有8路10位ADC、1路PWM輸出及高速I/O部件等。特點是:片內(nèi)面向測控系統(tǒng)外圍電路增強,使單片機可以方便靈活地用于復(fù)雜的自動測控系統(tǒng)及設(shè)備。“微控制器”的稱謂更能反應(yīng)單片機的本質(zhì)。

80C51系列單片機產(chǎn)品繁多,主流地位已經(jīng)形成,近年來推出的與80C51兼容的主要產(chǎn)品有:

﹡ATMEL公司融入Flash存儲器技術(shù)的AT89系列;

﹡Philips公司的80C51、80C552系列;

﹡華邦公司的W78C51、W77C51高速低價系列;

﹡ADI公司的ADμC8xx高精度ADC系列;

﹡LG公司的GMS90/97低壓高速系列;

﹡Maxim公司的DS89C420高速(50MIPS)系列;

﹡Cygnal公司的C8051F系列高速SOC單片機。(2)、80C51單片機系列(三)、單片機的特點及應(yīng)用1.單片機的特點體積小,重量輕電源單一,功耗低功能強,價格低運行速度快,抗干擾能力強,可靠性高可以嵌入到電子產(chǎn)品中——嵌入式應(yīng)用系統(tǒng)2.單片機應(yīng)用工業(yè)方面民用方面儀表方面電訊方面數(shù)據(jù)處理方面汽車方面3、單片機的應(yīng)用領(lǐng)域1).自動控制

單片機已在工業(yè)過程控制、機床控制、機器人控制、汽車控制以及飛行器制導系統(tǒng)等方面得到廣泛的應(yīng)用。

2).智能儀器儀表由于單片機具有超微型化的特點,并且有無可比擬的高性能價格比,從而為儀器儀表的智能化提供了可能。3).數(shù)據(jù)采集系統(tǒng)

由于單片機可提供多路A/D輸入通道,因此很適用于模擬量(溫度、壓力及流量等)輸入采樣系統(tǒng)。4).計算機外設(shè)控制器

智能化鍵盤、智能化顯示器、智能化打印機、智能化軟盤和硬盤驅(qū)動器、智能化磁帶驅(qū)動器及智能化繪圖儀等,均可用單片機作為控制器。5).家用電器電飯鍋、電子游戲機、電視機、錄音機、組合音響、錄像機、洗衣機、電冰箱以及電子玩具等,都使用單片機進行控制??傊?,單片機由于體積小、價格低、性能優(yōu)越、可靠性高,已廣泛地滲透到社會、生產(chǎn)、服務(wù)等領(lǐng)域,其應(yīng)用前景是無限光明的;所以,工程技術(shù)人員有必要很好地掌握單片機原理及系統(tǒng)設(shè)計技術(shù)。輸入設(shè)備運算器輸出設(shè)備存貯器控制器運算器+控制器輸入設(shè)備輸出設(shè)備存儲器二、單片機邏輯結(jié)構(gòu)及信號引腳時鐘電路CPUROMRAMT0T1中斷系統(tǒng)串行接口并行接口P0P1P2P3TXDRXDINT0INT1定時計數(shù)器單片機的結(jié)構(gòu)框圖中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外部中斷2個,定時/計數(shù)中斷2個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ1、80C51單片機芯片內(nèi)部邏輯結(jié)構(gòu)1、中央處理器CPU:8位,包括運算器和控制器兩部分電路,有運算和控制功能。(1)運算器:是單片機的運算部件,以ALU為核心運算,運算和操作結(jié)果的狀態(tài)由PSW保存。包括:算術(shù)邏輯單元ALU、累加器ACC、寄存器B、程序狀態(tài)字寄存器PSW及兩個暫存寄存器。(2)控制器:是單片機的指揮控制部件,它接受來自存儲器的指令,進行譯碼,并通過定時和控制電路,在規(guī)定時刻發(fā)出指令所需的控制信息和CUP外部所需的各種控制信號,保證單片機各部分能自動而協(xié)調(diào)地工作??刂破靼ǎ撼绦蛴嫈?shù)器PC、PC加1寄存器、指令寄存器IR、指令譯碼器、定時與控制電路等。2、內(nèi)部數(shù)據(jù)存儲器:包括RAM(128*8)和RAM地址寄存器等。共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。簡稱為內(nèi)部RAM。3、內(nèi)部程序存儲器:包括ROM(4K*8)和程序地址寄存器。4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。稱為內(nèi)部ROM。存儲器具有記憶功能,用來存放數(shù)據(jù)和程序。計算機中的存儲器主要有隨機存儲器(RAM)和只讀存儲器(ROM)兩種。存儲器的容量常以字節(jié)為單位表示如下:

1Byte=8bit

1024B=1KB1024KB=1MB

1024MB=1GB1024GB=1TB4、定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。5、并行I/O口:4個8位的雙向I/O口P0、P1、P2、P3。實現(xiàn)數(shù)據(jù)的并行輸入、輸出。6、串行口:一個全雙工串行口。實現(xiàn)單片機和其它數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送。7、中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2個,串行中斷1個)。8、時鐘電路:它的晶振和微調(diào)電容需要外接,可產(chǎn)生時鐘脈沖序列,常用的晶振頻率為6MHZ和12MHZ。9、位處理器:又為布爾處理器,以狀態(tài)寄存器中的進位標志位C為累加位,可進行置位、復(fù)位、取反、等于0轉(zhuǎn)換、等于1轉(zhuǎn)換且清0以及C與可尋址位之間的傳送、邏輯與、邏輯或等位操作。10、總線:上述的部件都是通過總線連接起來的??偩€結(jié)構(gòu)減少了單片機的連線和引腳,提高了集成度和可靠性。

80C51的內(nèi)部總線由數(shù)據(jù)總線、地址總線和控制總線。

2、80C51單片機信號引腳

1.主電源引腳Vss和VccVss(20腳):接地。Vcc(40腳):芯片電源+5V。VPD功能:在Vcc掉電情況下,該引腳可接上備用電源,由VPD向片內(nèi)RAM供電,確保片內(nèi)RAM中的數(shù)據(jù)不丟失。

2.時鐘電路引腳XTALl和XTAL2()

XTALl(19腳):接外部晶體的一端。在片內(nèi)它是振蕩電路反向放大器的輸入端。在采用外部時鐘時,對于HMOS單片機,該端引腳必須接地;對于CHMOS單片機,此引腳作為驅(qū)動端。

XTAL2(18腳):接外部晶體的另一端。在片內(nèi)它是一個振蕩電路反向放大電路的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時鐘電路,對于HMOS單片機,該引腳輸入外部時鐘脈沖;對于CHMOS單片機,此引腳應(yīng)懸浮。3.控制信號引腳RST、ALE/PROG、PSEN、EA/VppRST(9腳):單片機剛接上電源時,其內(nèi)部各寄存器處于隨機狀態(tài),在該腳輸入兩個機器周期(24個振蕩周期)以上的高電平將使單片機進行復(fù)位(RESET)操作,復(fù)位時PC=0000H。ALE(AddressLatchEnable)地址鎖存控制信號:

1、當訪問外部存儲器時,ALE用于把P0口輸出的低8位地址送入鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的分時傳送。

2、即使不訪問外部存儲器,ALE端仍以振蕩頻率的1/6周期性地輸出正脈沖信號,這可作為外部時鐘或外部定時信號。

PROG:對片內(nèi)EPROM編程寫入時的編程脈沖輸入端。PSEN(ProgramStoreEnable)外部程序存儲器讀選通信號:80C51讀外ROM時,每個機器周期內(nèi)PSEN二次有效輸出。它可作為外ROM芯片輸出允許OE的選通信號。在讀內(nèi)ROM或讀外RAM時,PSEN無效。EA(EnableAddress)內(nèi)部、外部程序存儲器訪問控制1、當EA端輸入高電平時,CPU從片內(nèi)ROM開始執(zhí)行程序,當PC值超過4K(0FFFH)時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。2、當EA端輸入低電平時,則只訪問外ROM,不管芯片內(nèi)有無內(nèi)ROM。但對于8031芯片,片內(nèi)無ROM,所以EA必須接低電平(接地)。Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳用于施加編程電源。P3.0:RXD(串行口數(shù)據(jù)接收);P3.1:TXD(串行口數(shù)據(jù)發(fā)送);P3.2:外部中斷0申請;P3.3:外部中斷1申請;P3.4:T0(定時器/計數(shù)器0計數(shù)輸入);P3.5:T1(定時器/計數(shù)器1計數(shù)輸入);P3.6:(外部RAM“寫”選通控制輸出);P3.7:(外部RAM“讀”選通控制輸出)。一個引腳有多種功能,在使用時不會引起混亂產(chǎn)生錯誤,因為第一功能與第二功能信號是不同工作方式下的信號,故不會發(fā)生使用上的矛盾。信號引腳第二功能使用:

1)P3口的第二功能:當CPU不對P3口進行字節(jié)或位尋址時,內(nèi)部硬件自動將口鎖存器的Q端置1。這時,P3口作為第二功能使用。1

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

二.

單片機的存

器8031875180C5189C51片內(nèi)RAM片內(nèi)ROM256B(字節(jié))4K64K64K0000HFFFFH(64K)內(nèi)部外部(1)數(shù)據(jù)存儲器數(shù)據(jù)存儲器00HFFH7FH80H(高128B)(低128B)RAM專用

寄存器00H07H08H0FH10H17H18H1FH0區(qū)R0R7R0R7R0R7R0R71區(qū)2區(qū)3區(qū)工作寄存器區(qū)位尋址區(qū)(00H-7FH)20H2FH7F78070030H7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū)(用戶RAM區(qū))內(nèi)部RAM存儲器

11第3區(qū)18H~1FH

01第1區(qū)08H~0FHRS1RS0通用寄存器區(qū)片內(nèi)RAM地址

00第0區(qū)00H~07H10第2區(qū)10H~17H工作寄存器區(qū)選擇位RS0、RS1PSW位地址CY

ACF0RS1RS0OV/P

80C51單片機內(nèi)部共有256個數(shù)據(jù)存儲器單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。其中低128單元是單片機中供用戶使用的數(shù)據(jù)存儲器單元,即我們稱為內(nèi)部RAM的存儲器,按用途可分為3個區(qū)域:(1)寄存器區(qū):地址00H~1FH的前32個單元稱為寄存器區(qū)。用途:①作通用寄存器R0~R7,每組8個共4組。

它們的功能與使用不作預(yù)先規(guī)定,稱為通用寄存器或工作寄存器。4組通用寄存器占據(jù)內(nèi)部RAM的00H~1FH單元地址。(一)內(nèi)部數(shù)據(jù)存儲器低128單元區(qū)使用時應(yīng)注意:32個單元的寄存器區(qū)分為四組,使用時只能選其中一組寄存器。寄存器的選組由程序狀態(tài)字PSW的RS1和RS0位定。

RS1RS0選寄存器組

000組

011組

102組

113組初始化時或復(fù)位時,自動選中0組。一旦選中一組,其它三組只能作為數(shù)據(jù)存儲器使用,而不能作為寄存器使用。(2)20H~2FH為位尋址區(qū)共16個單元,每單元有八個位,每位有一個位地址,共128位,位地址范圍為00H~7FH,該區(qū)既可位尋址,又可字節(jié)尋址。如MOV20H,C(這里C是Cy進位標志位),該指令是將Cy內(nèi)容送20H位,如果Cy=1,位20H值為“1”。除選中的寄存器以外的存儲器均可以作為通用RAM區(qū)。MSB——MostSignificantBit(最高有效位)

LSB——LeastSignificantBit(最低有效位)單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB

位地址

LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位尋址區(qū)位地址表(3)用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩余80個單元,是供用戶使用的一般RAM區(qū),其單元地址為30H-7FH。此區(qū)只能以存儲單元的形式來使用,一般把堆棧開辟在此區(qū)中。注:對80C51單片機只有00H-7FH單元128字節(jié)的RAM區(qū)。(二)內(nèi)部數(shù)據(jù)存儲器高128單元區(qū)☆有21個專用寄存器SFR(SpecialFunctionRegister)?!?/p>

11個可以進行位尋址?!钐貏e提示:對SFR只能使用直接尋址方式,書寫時可使用寄存器符號,也可用寄存器單元地址。⑴累加器A(Accumulator)是最常用的累加器;功能:1、用于存放操作數(shù),是ALU數(shù)據(jù)的一個來源。大多數(shù)單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個操作數(shù)取自累加器;2、是ALU運算結(jié)果的暫存單元,用于存放運算中間結(jié)果;3、是數(shù)據(jù)傳送的中轉(zhuǎn)站,單片機中的大部分數(shù)據(jù)傳送都通過累加器進行。4、在變址方式中把累加器作為變址寄存器使用。1、專用寄存器簡介⑵B寄存器1、是8位的寄存器,主要用于乘法、除法指令,用B寄存器作為其中的一個操作數(shù),即作為一般數(shù)據(jù)寄存器使用;2、進行乘法運算時,B、A分別存放乘數(shù)和被乘數(shù),運算的結(jié)果仍舊存放在A、B中,B存放結(jié)果的高八位,A存放結(jié)果的低八位;3、進行除法運算時,A中存放被除數(shù),B中存放除數(shù),運算后的結(jié)果的商存放在A中,余數(shù)存放在B中。⑶程序狀態(tài)字PSW(ProgramStatusWord)程序狀態(tài)字PSW包含了程序的運行狀態(tài)信息。PSW寄存器各位功能、標志符號、位地址功能標志位地址進位標志CYPSW.7輔助進位標志ACPSW.6溢出標志OVPSW.2奇偶標志PPSW.0用戶標志F0PSW.5用戶標志F1PSW.1寄存器區(qū)選擇MsbRS1PSW.4寄存器區(qū)選擇LsbRS0PSW.3PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CYACF0RS1RS0OV

F1P位地址位標志CY(PSW.7)(Carry):進位/借位標志。在進行加法運算時,若最高位有進位,CY=1,否則CY=0。在進行減法運算時,若被減數(shù)小于減數(shù),CY=1,否則CY=0。在布爾處理機中,CY被用作位累加器使用。AC(PSW.6)(AuxiliaryCarry):輔助進位/借位標志。當?shù)桶胱止?jié)向高半字節(jié)有進/借位時,AC=1,否則AC=0。該標志主要用于十進制調(diào)整。F0(PSW.5)(Flag0):用戶標志位,由用戶定義,可由軟件置位或清除,以對程序的運行起指導作用。例如,用它來控制程序的轉(zhuǎn)向。F0有三種表示方法:1)位地址:D5H,2)位編號:PSW.5,3)位定義名:F0。RS1、RS0(PSW.4,PSW.3):寄存器組選擇控制位當(RS1,RS0)=00時,選擇寄存器組0區(qū),R0對應(yīng)地址為00H,…,R7對應(yīng)地址為07H;當(RS1,RS0)=01時,選擇1組,R0~R7對應(yīng)08H~0FH;當(RS1,RS0)=10時,選擇2組,R0~R7對應(yīng)10H~17H;當(RS1,RS0)=11時,選擇3組,R0~R7對應(yīng)18H~1FH。OV(PSW.2)(Overflow):溢出標志,由硬件置位或清除。執(zhí)行帶符號加、減法指令時,如果運算結(jié)果超出累加器所能表示的范圍(-128至+127)時,則發(fā)生溢出,此時OV=1,否則OV=0,結(jié)果只需從A取。具體判斷方法:當兩數(shù)相加或相減時,如果位7(D7)和位(D6)同時發(fā)生或不發(fā)生進位(或借位),或者則OV=0,否則OV=1,說明運算結(jié)果產(chǎn)生溢出(即大于+127或小于-128)。當進行乘法運算時,如果乘積超出累加器A所能表示的范圍(0-255),則發(fā)生溢出,乘積的高字節(jié)必須放置在寄存器B中,此時OV=1,否則OV=0。當執(zhí)行除法指令時,若除數(shù)為0,OV=1,否則OV=0。P(PSW.0)(Parity):奇偶標志,若A中值為1的個數(shù)為奇數(shù),P=1,否則P=0。(4)數(shù)據(jù)指針DPTR(DataPointer)

指明訪問的數(shù)據(jù)存儲器的單元地址,可尋址范圍為64KB,數(shù)據(jù)指針為16位,由DPH(數(shù)據(jù)指針高位字節(jié))、DPL(數(shù)據(jù)指針低位字節(jié))組成。在某些情況下,DPH、DPL也可單獨使用。此外,在變址尋址方式中,用數(shù)據(jù)指針作基址寄存器,用于對程序存儲器的訪問。2、專用寄存器的單元尋址80C51中專用寄存器的名稱、符號及地址見表2.4(P28)。21個專用寄存器的字節(jié)尋址問題作如下說明:1)、21個可尋址的專用寄存器不連續(xù)地分散在內(nèi)部高128單元中,盡管還剩余許多空閑單元,但用戶并不能使用,如果訪問了這些沒有定義的單元,讀出為不定數(shù),而寫入的數(shù)被舍棄。2)、對專用寄存器只能使用直接尋址方式,在指令中即可使用寄存器符號表示,也可使用寄存器地址表示。如:指令MOVA,P0和指令MOVA,80H是等同指令,因為80H就是P0口的地址。3)、在P3-P0口中,作為專用寄存器的是它們的鎖存器,由各位口線的鎖存組成。3、專用寄存器的位尋址在21個專用寄存器中,有11個寄存器是可以位尋址的,即表2.4中帶“*”的寄存器。80C51專用寄存器中可尋址位共有83個,其中許多還有其專用名稱,尋址時即可使用位地址,也可使用位名稱。各寄存器的位地址與位名稱列于表2.4。(4)、程序計數(shù)器PC(ProgramCounter)程序計數(shù)器是16位地址寄存器,系統(tǒng)開機初始化時,PC=0000H,CPU便從這一固定的入口地址開始執(zhí)行程序,可尋址范圍為64KB。用于存放和指示下一條要執(zhí)行指令的起始地址,因此也稱為地址指針。

PC實際上是一個地址指示器,改變PC中的內(nèi)容就可以改變指令執(zhí)行的次序,即改變程序執(zhí)行的路線。所以,PC是維持單片機有秩序地執(zhí)行程序的關(guān)鍵性寄存器。⑶執(zhí)行調(diào)用子程序或發(fā)生中斷時,CPU會自動將當前

PC值壓入堆棧,將子程序入口地址或中斷入口地址裝入PC;子程序返回或中斷返回時,恢復(fù)原有被壓入堆棧的PC值,繼續(xù)執(zhí)行原順序程序指令。五、程序計數(shù)器PC※

PC不屬于特殊功能寄存器,不可訪問,在物理結(jié)構(gòu)上是獨立的?!鵓C的基本工作方式有:⑴自動加1。CPU從ROM中每讀一個字節(jié),自動執(zhí)行

PC+1→PC;⑵執(zhí)行轉(zhuǎn)移指令時,PC會根據(jù)該指令要求修改下一次讀ROM新的地址;三、堆棧操作1、堆棧是一種數(shù)據(jù)結(jié)構(gòu),它是在內(nèi)部的用戶RAM中開辟的。2、堆棧:就是只允許在其一端進行數(shù)據(jù)插入和數(shù)據(jù)刪除操作的線性表。3、對堆棧的操作包括壓入(PUSH)和彈出(POP)兩種方式,它總是指向棧頂。數(shù)據(jù)寫入堆棧稱為插入運算,通常叫入棧。數(shù)據(jù)從堆棧中讀出稱為刪除運算,通常叫出棧。4、堆棧操作遵循“后進先出”的原則:入棧操作時,SP先加1,數(shù)據(jù)再壓入SP指向的單元。

PUSHdirect;sp←sp+1,(sp)←(direct)

出棧操作時,先將SP指向的單元的數(shù)據(jù)彈出,然后,SP再減1,這時SP指向的單元是新的棧頂。POPdirect;(direct)←(sp),sp←sp-1

可見,80C51單片機的堆棧區(qū)是向地址增大的方向生成的。如:PUSHACC;A中的數(shù)據(jù)進棧

PUSHPSW;PSW中數(shù)據(jù)進棧

…;執(zhí)行服務(wù)程序

POPPSW;恢復(fù)PSW內(nèi)容

POPACC;恢復(fù)A中內(nèi)容該程序執(zhí)行后,A和PSW寄存器中的內(nèi)容可以得到正確的恢復(fù)。5、堆棧的功用:主要是為子程序調(diào)用和中斷操作而設(shè)置的。具體功能有兩個:保護斷點和保護現(xiàn)場。因為在計算機中無論是執(zhí)行子程序調(diào)用操作還是執(zhí)行中斷操作,最終都要返回主程序。6、堆棧指針:SP就是堆棧棧頂?shù)拇鎯卧刂?。當系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,但堆棧最好在30H-7FH單元(用戶RAM區(qū))中開辟,以免占用經(jīng)常使用的寶貴的寄存器區(qū)和位尋址區(qū),所以要注意把SP值初始化為30H。由于SP可初始化為不同值,因此堆棧位置是浮動的。7、堆棧類型:有兩種,向上生長型和向下生長型。向上生長型:棧底在低地址單元。隨著數(shù)據(jù)進棧,地址遞增,SP的內(nèi)容越來越大,指針上移;向下生長型:棧底設(shè)在高地址單元。隨著數(shù)據(jù)進棧,地址遞減,SP內(nèi)容越來越小,指針下移。8、堆棧使用方式:一種是自然方式,即在調(diào)用子程序或中斷時,返回地址(斷點)自動進棧。程序返回時,斷點再自動彈回PC,無需用戶干預(yù)。另一種是指令方式,使用專用的堆棧操作指令,進行進出棧操作。其進棧指令為PUSH,出棧指令為POP。如現(xiàn)場保護就是指令方式的進棧操作,而現(xiàn)場恢復(fù)則是指令方式的出棧操作。(四)程序存儲器程序存儲器內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,

在這三個單元存放一條

無條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0中斷地址區(qū)定時器/計數(shù)器0中斷地址區(qū)外部中斷1中斷地址區(qū)定時器/計數(shù)器1中斷地址區(qū)串行口中斷地址區(qū)8位...0FFFH0FFEHEA=1

EA=0程序存儲器資源分布中斷入口地址程序存儲器用于存放編好的程序和表格常數(shù)。80C51片內(nèi)有4KBROM,片外16位地址線最多可擴展64KBROM,兩者是統(tǒng)一編址的。如果端保持高電平,80C51的程序計數(shù)器PC在0000H~0FFFH范圍內(nèi)(即前4KB地址)是執(zhí)行片內(nèi)ROM的程序。當尋址范圍在1000H~FFFFH時,則從片外存儲器取指令。當端保持低電平時,80C51的所有取指令操作均在片外程序存儲器中進行,這時片外存儲器可以從0000H開始編址。(3)單片機存儲器結(jié)構(gòu)特點一是把數(shù)據(jù)存儲器和程序存儲器截然分開,二是存儲器有內(nèi)外之分。片內(nèi)存儲器的特點是使用方便,對于簡單的應(yīng)用系統(tǒng),有時只使用片內(nèi)存儲器就夠了,但容量受限制,所以在芯片之外另行擴展存儲器,為了與芯片內(nèi)固有的存儲器區(qū)別,通常把擴展的存儲器稱為外部存儲器。ALE(AddressLatchEnable)信號用于外部存儲器的地址鎖存控制。PSEN信號用于外部程序存儲器的讀選通。EA信號用于內(nèi)外程序存儲器的訪問控制。2.4、80C51單片機的并行I/O口P0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.71

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180C51特點:

P0:訪問片外擴展存儲器時,

復(fù)用為低8位地址線和數(shù)據(jù)線

P2:高8位地址線。P1:雙向I/O端口

P3:第二功能(一)、P0口的邏輯結(jié)構(gòu)

P0口的字節(jié)地址為80H,位地址為80H-87H??诘母魑豢诰€具有完全相同又相互獨立的電路,P0口大多數(shù)是作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用。1.地址/數(shù)據(jù)分時復(fù)用功能

P0口作為地址/數(shù)據(jù)分時復(fù)用口時,可分為兩種情況:一種是從P0口輸出地址或數(shù)據(jù),另一種是從P0口輸入數(shù)據(jù)。

1、在訪問片外存儲器需從P0口輸出地址或數(shù)據(jù)信號時,控制信號線應(yīng)為高電平1,使轉(zhuǎn)換開關(guān)MUX把反相器的輸出端與T2接通,同時把與門打開。

1)當?shù)刂坊驍?shù)據(jù)信號為“1”時,經(jīng)反相器反相使T2截止,而經(jīng)“與”門使T1導通,P0.x引腳上出現(xiàn)相應(yīng)的高電平“1”;

2)當?shù)刂坊驍?shù)據(jù)信號為“0”時,經(jīng)反相器使T2導通而T1截止,引腳上出現(xiàn)相應(yīng)的低電平“0”。這樣就將地址/數(shù)據(jù)的信號輸出。

2、當從P0口輸入數(shù)據(jù)時,執(zhí)行一條取指操作或輸入數(shù)據(jù)的指令,讀引腳讀取端口引腳上的外部信息,并打開三態(tài)門,引腳上的數(shù)據(jù)經(jīng)緩沖器送至內(nèi)部總線。P0口作為地址/數(shù)據(jù)總線使用時是一個真正的雙向口。2、P0用作通用I/O口

當系統(tǒng)不進行片外ROM擴展和片外RAM擴展時,P0用作通用I/O口。在這種情況下,單片機硬件自動使控制信號為“0”,MUX開關(guān)接向鎖存器的反相輸出端。

CPU向端口輸出數(shù)據(jù)時,因與門的輸出為“0”,使T1截止。當寫脈沖加在鎖存器時鐘端CL上時,CPU執(zhí)行端口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器”信號的作用下由D端進入鎖存器,經(jīng)鎖存器的反向端送至場效應(yīng)管T2,再經(jīng)T2反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。如:“MOVP0,A”或“

MOVP0.1,C”.

當要從P0口輸入數(shù)據(jù)時,必須先向該端口鎖存器寫入“Q=1”,使T2截止;CPU執(zhí)行端口執(zhí)行輸入指令后,“讀引腳”信號經(jīng)輸入緩沖器進入內(nèi)部數(shù)據(jù)總線。(二)、P1口邏輯結(jié)構(gòu)

P1口的字節(jié)地址為90H,位地址為90H-97H,只能作通用I/O口使用。

P1口由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成。它在結(jié)構(gòu)上與P0口的區(qū)別在于輸出驅(qū)動部分,其輸出部分由場效應(yīng)管T與內(nèi)部上拉電阻組成。

從功能上來看,80C51的P1口只有一種功能,即通用數(shù)據(jù)輸入輸出I/O接口使用,每一位口線能獨立地用作輸入或輸出線。

當作為數(shù)據(jù)輸出線時,若將“1”寫入口鎖存器,Q端將使T截止,輸出線由內(nèi)部上拉電阻拉成高電平,輸出為“1”。若將“0”寫入口鎖存器,Q端使T導通,經(jīng)T反相,輸出“0”。

當作為數(shù)據(jù)輸入線時,必須先將“1”寫入鎖存器,使T截止,該口線由內(nèi)部上拉電阻拉成高電平,作高阻輸入。若輸入的是1,則引腳維持高電平;若輸入的是0,則引腳被下拉為低電平。引腳狀態(tài)送到輸入緩沖器,當接到來自CPU的讀命令后,三態(tài)門打開,引腳狀態(tài)傳送到內(nèi)部數(shù)據(jù)總線上。

(三)、

P2口邏輯結(jié)構(gòu)1、P2用作通用I/O口,其字節(jié)地址為0A0H,位地址為0A0H-0A7H。

當不在單片機芯片外部擴展ROM,只擴展256B的片外RAM時,僅用到了地址線的低8位,P2口仍可以作為通用I/O口使用。作為通用I/O口使用:執(zhí)行輸出指令時,內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖存器”信號的作用下由D端進入鎖存器,經(jīng)反相器后送至場效應(yīng)管T,再經(jīng)T反相,在P2.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。

P2口用作輸入時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來決定。但須先使Q=1,其功能和使用方法與P0、P1口相同。

2、P2口用作地址總線當需要在單片機芯片外部擴展ROM或擴展的RAM容量超過256B字節(jié)時,單片機內(nèi)硬件自動使控制C=1,MUX開關(guān)接向地址線,地址信號經(jīng)反相器和場效應(yīng)管二次反相后從引腳輸出,這時P2.X引腳的狀態(tài)正好與地址線的信息相同,P2口輸出地址總線高8位(A8-A15),供系統(tǒng)并行擴展用。

對于80C51單片機而言,P2口能作為I/O口或地址總線用。P2口在作為通用I/O口時,屬于準雙向口。這時多路轉(zhuǎn)接開關(guān)倒向鎖存器Q端.(四)、P3口邏輯結(jié)構(gòu)

P3口的字節(jié)地址為0B0H,位地址為0B0H-0B7H。1、P3用作第一功能(通用I/O口)

對P3口進行字節(jié)或位尋址時,單片機內(nèi)部的硬件自動將第二輸出功能線的W置1。這時,對應(yīng)的口線為通用I/O口方式。輸出時,鎖存器的狀態(tài)為低電平,“與非門”打開,T通路,P3口即為數(shù)據(jù)輸出口。

輸入時,要先向口鎖存器寫入1,使引腳處于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在“讀引腳”信號的作用下,引腳上的外部信號通過三態(tài)緩沖器送入內(nèi)部總線。

P3口作為通用I/O口時,屬于準雙向口。

用作第二功能:當P3口的某一位作為第二功能輸出使用時,CPU將該位的鎖存器置1,使“與非門”和輸出狀態(tài)只受“第二功能輸出”端控制。第二功能輸出信號經(jīng)“與非門”和場效應(yīng)管二次反相輸出到該位引腳上。當P3口的某一位作為第二功能輸入使用時,該位的“第二功能輸出”端和鎖存器自行置1,場效應(yīng)管截止,該位引腳上信號經(jīng)緩沖器送入“第二功能輸入”端。P3.0:RXD(串行口輸入);P3.1:TXD(串行口輸出);P3.2:外部中斷0輸入;P3.3:外部中斷1輸入;P3.4:T0(定時器0的外部輸入);P3.5:T1(定時器1的外部輸出);P3.6:(片外數(shù)據(jù)存儲器“寫”選通控制輸出);P3.7:(片外數(shù)據(jù)存儲器“讀”選通控制輸出)。2、P3用作第二功能使用當CPU不對P3口進行字節(jié)或位尋址時,內(nèi)部硬件自動將口鎖存器的Q端置1。這時,P3口作為第二功能使用。80C51口電路小結(jié):1、這四個口都是并行I/O口,都可用于數(shù)據(jù)的輸入/輸出傳送,但P0口和P2口除了可進行數(shù)據(jù)的輸入/輸出外,通常是用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在口電路邏輯中有一個多路轉(zhuǎn)接開關(guān)MUX,以便進行兩種用途的轉(zhuǎn)換。而P1和P3口沒有構(gòu)建數(shù)據(jù)和地址總線的功能,因此在電路中沒有MUX。2、在4個口中只有P0一個口是真正的雙向口,而其余的3個口都準雙向口。3、P3口的口線具有第二功能,為系統(tǒng)提供一些控制信號。四、時鐘電路與時序

(一)、時鐘電路:單片機時鐘電路由振蕩電路和分頻電路組成。

振蕩電路由反相器以及并聯(lián)外接的石英晶體和電容構(gòu)成,用于產(chǎn)生振蕩脈沖;

分頻電路則用于把振蕩脈沖分頻,以得到單片機工作所需要的時鐘信號。1XTAL1XTAL2C1C2晶振80c51至內(nèi)部時鐘電路內(nèi)部振蕩方式:在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)如圖1所示。XTAL1XTAL2GND80C51C01C02圖1內(nèi)部振蕩方式單片機的時鐘信號用來提供單片機內(nèi)各種微操作時間基準,80C51單片機的時鐘信號通常有兩種電路形式:內(nèi)部振蕩方式和外部振蕩方式?!镫娙萜鰿01、C02起穩(wěn)定振蕩頻率、快速起振的作用。電容值一般為5~30PF。由于單片機內(nèi)部有一個高增益運算放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。8XX51

外部振蕩方式是把已有的時鐘信號引入單片機。這種方式適宜用于使單片機的時鐘與外部信號保持一致。外部振蕩方式如圖2所示。

對HMOS的單片機(8031、8031AH等)外部時鐘信號由XTAL2引入,對于CHMOS的單片機(8XCXX),外部時鐘由XTAL1引入。外部時鐘XTAL1XTAL2GND80c51懸空外部時鐘XTAL1XTAL2GND懸空CHMOSHMOS圖2外部振蕩方式8031

CHMOS(互補金屬氧化物HMOS)是CMOS和HMOS(高密度溝道MOS工藝)的結(jié)合,除了保持HMOS高速度和高密度之外,還有CMOS低功耗的特點。兩類器件的功能是完全兼容的,區(qū)別在CHMOS器件具有低功耗的特點。它所消耗的電流比HMOS器件少很多,原因是其采用了兩種降低功耗的方式:空閑方式和掉電方式。

CHMOS器件在掉電方式(CPU停止工作,片內(nèi)RAM的數(shù)據(jù)繼續(xù)保持)下時,消耗的電流可低于10μA。采用CHMOS的器件在編號中用一個C來加以區(qū)別,如:80C51,80C31,89C51等。CMOS

(ComplementaryMetalOxideSemiconductor)指互補金屬氧化物(共同構(gòu)成的互補型MOS集成電路制造工藝。

CMOS指保存計算機基本啟動信息(如日期、時間啟動設(shè)置等)的芯片。

節(jié)拍與狀態(tài):把振蕩脈沖的周期定義為節(jié)拍(用P表示)。振蕩頻率經(jīng)單片機內(nèi)的二分頻器分頻后就是單片機的時鐘信號,把時鐘信號的周期定義為狀態(tài)(用S表示)。因此,一個狀態(tài)包含2個節(jié)拍(前半周期對應(yīng)的節(jié)拍P1和后半周期對應(yīng)的節(jié)拍P2)。機器周期(MC):1個機器周期由6個狀態(tài)周期(S1-S6)及12個振蕩周期(S1P1、S1P2、…、S6P1、S6P2)組成。是計算機執(zhí)行一種基本操作的時間單位。因此機器周期就是振蕩脈沖的十二分頻。指令周期:是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱之為指令周期。指令周期以機器周期的數(shù)目來表示。根據(jù)指令的不同,可包含有1,2或4個機器周期。(二)、時序定時單位時序之間關(guān)系:1、振蕩脈沖周期(拍節(jié):P):P=T

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論