




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第2章 80C51 單片機的硬件結構2.1 單片機的概念2.2 80C51單片機的邏輯結構及信號引腳2.3 80C51單片機的內部存儲器2.4 80C51 單片機的并行I/O口2.5 80C51 單片機的時鐘與定時2.6 80C51 單片機的系統復位2.7 單片機低功耗工作模式2.1 單片機的概念單片機的概念 單片微型計算機單片微型計算機SCMC(Single Chip Micro-Computer),是計算機、自動控制和大規模集成電路相結合的產物。是計算機、自動控制和大規模集成電路相結合的產物。還有其他的稱呼,如:微控制器(還有其他的稱呼,如:微控制器(MCU),嵌入式微控制),嵌入式微控制
2、器(器(EMCU),嵌入式微處理器(),嵌入式微處理器(EMP)等。)等。 目前使用最多的仍是目前使用最多的仍是8位單片機。在位單片機。在8位單片機中位單片機中80c51的的使用更為廣泛。本教材也是以使用更為廣泛。本教材也是以80c51為基礎。為基礎。2 單片機的特點:單片機的特點:(1)小巧靈活、成本低、易于產品化。能組裝成各種智能)小巧靈活、成本低、易于產品化。能組裝成各種智能式測控設備及智能儀器儀表。式測控設備及智能儀器儀表。(2)可靠性好,應用范圍廣。單片機芯片本身是按工業測)可靠性好,應用范圍廣。單片機芯片本身是按工業測控環境要求設計的,抗干擾性強,能適應各種惡劣的環境,控環境要求設
3、計的,抗干擾性強,能適應各種惡劣的環境,這是其他機種無法比擬的。這是其他機種無法比擬的。(3)易擴展,很容易構成各種規模的應用系統,控制功能)易擴展,很容易構成各種規模的應用系統,控制功能強。單片機的邏輯控制功能很強,指令系統有各種控制功能強。單片機的邏輯控制功能很強,指令系統有各種控制功能指令,可以對邏輯功能比較復雜的系統進行控制。指令,可以對邏輯功能比較復雜的系統進行控制。(4)具有通訊功能,可以很方便地實現多機和分布式控制,)具有通訊功能,可以很方便地實現多機和分布式控制,形成控制網絡和遠程控制。形成控制網絡和遠程控制。3單片機的應用單片機的應用(1)工業方面:各種測控系統。數據采集系統
4、,工業機器)工業方面:各種測控系統。數據采集系統,工業機器人,智能化儀器,機、電一體化產品。人,智能化儀器,機、電一體化產品。(2)智能儀器儀表方面。)智能儀器儀表方面。(3)通訊方面:調制解調器、程控交換技術等。)通訊方面:調制解調器、程控交換技術等。(4)消費產品方面:電動玩具、錄像機、激光唱機。)消費產品方面:電動玩具、錄像機、激光唱機。(5)導彈與控制方面:導彈控制、魚雷制導控制、智能武)導彈與控制方面:導彈控制、魚雷制導控制、智能武器裝備、飛機導航系統。器裝備、飛機導航系統。(6)計算機外部設備及電器方面:打印機、硬盤驅動器、)計算機外部設備及電器方面:打印機、硬盤驅動器、彩色與黑白
5、復印機、磁帶機等。彩色與黑白復印機、磁帶機等。(7)多機分布式系統:可用單片機構成分布式測控系統,)多機分布式系統:可用單片機構成分布式測控系統,它使單片機應用進入了一個全新的階段。它使單片機應用進入了一個全新的階段。 (測控系統,智能儀表,智能玩具,計算機外設)(測控系統,智能儀表,智能玩具,計算機外設)4.典型單片機產品簡介典型單片機產品簡介(1) MCS-51單片機系列單片機系列 MCS-51可分為兩個子系列和可分為兩個子系列和4種類型,按資源的配置種類型,按資源的配置數量,數量,MCS-51系列分為系列分為51和和52兩個子系列,其中兩個子系列,其中51子子系列是基本型,而系列是基本型
6、,而52子系列屬于增強型。子系列屬于增強型。 資資 源源 配配 置置 子子 系系 列列片內片內ROM的形式的形式片內片內ROM容量容量片內片內RAM容量容量定時器定時器與與計數器計數器中中斷斷源源無無ROMEPROME2PROM851系列系列80318051875189514KB128B21658C51系列系列80C3180C5187C5189C514KB128B2165852系列系列80328052875289528KB256B31668C252系列系列80C23280C25287C25289C2528KB256B3167l 80C51與與8051的比較的比較(1)MCS-51系列芯片采用系
7、列芯片采用HMOS工藝,而工藝,而80C51芯片則芯片則采用采用CHMOS工藝。工藝。CHMOS工藝是工藝是CMOS和和HMOS的結合,的結合,(2)80C51芯片具有芯片具有CMOS低功耗的特點。例如低功耗的特點。例如8051芯片芯片的功耗為的功耗為630mW,而而80C51的功耗只有的功耗只有120mW。(3)80C51在功能增加了待機和掉電保護兩種工作方式,在功能增加了待機和掉電保護兩種工作方式,以保證單片機在掉電情況下能以最低的消耗電流維持。以保證單片機在掉電情況下能以最低的消耗電流維持。(4)此外,在)此外,在80C51系列芯片中,內部程序存儲器除了系列芯片中,內部程序存儲器除了RO
8、M型和型和EPROM型外,還有型外,還有E2PROM型,例如型,例如89C51就就有有4KB E2PROM。并且隨著集成技術的提高,。并且隨著集成技術的提高,80C51系列系列片內程序存儲器的容量也越來越大,目前已有片內程序存儲器的容量也越來越大,目前已有64KB的芯片的芯片了。另外,許多了。另外,許多80C51芯片還具有程序存儲器保密機制,以芯片還具有程序存儲器保密機制,以防止應用程序泄密或被復制。防止應用程序泄密或被復制。 (2) MCS-96系列單片機系列單片機 MCS-96系列單片機是系列單片機是Intel公司在公司在1983年推出的年推出的16位單位單片機,它與片機,它與8位機相比,
9、具有集成度高、運算速度快等特點。位機相比,具有集成度高、運算速度快等特點。它的內部除了有常規的它的內部除了有常規的I/O接口、定時器計數器、全雙工接口、定時器計數器、全雙工串行口外,還有高速串行口外,還有高速I/O部件、多路部件、多路AD轉換和脈寬調制轉換和脈寬調制輸出(輸出(PWM)等電路,其指令系統比)等電路,其指令系統比MCS-51更加豐富。更加豐富。 (3) ATMEL公司單片機公司單片機 ATMEL公司于公司于1992年推出了全球第一個年推出了全球第一個3V超低壓超低壓F1ash存儲器,并于存儲器,并于1994年以年以E2PROM技術與技術與Intel公司的公司的80C31內核進行技
10、術交換,從此擁有了內核進行技術交換,從此擁有了80C31內核的使用權,內核的使用權,并將并將ATMEL特有的特有的Flash技術與技術與80C31內核結合在一起,內核結合在一起,生產出生產出AT89C51系列單片機。系列單片機。2.2 80C51單片機的邏輯結構及信號引腳單片機的邏輯結構及信號引腳2.2.1 80C51單片機的內部邏輯結構單片機的內部邏輯結構1. 中央處理器中央處理器CPU (1)運算電路)運算電路 (2)控制電路)控制電路 2. 內部數據存儲器內部數據存儲器 3. 內部程序存儲器內部程序存儲器 4. 定時器定時器/計數器計數器 5. 并行并行I/O口口 6. 串行口串行口 7
11、. 中斷控制電路中斷控制電路 8. 時鐘電路時鐘電路 9. 位處理器位處理器 10. 內部總線內部總線80C51芯片邏輯結構圖芯片邏輯結構圖1. CPU CPU即中央處理器的簡稱,是單片機的核心部件,它即中央處理器的簡稱,是單片機的核心部件,它完成各種運算和控制操作,完成各種運算和控制操作,CPU由運算器和控制器兩部分由運算器和控制器兩部分電路組成。電路組成。(1)運算器電路)運算器電路 運算器電路包括運算器電路包括ALU(算術邏輯單元)、(算術邏輯單元)、ACC(累(累加器)、加器)、B寄存器、狀態寄存器、暫存器寄存器、狀態寄存器、暫存器1和暫存器和暫存器2等部件,等部件,運算器的功能是進行
12、算術運算和邏輯運算。運算器的功能是進行算術運算和邏輯運算。 (2)控制器電路)控制器電路 控制器電路包括程序計數器控制器電路包括程序計數器PC、PC加加1寄存器、指令寄存器、指令寄存器、指令譯碼器、數據指針寄存器、指令譯碼器、數據指針DPTR、堆棧指針、堆棧指針SP、緩沖器以及定時與控制電路等。控制電路完成指揮控制緩沖器以及定時與控制電路等。控制電路完成指揮控制工作,協調單片機各部分正常工作。工作,協調單片機各部分正常工作。 2. 2. 存儲器存儲器 80C51單片機的存儲器包括數據存儲器和程序存儲單片機的存儲器包括數據存儲器和程序存儲器,其主要特點是程序存儲器和數據存儲器的尋址空間器,其主要
13、特點是程序存儲器和數據存儲器的尋址空間是相互獨立的,物理結構也不相同。是相互獨立的,物理結構也不相同。 內部數據存儲器包括內部數據存儲器包括RAM和和RAM地址寄存器,內部地址寄存器,內部數據存儲器一般指前數據存儲器一般指前128個單元,高個單元,高128個用于專用寄存器。個用于專用寄存器。 內部程序存儲器包括內部程序存儲器包括ROM和和ROM地址寄存器,地址寄存器,80C51有有4kROM存放程序。存放程序。3. 定時器定時器/計數器計數器 MCS51單片機片內有兩個單片機片內有兩個16位的定時位的定時/計數器,即定計數器,即定時器時器0和定時器和定時器1。它們可以用于定時控制、延時以及對外
14、。它們可以用于定時控制、延時以及對外部事件的計數和檢測等。部事件的計數和檢測等。4. 并行并行I/O口口 80C51單片機共有單片機共有4個個8位的位的I/O口(口(P0、P1、P2和和P3),),每一條每一條I/O線都能獨立地用作輸入或輸出。線都能獨立地用作輸入或輸出。5. 串行串行I/O口口 80C51單片機具有一個采用通用異步工作方式的全雙工單片機具有一個采用通用異步工作方式的全雙工串行通信接口,可以同時發送和接收數據。串行通信接口,可以同時發送和接收數據。6. 中斷控制系統中斷控制系統 80C51共有共有5個中斷源,即外中斷個中斷源,即外中斷2個,定時個,定時/計數中斷計數中斷2個,個
15、,串行中斷串行中斷1個。個。7. 時鐘電路時鐘電路 80C51芯片內部有時鐘電路,但晶體振蕩器和微調電容芯片內部有時鐘電路,但晶體振蕩器和微調電容必須外接。時鐘電路為單片機產生時鐘脈沖序列,振蕩器的必須外接。時鐘電路為單片機產生時鐘脈沖序列,振蕩器的頻率范圍為頻率范圍為1.2MHz33MHz,典型取值為,典型取值為6MHz。8. 總線總線 以上所有組成部分都是通過總線連接起來,從而構成一以上所有組成部分都是通過總線連接起來,從而構成一個完整的單片機。系統的地址信號、數據信號和控制信號都個完整的單片機。系統的地址信號、數據信號和控制信號都是通過總線傳送的,總線結構減少了單片機的連線和引腳,是通過
16、總線傳送的,總線結構減少了單片機的連線和引腳,提高了集成度和可靠性。提高了集成度和可靠性。 2.2.2 80C51單片機的封裝與信號引腳單片機的封裝與信號引腳 1. 芯片封裝形式芯片封裝形式 圖圖2.2為為MCS51系列單片機引腳圖及邏輯符號,它們系列單片機引腳圖及邏輯符號,它們為標準的為標準的40腳腳DIP封裝。封裝。 1. 輸入輸出口線輸入輸出口線 P0口(口(P0.0P0.7):該端口為漏極開路的):該端口為漏極開路的8位準雙向位準雙向口,它為口,它為8位地址線和位地址線和8位數據線的復用端口。位數據線的復用端口。 P1口(口(P1.0P1.7):它是一個內部帶上拉電阻的):它是一個內部
17、帶上拉電阻的8位位準雙向準雙向I/O口,口,P1口的驅動能力為口的驅動能力為4個個LSTTL負載。負載。 P2口(口(P2.0P2.7):它為一個內部帶上拉電阻的):它為一個內部帶上拉電阻的8位位準雙向準雙向I/O口,口,P2口的驅動能力也為口的驅動能力也為4個個LSTTL負載。在負載。在訪問外部程序存儲器時,它作存儲器的高訪問外部程序存儲器時,它作存儲器的高8位地址線。位地址線。 P3口(口(P3.0P3.7):):P3口同樣是內部帶上拉電阻的口同樣是內部帶上拉電阻的8位準雙向位準雙向I/O口,口,P3口除了作為一般的口除了作為一般的I/O口使用之外,口使用之外,其還具有特殊功能。其還具有特
18、殊功能。2. 芯片引腳介紹芯片引腳介紹地址鎖存允許信號地址鎖存允許信號ALE 系統擴展時,系統擴展時,ALE用于控制地址鎖存器鎖存用于控制地址鎖存器鎖存P0口輸口輸出的低出的低8位地址,從而實現數據與低位地址的復用。位地址,從而實現數據與低位地址的復用。此外此外,ALE是以六分之一晶振頻率的固定頻率輸出的正是以六分之一晶振頻率的固定頻率輸出的正脈沖,可作為外部時鐘或外部定時脈沖使用。脈沖,可作為外部時鐘或外部定時脈沖使用。 外部程序存儲器讀選通信號外部程序存儲器讀選通信號 /PSEN是讀外部程序存儲器的選通信號,低電平有效。是讀外部程序存儲器的選通信號,低電平有效。 訪問程序存儲器控制信號訪問
19、程序存儲器控制信號 當為高電平時,當為高電平時,CPU執行片內程序存儲器指令,但當執行片內程序存儲器指令,但當PC中的值超過中的值超過0FFFH時,將自動轉向執行片外程序存儲器指令。時,將自動轉向執行片外程序存儲器指令。當為低電平時,當為低電平時,CPU只執行片外程序存儲器指令。只執行片外程序存儲器指令。 復位信號復位信號RST 該信號高電平有效,在輸入端保持兩個機器周期的高電該信號高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復位操作。平后,就可以完成復位操作。EAPSEN 時鐘電路引腳時鐘電路引腳XTAL1和和XTAL2 XTAL1:接外部晶振和微調電容的一端,在片內:接外部晶
20、振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,若使用外部時鐘時,它是振蕩器倒相放大器的輸入,若使用外部時鐘時,該引腳外部時鐘的輸入端。該引腳外部時鐘的輸入端。 XTAL2:接外部晶振和微調電容的另一端,在片內:接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出,若使用外部時鐘時,它是振蕩器倒相放大器的輸出,若使用外部時鐘時,該引腳必須懸空。該引腳必須懸空。 電源引腳電源引腳Vcc和和Vss Vcc:電源端,接:電源端,接5V。 Vss:接地端。:接地端。 “復用復用”即給一些信號引腳賦予雙重功能。第二功能信號即給一些信號引腳賦予雙重功能。第二功能信號定義主要集中在定義主要集
21、中在P3口線中,另外再加上幾個其它信號線。口線中,另外再加上幾個其它信號線。 EPROM存儲器程序固化所需要的信號存儲器程序固化所需要的信號 編程脈沖:編程脈沖: 30腳(腳(ALE/PROG) 編程電壓(編程電壓(25V):):31腳(腳(EA/Vpp) 備用電源引入備用電源引入 備用電源是通過備用電源是通過9腳(腳(RST/VPD)引入的。當電源發生)引入的。當電源發生故障,電壓降低到下限值時,備用電源經此端向內部故障,電壓降低到下限值時,備用電源經此端向內部RAM提供電壓,以保護內部提供電壓,以保護內部RAM中的信息不丟失。中的信息不丟失。3. 芯片引腳的第二功能芯片引腳的第二功能 P3
22、口還具有第二功能,其引腳描述如表口還具有第二功能,其引腳描述如表2.1。表表2.1 P3口線的第二功能口線的第二功能口線特殊功能信號名稱P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2外部中斷0輸入口P3.3外部中斷1輸入口P3.4T0定時器0外部輸入口P3.5T1定時器1外部輸入口P3.6WR寫選通輸出口P3.7RD讀選通輸出口1INT0INT(2)引腳復用不會引起混亂)引腳復用不會引起混亂 第一功能與第二功能是不同工作方式下的信號,不會第一功能與第二功能是不同工作方式下的信號,不會發生使用上的矛盾。發生使用上的矛盾。 說明:說明:P3口線先按需要優先選用它的第二功能,剩下不用口線先
23、按需要優先選用它的第二功能,剩下不用 的才作為的才作為I/O口線使用。口線使用。 2.3 80C51單片機的內部存儲器單片機的內部存儲器ROM:存放程序或者始終要保留的數據(表格數據)。:存放程序或者始終要保留的數據(表格數據)。RAM:用來存放程序運行中所需要的常數和變量,:用來存放程序運行中所需要的常數和變量, 全局數據也存放在全局數據也存放在RAM里。里。 一般來說,單片機芯片的內部包括數據存儲器和程一般來說,單片機芯片的內部包括數據存儲器和程序存儲器,先介紹數據存儲區。序存儲器,先介紹數據存儲區。 單片機的數據存儲器共個單元,劃單片機的數據存儲器共個單元,劃分為兩部分:低單元區和高單元
24、區,如圖分為兩部分:低單元區和高單元區,如圖.所示所示圖2.3 80C51 內部數據存儲器配置圖2.3.1 內部數據存儲器低內部數據存儲器低128單元區單元區 的內部數據存儲器低的內部數據存儲器低128單元區,稱為內部單元區,稱為內部,地址為按用途劃分為三個區。,地址為按用途劃分為三個區。1、寄存器區、寄存器區 內部內部RAM的前的前32個單元作為通用(工作)寄存器使用,個單元作為通用(工作)寄存器使用, 地址為地址為00H1FH。分為。分為4組,組號依次為組,組號依次為0、1、2、3,每,每 組有組有8個寄存器:個寄存器:R7R0。 任一時刻,任一時刻,cpu只能使用其中的一組寄存器,稱為當
25、只能使用其中的一組寄存器,稱為當前工作寄存器組,由程序狀態字寄存器前工作寄存器組,由程序狀態字寄存器PSW中的中的RS1,RS0位的組合來決定。沒有選中的單元也可作為一般的位的組合來決定。沒有選中的單元也可作為一般的數據緩存使用。系統上電復位時,默認選中第數據緩存使用。系統上電復位時,默認選中第0組寄存器。組寄存器。 寄存器:寄存器:1、可用、可用8位地址尋址;位地址尋址;2、在指令中既可用名稱表示,也可以使用單元地址表示。、在指令中既可用名稱表示,也可以使用單元地址表示。2、位尋址區、位尋址區在工作寄存器后的在工作寄存器后的16個數據單元(個數據單元(20H2FH),它),它們既可以作為一般
26、的數據單元使用,又可以按位對每個單們既可以作為一般的數據單元使用,又可以按位對每個單元進行操作,因此這元進行操作,因此這16個數據單元又稱作位尋址區。位尋個數據單元又稱作位尋址區。位尋址區共計址區共計128位,其位地址為位,其位地址為00H7FH。 位地址的表示方式:位地址的表示方式:1 位地址的形式;位地址的形式; 2 存儲單元地址加位的形式。存儲單元地址加位的形式。3. 用戶用戶RAM區區 在內部在內部RAM的低的低128個單元中,剩余的個單元中,剩余的80個數個數據單元即據單元即30H7FH為真正的用戶為真正的用戶RAM區,對于這區,對于這些區域,用戶只能以存儲單元的形式來使用,通常些區
27、域,用戶只能以存儲單元的形式來使用,通常在應用中也把堆棧開辟在這段區域。在應用中也把堆棧開辟在這段區域。2.3.2 內部數據存儲器高內部數據存儲器高128單元區單元區 內部數據存儲器的高內部數據存儲器的高128128個單元是為專用寄存器提供的,個單元是為專用寄存器提供的,因此該區也稱作特殊功能寄存器區(因此該區也稱作特殊功能寄存器區(SFRSFR),它們主要用),它們主要用于存放于存放控制命令、狀態或數據控制命令、狀態或數據。除去程序計數器。除去程序計數器PCPC外,還外,還有有2121個特殊功能寄存器,其地址空間為個特殊功能寄存器,其地址空間為80H80HFFHFFH。這。這2121個個寄存
28、器中有寄存器中有1111個特殊功能寄存器具有位尋址能力,它們的個特殊功能寄存器具有位尋址能力,它們的字節地址剛好能被字節地址剛好能被8 8整除。下面將對部分專用寄存器作簡整除。下面將對部分專用寄存器作簡要介紹。要介紹。(1)累加器)累加器A(或(或ACC-ACCumulator) 累加器為累加器為8位寄存器,是程序中最常用的專用寄存器,位寄存器,是程序中最常用的專用寄存器,在指令系統中累加器的助記符為在指令系統中累加器的助記符為A。存放操作數。大部分單操作數指令的操作取自累加器,很存放操作數。大部分單操作數指令的操作取自累加器,很 多雙操作數指令的一個操作數也取自累加器。多雙操作數指令的一個操
29、作數也取自累加器。運算結果的暫存單元。加、減乘和除等算術運算指令的運運算結果的暫存單元。加、減乘和除等算術運算指令的運 算結果都存放在累加器算結果都存放在累加器A或或AB寄存器中。寄存器中。數據傳送的中轉站。數據傳送的中轉站。在變址尋址方式中累加器被作為變址寄存器使用在變址尋址方式中累加器被作為變址寄存器使用 在在MCS51中由于只有一個累加器,而單片機中的大部中由于只有一個累加器,而單片機中的大部分數據操作都是通過累加器進行的,故累加器的使用是十分分數據操作都是通過累加器進行的,故累加器的使用是十分頻繁的。頻繁的。1. 專用寄存器簡介專用寄存器簡介(2(2)B B寄存器(寄存器(B regi
30、sterB register) B B寄存器為寄存器為8 8位寄存器,主要用于乘除指令中。乘法指令的位寄存器,主要用于乘除指令中。乘法指令的兩個操作數分別取自累加器兩個操作數分別取自累加器A A和寄存器和寄存器B B,其中,其中B B為乘數,乘法為乘數,乘法結果的高結果的高8 8位存放于寄存器位存放于寄存器B B中。除法指令中,被除數取自中。除法指令中,被除數取自A A,除數取自除數取自B B,除法的結果商數存放于,除法的結果商數存放于A A,余數存放于,余數存放于B B中。在其中。在其它指令中,它指令中,B B寄存器也可作為一般的數據單元來使用。寄存器也可作為一般的數據單元來使用。(3)程序
31、狀態字()程序狀態字(PSW-Program Status Word) 程序狀態字是一個程序狀態字是一個8位寄存器,位寄存器,用于寄存指令執行的狀態用于寄存指令執行的狀態信息信息。在狀態字中,有些位狀態是根據指令執行結果,由硬件。在狀態字中,有些位狀態是根據指令執行結果,由硬件自動完成設置的,而有些狀態位則必須通過軟件方法設定。自動完成設置的,而有些狀態位則必須通過軟件方法設定。PSW中的每個狀態位都可由軟件讀出,中的每個狀態位都可由軟件讀出,PSW的各位定義如下。的各位定義如下。 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1
32、RS0 OV/PCY(PSW.7)-進位標志位進位標志位 在執行某些算術和邏輯指令時,可以被硬件或軟件置位在執行某些算術和邏輯指令時,可以被硬件或軟件置位或清零。在算術運算中它可作為進位標志(加法進位,減或清零。在算術運算中它可作為進位標志(加法進位,減法借位,在位操作(在位傳送、位與、位或等)中作累加法借位,在位操作(在位傳送、位與、位或等)中作累加器使用,移位操作中用于構成循環移位通路)器使用,移位操作中用于構成循環移位通路) 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1RS0 OV/PAC(PSW.6)-輔助進位標志位(
33、半進位標志位)輔助進位標志位(半進位標志位) 進行加法或減法操作時,當發生低四位向高四位進位進行加法或減法操作時,當發生低四位向高四位進位或借位時,或借位時,AC由硬件置位,否則由硬件置位,否則AC位被置位被置“0”。在進行。在進行十進制調整指令時,將借助十進制調整指令時,將借助AC狀態進行判斷。狀態進行判斷。 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1RS0 OV/PF0 (PSW.6)-用戶標志位用戶標志位 該位為用戶定義的狀態標記,用戶根據需要用軟件對該位為用戶定義的狀態標記,用戶根據需要用軟件對其置位或清零,也可以用
34、軟件測試其置位或清零,也可以用軟件測試F0來控制程序的跳轉。來控制程序的跳轉。 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1RS0 OV/PRS1和和RS0(PSW.4和和PSW.3)-寄存器組選擇位寄存器組選擇位 該兩位通過軟件置該兩位通過軟件置“0”或或“1”來選擇當前工作寄存器組。來選擇當前工作寄存器組。表表2.3 寄存器組選擇寄存器組選擇 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1RS0 OV/P OV(PSW.2)-溢出標志位溢出標志位 當執行算術
35、指令時,由硬件置位或清零來指示溢出狀態。當執行算術指令時,由硬件置位或清零來指示溢出狀態。加減運算加減運算(有無符號數均可有無符號數均可)中,中,OV1表示加減運算結果超出了表示加減運算結果超出了累加器累加器A所能表示的符號數有效范圍(所能表示的符號數有效范圍(128127),即運),即運算結果是錯誤的,反之,算結果是錯誤的,反之,OV0表示運算正確,即無溢出產生。表示運算正確,即無溢出產生。 無符號數乘法指令無符號數乘法指令MUL的執行結果也會影響溢出標志,若的執行結果也會影響溢出標志,若置于累加器置于累加器A和寄存器和寄存器B的兩個數的乘積超過了的兩個數的乘積超過了255,則,則OV1,反
36、之反之OV0。由于乘積的高。由于乘積的高8位存放于位存放于B中,低中,低8位存放于位存放于A中,中,OV0則意味著只要從則意味著只要從A中取得乘積即可,否則要從中取得乘積即可,否則要從BA寄存器對中寄存器對中取得乘積結果。取得乘積結果。 在除法運算中,在除法運算中,OV=1表示除數為表示除數為0,除法不能進行;反之,除法不能進行;反之,OV=0,除數不為,除數不為0,除法可正常進行。,除法可正常進行。 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0 RS1RS0 OV/PP(PSW.0)-奇偶標志位奇偶標志位 每個指令周期由硬件來置位或
37、清零用以表示累加器每個指令周期由硬件來置位或清零用以表示累加器A中中1的個數的奇偶性,若累加器中的個數的奇偶性,若累加器中1的個數為奇數則的個數為奇數則P1,否則否則P0。 (4) 數據指針數據指針DPTR 數據指針數據指針DPTR為一個為一個16位的專用寄存器,其高位用位的專用寄存器,其高位用DPH表示,其低位用表示,其低位用DPL表示,它既可以作為一個表示,它既可以作為一個16位的位的寄存器來使用,也可作為兩個寄存器來使用,也可作為兩個8位的寄存器位的寄存器DPH和和DPL使使用。用。DPTR在訪問外部數據存儲器時既可用來存放在訪問外部數據存儲器時既可用來存放16位地位地址,也可作地址指針
38、使用。如址,也可作地址指針使用。如MOVX DPTR,A。 (5) I/O端口端口P0P3 P0P3為四個為四個8位的特殊功能寄存器,分別是四個并行位的特殊功能寄存器,分別是四個并行I/O端口的鎖存器,當端口的鎖存器,當I/O端口的某一位用作輸入時,對應端口的某一位用作輸入時,對應的鎖存器必須先置的鎖存器必須先置“1”。 (6) 定時器定時器/計數器計數器 在在MCS51中,除中,除8032/8052外都只有兩個外都只有兩個16位定時器位定時器/計數器計數器T0和和T1,它們由兩個相互獨立的,它們由兩個相互獨立的8位寄存器組成位寄存器組成TH和和TL,共有四個獨立的寄存器,共有四個獨立的寄存器
39、TH0、TL0、TH1和和TL1,只可,只可對這四個寄存器獨立尋址,而不能作為一個對這四個寄存器獨立尋址,而不能作為一個16位寄存器來尋位寄存器來尋址。址。 (7) 串行數據緩沖寄存器串行數據緩沖寄存器 串行數據緩沖器串行數據緩沖器SBUF用于存放將要發送或已接收的數據,用于存放將要發送或已接收的數據,它由發送緩沖器和接收緩沖器組成,將要發送的數據被送入它由發送緩沖器和接收緩沖器組成,將要發送的數據被送入SBUF時進入發送緩沖器,反之進入接收緩沖器。時進入發送緩沖器,反之進入接收緩沖器。 2. 專用寄存器的單元尋址及位尋址專用寄存器的單元尋址及位尋址 說明:說明: 對專用寄存器只能使用直接尋址
40、方式,在指令中既可使對專用寄存器只能使用直接尋址方式,在指令中既可使用寄存器符號表示,也可使用寄存器地址表示。用寄存器符號表示,也可使用寄存器地址表示。 在在21個可尋址的專用寄存器中,有個可尋址的專用寄存器中,有11個寄存器是可以位個寄存器是可以位尋址的。尋址的。 專用寄存器的專用寄存器的83個可尋址位加上位尋址區的個可尋址位加上位尋址區的128個通用位,個通用位,構成位處理器的整個數據位存儲空間。構成位處理器的整個數據位存儲空間。3. 程序計數器程序計數器PC(Program Counter) PC是一個是一個16位的計數器。其內容為將要執行的指令地址,位的計數器。其內容為將要執行的指令地
41、址,尋址范圍達尋址范圍達64KB。PC有自動加有自動加1功能,以實現程序的順序執功能,以實現程序的順序執行。行。PC沒有地址,是不可尋址的,因此用戶無法對它進行沒有地址,是不可尋址的,因此用戶無法對它進行讀寫。但在執行轉移、調用、返回等指令時能自動改變其內讀寫。但在執行轉移、調用、返回等指令時能自動改變其內容,以改變程序的執行順序。容,以改變程序的執行順序。2.3.3 堆棧操作堆棧操作 堆棧是一種數據結構。所謂堆棧,就是只允許在其一端堆棧是一種數據結構。所謂堆棧,就是只允許在其一端進行數據插入和數據刪除操作的線性表。進行數據插入和數據刪除操作的線性表。 數據寫入堆棧稱為入棧(數據寫入堆棧稱為入
42、棧(PUSH)。)。 數據從堆棧中讀出稱之出棧數據從堆棧中讀出稱之出棧(POP)。 數據操作規則:數據操作規則:“后進先出后進先出”LIFO。即先入棧的數據。即先入棧的數據由于存放在棧的底部,因此后出棧;而后入棧的數據存放在由于存放在棧的底部,因此后出棧;而后入棧的數據存放在棧的頂部,因此先出棧。棧的頂部,因此先出棧。1、堆棧的功用、堆棧的功用 堆棧主要是為子程序調用和中斷操作而設立的。其具體堆棧主要是為子程序調用和中斷操作而設立的。其具體功能有兩個:保護斷點和保護現場。功能有兩個:保護斷點和保護現場。2、堆棧的開辟、堆棧的開辟 堆棧只能開辟在芯片的內部數據存儲器中,即所謂的內堆棧只能開辟在芯
43、片的內部數據存儲器中,即所謂的內堆棧形式。堆棧形式。3、堆棧指針、堆棧指針 堆棧指針堆棧指針SP(Stack Pointer)的內容是堆棧棧頂的存)的內容是堆棧棧頂的存儲單元地址。儲單元地址。SP是一個是一個8位寄存器。位寄存器。說明:系統復位后,說明:系統復位后,SP的內容為的內容為07H,但由于堆棧最好在,但由于堆棧最好在內部內部RAM的的30H7FH單元中開辟,所以在程序設計時應單元中開辟,所以在程序設計時應注意把注意把SP值初始化為值初始化為30H以后。以后。 圖圖2.4 兩種不同類型的堆棧結構兩種不同類型的堆棧結構4 、堆棧類型、堆棧類型80c51使用向上生長型堆棧,操作規則如下:使
44、用向上生長型堆棧,操作規則如下: 進棧操作:先進棧操作:先SP加加1,后寫入數據。,后寫入數據。 出棧操作:先讀出數據出棧操作:先讀出數據v,后,后SP減減1。5. 堆棧使用方式堆棧使用方式堆棧的使用有兩種方式。堆棧的使用有兩種方式。 自動方式:即在調用子程序或中斷時,返回地址(斷點)自動方式:即在調用子程序或中斷時,返回地址(斷點)自動進棧。程序返回時,斷點再自動彈回自動進棧。程序返回時,斷點再自動彈回PC。 指令方式:即使用專用的堆棧操作指令,進行進出棧操指令方式:即使用專用的堆棧操作指令,進行進出棧操作。其進棧指令為作。其進棧指令為PUSH,出棧指令為,出棧指令為POP。例如保護現場。例
45、如保護現場就是指令方式進行操作。就是指令方式進行操作。 2.3.4內部程序存儲器內部程序存儲器 在在MCS51系列中,程序存儲器被用來存放程序、常數或系列中,程序存儲器被用來存放程序、常數或表格等。在表格等。在80C51中,其片內有中,其片內有4K字節的字節的ROM存儲單元,地存儲單元,地址為址為0000H0FFFH。87C51有有4K字節的字節的EPROM,而,而80C52和和87C52則有則有8K字節的片內存儲器。字節的片內存儲器。80C31和和80C32無片內程無片內程序存儲器,所以片內程序存儲器的有無是區分芯片的主要標志。序存儲器,所以片內程序存儲器的有無是區分芯片的主要標志。 MCS
46、51系列設置信號引腳系列設置信號引腳 ,以其電平狀態來區分程序以其電平狀態來區分程序存儲器的有無。無片內程序存儲器,存儲器的有無。無片內程序存儲器, 接地,有片內程序存儲接地,有片內程序存儲器器 , 接高電平。接高電平。 EAEAEA如何工作:如何工作:程序計數器(程序計數器(PC),也叫),也叫PC指針,是取指針,是取指地址。上電復位后內容為指地址。上電復位后內容為0000H,即從,即從0000H地地址的指令順序執行,最大為址的指令順序執行,最大為FFFFH,所以程序空間,所以程序空間為為64K。v 64K64K空間分為片內空間分為片內ROMROM和片外和片外ROMROM,但統一編址。,但統
47、一編址。 外 部內 部(EA=1)外 部(EA=0)00000FFF00000FFF1000FFFF 在在64K的程序存儲器中,有一組保留單元的程序存儲器中,有一組保留單元0000H002AH,其中,其中 0000H0002H為系統的啟動單元。剩為系統的啟動單元。剩下下0003H002AH均勻分為均勻分為 5個特殊的單元,存放個特殊的單元,存放5種種中斷源的中斷地址區:中斷源的中斷地址區: 外部中斷外部中斷0入口地址入口地址 0003H 定時器定時器0中斷中斷入口地址入口地址000BH 外部中斷外部中斷1入口地址入口地址 0013H 定時器定時器1中斷入口地址中斷入口地址001BH 串行口中斷
48、入口地址串行口中斷入口地址 0023H 80C51單片機具有單片機具有4個個8位雙向并行端口(位雙向并行端口(P0P3),),共共32根根1/O口線。每一根口線。每一根1/O口線都能獨立地用作輸入或輸口線都能獨立地用作輸入或輸出。這出。這4個端口是單片機與外部設備進行信息(數據、地個端口是單片機與外部設備進行信息(數據、地址、控制信號)交換的輸人或輸出通道。可以按字節尋址、控制信號)交換的輸人或輸出通道。可以按字節尋址外,還可以按位尋址。址外,還可以按位尋址。2.4 80C51 單片機的并行單片機的并行I/O口口2.4.1 P0口邏輯結構口邏輯結構 P0口地址為口地址為80H,位地址為,位地址
49、為80H-87H。P0口各位口線的邏輯結構,由一個鎖存器、兩個三態輸入緩沖器、口各位口線的邏輯結構,由一個鎖存器、兩個三態輸入緩沖器、一個多路復用開關以及控制電路和驅動電路等組成。一個多路復用開關以及控制電路和驅動電路等組成。 P0口可以作為輸入輸出口,在實際應用中它通常作為地址口可以作為輸入輸出口,在實際應用中它通常作為地址/數據復用總線。在訪問外部存儲器時,數據復用總線。在訪問外部存儲器時,P0口為真正的雙向口口為真正的雙向口.2.4.2 P1口邏輯結構口邏輯結構 P1口地址為口地址為90H,位地址為,位地址為90H-97H。只能作為通用數。只能作為通用數據據I/O口使用,電路邏輯如下圖:
50、口使用,電路邏輯如下圖: P1口是一個準雙向口,通常作為口是一個準雙向口,通常作為I/O口使用,由于在其輸口使用,由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。2.4.3 P2口邏輯結構口邏輯結構 P2口地址為口地址為A0H,位地址為,位地址為A0H-A7H。既可做通用既可做通用I/O口,又可作系統高位地址線,某一位的內口,又可作系統高位地址線,某一位的內部結構與部結構與P0類似。類似。2.4.4 P3口邏輯結構口邏輯結構 P3口地址為口地址為B0H,位地址為,位地址為B0H-B7H。雖然可做通用雖然可做通用I/O口,但在實際
51、應用中,它的第二功能信口,但在實際應用中,它的第二功能信號更為重要,某一位的內部結構如下圖:號更為重要,某一位的內部結構如下圖:2.5 80C51 單片機的時鐘與定時單片機的時鐘與定時 單片機本身是一個復雜的同步時序系統,為保證同單片機本身是一個復雜的同步時序系統,為保證同步工作方式的實現,單片機必須有時鐘信號,以使其系步工作方式的實現,單片機必須有時鐘信號,以使其系統在時鐘信號的控制下按時序協調工作。時序是指令執統在時鐘信號的控制下按時序協調工作。時序是指令執行過程中各信號之間的相互時間關系。行過程中各信號之間的相互時間關系。 2.5.1 2.5.1 時鐘電路時鐘電路 單片機的時鐘電路由振蕩
52、電路和分頻電路組成。單片機的時鐘電路由振蕩電路和分頻電路組成。 1. 振蕩電路振蕩電路 在在80C51芯片內部有一個高增益反相放大器,其輸芯片內部有一個高增益反相放大器,其輸入端為芯片引腳入端為芯片引腳XTAL1,輸出端為引腳,輸出端為引腳XTAL2,在芯片,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調電容,形的外部通過這兩個引腳跨接晶體振蕩器和微調電容,形成反饋電路,就構成了一個穩定的自激振蕩器。如圖成反饋電路,就構成了一個穩定的自激振蕩器。如圖2.9所示。所示。 圖圖2.9 80C51單片機的振蕩電路單片機的振蕩電路 電路中的電容一般取電路中的電容一般取30pF左右,而晶體的振蕩頻率范左
53、右,而晶體的振蕩頻率范圍通常是圍通常是1.2MHz33MHz。2. 分頻電路分頻電路 振蕩電路產生的振蕩信號并不直接為單片機所用,振蕩電路產生的振蕩信號并不直接為單片機所用,要進行分頻,以得到單片機各種相關的時鐘信號。要進行分頻,以得到單片機各種相關的時鐘信號。 3. 晶振頻率晶振頻率 1.233MHz。 晶振頻率高,系統時鐘頻率就高,單片機運行速度就快。晶振頻率高,系統時鐘頻率就高,單片機運行速度就快。 4. 從外部引入脈沖信號驅動時鐘電路從外部引入脈沖信號驅動時鐘電路 除了由振蕩電路產生高頻振蕩信號外,還可從外部脈沖除了由振蕩電路產生高頻振蕩信號外,還可從外部脈沖源直接引入。在由多片單片機
54、組成的系統中,為了各單片機源直接引入。在由多片單片機組成的系統中,為了各單片機之間時鐘信號的同步,引入唯一的外部脈沖信號作為各單片之間時鐘信號的同步,引入唯一的外部脈沖信號作為各單片機的振蕩脈沖。機的振蕩脈沖。 2.5.2 定時單位定時單位 時序的定時單位共有時序的定時單位共有4個,從小到大依次是:拍節、狀個,從小到大依次是:拍節、狀態、機器周期和指令周期。態、機器周期和指令周期。 1.振蕩周期振蕩周期 振蕩周期指為單片機提供定時信號的振蕩源的周期或振蕩周期指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期,振蕩周期即為拍節(外部輸入時鐘的周期,振蕩周期即為拍節(P)。)。2.時鐘周期時
55、鐘周期 時鐘周期又稱作狀態周期或狀態時間時鐘周期又稱作狀態周期或狀態時間S,它是振蕩周,它是振蕩周期的兩倍,它分為期的兩倍,它分為P1節拍和節拍和P2節拍,通常在節拍,通常在P1節拍完成節拍完成算術邏輯操作,在算術邏輯操作,在P2節拍完成內部寄存器之間的傳送操節拍完成內部寄存器之間的傳送操作。作。3.機器周期機器周期 一個機器周期由一個機器周期由6個狀態組成,如果把一條指令的執行個狀態組成,如果把一條指令的執行過程分作幾個基本操作,則將完成一個基本操作所需的時間過程分作幾個基本操作,則將完成一個基本操作所需的時間稱作機器周期。單片機的單周期指令執行時間就為一個機器稱作機器周期。單片機的單周期指
56、令執行時間就為一個機器周期。周期。4.指令周期指令周期 指令周期是最大的時序單位,即執行一條指令所占用的指令周期是最大的時序單位,即執行一條指令所占用的全部時間,通常為全部時間,通常為1個、個、2個、個、 4個機器周期。個機器周期。練習練習1、一個機器周期、一個機器周期= 個振蕩周期個振蕩周期= 個時鐘周期。個時鐘周期。2、在、在MCS51單片機中,如果采用單片機中,如果采用6MHz晶振,晶振,1個機器個機器 周期為周期為 。2.6 80C51 單片機的系統復位單片機的系統復位 復位是單片機的硬件初始化操作。復位后,單片機才能復位是單片機的硬件初始化操作。復位后,單片機才能開始正常工作。開始正
57、常工作。 RST引腳是復位信號的輸入端,復位信號引腳是復位信號的輸入端,復位信號是高電平有效,其有效時間應持續是高電平有效,其有效時間應持續2個機器周期以上。個機器周期以上。2.6.1 復位方式與初始化狀復位方式與初始化狀 1. 復位方式復位方式(1)加電復位:通過專用的復位電路產生復位信號。)加電復位:通過專用的復位電路產生復位信號。 開機加電時,系統自動完成開機加電時,系統自動完成(2)手動復位:一次重新啟動操作。)手動復位:一次重新啟動操作。 (死機、死循環或程序(死機、死循環或程序“跑飛跑飛”) 在實際應用中,總是把加電復位和手動復位結合在一在實際應用中,總是把加電復位和手動復位結合在
58、一起,形成一個綜合的復位電路。起,形成一個綜合的復位電路。 2. 初始化狀態復位后的片內狀態為ALE信號變為無效狀態,信號變為無效狀態, 變為無效狀態,變為無效狀態,ALE=0, =1.PSENPSEN2.6.2 復位電路復位電路1. 復位電路概述復位電路概述使用過的復位電路:積分電路型、微分電路型、比較使用過的復位電路:積分電路型、微分電路型、比較型和看門狗型。常用前兩種。型和看門狗型。常用前兩種。 (1)積分電路型)積分電路型用于產生低電平復位信號,見下圖。用于產生低電平復位信號,見下圖。 (2)微分電路型)微分電路型 用于產生高電平復位信號,見下圖。用于產生高電平復位信號,見下圖。 2. 80C51 基本復位電路按健手動復位有電平方式和脈沖方按健手動復位有電平方式和脈沖方式兩種。式兩種。上電自動復位是通過上電自動復位是通過外部復位電路的電容外部復位電路的電容充電來實現的。充電來實現的。按健電平復位是通過按健電平復位是通過使復位端經電阻與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工廠加工合同協議書模板
- 2025至2030年中國塑膠溫度計行業投資前景及策略咨詢報告
- 2025至2030年中國土堿土霉素行業投資前景及策略咨詢報告
- 2025廈門市果蔬種植基地預約生產購銷合同模板
- 2025汽車銷售合同范本范本
- 2025年畜牧業機械項目立項申請報告模板
- 2025年高純銻及氧化銻項目申請報告模范
- 2025年手機電池項目立項申請報告模板
- 自動化焊接生產線項目可行性研究報告
- 開放互鑒的教育國際合作體系研究
- 要素表及要素式判決書
- 瑞幸咖啡入職考試50道測試答案
- 2022年南通如皋市醫療系統事業編制鄉村醫生招聘筆試試題及答案解析
- GB/T 9652.1-2007水輪機控制系統技術條件
- 初中英語八下unit默寫手冊
- 消防控制室值班記錄1
- 考研考博-英語-天津理工大學考試押題卷含答案詳解4
- T-CASAS 004.2-2018 4H碳化硅襯底及外延層缺陷圖譜
- 法學本科畢業論文
- 敏捷項目管理:敏捷革命課件
- 真空斷路器課件
評論
0/150
提交評論