創(chuàng)新協(xié)會(huì)單片機(jī)最小系統(tǒng)學(xué)習(xí)資料_第1頁
創(chuàng)新協(xié)會(huì)單片機(jī)最小系統(tǒng)學(xué)習(xí)資料_第2頁
創(chuàng)新協(xié)會(huì)單片機(jī)最小系統(tǒng)學(xué)習(xí)資料_第3頁
創(chuàng)新協(xié)會(huì)單片機(jī)最小系統(tǒng)學(xué)習(xí)資料_第4頁
創(chuàng)新協(xié)會(huì)單片機(jī)最小系統(tǒng)學(xué)習(xí)資料_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

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

文檔簡介

1、精心整理第1章單片機(jī)最小系統(tǒng)單片機(jī)最小硬件系統(tǒng)簡介1.1 計(jì)算機(jī)、微型機(jī)、單片機(jī)及單片機(jī)應(yīng)用系統(tǒng)概述微型計(jì)算機(jī)的出現(xiàn)給人類生活帶來了根本性的變化,使現(xiàn)代科學(xué)研究產(chǎn)生了質(zhì)的飛躍,單片機(jī)技術(shù)的出現(xiàn)則給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新的技術(shù)革命。它在工業(yè)控制、數(shù)控采集、智能化儀表、辦公自動(dòng)化等諸多領(lǐng)域得到了極為廣泛的應(yīng)用, 毫不夸張地說,單片機(jī)技術(shù)的開發(fā)和應(yīng)用水平已逐步成為一個(gè)國家工業(yè)發(fā)展的標(biāo)志之一。單片微型計(jì)算機(jī)(SingleChipMicroComputer)簡稱單片機(jī),它是一種把組成微型計(jì)算機(jī)的各功能部件:中央處理單元 CPU、一定容量的隨機(jī)存儲(chǔ)器 RAM和只讀存儲(chǔ)器ROM、I/O接口電路、 定時(shí)

2、器/計(jì)數(shù)器以及用行口等制作在一塊芯片中的計(jì)算機(jī)。由于單片機(jī)的硬件結(jié)構(gòu)與指令系統(tǒng)的功 能都是按工業(yè)控制要求而設(shè)計(jì)的,常用在工業(yè)檢測、控制裝置中,因而也稱為微控制器(Micro-Controller)。單片機(jī)具有結(jié)構(gòu)簡單、控制功能強(qiáng)、可靠性高、體積小、價(jià)格低等特點(diǎn),在 家用電器、智能化儀器、工業(yè)控制以及火箭導(dǎo)航尖端技術(shù)領(lǐng)域都發(fā)揮著十分重要的作用。1.1.1 單片機(jī)及單片機(jī)應(yīng)用系統(tǒng)1 .微型計(jì)算機(jī)及微型計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)的硬件系統(tǒng)由運(yùn)算器、存儲(chǔ)器、L控制器、輸入和輸出設(shè)備五大部分組成。把運(yùn)算器、控 制器及一些寄存器集成在一塊硅片上而成為獨(dú)立的器件,該器件就稱為微處理器( CPU) 0微處理 器芯片、存

3、儲(chǔ)器芯片、輸入/輸出接口電路芯片以及外部設(shè)備,在它們之間用總線連接起來就構(gòu)成 了微型計(jì)算機(jī),如圖1-1所示。圖1-1微型計(jì)算機(jī)組成框圖可見,微型計(jì)算機(jī)結(jié)構(gòu)的突出特征是具有一個(gè)包含運(yùn)算器和控制器的集成芯片微處理器(CPU)。微型機(jī)硬件系統(tǒng)各部分的組成及功能簡述如下:1)微處理器微處理器是微型計(jì)算機(jī)的核心,其結(jié)構(gòu)示意如圖1-2所示。圖1-2微處理器結(jié)構(gòu)示意圖微處理器包括運(yùn)算器,控制器和寄存器組 3個(gè)基本部分。(1)運(yùn)算器:運(yùn)算器是計(jì)算機(jī)的運(yùn)算部件,用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。計(jì)算機(jī)的數(shù)據(jù)運(yùn)算和 處理都在這里進(jìn)行。通常運(yùn)算器由算術(shù)/邏輯運(yùn)算單元ALU、累加器A、暫存寄存器、標(biāo)志寄存器F等組成。累加器A是

4、一個(gè)特殊的寄存器。通常其作用有兩個(gè):一是運(yùn)算時(shí)把一個(gè)操作數(shù)經(jīng)暫存器送至 ALU ;二是在運(yùn)算后保存其運(yùn)算結(jié)果。暫存寄存器用來暫時(shí)存儲(chǔ)數(shù)據(jù)總線或其他寄存器送來的操作數(shù),是ALU的數(shù)據(jù)輸入源。標(biāo)志寄存器F用來保存ALU運(yùn)算結(jié)果的特征(如進(jìn)位標(biāo)志、溢出標(biāo)志等)和處理器的狀態(tài), 這些特征和狀態(tài)可以作為控制程序轉(zhuǎn)移的條件。算術(shù)/邏輯運(yùn)算單元ALU由加法器和相應(yīng)的控制邏輯電路組成。它能分別對(duì)來自兩個(gè)暫存器數(shù) 據(jù)源的兩個(gè)操作數(shù)進(jìn)行加、減、與、或等運(yùn)算,還能進(jìn)行數(shù)據(jù)的移位。ALU進(jìn)行何種運(yùn)算由控制器發(fā)出的命令確定,運(yùn)算后的結(jié)果經(jīng)數(shù)據(jù)總線送至累加器A,同時(shí)影響標(biāo)志寄存器F的狀態(tài)。(2)控制器:計(jì)算機(jī)的控制器由指

5、令寄存器IR、指令譯碼器ID、定時(shí)及控制邏輯電路和程序 計(jì)數(shù)器PC等組成,它控制使計(jì)算機(jī)各部分自動(dòng)、協(xié)調(diào)地工作??刂破靼凑罩付ǖ捻樞驈某绦虼鎯?chǔ) 器中取出指令進(jìn)行譯碼并根據(jù)譯碼結(jié)果發(fā)出相應(yīng)的控制信號(hào),從而完成該指令所規(guī)定的任務(wù)。指令寄存器IR用來保存當(dāng)前正在執(zhí)行的一條指令。要執(zhí)行一條指令,首先要把它從程序存儲(chǔ) 器中取到指令寄存器中。指令的內(nèi)容包括操作碼和操作數(shù)(或操作數(shù)的地址碼)兩部分。操作碼送到指令譯碼器ID,經(jīng)譯碼后確定所要執(zhí)行的操作;操作數(shù)的地址碼也要送到操作數(shù)地址形成電路 以便形成真正的操作數(shù)地址。定時(shí)及控制邏輯電路是CPU的核心部件。它的任務(wù)有控制取指令、執(zhí)行指令、存取操作數(shù)或 運(yùn)算結(jié)

6、果等操作,向其他部件發(fā)出控制信號(hào),協(xié)調(diào)各部件的工作。程序計(jì)數(shù)器PC也叫指令地址計(jì)數(shù)器。計(jì)算機(jī)的程序是有序地存儲(chǔ)在程序存儲(chǔ)器中的各種指 令的集合。計(jì)算機(jī)運(yùn)行時(shí),按順序取出程序存儲(chǔ)器中的指令并逐一執(zhí)行。程序計(jì)數(shù)器PC指出當(dāng)前要執(zhí)行的指令的地址。每當(dāng)指令取出后,PC的內(nèi)容自動(dòng)加1 (除轉(zhuǎn)移指令外),從而指向按序排列的下一條指令的地址。若遇到轉(zhuǎn)移指令(JMP)、子程序調(diào)用指令(CALL)或返回指令(RET)時(shí),這些指令會(huì)把要執(zhí)行的下一條指令的地址直接置入PC中,PC的內(nèi)容才會(huì)突變。程序計(jì)數(shù)器PC的位數(shù)決定了微處理器所尋址的存儲(chǔ)器空間。(3)寄存器組:寄存器組作為 CPU內(nèi)部的暫存單元至關(guān)重要,它是 C

7、PU處理數(shù)據(jù)所必需的 一個(gè)存取空間,其多少直接影響著微機(jī)系統(tǒng)處理數(shù)據(jù)的能力和速度。2)存儲(chǔ)器存儲(chǔ)器是計(jì)算機(jī)存放程序或數(shù)據(jù)的器件,它由若干存儲(chǔ)單元組成。存儲(chǔ)器有兩個(gè)指標(biāo):存儲(chǔ) 容量是指存儲(chǔ)器所能存放的最大字節(jié)數(shù),每個(gè)存儲(chǔ)單元按順序都有一個(gè)惟一的編號(hào),即存儲(chǔ)地址; 存取時(shí)間是指存儲(chǔ)器存取一次數(shù)據(jù)所需要的時(shí)間, 在某種程度上,它決定著計(jì)算機(jī)系統(tǒng)的運(yùn)行速 度。存儲(chǔ)器又分內(nèi)存儲(chǔ)器和外存儲(chǔ)器。存放程序的存儲(chǔ)器采用只讀存儲(chǔ)器( ROM);存放輸入/輸 出數(shù)據(jù)或中間結(jié)果的存儲(chǔ)器采用隨機(jī)存儲(chǔ)器(RAM)。在實(shí)驗(yàn)系統(tǒng)中使用的EEPROM2864、 SRAM6264都是存儲(chǔ)器芯片。3)輸入設(shè)備輸入設(shè)備用于把程序和數(shù)

8、據(jù)輸入到計(jì)算機(jī)中。常用的輸入設(shè)備有鍵盤、鼠標(biāo)、光電輸入機(jī)等。4)輸出設(shè)備輸出設(shè)備用于把計(jì)算機(jī)數(shù)據(jù)計(jì)算或數(shù)據(jù)處理的結(jié)果,以用戶需要的形式顯示或打印出來。常用 的輸出設(shè)備有打印機(jī)、顯示器、繪圖儀等。計(jì)算機(jī)用于控制時(shí),輸入輸出信息還包括現(xiàn)場的各種信息和控制命令。軟件系統(tǒng)和硬件系統(tǒng)共同構(gòu)成完整的微型機(jī)系統(tǒng),兩者相輔相成,缺一不可。2 .單片微型計(jì)算機(jī)前面已經(jīng)提到:單片微型計(jì)算機(jī)簡稱單片機(jī),它是指把組成微型計(jì)算機(jī)的各功能部件集成在一 個(gè)芯片上構(gòu)成一個(gè)完整的微型機(jī),從而實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能。單片機(jī)實(shí)質(zhì)上是一個(gè)芯片,在 實(shí)際應(yīng)用中通常很難直接把單片機(jī)和受控對(duì)象進(jìn)行電氣連接,而是必須外加各種擴(kuò)展接口電路以

9、至外部設(shè)備,連同受控對(duì)象和單片機(jī)程序軟件構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。圖1-3微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)示意圖圖 1-4單片機(jī)內(nèi)部結(jié)構(gòu)示意圖1.1.2MCS-51系列單片機(jī)Intel公司于1976年推出了 MCS-48系列單片機(jī),于1980年推出了 MCS-51系列單片機(jī),于1983 年推出了 MCS-96系列單片機(jī)。1 . MCS-51系列單片機(jī)MCS-51系列單片機(jī)是一種高性能的8位單片機(jī),它是在 MCS-48系列單片機(jī)的基礎(chǔ)上推出的 第二代單片機(jī)。具典型產(chǎn)品為8051,封裝為40引腳。芯片內(nèi)部集成有:一個(gè)8位的微處理器(CPU)4KB的程序存儲(chǔ)器128B的數(shù)據(jù)存儲(chǔ)器64KB的片外程序存儲(chǔ)器尋址能力64

10、KB的片外數(shù)據(jù)存儲(chǔ)器尋址能力32根輸入/輸出線1個(gè)全雙工異步串行口2個(gè)16位定時(shí)/計(jì)數(shù)器,:''.5個(gè)中斷源,2個(gè)優(yōu)先級(jí)MCS-51系列單片機(jī)按片內(nèi)有無程序存儲(chǔ)器及程序存儲(chǔ)器的形式分為三種基本產(chǎn)品:8051、8751和 8031。1.2MCS-51單片機(jī)結(jié)構(gòu)和原理1.2.1 MCS-51單片機(jī)的引腳及內(nèi)部結(jié)構(gòu)I J對(duì)于一個(gè)單片機(jī)應(yīng)用系統(tǒng)的開發(fā)設(shè)計(jì)者,熟悉并掌握單片機(jī)的硬件結(jié)構(gòu)是十分重要的,這里從 實(shí)際需要出發(fā),只介紹與程序設(shè)計(jì)和系統(tǒng)擴(kuò)展應(yīng)用有關(guān)的內(nèi)容。1 . 89C51的外部引腳89C51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片。 按其功能可分為電源、時(shí)鐘、控制和I/O 1)電源

11、引腳VCC:芯片主電源,外接+5V; GND:電2)時(shí)鐘引腳XTAL1與XTAL2為內(nèi)部振蕩器的兩條引3)控制引腳(1) ALE/ PROG :地址鎖存控制信號(hào)/編在擴(kuò)展系統(tǒng)時(shí),ALE用于控制把P0 口輸鎖存起來,以實(shí)現(xiàn)低8位地址和數(shù)據(jù)的隔離, 地址復(fù)用口線。當(dāng)訪問單片機(jī)外部程序或數(shù)據(jù) I/O 口時(shí),ALE輸出脈沖的下降沿用于低8位 號(hào);即使不訪問單片機(jī)外部程序或收據(jù)存儲(chǔ)器 ALE端仍以晶振頻率的1/6輸出正脈沖信號(hào), 部時(shí)鐘或外部定時(shí)信號(hào)使用。但應(yīng)注意,此時(shí)圖1-689C51弓I腳接口四大部分:源地線。出線。程脈沖輸入端 出的低8位地址 P0 口作為數(shù)據(jù) 存儲(chǔ)器或外接 地址的鎖存信 或外接I

12、/O 口, 因此可作為外 不能訪問單片 端可以驅(qū)動(dòng)8個(gè)機(jī)外部程序、數(shù)據(jù)存儲(chǔ)器或外設(shè)I/O接口。ALE TTL負(fù)載。對(duì)于EEPROM型單片機(jī)(89C51)或EPROM型單片機(jī)(8751),在EEPROM或EPROM編 程期間,該引腳用來輸入一個(gè)編程脈沖。(2) PSEN:片外程序存儲(chǔ)器讀選通有效信號(hào)在CPU向片外程序存儲(chǔ)器讀取指令和常數(shù)時(shí),每個(gè)機(jī)器周期PSEN兩次低電平有效。但在此期問,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器或I/O接口時(shí),該 M兩次低電平有效信號(hào)將不出現(xiàn)。PSEN端可以 驅(qū)動(dòng)8個(gè)TTL負(fù)載。(3) EA/VPP:訪問程序存儲(chǔ)器控制信號(hào)/編程電源輸入端當(dāng)該引腳EA信號(hào)為低電平時(shí),只訪問片外程序存

13、儲(chǔ)器,不管片內(nèi)是否有程序存儲(chǔ)器;當(dāng)該引腳為高電平時(shí),單片機(jī)訪問片內(nèi)的程序存儲(chǔ)器。但對(duì) AT89C51來說,當(dāng)PC (程序計(jì)數(shù)器)值超出4K地址時(shí),自動(dòng)轉(zhuǎn)到片外程序存儲(chǔ)器 1000H開始順序讀取指令。對(duì)于EEPROM型單片機(jī)(89C51)或EPROM型單片機(jī)(8751),在EEPROM或EPROM編 程期間,該引腳用于施加一個(gè)+12V或+21V的電源。(4) RST/VPD:復(fù)位/掉電保護(hù)信號(hào)輸入端當(dāng)振蕩器運(yùn)行時(shí),在該引腳加上一個(gè) 2個(gè)機(jī)器周期以上的高電平信號(hào),就能使單片機(jī)回到初始 狀態(tài),即進(jìn)行復(fù)位。掉電期間,該引腳可接上備用電源(VPD)以保持內(nèi)部RAM的數(shù)據(jù)。4) I/O引腳P0 口(P0.

14、0P0.7) : 8位雙向并行I/O接口。擴(kuò)展片外存儲(chǔ)器或I/O 口時(shí),作為低8位地址 總線和8位數(shù)據(jù)總線的分時(shí)復(fù)用接口,它為雙向三態(tài)。P1 口(P1.0P1.7) : 8位準(zhǔn)雙向并行I/O接口。P1 口每一位都可以獨(dú)立設(shè)置成輸入輸出位。P2 口(P2.0P2.7) : 8位準(zhǔn)雙向并行I/O接口。擴(kuò)展外部數(shù)據(jù)、程序存儲(chǔ)器時(shí),作為高 8位 地址輸出端口。P3口(P3.0P3.7 ): 8位準(zhǔn)雙向并行I/O接口。除了與P1 口有一樣的功能外,每一個(gè) 引腳還兼有第二功能。以上是把MSC-51單片機(jī)芯片全部40個(gè)信號(hào)引腳的定義及功能作一簡單說明。2. 89C51的內(nèi)部結(jié)構(gòu)89C51單片機(jī)由運(yùn)算器和控制

15、器組成的微處理器、片內(nèi)存儲(chǔ)器 RAM/ROM、P0P3組成的I/O 端口以及各種存儲(chǔ)器組成的特殊功能寄存器 SFR和串行接口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、振蕩器等 構(gòu)成。下面介紹其各構(gòu)成部分的基本含義。1) 89C51的微處理器(CPU)微處理器是單片機(jī)的核心部分,完成運(yùn)算和控制功能。 89C51的CPU能處理8位二進(jìn)數(shù)或代 碼,它由運(yùn)算器(包括算術(shù)/邏輯運(yùn)算單元ALU、累加器A、寄存器B、暫存寄存器、程序狀態(tài)字 寄存器PSW)、控制器(包括指令寄存器IR、指令譯碼器ID、定時(shí)及控制邏輯電路)、程序計(jì)數(shù) 器PC等組成。2) 89C51的內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部 RAM)89C51芯片中共有256個(gè)RA

16、M單元,但其中高128單元被專用寄存器SFR占用,能作為寄存 器供用戶使用的只是低128單元,地址范圍是00H7FH,用于存放可讀寫的數(shù)據(jù)。因此通常所說 的內(nèi)部數(shù)據(jù)存儲(chǔ)器是指低128單元,簡稱內(nèi)部RAM 03) 89C51的內(nèi)部程序存儲(chǔ)器(內(nèi)部 ROM)89C51芯片中共有4KBFPEROM,地址范圍是0000H0FFFH,用于存放程序、原始數(shù)據(jù)或表 格,因此稱之為程序存儲(chǔ)器,簡稱內(nèi)部 ROM o4)定時(shí)/計(jì)數(shù)器89C51芯片中共有兩個(gè)16位的定時(shí)/計(jì)數(shù)器以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果實(shí) 現(xiàn)控制功能。精心整理5)并行I/O 口89C51芯片中共有4個(gè)8位的I/O 口(P0、P1、P

17、2、P3)以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出。本書在 實(shí)訓(xùn)1中已經(jīng)使用了 P1 口,通過P1 口連接8個(gè)發(fā)光二極管。6)用行口89C51單片機(jī)有一個(gè)全雙工的用行口以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。該用行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。7)中斷控制系統(tǒng)MCS-51系列單片機(jī)的中斷功能較強(qiáng)以滿足控制應(yīng)用的需要。89C51共有5個(gè)中斷源,即外中斷兩個(gè)、定時(shí)/計(jì)數(shù)中斷兩個(gè)、串行中斷一個(gè)。全部中斷分為高級(jí)和低級(jí)兩個(gè)優(yōu)先級(jí)別。8)時(shí)鐘電路89C51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路位單片機(jī)產(chǎn)生時(shí)鐘脈 沖序列。系統(tǒng)允許的晶振頻率一般為 6MHz1

18、2MHz。從上述內(nèi)容可以看出,MCS-51雖然是一個(gè)單片機(jī)芯片,但作為計(jì)算機(jī)應(yīng)該具有的基本部件它 都包括,因此,實(shí)際上它已屬于一個(gè)簡單的微型計(jì)算機(jī)系統(tǒng)了。1.2.2MCS-51單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器1, -I-*存儲(chǔ)器功能是存儲(chǔ)信息一一程序和數(shù)據(jù)。存儲(chǔ)器按其存取方式可以分成兩大類,一類是隨機(jī)存 取存儲(chǔ)器(RAM);另一類是只讀存儲(chǔ)器(ROM)。對(duì)于RAM, CPU在運(yùn)行過程中能隨時(shí)進(jìn)行寫入和讀出, 但在關(guān)閉電源時(shí),其存儲(chǔ)信息將丟失, 所以它只能用來存放暫時(shí)性的輸入/輸出數(shù)據(jù)、運(yùn)算的中間結(jié)果或用作堆棧。因此, RAM常被稱作 數(shù)據(jù)存儲(chǔ)器。ROM是一種寫入信息后不能改寫只能讀出的存儲(chǔ)器,斷電后,其

19、信息仍保留不變。ROM用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。所以,ROM常被稱作程序存儲(chǔ)器。MCS-51單片機(jī)的芯片內(nèi)部包含數(shù)據(jù)存儲(chǔ)器(RAM)和程序存儲(chǔ)器(ROM)兩類存儲(chǔ)器。下文 先介紹內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)。1 .內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM )的地址分配內(nèi)部RAM共有256個(gè)單元,通常把256個(gè)單元按其功能劃分為兩部分:低 128字節(jié)(00H 7FH) RAM 和高 128 字節(jié)(80H FFH)。2 .內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM )低128單元內(nèi)部數(shù)據(jù)存儲(chǔ)器的低128單元(00H7FH)是真正的RAM存儲(chǔ)器,按其用途劃分為工作寄 存器區(qū)、位尋址區(qū)和用戶 RAM區(qū)三個(gè)區(qū)域。1)

20、寄存器區(qū)共有4組寄存器,每組8個(gè)寄存單元,各單元8位,每組的8個(gè)寄存單元都以R0R7作為寄 存單元的編號(hào)。寄存器常用于存放操作數(shù)及中間結(jié)果, 由于它們的功能及使用不作預(yù)先規(guī)定, 因此 稱為通用寄存器,有時(shí)也叫工作寄存器。 4組通用寄存器占據(jù)內(nèi)部RAM的00H1F單元地址。在任一時(shí)刻,CPU只能使用四組寄存器中的一組寄存器, 并且把正在使用的那組寄存器稱之為 當(dāng)前寄存器組。到底是哪一組,由程序狀態(tài)字寄存器 PSW中的RS1、RS0的狀態(tài)組合來決定(見 SFR 中的 PSW)。通用寄存器為CPU提供了就近存儲(chǔ)數(shù)據(jù)的功能,有利于提高單片機(jī)的運(yùn)算速度。止匕外,使用 通用寄存器還能提高程序編制的靈活性,

21、 因此在單片機(jī)的應(yīng)用編程中應(yīng)充分地利用這些寄存器,以簡化程序設(shè)計(jì),提高程序運(yùn)行速度。2)位尋址區(qū)內(nèi)部RAM的20H2FH單元,既可以作為一般的 RAM單元,進(jìn)行字節(jié)操作,也可以對(duì)單元 中每一位進(jìn)行位操作,因此把該區(qū)稱為位尋址區(qū)。位尋址區(qū)共有16個(gè)RAM單元字節(jié),計(jì)128位,各位地址位00H7FH。MCS-51具有布爾處理機(jī)的功能,位尋址區(qū)可以構(gòu)成布爾處理機(jī)的存儲(chǔ)空 問。這種位尋址區(qū)能力是 MCS-51的一個(gè)重要特點(diǎn),表1-4為位尋址區(qū)的位地址表。3)用戶RAM區(qū)在內(nèi)部RAM的128個(gè)單元中,通用寄存器占了 32個(gè)單元,位尋址區(qū)占了 16個(gè)單元,剩下80 個(gè)單元,這就是供用戶使用的一般 RAM區(qū)

22、,其單元地址為30H7FH。對(duì)用戶RAM區(qū)的使用沒有任何規(guī)定和限制,但在實(shí)際使用中,常需在 RAM區(qū)設(shè)置堆棧。這 在編程中使用RAM單元時(shí)應(yīng)特別注意,不要和棧區(qū)單元混淆。3 .內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)高128單元內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)高128單元是供給專用寄存器使用的,其單元地址為 80HFFH。但 這21個(gè)專用寄存器的地址分散地分布在 80HFFH的地址空間中,只占用了高128單元中的21 個(gè)單元。因這些寄存器的功能已作專門規(guī)定,故稱之為專用寄存器( SpecialFunctionRegisteD ,也 可稱之為特殊功能寄存器。1)特殊功能寄存器(SPR)簡介8051/89C51共有21個(gè)

23、專用寄存器,現(xiàn)把其中部分寄存器簡單介紹如下:(1)程序計(jì)數(shù)器(ProgramCounter; PC) PC是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的 執(zhí)行順序,其內(nèi)容為下一條要執(zhí)行的指令的地址,尋址范圍達(dá)64KB。PC有自動(dòng)加1的功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶無法對(duì)它進(jìn)行讀 /寫操作,但可以 通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在SFR (專用寄存器)內(nèi),一般不計(jì)作專用寄存器。(2)累加器(Accumulator, ACC)累加器為8位寄存器,是最常用的專用寄存器,功能較多, 地位重要。它既可用于存放操作數(shù),也可用來存放運(yùn)算的中間

24、結(jié)果。MCS-51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。(3) B寄存器B寄存器也是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時(shí),B存乘數(shù),乘法操作后,乘積的高8位存于B中;除法運(yùn)算時(shí),B存除數(shù),除法操作后,余數(shù)存于 B中。此 外,B寄存器也可作為一般寄存器使用。(4)程序狀態(tài)字(ProgramStatusWord PSW)程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序 運(yùn)行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動(dòng)設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。PSW的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。一些條 件轉(zhuǎn)

25、移指令根據(jù)PSW某些位的狀態(tài)進(jìn)行程序轉(zhuǎn)移。位或復(fù)位,用于控制程序的轉(zhuǎn)向。(5)數(shù)據(jù)指針(DPTR)數(shù)據(jù)指針為16位寄存器。(6)堆棧指針(StackPointer, SP)堆棧是一個(gè)特殊的存儲(chǔ)區(qū),用來暫存數(shù)據(jù)和地址,它是按 “先進(jìn)后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。2)特殊功能寄存器中的字節(jié)尋址和位尋址MCS-51系列單片機(jī)有21個(gè)可尋址的專用寄存器,其中有11個(gè)專用寄存器是可以位尋址的。對(duì)專用寄存器的字節(jié)尋址問題作如下幾點(diǎn)說明:(1) 21個(gè)可字節(jié)尋址的專用寄存器不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。(2)程序寄數(shù)器PC不占據(jù)R

26、AM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。(3)對(duì)專用寄存器只能使用直接的尋址方式,書寫時(shí)既可使用寄存器符號(hào),也可使用寄存器 單元地址。全部專用寄存器可位尋址的位共 83位,這些位都具有專門的定義和用途。這樣,加上位尋址的128位,在MCS-51的內(nèi)部RAM中共有128+83=211個(gè)可尋址位。精心整理1.2.3MCS-51單片機(jī)的內(nèi)部程序存儲(chǔ)器8051片內(nèi)有4KB的ROM , 8751片內(nèi)有4KB的EPROM, 8031片內(nèi)無程序存儲(chǔ)器。 MCS-51 的片外最多能擴(kuò)張64KB程序存儲(chǔ)器,片內(nèi)外的ROM是統(tǒng)一編址的。1.3 MCS-51單片機(jī)的并行端口單片機(jī)芯片內(nèi)還有一項(xiàng)主要內(nèi)容

27、即并行 I/O 口。MCS-51共有4個(gè)8位的I/O 口,分別記作P0、 P1、P2、P3。每個(gè)口都包含一個(gè)鎖存器、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。1.4 時(shí)鐘電路與復(fù)位電路時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的 相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路, 為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在惟 一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。1.4.1 時(shí)鐘電路與時(shí)序1 .時(shí)鐘電路1)時(shí)鐘電路的產(chǎn)生在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1 ,輸出端為引腳XTAL2。在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和

28、微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定 的自激振蕩器,即單片機(jī)的時(shí)鐘電路。如圖 1-15所示。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。請(qǐng)讀者 特別注意時(shí)鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會(huì)造成概念上的錯(cuò)誤。一般地,電容C1和C2取30pF左右,晶體的振蕩頻率范圍是 2MHz12MHz。晶體振蕩頻率 高,則系統(tǒng)的時(shí)鐘頻率也高,從而單片機(jī)運(yùn)行速度也就快。通常情況下,MCS-51的應(yīng)用振蕩頻率為 6MHz 或 12MHz 02)引入外部脈沖信號(hào)在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號(hào)的同步,應(yīng)當(dāng)引入惟一的公用外部 脈沖信號(hào)作為單片機(jī)的振蕩脈沖。2 .時(shí)序時(shí)序是用定時(shí)單位來說明的。MCS-51的時(shí)序單位共有4個(gè),從小到大依次是:節(jié)拍、狀態(tài)、 機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論