單片機原理與基本應(yīng)用系統(tǒng)_第1頁
單片機原理與基本應(yīng)用系統(tǒng)_第2頁
單片機原理與基本應(yīng)用系統(tǒng)_第3頁
單片機原理與基本應(yīng)用系統(tǒng)_第4頁
單片機原理與基本應(yīng)用系統(tǒng)_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第一頁,共六十八頁,2022年,8月28日MCS-51單片機的結(jié)構(gòu)和原理本章主要介紹MCS-51系列的8051的基本結(jié)構(gòu)、工作原理、存儲器結(jié)構(gòu)、P0、P1、P2、P3四個I/O口的基本工作原理和操作特點。單片機的各種工作方式、單片機的時序等。2第二頁,共六十八頁,2022年,8月28日任務(wù)一單燈閃爍【任務(wù)目的】認識89C51單片機芯片,學(xué)習(xí)WAVE軟件的使用方法、學(xué)習(xí)單片機I/O接口的控制方法?!救蝿?wù)描述】用單片機的P1.0控制1只LED燈,使其閃爍,變化時間間隔為0.2s。1.電路原理圖單燈閃爍電路原理圖如圖2-1所示。3第三頁,共六十八頁,2022年,8月28日任務(wù)一單燈閃爍圖2-1單燈閃爍電路原理圖4第四頁,共六十八頁,2022年,8月28日b編程思路(1)硬件控制對象是誰?

編程要用到①腳的名字——叫“P1.0”。記住它,類似這樣的名字以后還有很多。(2)用什么語言控制?名字有了,但又怎樣讓它變“高”或變“低”呢?叫人做事,說一聲就可以,這叫發(fā)布命令。要單片機做事,也得要向單片機發(fā)命令,計算機能聽得懂的命令稱之為計算機的指令。(3)關(guān)鍵指令要P1.0輸出高電平,則指令應(yīng)為:SETBP1.0;要P1.0輸出低電平,則指令應(yīng)為:CLRP1.0。讓某個引腳輸出低電平的指令是:

CLR

。讓某個引腳輸出高電平的指令是:SETB。5第五頁,共六十八頁,2022年,8月28日2.參考程序 ORG 0000H LJMP 1000H ORG 1000HSTART: CLR P1.0;從P1.0引腳輸

出低電平LED亮 LCALL DELAY;延時0.2s SETB P1.0;從P1.0引腳輸

出高電平LED滅 LCALL DELAY;延時0.2s AJMP START;重新開始

DELAY: MOV R5,#4;延時子程序,延

時時間為0.2S

任務(wù)一單燈閃爍6第六頁,共六十八頁,2022年,8月28日D1: MOV R6,#20D2: MOV R7,123 NOPDJNZR7,$DJNZR6,D2DJNZR5,D1RETEND7第七頁,共六十八頁,2022年,8月28日(4)單片機怎么理解你的程序?單片機看不懂SETB、CLR之類的指令,得把指令翻譯成計算機能懂的方式,再讓計算機去讀。計算機能懂什么呢?它只懂一樣?xùn)|西——數(shù)字。得把“CLRP1.0”變?yōu)椋篊2H、90H,至于為什么是這兩個數(shù)字,這也是由51芯片的設(shè)計者——INTEL規(guī)定的。這樣的代碼有兩種方式可以得到:人工查表和機器編譯。

CLRP1.0——

C2H、90H

8第八頁,共六十八頁,2022年,8月28日(5)編寫好的程序放在哪兒?(寫片)通過編程器可將“C2H、90H”這樣的代碼寫入到單片機中,然后將單片機放入到應(yīng)用電路板中方可運行。SUPERPROL+編程器緩沖區(qū)界面如下:9第九頁,共六十八頁,2022年,8月28日通過任務(wù)發(fā)現(xiàn)的問題1、單片機芯片有哪些?2、單片機芯片怎樣才能工作?直接電源行嗎?3、我們編寫的程序放在哪兒?在哪兒運行的?4、程序(指令)又是怎么被單片機認識的?5、單片機又是通過什么控制外部設(shè)備的?10第十頁,共六十八頁,2022年,8月28日1、單片機芯片有哪些?

——各種類型的單片機芯片介紹。11第十一頁,共六十八頁,2022年,8月28日1常用單片機系列簡介1.1MCS-51系列(1)MCS-51是Intel公司在1980年生產(chǎn)的一個高性能單片機系列的名稱。屬于這一系列的單片機有多種,如:

﹡8051/8751/8031;

﹡8052/8752/8032;

﹡80C51/87C51/80C31

﹡80C52/87C52/80C32等

。

12第十二頁,共六十八頁,2022年,8月28日(2)該系列生產(chǎn)工藝有兩種:CHMOS是CMOS和HMOS的結(jié)合,既保持了HMOS高速度和高密度的特點,還具有CMOS的低功耗的特點。在產(chǎn)品型號中凡帶有字母“C”的即為CHMOS芯片,CHMOS芯片的電平既與TTL電平兼容,又與CMOS電平兼容。一是HMOS工藝(高密度短溝道MOS工藝)。二是CHMOS工藝(互補金屬氧化物的HMOS工藝)。13第十三頁,共六十八頁,2022年,8月28日(3)在功能上,該系列單片機有基本型和增強型兩大類:增強型:8052/8752/803280C52/87C52/80C32基本型:8051/8751/803180C51/87C51/80C3114第十四頁,共六十八頁,2022年,8月28日(4)在片內(nèi)程序存儲器的配置上,該系列單片機有三種形式,即掩膜ROM、EPROM和ROMLess(無片內(nèi)程序存儲器)。如:﹡80C51有4K字節(jié)的掩膜ROM;﹡87C51有4K字節(jié)的EPROM;﹡80C31在芯片內(nèi)無程序存儲器。15第十五頁,共六十八頁,2022年,8月28日1.280C51系列

Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;

﹡ATMEL的:89C51、89C52、89C2051等;

Philips、華邦、Dallas、Siemens等公司的許多產(chǎn)品。80C51系列是在MCS-51系列單片機的基礎(chǔ)上發(fā)展起來的,許多著名廠商以MCS-51系列的8051為基核開發(fā)出的大量的CMOS工藝的單片機產(chǎn)品,我們常把其統(tǒng)稱為80C51系列。當前常用的80C51系列單片機主要產(chǎn)品有:16第十六頁,共六十八頁,2022年,8月28日1.2.180C51系列的基本結(jié)構(gòu)17第十七頁,共六十八頁,2022年,8月28日1.2.280C51系列的應(yīng)用模式

一、總線型單片機應(yīng)用模式總線型應(yīng)用的“三總線”模式

非總線型應(yīng)用的“多I/O”模式

18第十八頁,共六十八頁,2022年,8月28日

二、非總線型單片機應(yīng)用模式

非總線型單片機已經(jīng)將用于外部總線擴展用的I/O口線和控制功能線去掉,從而使單片機的引腳數(shù)減少、體積減小。對于不需進行并行外圍擴展,裝置的體積要求苛刻且程序量不大的系統(tǒng)極其適合。非總線型單片機典型產(chǎn)品如:

AT89C2051/AT89C4051。19第十九頁,共六十八頁,2022年,8月28日1.380C51典型產(chǎn)品資源配置與引腳1.3.180C51典型產(chǎn)品資源配置20第二十頁,共六十八頁,2022年,8月28日由表可見:(1)增強型與基本型在以下幾點不同:﹡片內(nèi)ROM字節(jié)數(shù):從4K增加到8K;﹡片內(nèi)RAM字節(jié)數(shù):從128增加到256;﹡定時/計數(shù)器從2個增加到3個;﹡中斷源由5個增加到6個。

21第二十一頁,共六十八頁,2022年,8月28日(2)片內(nèi)ROM的配置形式﹡無ROM(即ROMLess)型,應(yīng)用時要在片外擴展程序存儲器,適用于研制新產(chǎn)品;﹡片內(nèi)掩膜ROM(即MaskROM)型,用戶程序由芯片生產(chǎn)廠寫入,其內(nèi)容不能更改;﹡片內(nèi)EPROM型,用戶程序通過寫入裝置按規(guī)定的方法多次寫入,通過紫外線照射20min左右擦除;﹡

片內(nèi)FlashROM型,閃速存儲器,用戶程序可以電寫入或擦除(當前常用方式),開發(fā)過程中修改更容易。

﹡片內(nèi)

E2PROM型,電可擦除的可編程程序存儲器;22第二十二頁,共六十八頁,2022年,8月28日1.3.280C51的引腳封裝總線型非總線型23第二十三頁,共六十八頁,2022年,8月28日1.3.3AT89系列單片機性能及結(jié)構(gòu)該系列單片機是1998年以后出現(xiàn)的80C51系列單片機的一個新的分支,采用了高性能的靜態(tài)8051為內(nèi)核來設(shè)計,以先進的CMOS工藝制造并帶有非易失性的Flash程序存儲器,具有32條I/O口線,6輸入4優(yōu)先級的嵌套中斷結(jié)構(gòu),1個串口(用于多機通信、I/O擴展或全雙工串行UART),片內(nèi)有振蕩和時鐘電路。

AT89系列單片機的主要特性:是以8051為核心的單片機,89S51/89S52/89S54/89S58是這個系列的主要型號,分別具有4KB/8KB/16KB/32KB的Flash程序存儲器,89S51與89S52/89S54/89S58分別具有128B/256B的數(shù)據(jù)存儲器,其存儲器尋址范圍為64KB,工作頻率為33MHz,計算速度更快,具有ISP(在線更新)功能,集成了看門狗功能等。24第二十四頁,共六十八頁,2022年,8月28日2、單片機芯片怎樣才能工作?直接電源行嗎?

——單片機芯片的結(jié)構(gòu)、管腳功能、單片機最小應(yīng)用系統(tǒng)。25第二十五頁,共六十八頁,2022年,8月28日1.4AT89S51單片機內(nèi)部結(jié)構(gòu)(1)一個8位的CPU;(2)一個片內(nèi)振蕩器及時鐘電路;(3)4KB的FlashROM;(4)128B的內(nèi)部RAM(5)可擴展64KB外部ROM和外部RAM的控制電路;(6)兩個十六位的定時/計數(shù)器;(7)26個特殊功能寄存器(雙數(shù)據(jù)指針);(8)4個8位的并行口;(9)一個全雙工的串行口;(10)5個中斷源,兩個外部中斷,三個內(nèi)部中斷;(11)內(nèi)部硬件看門狗電路;(12)一個SPI串行接口,用于芯片的在線系統(tǒng)編程(ISP)。26第二十六頁,共六十八頁,2022年,8月28日

a、AT89S51的微處理器(CPU)(1)運算器(算術(shù)運算邏輯單元ALU)累加器ACC;寄存器B;程序狀態(tài)字寄存器PSW。(2)控制器程序計數(shù)器PC;指令寄存器IR;’指令譯碼器ID;定時與控制邏輯電路PLA。27第二十七頁,共六十八頁,2022年,8月28日b、AT89S51的片內(nèi)存儲器P17

在物理上設(shè)計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間(稱為哈佛結(jié)構(gòu)):

內(nèi)部ROM容量4K字節(jié)范圍是:0000H~0FFFH

﹡內(nèi)部RAM容量128字節(jié)范圍是:00H~7FH28第二十八頁,共六十八頁,2022年,8月28日c、AT89S51的I/O口及功能單元四個8位的并行口,即P0~P3。它們均為雙向口,既可作為輸入,又可作為輸出。每個口各有8條I/O線;

有一個全雙工的串行口(利用P3口的兩個引腳P3.0和P3.1);有2個16位的定時/計數(shù)器;有1套完善的中斷系統(tǒng),5個中斷源。

一個SPI串行接口,用于芯片的在線系統(tǒng)編程(ISP)。

29第二十九頁,共六十八頁,2022年,8月28日d、AT89S51(8051)的特殊功能寄存器(SFR)P20內(nèi)部有SP,DPTR(可分成DPH、DPL兩個8位寄存器),PCON,…,IE,IP等26(21)個特殊功能寄存器單元,它們同內(nèi)部RAM的128個字節(jié)統(tǒng)一編址,地址范圍是80H~FFH。這些SFR只用到了80H~FFH中的26(21)個字節(jié)單元,且這些單元是離散分布的。30第三十頁,共六十八頁,2022年,8月28日1.4.1、電源VCC(P40)——芯片電源,接+5V。VSS(P20)——接電源地。

AT89S51單片機引腳功能P1431第三十一頁,共六十八頁,2022年,8月28日1.4.2、時鐘XTAL1(P19)——晶體振蕩電路的反相器輸入端XTAL2(P18)——晶體振蕩電路的反相器輸出端。

使用內(nèi)部振蕩電路時,該引腳外接石英晶體和補償電容。使用外部振蕩輸入時從XTAL2輸入,此時XTAL1需接地。32第三十二頁,共六十八頁,2022年,8月28日AT89S51的時鐘產(chǎn)生方式(P24)①.內(nèi)時鐘方式如圖所示,XTAL1接地,XTAL2接外部振蕩器。②.外時鐘方式如上面左圖所示:XTAL1接地,XTAL2接外部振蕩器。由于XTAL2端的電平不是TTL電平,故接一個上拉電阻。外部振蕩器的頻率應(yīng)低于24/33MHz。如上面右圖所示:XTAL1接外部振蕩器,XTAL2懸空33第三十三頁,共六十八頁,2022年,8月28日

1.機器周期和指令周期(1)時鐘周期:也稱振蕩周期,是指為單片機提供時鐘脈沖信號的振蕩源的振蕩脈沖的周期,又稱節(jié)拍(P1)。(2)狀態(tài)周期:每個狀態(tài)周期為時鐘周期的2倍(P1,P2),是振蕩周期經(jīng)二分頻后得到的。(3)機器周期:一個機器周期包含6個狀態(tài)周期(S1~S6),也就是12個時鐘周期。在一個機器周期內(nèi),CPU可以完成一個獨立的操作。(4)指令周期:它是指CPU完成一條操作所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個機器周期組成。MCS-51系列單片機中,有單周期指令、雙周期指令和四周期指令。單片機工作的時序概念34第三十四頁,共六十八頁,2022年,8月28日思考題:若采用12MHZ晶振,各周期是多少?振蕩周期=1/fosc=1/12MHZ=0.0833us

35第三十五頁,共六十八頁,2022年,8月28日AT89S51的時鐘信號一個機器周期包含12個晶蕩周期或6個時鐘周期

指令長度1~3個字節(jié),指令的執(zhí)行時間稱作指令周期(單、雙、四機器周期)36第三十六頁,共六十八頁,2022年,8月28日AT89S51的典型時序各指令的微操作在時間上有嚴格的次序,這種微操作的時間次序我們稱作時序。

單字節(jié)指令雙字節(jié)指令a、單周期指令時序37第三十七頁,共六十八頁,2022年,8月28日2個機器周期中ALE信號有效4次(即發(fā)生了4次讀操作碼的操作),后3次作無效。b、單字節(jié)雙周期指令時序38第三十八頁,共六十八頁,2022年,8月28日1.4.3控制控制引腳有4個,先學(xué)習(xí)其中的兩個。(1)RST/VPD(9腳)——復(fù)位/備用電源RST復(fù)位功能是單片機正常工作必不可少的,因為復(fù)位可以使單片機從程序的開頭運行,使單片機按照人們設(shè)計的程序運行,在單片機系統(tǒng)上電開始工作,或單片機系統(tǒng)由于外界干擾偏離正常運行,都需要復(fù)位。AT89S51單片機是高電平復(fù)位,只要在該引腳上一段時間(兩個機器周期以上)的高電平,單片機就復(fù)位。在正常運行程序時該引腳為低電平。VPD功能是在VCC掉電情況下,該引腳接備用電源,向片內(nèi)的RAM供電,使RAM中的數(shù)據(jù)不丟失。39第三十九頁,共六十八頁,2022年,8月28日a、復(fù)位電路(P25)復(fù)位目的是使單片機或系統(tǒng)中的其它部件處于某種確定的初始狀態(tài)。

上電復(fù)位電路按鍵與上電復(fù)位

40第四十頁,共六十八頁,2022年,8月28日b、單片機復(fù)位后的狀態(tài)PC=0000H,所以程序從0000H地址單元開始執(zhí)行;啟動后,片內(nèi)RAM為隨機值,運行中的復(fù)位操作不改變片內(nèi)RAM的內(nèi)容;特殊功能寄存器復(fù)位后的狀態(tài)是確定的:P0~P3=FFH,各口可用于輸出,也可用于輸入;SP=07H,第一個入棧內(nèi)容將寫入08H單元;IP、IE和PCON的有效位為0,各中斷源處于低優(yōu)先級且均被關(guān)斷、串行通訊的波特率不加倍;PSW=00H,當前工作寄存器為0組。41第四十一頁,共六十八頁,2022年,8月28日(2)EA/VPP(31腳)——內(nèi)外ROM選擇在通常的應(yīng)用中EA功能是作為內(nèi)部和外部ROM的選擇端。當EA=1,CPU從芯片內(nèi)部的ROM中取指令運行,但超過4KB范圍的程序,也從外部擴展的ROM中取得。反之當EA=0時,只從芯片外部擴展的ROM中取指令運行。在絕大多數(shù)的應(yīng)用中,4KB空間范圍足夠存放程序,一般都選擇內(nèi)部ROM,將EA接高電平。VPP功能是在我們要把程序下載到內(nèi)部ROM中才用到的功能,只有設(shè)計制造編程器時考慮,一般情況用不到。

42第四十二頁,共六十八頁,2022年,8月28日(3)ALE/PROG

(30腳)——地址鎖存允許/編程脈沖輸入信號當CPU訪問片外存儲器時,ALE用于鎖存P0口輸出的低8位地址信息到片外地址鎖存器。之后,P0口作地址/數(shù)據(jù)復(fù)用口。

P0口的信息究竟是地址還是數(shù)據(jù)完全由ALE來判別,ALE高電平期間,P0口出現(xiàn)的是地址信息,ALE下降沿到來時,P0口上的地址信息被鎖存,在ALE低電平期間P0口上出現(xiàn)指令和數(shù)據(jù)信息。對單片機內(nèi)部程序存儲器編程時為輸入腳43第四十三頁,共六十八頁,2022年,8月28日1.4.4

I/O口AT89S51單片機有4個8位的并行口,分別稱為P0口、P1口、P2口和P3口,共32個引腳。單片機就是通過這些口線對外部電路進行控制和檢測。44第四十四頁,共六十八頁,2022年,8月28日3、我們編寫的程序放在哪兒?在哪兒運行的?

——單片機的存儲器結(jié)構(gòu)、功能,以及如何使用。45第四十五頁,共六十八頁,2022年,8月28日2、單片機存儲空間配置(P17)

存儲器就是用來存放數(shù)據(jù)的地方。它是利用電平的高低來存放數(shù)據(jù)的。也就是說,它存放的實際上是電平的高、低,而不是我們所習(xí)慣認為的1234這樣的數(shù)字。一個存儲器單元就似一個個的小抽屜,一個小抽屜里有八個小格子,每個小格子就是用來存放電荷的,電荷通過與它相連的電線傳進來或釋放掉。存儲器中的每個小抽屜就是一個存放數(shù)據(jù)的地方,稱之為一個“存儲單元”。要在一個存儲單元中放入數(shù)據(jù)12,即放入:00001100。可見,只要把第二號和第三號小格子里存滿電荷,而其它小格子里的電荷給放掉就行了。46第四十六頁,共六十八頁,2022年,8月28日AT89S51存儲器采用哈佛型結(jié)構(gòu)可以分成兩大類:﹡RAM,CPU在運行時能隨時進行數(shù)據(jù)的寫入和讀出,但在關(guān)閉電源時,其所存儲的信息將丟失。它用來存放暫時性的輸入輸出數(shù)據(jù)、運算的中間結(jié)果或用作堆棧。﹡ROM是一種寫入信息后不易改寫的存儲器。斷電后,ROM中的信息保留不變。用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。

47第四十七頁,共六十八頁,2022年,8月28日內(nèi)部ROM(4KB)EA=1外部ROM(4KB)EA=0外部ROM(60KB)內(nèi)部RAM128BSFR(26個)外部RAM(64KB)0000H0000H0000H0FFFH0FFFH1000HFFFFHFFFFHFFH00H7FH80HMOVC指令操作MOV指令操作MOVX指令操作ROM地址空間RAM地址空間48第四十八頁,共六十八頁,2022年,8月28日2.1程序存儲器(ROM)8051/AT89S51的程序存儲器空間,片內(nèi)ROM/FlashROM為4KB,地址為0000H~0FFFH,片外最多可擴展至64KB的ROM/FlashROM,地址1000H~FFFFH,片內(nèi)外是統(tǒng)一編址的。當31引腳接高電平時,AT89S51的PC在0000H~0FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM中的程序;當PC超過0FFFH時,就自動轉(zhuǎn)向片外ROM取指令。當接低電平時,AT89S51片內(nèi)ROM不起作用,CPU只能從片外ROM/EPROM中取指令.

注:不管是內(nèi)部的還是外部的ROM,開頭的0003H~002AH空間地址是中斷源的入口地址區(qū),是專用單元,一般情況下用戶不能用來存放其它程序。

49第四十九頁,共六十八頁,2022年,8月28日單片機上電復(fù)位后,程序計數(shù)器指針PC為0000H,故CPU總是從0000H開始執(zhí)行程序。若用戶編寫的主程序或初始化程序不從此地址開始,則應(yīng)在0000H單元內(nèi)存放一條絕對跳轉(zhuǎn)指令,將PC轉(zhuǎn)向主程序或初始化程序的入口地址。

CPU是根據(jù)PC(程序計數(shù)器)值從ROM中取指令來執(zhí)行的。CPU每從ROM中讀取一個字節(jié),自動執(zhí)行(PC)+1→PC,即PC指向下一個地址空間,一般情況下CPU是按ROM地址空間順序從小到大依次執(zhí)行。只有執(zhí)行的指令是轉(zhuǎn)移類指令,才根據(jù)轉(zhuǎn)移類指令所指示的新地址,調(diào)整PC值,然后根據(jù)新的PC值從對應(yīng)的地址空間中取指令來執(zhí)行。當調(diào)用子程序或中斷發(fā)生時,PC值也會改變。50第五十頁,共六十八頁,2022年,8月28日2.2內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM)

P19AT89S51單片機內(nèi)部有128B字節(jié)劃分為三部分:工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。

CyACF0RS1RS0OVF1P0區(qū)1區(qū)2區(qū)3區(qū)位尋址區(qū)數(shù)據(jù)緩沖區(qū)工作寄存器區(qū)8位整體操作位尋址區(qū)8位整體操作、位操作堆棧與數(shù)據(jù)緩沖區(qū)8位整體操作00~07H08~0FH10~17H18~1FH20~2FH位地址D7D0PSW07H06H05H04H03H02H01H00HD7D020H(字節(jié)地址)(R0~R7)30~7FH51第五十一頁,共六十八頁,2022年,8月28日

在任一時刻只有一個區(qū)作為當前的工作寄存器區(qū),相應(yīng)的空間單元作為工作寄存器使用,表示R0~R7。不是當前工作寄存器區(qū)的可以作為一般的RAM空間使用。操作方式:8位整體操作。

(1)工作寄存器區(qū)

低端32個字節(jié)分成4個工作寄存器組,每組8個單元。當前工作寄存器組的機制便于快速現(xiàn)場保護。

PSW的RS1、RS0決定當前工作寄存器組號

寄存器0組:地址00H~07H;寄存器1組:地址08H~0FH;寄存器2組:地址10H~17H;寄存器3組:地址18H~1FH。52第五十二頁,共六十八頁,2022年,8月28日(2)位尋址區(qū)20H~2FH共計16個單元為位尋址區(qū),每個單元的8位可進行位操作,有位的置1、清0、取反以及判斷等操作等指令。

位地址的范圍:00~7FH。(要注意和內(nèi)RAM空間單元地址的區(qū)別)位尋址區(qū)空間單元操作的有兩種方法,即可以象其它RAM空間一樣進行8位整體操作,也可以通過位地址對這些空間單元的某一位進行操作。53第五十三頁,共六十八頁,2022年,8月28日字節(jié)地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H位尋址區(qū)的位地址映象表(表2-5)54第五十四頁,共六十八頁,2022年,8月28日位尋址區(qū)的位地址形式有兩種:位地址和位編號。位地址07H06H05H04H03H02H01H00HD7D020H(字節(jié)地址)

如20H單元的8個位位地址為:00H~07H位編號為:20H.0~20H.7它們的含義是一致的,都表示20H單元的位地址,在應(yīng)用中可以互換,位編號更便于記憶。55第五十五頁,共六十八頁,2022年,8月28日(3)堆棧與數(shù)據(jù)緩沖區(qū)30H~7FH共80個字節(jié)為數(shù)據(jù)緩沖區(qū),用于存放數(shù)據(jù)和中間結(jié)果,起到數(shù)據(jù)緩沖的作用,這些空間數(shù)據(jù)的操作是8位的整體操作。在實際應(yīng)用中,常需在RAM區(qū)設(shè)置堆棧。AT89S51的堆棧一般設(shè)在30H~7FH的范圍內(nèi)。棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時SP的初值為07H,在系統(tǒng)初始化時可以重新設(shè)置。56第五十六頁,共六十八頁,2022年,8月28日(3)特殊功能寄存器(SFR)單片機的狀態(tài)字、并行口、串行口、定時器和中斷系統(tǒng)的寄存器等,是一些有專門用途的寄存器,稱為特殊功能寄存器SFR,離散地分布在80H~FFH地址范圍內(nèi)。

SFR操作同內(nèi)部RAM的操作,其中字節(jié)地址能被8整除的特殊功能器,它們的每一位也有自己的位地址,也可以進行位操作。字節(jié)地址不能被8整除的特殊功能寄存器,只能8位的整體操作。

8位整體操作既可以對它們的字節(jié)地址操作,也可以對它們的符號(名稱)操作。57第五十七頁,共六十八頁,2022年,8月28日a、與運算器相關(guān)的寄存器(3個)累加器ACC,8位。累加器ACC是單片機最常用的寄存器,許多指令都用到累加器,特別是算術(shù)運算都需要用到,用于向ALU提供操作數(shù),許多運算的結(jié)果也存放在累加器中,在指令中ACC簡寫為A

;寄存器B,8位。主要用于乘、除法運算。也可以作為RAM的一個單元使用;58第五十八頁,共六十八頁,2022年,8月28日程序狀態(tài)字寄存器PSW,PSW反映的程序運行的狀態(tài),其結(jié)構(gòu)和含義如下表所示。位編號PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位地址D7HD6HD5HD4HD3HD2HD1HD0H位定義CyACF0RS1RS0OVF1PCy——進位標志。累加器A在執(zhí)行加減法運算中,如果最高位有進位或借位,Cy自動置1,否則自動清0,用于無符號數(shù)運算。另Cy還是位操作累加器,在指令中簡寫為C。例:78H+97H(01111000+10010111)59第五十九頁,共六十八頁,2022年,8月28日OV——溢出標志。累加器A在執(zhí)行加減法運算中,如果最高位和次高位只有一個進位或借位,OV置1,否則清0,用于有符號數(shù)的運算。

AC——進位標志輔助。累加器A執(zhí)行加法運算時,低4位向高4位進位時置1,否則清0。BCD碼加法運算調(diào)整標志。例:57H+3AH(01010111+00111010)P——奇偶標志。表示累加器A中“1”的個數(shù)的奇偶性。如果A中“1”的個數(shù)為奇數(shù),則P置1,否則清0。例:某運算結(jié)果是78H(01111000),顯然1的個數(shù)為偶數(shù),所以P=0。60第六十頁,共六十八頁,2022年,8月28日F0、F1——用戶標志。與位尋址區(qū)的位地址功能相同,由我們(編程人員)決定什么時候用,什么時候不用。RS1、RS0——工作寄存器區(qū)選擇位。工作寄存器區(qū)有4個,每次只有一個區(qū)當作工作寄存器用,通過RS1、RS0可以選擇它們中的一個。RS1、RS0=00——0區(qū)(00H~07H)RS1、RS0=01——1區(qū)(08H~0FH)RS1、RS0=10——2區(qū)(10H~17H)RS1、RS0=11——3區(qū)(18H~1FH)61第六十一頁,共六十八頁,2022年,8月28日[例2-1]設(shè)A中有下面的加法運算,分析PSW中有關(guān)位的值,及其表示的含義。

溫馨提示

  • 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

提交評論