![《單片機應(yīng)用技術(shù)》課件第1章_第1頁](http://file4.renrendoc.com/view14/M08/36/2A/wKhkGWdX5nmAD_koAAPSMBSII4w064.jpg)
![《單片機應(yīng)用技術(shù)》課件第1章_第2頁](http://file4.renrendoc.com/view14/M08/36/2A/wKhkGWdX5nmAD_koAAPSMBSII4w0642.jpg)
![《單片機應(yīng)用技術(shù)》課件第1章_第3頁](http://file4.renrendoc.com/view14/M08/36/2A/wKhkGWdX5nmAD_koAAPSMBSII4w0643.jpg)
![《單片機應(yīng)用技術(shù)》課件第1章_第4頁](http://file4.renrendoc.com/view14/M08/36/2A/wKhkGWdX5nmAD_koAAPSMBSII4w0644.jpg)
![《單片機應(yīng)用技術(shù)》課件第1章_第5頁](http://file4.renrendoc.com/view14/M08/36/2A/wKhkGWdX5nmAD_koAAPSMBSII4w0645.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章單片機硬件系統(tǒng)實訓(xùn)1信號燈的控制11.1概述1.2MCS-51系列單片機結(jié)構(gòu)和原理1.3并行I/O口電路結(jié)構(gòu)1.4時鐘電路與復(fù)位電路本章小結(jié)習(xí)題1實訓(xùn)1信號燈的控制1
1.實訓(xùn)目的通過最簡單的應(yīng)用系統(tǒng)實例了解單片機的基本工作過程。
2.實訓(xùn)設(shè)備與器件
(1)實訓(xùn)設(shè)備:計算機、單片機仿真器、實驗板。
(2)實訓(xùn)器件與電路:器件包括AT89C51、74LS240、8個發(fā)光二極管、8個1kΩ電阻,電路如圖1.1所示。圖1.1硬件電路圖
3.實訓(xùn)步驟及要求
(1)連接電路。首先將計算機、單片機仿真器及實驗板連接起來(參照圖1.1)。這一步是使用單片機開發(fā)系統(tǒng)的必需步驟。然后再將AT89C51的P1口與8個發(fā)光二極管一一連接(實訓(xùn)電路中74LS240為反相驅(qū)動器)。注意仿真器和實驗板電源的正確連接。
(2)輸入源程序。新建源文件,并輸入源程序。保存文件時,程序名后綴應(yīng)為.asm,例如LED1.asm。注意,源程序中分號后面的文字為說明文字,輸入時可以省略。機器碼 地址 源程序
ORG 0000H
;表示程序從地址0000H開始存放7590000000H
START: MOVP1,#00H
;點亮所有發(fā)光二極管1107 0003H ACALL DELAY
;延時一段時間,便于觀察7590FF0005H MOV P1,#0FFH
;滅掉所有發(fā)光二極管1102 0008H ACALLDELAY;延時80F4 000AH
SJMP START
;返回,從START開始重復(fù)7BC8 000CH
DELAY:MOVR3,#200;一段延時子程序7CFA000EHDEL2:MOVR4,#25000 0010HDEL1:NOP00 0011HNOPDCFC0012H DJNZ R4,DEL1DBF80014HDJNZ R3,DEL222 0016H RET ;子程序返回END ;程序結(jié)束上述程序由以下部分組成:左邊兩列是一組十六進制數(shù)——?機器碼和機器碼所在存儲器中的地址(0000H~0016H)。機器碼是計算機可以識別的語言。這兩列是我們寫入單片機內(nèi)部存儲器的內(nèi)容,表示的是一段程序。
(3)對源程序進行匯編和裝載。在調(diào)試軟件時完成以下操作:
將匯編語言源程序進行匯編(Assemble),生成十六進制文件。
將匯編后生成的十六進制文件裝載(Load)到單片機開發(fā)系統(tǒng)的仿真RAM中。
(4)運行及調(diào)試程序:
運行(Execute)程序,觀察實驗板上8個發(fā)光二極管的亮滅狀態(tài)。
單步運行(Step)程序,觀察每一條指令運行后實驗板上8個發(fā)光二極管的亮滅狀態(tài)。
(5)脫機運行程序。將寫好程序的AT89C51芯片插入實訓(xùn)電路板的相應(yīng)位置(固化程序的具體操作過程可參見相應(yīng)的說明書),接上電源啟動運行,觀察8個發(fā)光二極管的亮滅狀態(tài)。
4.實訓(xùn)分析與總結(jié)
(1)實訓(xùn)結(jié)果:實訓(xùn)電路板中的8個發(fā)光二極管按照全亮、全滅的規(guī)律不停地循環(huán)變化。
(2)本實訓(xùn)所涉及的電路參見圖1.1。單片機芯片AT89C51的1~8引腳通過集成芯片74LS240(8個非門)接到8個發(fā)光二極管上,8個發(fā)光二極管的陽極在各接一個限流電阻后接+5V電源,陰極連在一起接地。單片機的這8個引腳對應(yīng)其內(nèi)部的一個并行I/O口——P1口。有關(guān)P1口的具體結(jié)構(gòu)在本章1.3.2小節(jié)介紹。這是本實訓(xùn)所涉及的硬件部分。從圖1.1可見,當(dāng)P1口的某個引腳為低電平時,發(fā)光二極管變亮;當(dāng)P1口的某個引腳為高電平時,發(fā)光二極管熄滅。這樣我們可以通過向P1口寫入一個8位二進制數(shù)來改變每個管腳的電平狀態(tài),而向P1口寫入數(shù)據(jù)可以通過相應(yīng)指令來實現(xiàn)。實訓(xùn)程序中的第一條指令MOVP1,#00H(其中?#?表示其后面為常數(shù),H表示其前面的常數(shù)為十六進制數(shù),寫成二進制形式為#00000000B,B表示二進制數(shù)),對應(yīng)機器碼為75H、90H、00H,表示將00H的數(shù)據(jù)送給P1口。P1口的8個管腳狀態(tài)與寫入數(shù)據(jù)之間的關(guān)系如下:寫入數(shù)據(jù)位 D7D6D5D4D3D2D1D0 0
00000
00對應(yīng)P1口管腳名稱P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0管腳電平狀態(tài)低 低低低低低低低發(fā)光二極管狀態(tài)亮亮亮亮亮亮亮亮所以,在通電運行后,發(fā)光二極管會出現(xiàn)全亮的狀態(tài)。同理,當(dāng)執(zhí)行程序中的第三條指令MOVP1,#0FFH(即#11111111B)時,發(fā)光二極管會全滅。由此可見,我們可以通過程序來完成對硬件電路的控制。
(3)實訓(xùn)中,我們可以借用仿真器來調(diào)試程序,也可以事先將程序(機器碼)正確地固化到一個單片機芯片(如AT89C51)中,然后把AT89C51芯片插入實驗板,接上電源后發(fā)光二極管就會按照既定的規(guī)律點亮。這說明,AT89C51中的CPU能將寫入到芯片內(nèi)ROM的內(nèi)容依次讀出,并且送入到單片機內(nèi)部完成相應(yīng)的功能,而這一切工作都是在單片機CPU的控制下來實現(xiàn)的,也就是說單片機在執(zhí)行機器碼。
(4)從本實訓(xùn)可見,單片機芯片內(nèi)部具有一定容量的片內(nèi)程序存儲器,也有連接外部設(shè)備的端口。單片機到底都具有哪些功能?它是如何工作的?這些就是本章重點討論的內(nèi)容。1.1概述1.1.1單片機及單片機應(yīng)用系統(tǒng)
1.微型計算機及微型計算機系統(tǒng)微型計算機(Microcomputer)簡稱微機,是計算機的一個重要分類。人們通常按照計算機的體積、性能和應(yīng)用范圍等條件,將計算機分為巨型機、大型機、中型機、小型機和微型機等。微型計算機不但具有其它計算機快速、精確、程序控制等特點,而且還具有體積小、重量輕、功耗低、價格便宜等優(yōu)點。個人計算機簡稱PC(PersonalComputer)機,是微型計算機中應(yīng)用最為廣泛的一種,也是近年來計算機領(lǐng)域中發(fā)展最快的一個分支。PC機在性能和價格方面適合個人用戶購買和使用,目前,它已經(jīng)像普通家電一樣深入到了家庭和社會生活的各個方面。微型計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中,運算器和控制器一般做在一個集成芯片上,統(tǒng)稱為中央處理單元(CentralProcessingUnit,簡稱CPU),是微機的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設(shè)備即構(gòu)成微機的硬件系統(tǒng)。軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱。人們通過它對微機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的意圖完成預(yù)定的任務(wù)。微型計算機系統(tǒng)組成示意圖如圖1.2所示。圖1.2微型計算機系統(tǒng)組成示意圖下面對組成計算機的5個基本部件作簡單說明。
(1)運算器。運算器是計算機的運算部件,用于實現(xiàn)算術(shù)和邏輯運算。計算機的數(shù)據(jù)運算和處理都在這里進行。
(2)控制器??刂破魇怯嬎銠C的指揮控制部件,它使計算機各部分自動、協(xié)調(diào)地工作。
(3)存儲器。存儲器是計算機的記憶部件,用于存放程序和數(shù)據(jù)。存儲器分為內(nèi)存儲器和外存儲器,同時又有RAM和ROM之分。
(4)輸入設(shè)備。輸入設(shè)備用于將程序和數(shù)據(jù)輸入到計算機中。鍵盤就是一種輸入設(shè)備。
(5)輸出設(shè)備。輸出設(shè)備用于把計算機數(shù)據(jù)計算或加工的結(jié)果,以用戶需要的形式顯示或打印出來。顯示器、打印機等都屬于輸出設(shè)備。通常把外存儲器、輸入設(shè)備和輸出設(shè)備合在一起稱為計算機的外部設(shè)備,簡稱外設(shè)。
2.單片微型計算機單片微型計算機(簡稱單片機)是指集成在一個芯片上的微型計算機,它的各種功能部件,如CPU(CentralProcessingUnit)、隨機存取存儲器RAM(RandomAccessMemory)、只讀存儲器ROM(Read-onlyMemory)、基本輸入/輸出(I/O)接口電路、定時器/計數(shù)器等都制作在一塊集成芯片上,構(gòu)成一個完整的微型計算機,可以實現(xiàn)微型計算機的基本功能。單片機內(nèi)部結(jié)構(gòu)示意圖如圖1.3所示。圖1.3單片機內(nèi)部結(jié)構(gòu)示意圖
3.單片機應(yīng)用系統(tǒng)及組成單片機應(yīng)用系統(tǒng)是以單片機為核心,配以輸入、輸出、顯示、控制等外圍電路和軟件,能實現(xiàn)一種或多種功能的實用系統(tǒng)。與本書配套的單片機組合教具實驗箱也是一個單片機的應(yīng)用系統(tǒng),它除了主板(單片機最小應(yīng)用系統(tǒng))以外,還有許多的擴展應(yīng)用電路板,利用它再配以后續(xù)章節(jié)的一系列實訓(xùn)項目,便可以完成很多功能。所以說,單片機應(yīng)用系統(tǒng)是由硬件和軟件組成的,硬件是應(yīng)用系統(tǒng)的基礎(chǔ),軟件則在硬件的基礎(chǔ)上對其資源進行合理調(diào)配和使用,從而完成應(yīng)用系統(tǒng)所要求的任務(wù),二者相互依賴,缺一不可。單片機應(yīng)用系統(tǒng)的組成如圖1.4所示。圖1.4單片機應(yīng)用系統(tǒng)的組成單片機應(yīng)用系統(tǒng)的設(shè)計人員必須從硬件和軟件兩個角度來深入了解單片機,只有將二者有機結(jié)合起來,才能形成具有特定功能的應(yīng)用系統(tǒng)或整機產(chǎn)品。自從1974年美國Fairchild公司研制出第一臺單片機F8之后,迄今為止,單片機經(jīng)歷了由4位機到8位機再到16位機、32位機的發(fā)展過程。單片機制造商很多,主要有美國的Intel、Motorola、Zilog、Atmel等公司。目前,單片機正朝著高性能、多品種方向發(fā)展。近年來,32位單片機已進入了實用階段,但是由于8位單片機在性能價格比上占有優(yōu)勢,而且8位增強型單片機在速度和功能上并不遜色于16位單片機,因此在未來相當(dāng)長的時期內(nèi),8位單片機仍是單片機的主流機型。1.1.2MCS-51單片機系列
1.Intel公司的MCS-51系列單片機
Intel公司可以說是MCS-51系列單片機的“開山鼻祖”,正是Intel公司的8031單片機開創(chuàng)了MCS-51單片機時代。
8031單片機的技術(shù)特點如下:
(1)基于MCS-51核的處理器結(jié)構(gòu)。
(2)?32個I/O引腳。
(3)?2個計數(shù)/定時器。
(4)分為2個優(yōu)先級的5個中斷源。
(5)?128字節(jié)的內(nèi)部數(shù)據(jù)存儲器(RAM)。
MCS-51單片機片內(nèi)的程序存儲器有三種配置形式,即無ROM、掩膜ROM和EPROM。這三種配置形式對應(yīng)三種不同的單片機芯片(8031、8051和8751),它們各有特點,也各有其適用場合,在使用時應(yīng)根據(jù)需要進行選擇。一般情況下,片內(nèi)帶掩膜ROM的單片機適用于大批量定型產(chǎn)品;片內(nèi)帶EPROM的單片機適用于研制產(chǎn)品樣機;片內(nèi)無ROM的單片機必須外接EPROM才能工作。Intel公司還推出了片內(nèi)帶EEPROM的單片機,可以在線寫入程序。
2.Atmel公司的MCS-51系列單片機
1)?AT89C51單片機
AT89C51的資源如下:
(1)?4KB的內(nèi)部Flash程序存儲器,可實現(xiàn)3個級別的程序存儲器保護功能。
(2)?128字節(jié)的內(nèi)部數(shù)據(jù)存儲器。
(3)?32個可編程I/O引腳。
(4)?2個16位計數(shù)/定時器。
(5)?5個中斷源,2個優(yōu)先級別。
(6)?1個可編程的串行通信口。
2)?AT89C2051單片機
AT89C2051單片機是另外一種使用非常多的單片機,因其功耗低、體積小等特點而被廣大用戶所選。此外,AT89C2051單片機還有很多獨特的結(jié)構(gòu)和功能,例如具有LED驅(qū)動電路、電壓比較器等。AT89C2051有兩種可編程的電源管理模式:空閑模式,該模式下CPU停止工作,但是RAM、計數(shù)器/定時器、串行口和中斷系統(tǒng)仍然工作;斷電模式,該模式下保存了RAM的內(nèi)容,但是凍結(jié)了其它部分的內(nèi)容,直至被再次重啟。AT89C2051有DIP20和SOIC20兩種封裝形式,其技術(shù)參數(shù)如下:
(1)?2KB的程序存儲器,2個級別的程序存儲器保護功能。
(2)?128字節(jié)的內(nèi)部數(shù)據(jù)存儲器。
(3)?15個可編程I/O引腳,可以作直接的LED驅(qū)動。
(4)?2個16位計數(shù)/定時器。
(5)?6個中斷源,2個優(yōu)先級別。
(6)?1個全雙工的串行口。
(7)片上電壓比較控制器。
(8)工作電壓為2.7~6V。
3)?AT89S51單片機
AT89S51單片機是Atmel公司推出的一款在系統(tǒng)可編程(InSystemProgrammed,ISP)單片機。通過相應(yīng)的ISP軟件,用戶可對該單片機Flash程序存儲器中的代碼進行方便的修改。AT89S51和AT89C51的引腳完全兼容,其技術(shù)參數(shù)如下:
(1)?4KB在系統(tǒng)可編程Flash程序存儲器,3級安全保護。
(2)?128字節(jié)的內(nèi)部數(shù)據(jù)存儲器。
(3)?32個可編程I/O引腳。
(4)?2個16位計數(shù)/定時器。
(5)?5個中斷源,可以在斷電模式下響應(yīng)中斷。
(6)?1個全雙工的串行通信口。
(7)最高工作頻率為33MHz。
(8)工作電壓為4.0~5.5V。
(9)雙數(shù)據(jù)指針使得程序運行得更快。下面簡要介紹Atmel89系列單片機的特點。
89系列單片機對一般用戶來說,具有以下明顯的優(yōu)點:
(1)內(nèi)部含F(xiàn)lash存儲器,因此在系統(tǒng)的開發(fā)過程中可以十分容易地修改程序,大大縮短系統(tǒng)的開發(fā)周期。同時,在系統(tǒng)工作過程中,能有效地保存一些數(shù)據(jù)信息,即使外界電源損壞也不會影響信息的保存。
(2)和80C51插座兼容。89系列單片機的引腳是和80C51一樣的,所以,用89系列單片機可直接替換80C51。
(3)靜態(tài)時鐘方式。89系列單片機采用靜態(tài)時鐘方式,所以可以節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。
(4)可進行反復(fù)系統(tǒng)試驗。用89系列單片機設(shè)計的系統(tǒng),可以反復(fù)進行系統(tǒng)試驗。每次試驗可以編入不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計達到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進行修改,使系統(tǒng)不斷追隨用戶的最新要求。
89系列單片機一共有7種型號,分別為AT89C51、AT89LV51、AT89C52、AT89LV52、AT89C2051、AT89C1051和AT89S51。其中,AT89LV51和AT89LV52分別是AT89C51和AT89C52的低電壓產(chǎn)品,最低電壓可以低至2.7V;而AT89C2051和AT89C1051則是低檔型低電壓產(chǎn)品,它們的引腳只有20個,最低電壓也為2.7V。
3.單片機的發(fā)展趨勢縱觀單片機的發(fā)展過程,可以預(yù)示單片機的發(fā)展趨勢:
(1)低功耗CMOS化。MCS-51系列的8031推出時的功耗達630mW,而現(xiàn)在的單片機功耗普遍都在100mW左右。因為用戶要求單片機的功耗越來越低,所以現(xiàn)在的各個單片機制造商基本上都采用了CMOS(互補金屬氧化物半導(dǎo)體)工藝,比如80C51就采用了HMOS(高密度金屬氧化物半導(dǎo)體)工藝和CHMOS(互補高密度金屬氧化物半導(dǎo)體)工藝。CMOS工藝雖然功耗較低,但其物理特征決定其工作速度不夠高;而CHMOS工藝則具備了高速和低功耗的特點,所以這種工藝將是今后一段時期單片機發(fā)展的主要途徑。
(2)微型單片化?,F(xiàn)在常規(guī)的單片機普遍都是將中央處理器(CPU)、隨機存取數(shù)據(jù)存儲器(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口、中斷系統(tǒng)、定時電路、時鐘電路集成在一塊單一的芯片上。增強型的單片機還集成了A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)等。有些單片機將LCD(液晶)驅(qū)動電路也都集成在單一的芯片上。單片機包含的單元電路越多,功能就越強大。甚至單片機廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要體積小。現(xiàn)在的許多單片機都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。
(3)主流與多品種共存。現(xiàn)在雖然單片機的品種繁多、各具特色,但以8051為核心的單片機仍占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有Philips公司的產(chǎn)品、Atmel公司的產(chǎn)品和中國臺灣的Winbond系列單片機。而Microchip公司的PIC精簡指令集(RISC)也有著強勁的發(fā)展勢頭。中國臺灣的Holtek公司近年的單片機產(chǎn)量與日俱增,以其低價優(yōu)質(zhì)的優(yōu)勢,占據(jù)了一定的市場分額。此外Motorola公司的產(chǎn)品、日本幾大公司的專用單片機等也占據(jù)了一定的市場份額。在一定的時期內(nèi),這種情形將延續(xù)下去,即不會出現(xiàn)某個單片機一統(tǒng)天下的壟斷局面,而是多個品種依存互補、相輔相成、共同發(fā)展。1.2MCS-51系列單片機結(jié)構(gòu)和原理1.2.1MCS-51內(nèi)部組成及信號引腳
1.8051單片機的基本組成
8051單片機的基本組成請參見圖1.5。下面介紹各部分的基本情況。圖1.58051單片機的基本組成
1)中央處理器(CPU)中央處理器是單片機的核心,是計算機的控制和指揮中心,它由運算器和控制器等部件組成。運算器包括一個可進行8位算術(shù)運算和邏輯運算的單元(ALU)、8位的暫存器、8位的累加器(ACC)、寄存器B和程序狀態(tài)寄存器(PSW)等。控制器包括程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、振蕩器及定時電路等。
2)內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)
8051芯片中共有256個RAM單元,但其中的后128個單元被專用寄存器占用;能作為寄存器供用戶使用的只有前128個單元,用于存放可讀/寫的數(shù)據(jù)。因此通常所說的內(nèi)部數(shù)據(jù)存儲器就是指前128個單元。
3)內(nèi)部程序存儲器(內(nèi)部ROM)
8051共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此,稱之為程序存儲器。
4)定時/計數(shù)器
8051共有兩個16位的定時/計數(shù)器,可實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結(jié)果對計算機進行控制。
5)并行I/O口
8051共有4個8位的I/O口(P0、P1、P2、P3),可實現(xiàn)數(shù)據(jù)的并行輸入/輸出。在實訓(xùn)中我們已經(jīng)使用了P1口,通過P1口連接了8個發(fā)光二極管。
6)串行口
8051單片機有一個全雙工的串行口,可實現(xiàn)單片機和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。
7)中斷控制系統(tǒng)
8051單片機的中斷功能較強,可滿足控制應(yīng)用的需要。8051共有5個中斷源,即外中斷兩個、定時/計數(shù)中斷兩個、串行口中斷一個。全部中斷分為高級和低級兩個優(yōu)先級別。
8)時鐘電路
8051芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6MHz和12MHz。
2.8051單片機的內(nèi)部結(jié)構(gòu)
8051單片機的內(nèi)部結(jié)構(gòu)如圖1.6所示。圖1.68051單片機的內(nèi)部結(jié)構(gòu)圖
3.?8051的信號引腳
8051是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,其引腳排列請參見圖1.7。圖1.78051的引腳圖
1)信號引腳介紹
P0.0~P0.7:P0口8位雙向口線。
P1.0~P1.7:P1口8位雙向口線。
P2.0~P2.7:P2口8位雙向口線。
P3.0~P3.7:P3口8位雙向口線。
ALE:地址鎖存控制信號。在系統(tǒng)擴展時,ALE用于把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振的1/6固定頻率輸出的正脈沖,因此它可作為外部時鐘或外部定時脈沖使用。:外部程序存儲器讀選通信號。有效(低電平)時,可實現(xiàn)對外部ROM單元的讀操作。:訪問程序存儲控制信號。當(dāng)信號為低電平時,對ROM的讀操作限定在外部程序存儲器;當(dāng)信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始的,并可延至外部程序存儲器。
RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復(fù)位初始化操作。在進行單片機應(yīng)用系統(tǒng)設(shè)計時,這個引腳一定要連接相應(yīng)的電路,即復(fù)位電路。VSS:地線。
VCC:+5V電源。以上是8051單片機芯片40條引腳的定義及簡單功能說明。
2)信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的。例如,8051系列把芯片引腳數(shù)目限定為40條,但單片機為實現(xiàn)其功能所需要的信號數(shù)目卻遠遠超過此數(shù),因此就出現(xiàn)了需要與可能的矛盾。解決這個矛盾的惟一可行的辦法,是給一些信號引腳賦以雙重功能。如果把前述的信號定義為引腳的第一功能的話,則根據(jù)需要再定義的信號就是它的第二功能。
(1)?P3口線的第二功能。P3的8條口線都定義有第二功能,詳見表1.1。
(2)用EPROM固化程序時所需要的信號。有內(nèi)部EPROM的單片機芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳以第二功能的形式提供的,即:編程脈沖:30腳(ALE/
);編程電壓(25V):31腳(
/VPP)。表1.1P3口各引腳與第二功能表
(3)備用電源引入。8051單片機的備用電源也是以第二功能的方式由9腳(RST/VPD)引入的。當(dāng)電源發(fā)生故障,電壓降低到下限值時,備用電源經(jīng)此端向內(nèi)部RAM提供電壓,以保護內(nèi)部RAM中的信息不丟失。以上把8051單片機的全部信號引腳分別以第一功能和第二功能的形式列出。對于MCS-51其它型號的芯片,其引腳的第一功能信號是相同的,所不同的只是引腳的第二功能信號。對于9、30和31這三個引腳,由于第一功能信號與第二功能信號是單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。但是P3口的情況卻有所不同,它的第二功能信號都是單片機的重要控制信號。因此,在實際使用時,都是先按需要選用第二功能信號,剩下的才以第一功能信號的身份作數(shù)據(jù)位的輸入/輸出使用。1.2.2MCS-51內(nèi)部數(shù)據(jù)存儲器
1.內(nèi)部數(shù)據(jù)存儲器低128單元
8051的內(nèi)部RAM共有256個單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。表1.2所示為低128單元的配置情況。表1.2RAM的低128單元的配置低128單元是單片機的真正RAM存儲器,按其用途劃分為寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)等3個區(qū)域。
1)寄存器區(qū)
8051共有4組寄存器,每組8個寄存單元(各為8位),各組都以R0~R7作為寄存單元編號。寄存器常用于存放操作數(shù)及中間結(jié)果等。由于它們的功能及使用不作預(yù)先規(guī)定,因此稱之為通用寄存器,有時也叫工作寄存器。4組通用寄存器占據(jù)內(nèi)部RAM的00H~1FH單元地址。在任一時刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱為當(dāng)前寄存器組。到底是哪一組,由程序狀態(tài)字寄存器PSW中RS1、RS0位的狀態(tài)組合來決定。通用寄存器為CPU提供了就近存儲數(shù)據(jù)的便利,有利于提高單片機的運算速度。此外,使用通用寄存器還能提高程序編制的靈活性。因此,在單片機的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡化程序設(shè)計,提高程序運行速度。
2)位尋址區(qū)內(nèi)部RAM的20H~2FH單元,既可作為一般RAM單元使用,進行字節(jié)操作,也可以對單元中每一位進行位操作,因此把該區(qū)稱為位尋址區(qū)。位尋址區(qū)共有16個RAM單元,128位,位地址為00H~7FH。MCS-51具有布爾處理機功能,這個位尋址區(qū)可以構(gòu)成布爾處理機的存儲空間。這種位尋址能力是MCS-51的一個重要特點。表1.3為片內(nèi)RAM位尋址區(qū)的位地址表。表1.3片內(nèi)RAM位尋址區(qū)的位地址
3)用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去了32個單元,位尋址區(qū)占去了16個單元,剩下80個單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H~7FH。對用戶RAM區(qū)的使用沒有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開辟在此區(qū)中。
2.內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部RAM的高128單元是供給專用寄存器使用的,其單元地址為80H~FFH。因這些寄存器的功能已作專門規(guī)定,故稱之為專用寄存器(SpecialFunctionRegister),也可稱為特殊功能寄存器。
1)專用寄存器(SFR)簡介
8051共有21個專用寄存器,現(xiàn)把其中部分寄存器簡單介紹如下:
(1)程序計數(shù)器(ProgramCounter,PC)。在實訓(xùn)中,我們已經(jīng)知道PC是一個16位的計數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達64KB。PC有自動加1功能,從而可實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶無法對它進行讀/寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。PC因地址不在SFR(專用寄存器)之內(nèi),所以一般不用作專用寄存器。
(2)累加器(Accumulator,ACC)。累加器為8位寄存器,是最常用的專用寄存器,其功能較多,地位重要。它既可用來存放操作數(shù),也可用來存放運算的中間結(jié)果。MCS-51單片機中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。
(3)?B寄存器。B寄存器是一個8位寄存器,主要用于乘/除運算。進行乘法運算時,B存乘數(shù);乘法操作后,乘積的高8位存于B中。進行除法運算時,B存除數(shù);除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。
(4)程序狀態(tài)字(ProgramStatusWord,PSW)。程序狀態(tài)字是一個8位寄存器,用于存放程序運行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位的狀態(tài)則由軟件方法設(shè)定。PSW的位狀態(tài)可以用專門指令進行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW某些位的狀態(tài)進行程序轉(zhuǎn)移。PSW各位的定義如下:除PSW.1位保留未用外,其余各位的定義及使用如下:
CY(PSW.7)——進位標(biāo)志位。CY是PSW中最常用的標(biāo)志位,其功能有二個:一是存放算術(shù)運算的進位標(biāo)志,在進行加或減運算時,如果操作結(jié)果的最高位有進位或借位,則CY由硬件置“1”,否則被清“0”;二是在位操作中作累加位使用。位傳送、位與位或等位操作,操作位之一固定是進位標(biāo)志位。AC(PSW.6)——輔助進位標(biāo)志位。在進行加或減運算中,若低4位向高4位進位或借位,則AC由硬件置“1”,否則被清“0”。在BCD碼調(diào)整中也要用到AC位狀態(tài)。
F0(PSW.5)——用戶標(biāo)志位。這是一個供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用來控制程序的轉(zhuǎn)向。
RS1和RS0(PSW.4,PSW.3)——寄存器組選擇位。它們被用于選擇CPU當(dāng)前使用的通用寄存器組。通用寄存器共有4組,其對應(yīng)關(guān)系如下:這兩個選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器組。但當(dāng)單片機上電或復(fù)位后,RS1RS0=00。
OV(PSW.2)——溢出標(biāo)志位。在帶符號數(shù)加減運算中,OV=1表示加減運算超出了累加器A所能表示的符號數(shù)有效范圍(-128~+127),即產(chǎn)生了溢出,因此運算結(jié)果是錯誤的;OV=0表示運算正確,即無溢出產(chǎn)生。在乘法運算中,OV=1表示乘積超過255,即乘積分別在B與A中;OV=0表示乘積只在A中。在除法運算中,OV=1表示除數(shù)為0,除法不能進行;OV=0表示除數(shù)不為0,除法可正常進行。
P(PSW.0)——奇偶標(biāo)志位。P標(biāo)志位表明累加器A中內(nèi)容的奇偶性,如果A中有奇數(shù)個“1”,則P置“1”,否則置“0”。凡是改變累加器A中內(nèi)容的指令均會影響P標(biāo)志位。此標(biāo)志位對串行通信中的數(shù)據(jù)傳輸有重要的意義,因為在串行通信中常采用奇偶校驗的辦法來校驗數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
(5)數(shù)據(jù)指針(DPTR)。DPTR為16位寄存器。編程時,DPTR既可以按16位寄存器使用,也可以按兩個8位寄存器分開使用,即:
DPHDPTR高位字節(jié)
DPLDPTR低位字節(jié)
DPTR通常在訪問外部數(shù)據(jù)存儲器時用作地址指針。由于外部數(shù)據(jù)存儲器的尋址范圍為64KB,故把DPTR設(shè)計為16位。
(6)堆棧指針(StackPointer,SP)。堆棧是一個特殊的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按“先進后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進棧和出棧。由于MCS-51單片機的堆棧設(shè)在內(nèi)部RAM中,因此SP是一個8位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,因而復(fù)位后堆棧實際上是從08H單元開始的。但08H~1FH單元分別屬于工作寄存器1~3區(qū),如程序要用到這些區(qū),最好把SP值改為1FH或更大的值。一般在內(nèi)部RAM的30H~7FH單元中開辟堆棧。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來。由于SP可被初始化為不同值,因此堆棧位置是浮動的。關(guān)于堆棧更為詳細的介紹,可參考本書4.6節(jié)。
2)專用寄存器中的字節(jié)尋址和位地址
MCS-51系列單片機有21個可尋址的專用寄存器,其中有11個專用寄存器是可以位尋址的。下面把各寄存器的字節(jié)地址及位地址一并列于表1.4中。表1.4MCS-51專用A寄存器地址表對專用寄存器的字節(jié)尋址問題作如下幾點說明:
(1)?21個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中的,盡管還余有許多空閑地址,但用戶并不能使用。
(2)程序計數(shù)器PC不占據(jù)RAM單元,它在物理上是獨立的,因此是不可尋址的寄存器。
(3)對專用寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使用寄存器單元地址。表1.4中,凡字節(jié)地址不帶括號的寄存器都是可以進行位尋址的寄存器,帶括號的是不可以進行位尋址的寄存器。全部專用寄存器可尋址的位共83位,這些位都具有專門的定義和用途。這樣,加上位尋址區(qū)的128位,在MCS-51的內(nèi)部RAM中共有211(即128+83)個可尋址位。1.2.3MCS-51內(nèi)部程序存儲器
MCS-51的程序存儲器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4KB的ROM,8751片內(nèi)有4KB的EPROM,8031片內(nèi)無程序存儲器,89C51片內(nèi)有4KB的FPEROM。MCS-51片外最多能擴展64KB程序存儲器,片內(nèi)、外的ROM是統(tǒng)一編址的。如端保持高電平,8051的程序計數(shù)器PC在0000H~0FFFH地址范圍內(nèi)(即前4KB地址),則執(zhí)行片內(nèi)ROM中的程序;如PC在1000H~FFFFH地址范圍內(nèi),則自動執(zhí)行片外程序存儲器中的程序。如保持低電平,則只能尋址外部程序存儲器,片外存儲器可以從0000H開始編址。
MCS-51的程序存儲器中有些單元具有特殊功能,使用時應(yīng)予以注意。其中有一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,(PC)=0000H,單片機從0000H單元開始取指令執(zhí)行程序。如果程序不從0000H單元開始,則應(yīng)在這三個單元中存放一條無條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。還有一組特殊單元是0003H~002AH,共40個單元。這40個單元被均勻地分為5段,作為5個中斷源的中斷地址區(qū)。其中:
0003H~000AH外部中斷0中斷地址區(qū)
000BH~0012H定時/計數(shù)器0中斷地址區(qū)
0013H~001AH外部中斷1中斷地址區(qū)
001BH~0022H定時/計數(shù)器1中斷地址區(qū)
0023H~002AH串行中斷地址區(qū)中斷響應(yīng)后,按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,8個單元難以存下一個完整的中斷服務(wù)程序,因此通常也是從中斷地址區(qū)首地址開始存放一條無條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實際入口地址。程序存儲器結(jié)構(gòu)圖如圖1.8所示。圖1.8程序存儲器結(jié)構(gòu)1.3并行I/O口電路結(jié)構(gòu)
MCS-51共有4個8位的并行I/O口,分別記作P0、P1、P2、P3。每個口都包含一個鎖存器、一個輸出驅(qū)動器和兩個輸入緩沖器。實際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數(shù)據(jù)由P0口分時傳送,高8位地址由P2口傳送。在無片外擴展存儲器的系統(tǒng)中,這4個口的每一位均可作為雙向的I/O端口使用。1.3.1P0口
P0口的口線邏輯電路如圖1.9所示。圖1.9P0口的口線邏輯電路由圖1.9可見,電路中包含有一個數(shù)據(jù)輸出鎖存器、兩個三態(tài)數(shù)據(jù)輸入緩沖器、一個數(shù)據(jù)輸出的驅(qū)動電路和一個輸出控制電路。當(dāng)對P0口進行寫操作時,由鎖存器和驅(qū)動電路構(gòu)成數(shù)據(jù)輸出通路。由于通路中已有輸出鎖存器,因此數(shù)據(jù)輸出時可以與外設(shè)直接連接,而不需再加數(shù)據(jù)鎖存電路。考慮到P0口既可以作為通用的I/O口進行數(shù)據(jù)的輸入/輸出,也可以作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用,為此在P0口的電路中設(shè)有一個多路轉(zhuǎn)接電路MUX。在控制信號的作用下,多路轉(zhuǎn)接電路可以分別接通鎖存器輸出或地址/數(shù)據(jù)線。當(dāng)P0口作為通用的I/O口使用時,內(nèi)部的控制信號為低電平,封鎖與門,使輸出驅(qū)動電路的上拉場效應(yīng)管(FET)截止,同時使多路轉(zhuǎn)接電路MUX接通鎖存器端的輸出通路。當(dāng)P0口作為輸出口使用時,內(nèi)部的寫脈沖加在D觸發(fā)器的CP端,數(shù)據(jù)寫入鎖存器,并向端口引腳輸出。當(dāng)P0口作為輸入口使用時,應(yīng)區(qū)分讀引腳和讀端口兩種情況,為此,在口電路中有兩個用于讀入驅(qū)動的三態(tài)緩沖器。所謂讀引腳,就是讀芯片引腳的數(shù)據(jù),這時使用下方的數(shù)據(jù)緩沖器,由“讀引腳”信號把緩沖器打開,把端口引腳上的數(shù)據(jù)從緩沖器通過內(nèi)部總線讀進來。讀端口是指通過上面的緩沖器讀鎖存器Q端的狀態(tài)。在端口已處于輸出狀態(tài)的情況下,Q端與引腳的信號是一致的,這樣安排的目的是為了適應(yīng)對口進行“讀—修改—寫”操作指令的需要。對于這類“讀—修改—寫”指令,不直接讀引腳而讀鎖存器是為了避免可能出現(xiàn)的錯誤。因為在端口已處于輸出狀態(tài)的情況下,如果端口的負載恰是一個晶體管的基極,則導(dǎo)通了的PN結(jié)會把端口引腳的高電平拉低,這樣直接讀引腳就會把本來的“1”誤讀為“0”。但若從鎖存器Q端讀,就能避免這樣的錯誤,得到正確的數(shù)據(jù)。但要注意,當(dāng)P0口進行一般的I/O輸出時,由于輸出電路是漏極開路電路,因此必須外接上拉電阻才能有高電平輸出;當(dāng)P0口進行一般的I/O輸入時,必須先向電路中的鎖存器寫入“1”,使FET截止,以避免鎖存器為“0”狀態(tài)時對引腳讀入的干擾。在實際應(yīng)用中,P0口絕大多數(shù)情況下都是作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用的,這要比作為一般I/O口應(yīng)用簡單。當(dāng)輸出地址或數(shù)據(jù)時,由內(nèi)部發(fā)出控制信號,打開上面的與門,并使多路轉(zhuǎn)接電路MUX處于內(nèi)部地址/數(shù)據(jù)線與驅(qū)動場效應(yīng)管柵極反相接通狀態(tài)。這時的輸出驅(qū)動電路由于上、下兩個FET處于反相,而形成推拉式電路結(jié)構(gòu),使負載能力大為提高。而當(dāng)輸入數(shù)據(jù)時,數(shù)據(jù)信號則直接從引腳通過輸入緩沖器進入內(nèi)部總線。1.3.2P1口
P1口的口線邏輯電路如圖1.10所示。圖1.10P1口的口線邏輯電路
因為P1口通常是作為通用I/O口使用的,所以在電路結(jié)構(gòu)上與P0口有一些不同之處:首先它不再需要多路轉(zhuǎn)接電路MUX;其次是電路的內(nèi)部有上拉電阻,與場效應(yīng)篩共同組成輸出驅(qū)動電路。為此,P1口作為輸出口使用時,已經(jīng)能向外提供推拉電流負載,因而無需再外接上拉電阻。當(dāng)P1口作為輸入口使用時,同樣也需先向其鎖存器寫“1”,使輸出驅(qū)動電路的FET截止。1.3.3P2口
P2口的口線邏輯電路如圖1.11所示。圖1.11P2口的口線邏輯電路
P2口電路比P1口電路多了一個多路轉(zhuǎn)接電路MUX,這又正好與P0口一樣。P2口可以作為通用I/O口使用,這時多路轉(zhuǎn)接電路開關(guān)倒向鎖存器Q端。通常情況下,P2口是作為高位地址線使用的,此時多路轉(zhuǎn)接電路開關(guān)應(yīng)倒向相反方向。1.3.4P3口
P3口的口線邏輯電路如圖1.12所示。圖1.12P3口的口線邏輯電路
P3口的特點在于,為適應(yīng)引腳信號第二功能的需要,增加了第二功能控制邏輯。由于第二功能信號有輸入和輸出兩類,因此分兩種情況說明。對于第二功能為輸出的信號引腳,當(dāng)P3口作為I/O使用時,第二功能信號引線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出端的數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號時,該位的鎖存器應(yīng)置“1”,使與非門對第二功能信號的輸出是暢通的,從而實現(xiàn)第二功能信號的輸出。對于第二功能為輸入的信號引腳,在口線的輸入通路上增加了一個緩沖器,輸入的第二功能信號就從這個緩沖器的輸出端取得。而作為I/O使用的數(shù)據(jù)輸入,仍取自三態(tài)緩沖器的輸出端。不管是在P3口作為輸入口使用時還是在第二功能信號輸入時,輸出電路中的鎖存器輸出和第二功能輸出信號線都應(yīng)保持高電平。1.4時鐘電路與復(fù)位電路1.4.1單片機的時鐘電路與時序
1.時鐘信號的產(chǎn)生在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機的時鐘振蕩電路,如圖1.13所示。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號。請讀者特別注意時鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會造成概念上的錯誤。一般地,電容C1和C2取30pF左右,晶體的振蕩頻率范圍是1.2~12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快。MCS-51在通常應(yīng)用情況下,使用的振蕩頻率為6MHz或12MHz。圖1.13時鐘振蕩電路
2.引入外部脈沖信號在由多片單片機組成的系統(tǒng)中,為了各單片機之間時鐘信號的同步,應(yīng)當(dāng)引入惟一的公用外部脈沖信號作為各單片機的振蕩脈沖。這時,外部的脈沖信號經(jīng)XTAL2引腳輸入,其連接如圖1.14所示。圖1.14外部時鐘源接法
3.時序
1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍(用P表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機的時鐘信號的周期,定義其為狀態(tài)(用S表示)。這樣,一個狀態(tài)就包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫節(jié)拍1(P1),后半周期對應(yīng)的節(jié)拍叫節(jié)拍2(P2)。
2)機器周期
MCS-51采用定時控制方式,因此它有固定的機器周期。規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為S1~S6,可參見圖1.15(a)。由于一個狀態(tài)又包括兩個節(jié)拍,因此,一個機器周期總共有12個節(jié)拍,分別記作S1P1、S1P2、…、S6P2。由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振蕩脈沖的十二分頻。當(dāng)振蕩脈沖頻率為12MHz時,一個機器周期為1μs;當(dāng)振蕩脈沖頻率為6MHz時,一個機器周期為2μs。
3)指令周期指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱為指令周期。它一般由若干個機器周期組成。不同的指令,所需要的機器周期數(shù)也不相同。通常,包含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令,依次類推。指令的運算速度與指令所包含的機器周期有關(guān),機器周期數(shù)越少的指令,執(zhí)行速度越快。MCS-51單片機指令通常可以分為單周期指令、雙周期指令和四周期指令。四周期指令只有乘法和除法指令兩條,其余均為單周期和雙周期指令。1.4.2單片機的復(fù)位電路單片機復(fù)位使CPU和系統(tǒng)中的其它功能部件都處在一個確定的初始狀態(tài)下,并從這個狀態(tài)開始工作,例如復(fù)位后PC=0000H,使單片機從第一個單元取指令。從實訓(xùn)1已經(jīng)看出,無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位,所以我們必須弄清楚MCS-51型單片機復(fù)位的條件、復(fù)位電路和復(fù)位后的狀態(tài)。單片機復(fù)位的條件是:必須使RST/VPD或RST引腳(9)加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平。例如,若時鐘頻率為12MHz,每個機器周期為1μs,則只需2μs以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機器周期執(zhí)行復(fù)位。單片機常見的復(fù)位電路如圖1.15(a)、(b)所示。圖1.15(a)為上電復(fù)位電路,它是利用電容充電來實現(xiàn)的。在接電瞬間,RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。只要保證RST為高電平的時間大于兩個機器周期,便能正常復(fù)位。圖1.15(b)為按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖1.16(b)中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個復(fù)位高電平。圖1.15單片機常見的復(fù)位電路(a)上電復(fù)位電路;(b)按鍵復(fù)位電路單片機復(fù)位期間不產(chǎn)生ALE和信號,即ALE=1和 =1。這表明單片機復(fù)位期間不會有任何取指操作。復(fù)位后,內(nèi)部各專用寄存器狀態(tài)如下:PC:0000H TMOD: 00HACC:00H TCON: 00HB: 00H TH0: 00HPSW:00H TL0: 00HSP: 07H
TH1: 00HDPTR:0000H TL1: 00HP0~P3:FFH
SCON: 00HIP: ***00000B SBUF: 不定IE: 0**00000B PCON: 0***0000B其中,*表示無關(guān)位。請注意:
(1)復(fù)位后PC值為0000H,表明復(fù)位后程序從0000H開始執(zhí)行,這一點在實訓(xùn)1中已介紹。
(2)SP值為07H,表明堆棧底部在07H。一般需重新設(shè)置SP值。
(3)P0~P3口值為FFH。P0~P3口用作輸入口時,必須先寫入“1”。單片機在復(fù)位后,已使P0~P3口每一端線為“1”,為這些端線用作輸入口做好了準(zhǔn)備。本章小結(jié)本章通過介紹MCS-51型單片機芯片的硬件結(jié)構(gòu)及工作特性,使我們知道MCS-51單片機是由一個8位CPU,一個片內(nèi)振蕩器及時鐘電路,4KBROM(8051有4KB掩膜ROM,8751有4KBEPROM,8031片內(nèi)無ROM,89C51有4KBFPEROM),128B片內(nèi)RAM,21個特殊功能寄存器,兩個16位定時/計數(shù)器,4個8位并行I/O口,一個串行輸入/輸出口和5個中斷源等電路組成的。芯片共有40個引腳,除了電源、地、兩個時鐘輸入/輸出腳以及32個I/O引腳外,還有4個控制引腳:ALE(低8位地址鎖存允許)、(片外ROM讀選通)、RST(復(fù)位)、(內(nèi)外ROM選擇
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人事檔案保管合同經(jīng)典版(2篇)
- 2025年五金、交電、家電、化工產(chǎn)品購銷合同參考模板(2篇)
- 2025年互聯(lián)網(wǎng)站合作建立合同(2篇)
- 2025年代理記賬委托合同樣本(2篇)
- 2025年個人房屋維修服務(wù)合同簡單版(4篇)
- 2025年個人車庫車位租賃合同模板(2篇)
- 低溫煤炭儲存運輸協(xié)議
- 奢侈品區(qū)裝修合同范本
- 保健品辦公室裝修合同
- 博物館渣土清理合同
- 快消品公司銷售部薪酬績效方案(快消品公司銷售KPI績效考核指標(biāo))
- 化學(xué)第五單元化學(xué)反應(yīng)的定量關(guān)系大單元備課-2024-2025學(xué)年九年級化學(xué)人教版(2024)上冊
- 2024年中國網(wǎng)球游戲機市場調(diào)查研究報告
- 極簡統(tǒng)計學(xué)(中文版)
- 當(dāng)代世界經(jīng)濟與政治 第八版 課件 第六章 轉(zhuǎn)型國家的經(jīng)濟與政治
- 2024年長沙衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 2024年資格考試-對外漢語教師資格證筆試參考題庫含答案
- 2024年4月自考02382管理信息系統(tǒng)答案及評分參考
- 新物業(yè)項目設(shè)備檢查標(biāo)準(zhǔn)【物業(yè)管理經(jīng)驗分享】
- 金屬硬度轉(zhuǎn)換表【HLD,HRC,HRB,HV,HB,HSD】
- GB/T 22076-2024氣動圓柱形快換接頭
評論
0/150
提交評論