80C51单片机内部结构和工作原理课件_第1页
80C51单片机内部结构和工作原理课件_第2页
80C51单片机内部结构和工作原理课件_第3页
80C51单片机内部结构和工作原理课件_第4页
80C51单片机内部结构和工作原理课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

80C51單片機內部結構和工作原理

§2-1內部結構和引腳功能2.1.1內部結構

8位的CPU,片內有振盪器和時鐘電路,工作頻率為

1~12MHz(Atmel89Cxx為0~24MHz)片內有128/256位元組RAM片內有0K/4K/8K位元組程式記憶體ROM可尋址片外64K位元組數據記憶體RAM可尋址片外64K位元組程式記憶體ROM片內21/26個特殊功能寄存器(SFR)4個8位的並行I/O口(PIO)1個全雙工串行口(SIO/UART)2/3個16位定時器/計數器(TIMER/COUNTER)可處理5/6個中斷源,兩級中斷優先順序內置1個布爾處理器和1個布爾累加器(Cy)MCS-51指令集含111條指令MCS-51單片機基本特性MCS-51系列單片機配置一覽表系列片內記憶體(位元組)定時器計數器並行I/O串行I/O中斷源片內ROM片內RAM無有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K位元組)875187C51(4K位元組)128位元組2x164x8位15IntelMCS-52子系列803280C32805280C52(8K位元組)875287C52(8K位元組)256位元組3x164x8位16注意:今後將會經常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20條引腳DIP封裝)1282151589C51(4K)/89C52(8K)(40條引腳DIP封裝)128/2562/33215/6單片機的引腳定義從一片積體電路的角度去認識單片機2.1.2

引腳功能

40個引腳雙排直插DIP封裝,大致可分為4類:電源、時鐘、控制和I/O引腳。單片機的引腳(晶振端)⒈電源:⑴VCC-晶片電源,接+5V/3.3V/2.7V;

⑵VSS-接地端;⒉時鐘:XTAL1、XTAL2-晶體振盪電路反相輸入端和輸出端。

15~45pfx21~12MHz(MCS-51)

0~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL1端接入外部時鐘,此時應將XTAL2接地:XTAL2XTAL1外部時鐘通常外接一個晶振兩個電容⒊控制線:控制線共有4根,

⑴ALE/PROG:地址鎖存允許/片內EPROM編程脈衝

①ALE功能:用來鎖存P0口送出的低8位地址

②PROG功能:片內有EPROM的晶片,在EPROM編程期間,此引腳輸入編程脈衝。

⑵PSEN:外ROM讀選通信號。

⑶RST/VPD:複位/備用電源。

①RST(Reset)功能:複位信號輸入端。

②VPD功能:在Vcc掉電情況下,接備用電源。單片機鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM單片機的引腳(PSEN端)

PSEN:尋址外部程式記憶體時選通外部EPROM的

讀控制端(OE)低有效。EPROM⑷EA/Vpp:內外ROM選擇/片內EPROM編程電源。

①EA功能:內外ROM選擇端。

80C51單片機ROM尋址範圍為64KB,其中4KB在片內,60KB在片外(80C31晶片無內ROM,全部在片外)。

當EA保持高電平時,先訪問內ROM,但當PC(程式計數器)值超過4KB(0FFFH)時,將自動轉向執行外ROM中的程式。

當EA保持低電平時,則只訪問外ROM,不管晶片內有否內ROM。對80C31晶片,片內無ROM,因此EA必須接地。

②Vpp功能:片內有EPROM的晶片,在EPROM編程期間,施加編程電源Vpp。⒋

I/O線

80C51共有4個8位並行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用於特殊信號輸入輸出和控制信號(屬控制匯流排)。P3.0——RXD:串行口輸入端;P3.1——TXD:串行口輸出端;P3.2——INT0:外部中斷0請求輸入端;P3.3——INT1:外部中斷1請求輸入端;P3.4——T0:定時/計數器0外部信號輸入端;P3.5——T1:定時/計數器1外部信號輸入端;P3.6——WR:外RAM寫選通信號輸出端;P3.7——RD:外RAM讀選通信號輸出端。§2-2存儲空間配置和功能80C51的記憶體配置方式與其他常用的微機系統不同,屬哈佛結構(注意:什麼是哈佛結構?),它把程式記憶體和數據記憶體分開,各有自己的尋址系統、控制信號和功能。程式記憶體用於存放程式和表格常數;數據記憶體用於存放程式運行數據和結果。

80C51的記憶體組織結構可以分為三個不同的存儲空間,分別是:⑴64KB程式記憶體(ROM),包括片內ROM和片外ROM;⑶256B內部數據記憶體(內RAM)

(包括特殊功能寄存器)

。⑵64KB外部數據記憶體(外RAM);80C51存儲空間配置圖

2.2.1程式記憶體(ROM)

地址範圍:0000H~FFFFH,共64KB。其中:

低段4KB:0000H~0FFFH

80C51和87C51在片內,80C31在片外。

高段60KB:1000H~FFFFH。在片外。

讀寫ROM用MOVC指令,控制信號是PSEN和EA。

讀ROM是以程式計數器PC作為16位地址指針,依次讀相應地址ROM中的指令和數據,每讀一個位元組,PC+1→PC,這是CPU自動形成的。

但是有些指令有修改PC的功能,例如轉移類指令和MOVC指令,CPU將按修改後PC的16位地址讀ROM。讀外ROM的過程:

CPU從PC(程式計數器)中取出當前ROM的16位地址,分別由P0口(低8位)和P2口(高8位)同時輸出,ALE信號有效時由地址鎖存器鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時加到外ROM16位地址輸入端,當PSEN信號有效時,外ROM將相應地址存儲單元中的數據送至數據匯流排(P0口),CPU讀入後存入指定單元。

需要指出的是:64KB中有一小段範圍是80C51系統專用單元,0003H~0023H是5個中斷源中斷服務程式入口地址(詳見第5章),用戶不能安排其他內容。

80C51複位後,PC=0000H,CPU從地址為0000H的ROM單元中讀取指令和數據。從0000H到0003H只有3B,根本不可能安排一個完整的系統程式,而80C51又是依次讀ROM位元組的。因此,這3B只能用來安排一條跳轉指令,跳轉到其他合適的地址範圍去執行真正的主程序。

2.2.2外部數據記憶體(外RAM)

地址範圍:0000H~FFFFH 共64KB。

讀寫外RAM用MOVX指令,控制信號是P3口中的RD和WR。

一般情況下,只有在內RAM不能滿足應用要求時,才外接RAM。

外RAM16位地址分別由P0口(低8位)和P2口(高8位)同時輸出,ALE信號有效時由地址鎖存器鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時加到外RAM16位地址輸入端,當RD信號有效時,外RAM將相應地址存儲單元中的數據送至數據匯流排(P0口),CPU讀入後存入指定單元。讀外RAM的過程:

寫外RAM的過程:

寫外RAM的過程與讀外RAM的過程相同。只是控制信號不同,信號換成WR信號。當WR信號有效時,外RAM將數據匯流排(P0口分時傳送)上的數據寫入相應地址存儲單元中。2.2.3內部數據記憶體(內RAM)

從廣義上講,80C51內RAM(128B)和特殊功能寄存器(128B)均屬於片內RAM空間,讀寫指令均用MOV指令。但為加以區別,內RAM通常指00H~7FH的低128B空間。

80C51內RAM又可分成三個物理空間:工作寄存器區、位尋址區和數據緩衝區。

地址區域功能名稱00H~1FH00H~07H工作寄存器0區08H~0FH工作寄存器1區10H~17H工作寄存器2區18H~1FH工作寄存器3區20H~2FH

位尋址區30H~7FH數據緩衝區作用:⒈工作寄存器區

工作寄存器區分為4個區:0區、1區、2區、3區。每區有8個寄存器:R0~R7,寄存器名稱相同。但是,當前工作的寄存器區只能有一個,由PSW中的D4、D3位決定。

有專用於工作寄存器操作的指令,讀寫速度比一般內RAM要快,指令位元組比一般直接尋址指令要短,還具有間址功能,能給編程和應用帶來方便。⒉

位尋址區

⑴地址:

從20H~2FH共16位元組(Byte,縮寫為英文大寫字母B)。每B有8位(bit,縮寫為小寫b),共128位,每一位均有一個位地址,可位尋址、位操作。即按位地址對該位進行置1、清0、求反或判轉。

⑵用途:

存放各種標誌位資訊和位數據。

⑶注意事項:

位地址與位元組地址編址相同,容易混淆。

區分方法:位操作指令中的地址是位地址;

位元組操作指令中的地址是位元組地址。

位尋址區的位地址映象表

位元組地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H⒊

數據緩衝區

內RAM中30H~7FH為數據緩衝區,用於存放各種數據和中間結果,起到數據緩衝的作用。2.2.4特殊功能寄存器(SFR)

特殊功能寄存器地址映象表(一)

特殊功能寄存器地址映象表(二)

特殊功能寄存器地址映象表(三)

注:帶括弧的位元組地址表示每位有位地址可位操作。⑴累加器Acc⑵寄存器BMOVA,R0MOVA,@R1MOVA,30HADDA,32HADDA,#32HMOVA,BADDA,B⑶程式狀態字寄存器PSW

PSW也稱為標誌寄存器,存放各有關標誌。其結構和定義如下:①Cy—進位標誌。 用於表示Acc.7有否向更高位進位。②AC—輔助進位標誌。用於表示Acc.3有否向Acc.4進位。③RS1、RS0—工作寄存器區選擇控制位。

RS1、RS0=00——0區(00H~07H)

RS1、RS0=01——1區(08H~0FH)

RS1、RS0=10——2區(10H~17H)

RS1、RS0=11——3區(18H~1FH)④OV—溢出標誌。表示Acc在有符號數算術運算中的溢出。⑤P—奇偶標誌。 表示Acc中“1”的個數的奇偶性。⑥F0、F1—用戶標誌。⑷數據指針DPTR⑸堆疊指針SP

專用於指出堆疊頂部數據的地址。堆疊中數據存取按先進後出、後進先出的原則。堆疊操作分自動方式和指令方式。自動方式是在調用副程式或發生中斷時CPU自動將斷口地址存人或者取出;指令方式是使用進出棧指令進行操作。

16位,由兩個8位寄存器DPH、DPL組成。主要用於存放一個16位地址,作為訪問外部記憶體(外RAM和ROM)的地址指針。

⑶執行調用副程式或發生中斷時,CPU會自動將當前

PC值壓入堆疊,將副程式入口地址或中斷入口地址裝入PC;副程式返回或中斷返回時,恢復原有被壓入堆疊的PC值,繼續執行原順序程式指令。2.2.5程式計數器PC※

PC不屬於特殊功能寄存器,不可訪問,在物理結構上是獨立的。※

PC是一個16位的地址寄存器,用於存放將要從ROM中讀出的下一位元組指令碼的地址,因此也稱為地址指針。※

PC的基本工作方式有:⑴自動加1。CPU從ROM中每讀一個位元組,自動執行

PC+1→PC;⑵執行轉移指令時,PC會根據該指令要求修改下一次讀ROM新的地址;§2-3I/O端口結構及工作原理

有4個8位並行I/O口,共32條端線:

P0、P1、P2和P3口。每一個I/O口都能用作輸入或輸出。

用作輸入時,均須先寫入“1”;用作輸出時,P0口應外接上拉電阻。

P0口的負載能力為8個LSTTL門電路;

P1~P3口的負載能力為4個LSTTL門電路。

在並行擴展外存儲器或I/O口情況下,

P0口用於低8位地址匯流排和數據匯流排(分時傳送)

P2口用於高8位地址匯流排,

P3口常用於第二功能,用戶能使用的I/O口只有P1口和未用作第二功能的部分P3口端線。單片機的I/O引腳結構眾多功能各異的I/O引腳源於它結構的不同單片機的引腳(P0口)P0.0—P0.7:雙向I/O(內置場效應管上拉)

尋址外部程式記憶體時分時作為雙向8位數據口和輸出低8位地址複用口;不接外部程式記憶體時可作為8位准雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內部匯流排地址/數據控制引腳P0.X34VccV1V221DQCK/Q讀引腳=1讀鎖存器寫鎖存器內部匯流排地址/數據控制引腳P0.X3400100截止截止=0Vcc單片機的引腳(P0口)P0用作通用I/O時,控制=0:(1)此腳作輸入口(事先必須對它寫“1”)V2V121DQCK/Q讀引腳讀鎖存器寫鎖存器內部匯流排地址/數據控制引腳P0.X3400100截止截止=0Vcc單片機的引腳(P0口)P0用作通用I/O時,控制=0:(2)此腳作輸出口時,當P0口用作輸出口時,因輸出級處於開漏狀態,必須外接上拉電阻。當“寫鎖存器”信號加在鎖存器的時鐘端CLK上,此時D觸發器將“內部匯流排”上的信號反相後輸出到Q端,若D端信號為0,Q=1,v2導通,P0.x引腳輸出“0”;若D端信號為1,Q=0,v2截止,雖然V1截止,因P0.x引腳已外接上拉電阻,P0.x引腳輸出“1”。V2V121DQCK/Q讀引腳=0讀鎖存器寫鎖存器內部匯流排地址/數據控制=1引腳P0.X341011=0導通截止=0Vcc單片機的引腳(P0口)P0口用作地址/數據複用口,控制=1(1)作地址/數據輸出:輸出地址/數據=0時V1V221DQCK/Q讀引腳=0讀鎖存器寫鎖存器內部匯流排地址/數據控制=1引腳P0.X341100=1截止導通=1Vcc單片機的引腳(P0口)P0口用作地址/數據複用口,控制=1(2)作地址/數據輸出:輸出地址/數據=1時V1V221DQCK/Q讀引腳=1讀鎖存器寫鎖存器內部匯流排地址/數據控制=0引腳P0.X34Vcc單片機的引腳(P0口)P0口用作地址/數據複用口(3)作/數據輸入:與P0用作通用I/O時輸入時情況相同,CPU使V1、V2均截止,從引腳上輸入的外部數據經緩衝器U2進入內部數據匯流排。

V1V2§2-4時鐘和時序CPU總是按照一定的時鐘節拍與時序工作§2-4時鐘和時序2.4.1時鐘電路

80C51單片機內有一高增益反相放大器,按圖2-8a連接即可構成自激振盪電路,振盪頻率取決於石英晶體的振盪頻率.

2.4.2時鐘週期和機器週期⑴時鐘週期。

80C51振盪器產生的時鐘脈衝頻率的倒數,是最基本最小的定時信號。⑵狀態週期。

它是將時鐘脈衝二分頻後的脈衝信號。狀態週期是時鐘週期的兩倍。狀態週期又稱S週期。在S週期內有兩個時鐘週期,即分為兩拍,分別稱為P1和P2

機器週期是6個狀態週期、12個時鐘週期。當時鐘頻率為12MHz時,機器週期為1

S;當時鐘頻率為6MHz時,機器週期為2

S。(3)機器週期

80C51單片機工作的基本定時單位,簡稱機周。 一個機器週期含有6個狀態週期,分別為S1、S2、…、S6,每個狀態週期有兩拍,分別為S1P1、S1P2、S2P1、S2P2…,S6P1、S6P2

(4)指令週期

指CPU執行一條指令佔用的時間(用機器週期表示)。80C51執行各種指令時間是不一樣的,可分為三類:單機周指令、雙機周指令和四機周指令。其中單機周指令有64條,雙機周指令有45條,四機周指令只有2條(乘法和除法指令),無三機周指令。

圖2-980C51的取指/執行時序

a)單字節單週期指令,例:INCA

b)雙位元組單週期指令,例:ADDA,#datac)單字節雙週期指令,例INCDPTRd)雙位元組雙週期指令:例PHSHdirect

牢牢記住:

振盪週期(時鐘週期)=晶振頻率fosc的倒數;

1個機器週期=6個狀態週期

1個機器週期=12個時鐘週期;

1個指令週期=1、2、4個機器週期

80C51單片機的工作方式共有四種:

⑴複位方式;

⑵程式執行方式;

⑶低功耗方式;

⑷片內ROM編程(包括校驗)方式。§2-5複位和低功耗工作方式2.5.1複位方式⒈複位條件

RST引腳保持2個機器週期以上的高電平。

實現複位操作,必須使RST引腳(9)保持兩個機器週期以上的高電平。例如,若時鐘頻率為12MHz,每機周為1

S

,則只需持續2

S以上時間的高電平;若時鐘頻率為6MHz,每個機器週期為2

S

,則需要持續4

S以上時間的高電平。

複位電路

上電複位電路。RC構成微分電路,在上電瞬間,產生一個微分脈衝,其寬度若大於2個機器週期,80C51將複位。為保證微分脈衝寬度足夠大,RC時間常數應大於兩個機器週期。一般取22電容、1k電阻。

按鍵複位電路。該電路除具有上電複位功能外,若要複位,只需按下圖中RESET鍵,R1C2仍構成微分電路,使RST端產生一個微分脈衝複位,複位完畢C2經R2放電,等待下一次按下複位按鍵。

⒊複位後CPU狀態

PC:0000H TMOD:00H Acc:00H TCON:00H B: 00H TH0:00H PSW:00H TL0:00H

SP:07H TH1:00H DPTR:0000H

TL1:00H

P0~P3:FFH

SCON:00H IP:×××00000B

SBUF:不定

IE:0××00000B

PCON:0×××0000B2.5.2低功耗工作方式

⑴待機(休閒)方式(Idle)

⑵掉電保護方式(PowerDown)。在Vcc=5V,fosc=12MHz條件下,正常工作時電流約20mA;待機(休閒)方式時電流約5mA;掉電保護方式時電流僅75

A。

兩種低功耗工作方式由電源控制寄存器PCON確定。

其中:

SMOD:串列傳輸速率倍增位(在串行通信中使用)

GF1、GF0:通用標誌位

PD:掉電方式控制位,

PD=1,進入掉電工作方式;

IDL:待機(休閒)方式控制位,

IDL=1,進入待機工作方式。

注意:PCON位元組地址87H,不能位尋址。讀寫時,只能整體位元組操作,不能按位操作。SMOD———GF1GF0PDIDLPSONMSBLSB⒈待機(休閒)方式⑶待機(休閒)狀態退出

①產生中斷;

②複位。⑴待機(休閒)方式狀態●片內時鐘僅向中斷源提供,其餘被阻斷;●

PC、特殊功能寄存器和片內RAM狀態保持不變;●

I/O引腳端口值保持原邏輯值;●

ALE、保持邏輯高電平;●CPU不工作,但中斷功能繼續存在。⑵待機(休閒)狀態進入

只要使PCON中IDL位置1。⒉掉電保護方式⑶掉電保護狀態退出⑴掉電保護方式狀態●片內振盪器停振,所有功能部件停止工作;●片內RAM數據資訊保存不變;●

ALE、PSEN為低電平;●

Vcc可降至2V,但不能真正掉電。⑵掉電保護狀態進入只要使PCON中PD位置1。

唯一方法是硬體複位,複位後片內RAM數據不變,特殊功能寄存器內容按複位狀態初始化。51單片機的8個特殊引腳Vcc,GND:電源端XTAL1,XTAL2:片內振盪電路輸入、輸出端RESET:複位端正脈衝有效(寬度

8mS)EA/Vpp:尋址外部ROM控制端。低有效片內有ROM時應當接高電平。ALE/PROG:地址鎖存允許控制端。PSEN:選通外部ROM的讀(OE)控制端。低有效

小結51單片機的4個8位的I/O口P0.0—P0.7:8位數據口和輸出低8位地址複用口

(複用時是雙向口;不復用時也是准雙向口)P1.0—P1.7:通用I/O口(准雙向口)P2.0—P2.7:輸出高8位地址(用於尋址時是輸出口;不尋址時是准雙向口)P3.0—P3.7:具有特定的第二功能(准雙向口)注意:在不外擴ROM/RAM時,P0~P3均可作通用I/O口使用,而且都是准雙向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论