單片機(jī)原理及應(yīng)用課件_第1頁(yè)
單片機(jī)原理及應(yīng)用課件_第2頁(yè)
單片機(jī)原理及應(yīng)用課件_第3頁(yè)
單片機(jī)原理及應(yīng)用課件_第4頁(yè)
單片機(jī)原理及應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩934頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章單片機(jī)概述1.0單片機(jī)的由來(lái)1.1什么是單片機(jī)1.2單片機(jī)的歷史及發(fā)展概況1.3單片機(jī)的特點(diǎn)及應(yīng)用1.48位單片機(jī)的主要生產(chǎn)廠(chǎng)家和機(jī)型1.5單片機(jī)的發(fā)展趨勢(shì)1.6MCS-51系列單片機(jī)1.7單片機(jī)與嵌入式系統(tǒng)1.0單片機(jī)的由來(lái)

單片機(jī)作為微型機(jī)的一個(gè)主要分支,在結(jié)構(gòu)上的最大特點(diǎn)就是把CPU、存儲(chǔ)器、定時(shí)器和多種輸入輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和規(guī)模而言,一塊單片機(jī)就是一臺(tái)計(jì)算機(jī)。

單片微型計(jì)算機(jī)的誕生是計(jì)算機(jī)發(fā)展史上一個(gè)新的里程碑。單片機(jī)的出現(xiàn)將計(jì)算機(jī)系統(tǒng)一分為二,形成了嵌入式計(jì)算機(jī)系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)兩大分支。

20世紀(jì)末、21世紀(jì)初,計(jì)算機(jī)專(zhuān)業(yè)領(lǐng)域集中精力發(fā)展通用計(jì)算機(jī)系統(tǒng)的軟硬件技術(shù),通用微處理器迅速?gòu)?86、386、486到奔騰系列;操作系統(tǒng)則迅速擴(kuò)展計(jì)算機(jī)基于高速海量的數(shù)據(jù)文件處理能力。

那么是什么原因使得現(xiàn)代計(jì)算機(jī)技術(shù)形成兩大分支呢?通用計(jì)算機(jī)系統(tǒng)

技術(shù)要求:

高速、海量的數(shù)值計(jì)算。技術(shù)發(fā)展方向:總線(xiàn)速度的無(wú)限提升,存儲(chǔ)容量的無(wú)限擴(kuò)大.

嵌入式計(jì)算機(jī)系統(tǒng)則走上了一條完全不同的道路,這條獨(dú)立發(fā)展的道路就是單芯片化道路。它使得傳統(tǒng)電子系統(tǒng)領(lǐng)域的廠(chǎng)家與專(zhuān)業(yè)人士,接過(guò)起源于計(jì)算機(jī)領(lǐng)域的嵌入式系統(tǒng),承擔(dān)起發(fā)展與嵌入式系統(tǒng)的歷史任務(wù),迅速地將傳統(tǒng)的電子系統(tǒng)發(fā)展到智能化的現(xiàn)代電子系統(tǒng)時(shí)代。

技術(shù)要求:

對(duì)象的智能化控制能力。技術(shù)發(fā)展方向:與對(duì)象系統(tǒng)密切相關(guān)的嵌入性能、控制能力與控制的可靠性。嵌入式計(jì)算機(jī)系統(tǒng)

(嵌入式系統(tǒng))

因此由于嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的技術(shù)要求與技術(shù)發(fā)展方向完全不同,它們的分道揚(yáng)鑣也就無(wú)法避免。同時(shí)也正是因?yàn)橛?jì)算機(jī)系統(tǒng)發(fā)展有了專(zhuān)業(yè)化的分工,從而也形成了20世紀(jì)末,計(jì)算機(jī)高速發(fā)展的局面。1.1

什么是單片機(jī)

輸入/輸出設(shè)備(例如:串行口、并行輸出口等)

一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部分:

CPU:進(jìn)行運(yùn)算、控制RAM:數(shù)據(jù)存儲(chǔ)ROM:程序存儲(chǔ)回顧馮諾伊曼結(jié)構(gòu)

在個(gè)人計(jì)算機(jī)上,這些部分被分成若干塊芯片,安裝在一個(gè)稱(chēng)之為主板的印刷線(xiàn)路板上。在單片機(jī)中,這些部分全部被做到一塊集成電路芯片中了,所以就稱(chēng)為單片(單芯片)機(jī)。

在一塊硅片上集成了中央處理器(CPU),存儲(chǔ)器(RAM,ROM,EPROM)和各種輸入、輸出接口(定時(shí)器,計(jì)數(shù)器,并行I/O口,串行口,A/D轉(zhuǎn)換器以及脈沖調(diào)制器PWM等),這樣一塊芯片具有一臺(tái)計(jì)算機(jī)的屬性,因而被稱(chēng)為單片微型計(jì)算機(jī)。

單片機(jī)的定義:?jiǎn)纹瑱C(jī)英文名稱(chēng)的變更:

SCM

(SingleChipMicrocomputer)

MCU(EMCU)(MicrocontrollerUnit)按其基本操作處理位數(shù)可分為:1位單片機(jī),4位單片機(jī),8位單片機(jī),16位單片機(jī),32位單片機(jī)。

按適用范圍可分為:通用型/專(zhuān)用型

按是否提供并行總線(xiàn)來(lái)分:總線(xiàn)型/非總線(xiàn)型

單片機(jī)的分類(lèi):

具有豐富的內(nèi)部資源,性能全面、適應(yīng)性強(qiáng)。用戶(hù)可以根據(jù)實(shí)際需要,設(shè)計(jì)一個(gè)以通用單片機(jī)芯片為核心,再配以外部接口電路及其它外圍設(shè)備,來(lái)滿(mǎn)足各種不同需要的測(cè)控系統(tǒng)。例如:80C51是通用型單片機(jī)。通用型它把可開(kāi)發(fā)的內(nèi)部資源(RAM、ROM、I/O等)全部提供給用戶(hù)。特點(diǎn):例如:為了滿(mǎn)足電子體溫計(jì)的要求,在片內(nèi)集成有ADC接口等功能的溫度測(cè)量控制電路。打印機(jī)、各通信設(shè)備中的廣泛使用的專(zhuān)用單片機(jī)。專(zhuān)用型針對(duì)某些產(chǎn)品的特定用途而制作的單片機(jī)。特點(diǎn):

在設(shè)計(jì)中已經(jīng)對(duì)系統(tǒng)結(jié)構(gòu)、可靠性、成本等因素進(jìn)行了全面考慮,所以專(zhuān)用單片機(jī)綜合優(yōu)勢(shì)十分明顯的。1.2單片機(jī)的歷史及發(fā)展概況

單片機(jī)的發(fā)展歷史可分為四個(gè)階段(劃分不唯一):第一階段(1974~1976):?jiǎn)纹瑱C(jī)初級(jí)階段。因工藝限制,單片機(jī)采用雙片的形式而且功能比較簡(jiǎn)單。第二階段(1976~1978):?jiǎn)纹瑱C(jī)的探索階段。

這種單片機(jī)片內(nèi)集成有8位CPU、并行I/O口、8位定時(shí)/計(jì)數(shù)器,RAM和ROM,不足之處是無(wú)串行口,中斷處理較簡(jiǎn)單,片內(nèi)RAM和ROM容量較小。代表機(jī)型:IntelMCS-48系列。

第三階段(1978~1982):?jiǎn)纹瑱C(jī)的完善階段。普遍帶有串行I/O口,多級(jí)中斷系統(tǒng),16位定時(shí)/計(jì)數(shù)器。RAM和ROM容量大且可尋址范圍達(dá)64K,片內(nèi)帶有A/D轉(zhuǎn)換器。

代表機(jī)型:IntelMCS-51系列、Motorola的6801、Zilog公司的Z8。

由于這類(lèi)單片機(jī)的性能價(jià)格比高,所以仍被廣泛采用,是目前應(yīng)用數(shù)量較多的單片機(jī)。第四階段(1982~現(xiàn)在):8位單片機(jī)鞏固發(fā)展及16位單片機(jī)、32位單片機(jī)推出階段。

集成度高達(dá)120000管子/片,主振為12MHz,片內(nèi)RAM為232B,ROM為8KB,中斷處理為8級(jí),片內(nèi)帶有多通道10位A/D轉(zhuǎn)換器及高速輸入/輸出部件(HIS/HSO)實(shí)時(shí)處理能力很強(qiáng)。

代表機(jī)型:INTELMCS-96。

32位單片機(jī)除了具有更高的集成度外,主振已達(dá)20MHz,其性能也比8位、16位單片機(jī)更加優(yōu)越。

1.3單片機(jī)的特點(diǎn)及應(yīng)用

一、

單片機(jī)的特點(diǎn)

(1)小巧靈活、成本低、易于產(chǎn)品化。能方便地組裝成各種智能式測(cè)控設(shè)備及各種智能儀器儀表。(2)可靠性好,適應(yīng)溫度范圍寬。

單片機(jī)本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,能適應(yīng)各種惡劣的環(huán)境.MCS-51系列民用、工業(yè)用、軍用產(chǎn)品使用溫度對(duì)照表民用品0~+70oC工業(yè)用品

-40~+85oC軍用品

-65~+125oC

(3)易擴(kuò)展,易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),控制功能強(qiáng)。

單片機(jī)的邏輯控制功能很強(qiáng),指令系統(tǒng)有各種控制功能指令。

(4)可以很方便地實(shí)現(xiàn)多機(jī)和分布式控制。

MCS-51單片機(jī)的特點(diǎn)

二、

單片機(jī)的應(yīng)用

工業(yè)方面:各種測(cè)控系統(tǒng)、數(shù)據(jù)采集系統(tǒng),工業(yè)機(jī)器人。

智能儀器儀表方面:在這個(gè)領(lǐng)域單片機(jī)應(yīng)用很普及。單片機(jī)應(yīng)用在智能儀器儀表方面,使傳統(tǒng)的儀器儀表發(fā)生根本的變革,加速了儀器儀表向數(shù)字化、智能化方向發(fā)展。通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)。

民用方面:電子玩具、錄像機(jī)、激光唱機(jī),電子秤,JX-II銀行計(jì)息電腦,復(fù)讀機(jī),電腦縫紉機(jī)

導(dǎo)彈與控制方面:導(dǎo)彈控制、魚(yú)雷制導(dǎo)控制、智能武器裝備、航天飛機(jī)導(dǎo)航系統(tǒng)。

各種計(jì)算機(jī)外部設(shè)備及電器方面:打印機(jī)、硬盤(pán)驅(qū)動(dòng)器、彩色與黑白復(fù)印機(jī),磁帶機(jī)等。多機(jī)分布式系統(tǒng):可用單片機(jī)構(gòu)成分布式測(cè)控系統(tǒng)。

MCS-51單片機(jī)具有如下一些特點(diǎn):

集成度高。MCS-51單片機(jī)的典型代表產(chǎn)品為8031,8031芯片內(nèi)部包含了128個(gè)字節(jié)的RAM,4個(gè)8位并行I/O口,1個(gè)全雙工的串行口,2個(gè)16位的定時(shí)器/計(jì)數(shù)器,以及一個(gè)處理能力很強(qiáng)的中央處理器。

系統(tǒng)結(jié)構(gòu)簡(jiǎn)單。MCS-51芯片內(nèi)部采用模塊式結(jié)構(gòu),增加或更換一個(gè)模塊,就能得到指令系統(tǒng)和引腳兼容的新產(chǎn)品。系統(tǒng)擴(kuò)展方便。MCS-51具有外擴(kuò)至64K字節(jié)程序存儲(chǔ)器和64k字節(jié)的外部ROM和I/O口的能力。

可靠性高。MCS-51單片機(jī)的總線(xiàn)大多在芯片內(nèi)部不易受干擾,而且MCS-51應(yīng)用系統(tǒng)體積小,容易采取屏蔽等措施,適應(yīng)范圍寬,在各種惡劣的環(huán)境下都能可靠的工作。處理功能強(qiáng)、速度高。MCS-51單片機(jī)指令系統(tǒng)中有加、減、乘除及各種邏輯運(yùn)算和轉(zhuǎn)移指令,還具有位操作功能。CPU時(shí)鐘頻率為12MHz,指令系統(tǒng)中近50%的指令為單字節(jié)指令,指令執(zhí)行速度快。

容易產(chǎn)品化。MCS-51由于單片機(jī)應(yīng)用系統(tǒng)具有體積小、可靠性高、功能強(qiáng)、價(jià)格低等特點(diǎn),因此容易形成產(chǎn)品,可以把它裝入各種儀器、儀表及控制設(shè)備中。

1.48位單片機(jī)的主要生產(chǎn)廠(chǎng)家和機(jī)型

目前世界上較為著名的8位單片機(jī)的生產(chǎn)廠(chǎng)家和主要機(jī)型:

Intel(美國(guó)英特爾)公司:MCS-51系列及其增強(qiáng)型系列Zilog(美國(guó)齊洛格)公司:Z8及系列和SUPER8系列Fairchild(美國(guó)仙童)公司:F8系列和3870系列Motorola(美國(guó)摩托羅拉)公司:6801系列和6805系列Rockwell(美國(guó)洛克威爾)公司:6500/1系列TI(美國(guó)德克薩司儀器儀表)公司:TMS7000系列NS(美國(guó)國(guó)家半導(dǎo)體)公司:NS8070系列RCA(美國(guó)無(wú)線(xiàn)電)公司:CDP1800系列NEC(日本電氣)公司:uCOM87(uPD7800)

系列HITACHI(日本日立)公司:HD6301HD63L05,HD6305PHILIPS(荷蘭菲力浦)公司:8×C552系列

為什么Intel公司的MCS-51系列及其增強(qiáng)型系列在8位單片機(jī)市場(chǎng)中能占據(jù)半壁江山?MCS-51系列單片機(jī)比MCS-48系列的性能價(jià)格比要高。

該系列單片機(jī)品種全、兼容性強(qiáng)。

軟硬件應(yīng)用設(shè)計(jì)資料豐富齊全,國(guó)內(nèi)很多工程技術(shù)人員對(duì)其十分熟悉。

所以自1980年MCS-51系列單片機(jī)推出以來(lái),直到現(xiàn)在,其市場(chǎng)仍很堅(jiān)挺。它已成為我國(guó)在工業(yè)檢測(cè)、控制領(lǐng)域中的優(yōu)選機(jī)種和機(jī)型。1.5單片機(jī)的發(fā)展趨勢(shì)

趨勢(shì):大容量、高性能化、外圍電路內(nèi)裝化等。

CPU的改進(jìn)

存儲(chǔ)器的擴(kuò)展片內(nèi)I/O口的改進(jìn)

外圍電路內(nèi)裝化

低耗化

CPU的改進(jìn)(1)采用雙CPU結(jié)構(gòu),以提高處理能力。(2)增加數(shù)據(jù)總線(xiàn)寬度(16位數(shù)據(jù)總線(xiàn)),以提高數(shù)據(jù)處理能力。(3)串行總線(xiàn)結(jié)構(gòu)。IIC總線(xiàn)(Inter-ICbus)。該總線(xiàn)用兩根信號(hào)線(xiàn)代替現(xiàn)行的8位數(shù)據(jù)總線(xiàn),從而大大地減少了單片機(jī)外部引線(xiàn),簡(jiǎn)化了單片機(jī)與外部的接口電路,降低了成本。

存儲(chǔ)器的擴(kuò)展

加大存儲(chǔ)器容量新型單片機(jī)片內(nèi)RAM:128K

256K

片內(nèi)ROM:可達(dá)4KB至8KB,有的高達(dá)128KB。片內(nèi)EPROM采用EEPROM或閃存

EPROM特點(diǎn):高壓編程寫(xiě)入,紫外線(xiàn)擦抹。

EEPROM(閃存)特點(diǎn):+5V下讀寫(xiě),讀寫(xiě)操作方便,掉電時(shí)不丟失數(shù)據(jù)。程序保密化對(duì)片內(nèi)的EPROM或EEPROM加鎖

片內(nèi)I/O口的改進(jìn)

增加并行口的驅(qū)動(dòng)能力。

增加I/O口的邏輯控制能力。

設(shè)置一些特殊的串行接口功能,為構(gòu)成分布式、網(wǎng)絡(luò)化系統(tǒng)提供了方便。

外圍電路內(nèi)裝化

隨著集成度的提高,盡可能將眾多的外圍功能器件都集成在片內(nèi)。除了一般必須具有的ROM、RAM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)外,片內(nèi)集成的部件還有模/數(shù)轉(zhuǎn)換器、數(shù)/模轉(zhuǎn)換器、DMA控制器、中斷控制器、鎖相器、頻率合成器、字符發(fā)生器、聲音發(fā)生器、CRT控制器、譯碼驅(qū)動(dòng)器等。

低耗化

MOS

CMOS

CHMOS

MCS-51系列中的80C31/80C51/87C51采用的就是CHMOS工藝,正常運(yùn)行時(shí),工作電流為16mA。

1.6MCS–51系列單片機(jī)

MCS-51系列、80C51系列、8051、AT89C51的區(qū)別?

MCS是Intel公司專(zhuān)用的單片機(jī)的系列符號(hào),例如MCS-48、MCS-51、MCS-96系列單片機(jī)。MCS-51系列單片機(jī)既包括三個(gè)基本型8031、8051、8751也包括對(duì)應(yīng)的低功耗型80C31、80C51、87C51,因此MCS-51系列特指Intel公司的這幾種型號(hào)的單片機(jī)。

20世紀(jì)80年代中期,Intel公司以專(zhuān)利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給了許多半導(dǎo)體芯片生產(chǎn)廠(chǎng)家,如ATMEL、PHILIPS、DALLAS公司等。這些廠(chǎng)家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品(指令系統(tǒng)兼容)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)相同,采用CMOS工藝,因此常用80C51系列來(lái)稱(chēng)呼所有具有8051指令系統(tǒng)的單片機(jī)。

8051是MCS-51系列基本產(chǎn)品當(dāng)中的一個(gè)。

AT89C51是美國(guó)ATMEL公司的產(chǎn)品。它在我國(guó)使用較多。該芯片具有低功耗、高性能的特點(diǎn),其內(nèi)部含有4KB的閃爍存儲(chǔ)器在線(xiàn)編程,價(jià)格較低,在國(guó)內(nèi)很受歡迎。

原理屬于ROM型存儲(chǔ)器,功能上又可隨時(shí)改寫(xiě),作用又相當(dāng)于RAM。

目前使用的MCS系列單片機(jī)及其兼容產(chǎn)品分為:

MCS系列單片機(jī)

MCS-518位單片機(jī)系列基本型

MCS-9616位單片機(jī)

MCS-51單片機(jī)兼容產(chǎn)品

Z8單片機(jī)系列

MC6801單片機(jī)系列

MCS-518位單片機(jī)系列基本型(1)8031/8051/87518031(片內(nèi)無(wú)程序存儲(chǔ)器),8051(片內(nèi)4KROM),8751(4KEPROM)8位CPU,128字節(jié)RAM,片外ROM和片外RAM最多都可擴(kuò)展至64K。4個(gè)8位并行I/O口,1個(gè)全雙工的串行口,2個(gè)16位的定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,2級(jí)中斷邏輯,111條指令。

8051ROM內(nèi)的程序是公司制作芯片時(shí)為用戶(hù)燒制的,所以出廠(chǎng)的8051都是含有特殊用途的單片機(jī)。

(2)8052AH/8032AH改進(jìn)型,將ROM、RAM增大一倍。8KROM,256字節(jié)RAM,定時(shí)器/計(jì)數(shù)器增加至3個(gè)16位計(jì)數(shù)器,有6個(gè)中斷源。(3)80C51BH/87C51/80C31BH這三種機(jī)型是8051的CHMOS型。功能與8051完全兼容。

特點(diǎn):功耗低,能用電池供電工作,有較寬的工作電壓范圍,抗干擾能力強(qiáng)。

MCS-9616位單片機(jī)MCS-96是INTEL公司1983年以后推出的產(chǎn)品,是16位的單片機(jī)系列,性能比51系列有較大的改進(jìn),其性能為:16位CPU,主頻為12MHz,采用新穎的寄存器推/運(yùn)算邏輯部件(RALU)。片內(nèi)ROM為8K,RAM為232字節(jié)(寄存器堆).4條高速觸發(fā)輸入線(xiàn),6條高速脈沖輸出線(xiàn)。

4個(gè)16位的軟件定時(shí)器能同時(shí)工作。

內(nèi)有10位的A/D轉(zhuǎn)換器。運(yùn)算能力和運(yùn)算速度大大加強(qiáng),在12MHz輸入頻率下,可實(shí)現(xiàn)16位加法運(yùn)算(1us)、16×16位乘法、32位÷16位的除法運(yùn)算(6.5us)可使用面向工業(yè)控制的高級(jí)語(yǔ)言。如:PLUS、C語(yǔ)言、Forth語(yǔ)言、PL/M語(yǔ)言等。MCS-51單片機(jī)兼容產(chǎn)品

Z8單片機(jī)系列

Z8是Zilog公司生產(chǎn)的8位單片機(jī)產(chǎn)品。推出時(shí)間較晚,集中了許多8位單片機(jī)的優(yōu)點(diǎn),功能較強(qiáng)。

(1)Z8061/Z8611

片內(nèi)ROM分別為2K(Z8061)和4K(Z8611);片內(nèi)RAM為256字節(jié);系統(tǒng)擴(kuò)展能力:ROM為64K,RAM為64K;兩個(gè)8位定時(shí)/計(jì)數(shù)器;32條可變I/O線(xiàn);1個(gè)全雙工的串行口;6個(gè)中斷矢量,具備優(yōu)先級(jí)可屏蔽中斷。

(2)

無(wú)片內(nèi)ROM的Z8681/Z8682

除無(wú)片內(nèi)ROM外,其余的與Z8601相同,功耗低

(3)

Z8671

在Z8671內(nèi)部固化了一個(gè)TINYBASIC程序,這給用戶(hù)提供了很大方便.MCS-51單片機(jī)兼容產(chǎn)品

MC6801單片機(jī)系列

MC6801是MOTOROLA公司1979年推出的8位單片機(jī)系列,它保留了M6800特性并進(jìn)行改進(jìn),主要性能為:(1)改進(jìn)M6800的CPU,增加了M6800的指令集。(2)片內(nèi)ROM為2K,RAM為128字節(jié),外部擴(kuò)展空間64K。(3)29條并行I/O線(xiàn),1個(gè)串行通行口,1個(gè)可編程的三功能定時(shí)/計(jì)數(shù)器。

68HC11與MC6801兼容,屬CMOS工藝,功耗低,片內(nèi)有4K的ROM,512字節(jié)EPROM和256字節(jié)RAM,兩個(gè)通信系統(tǒng)SCI和SPI,1個(gè)8通道的8位A/D轉(zhuǎn)換器。嵌入式系統(tǒng)與單片機(jī)之間有什么關(guān)系?

嵌入式系統(tǒng)定義為:“嵌入到對(duì)象體系中的專(zhuān)用計(jì)算機(jī)系統(tǒng)”。嵌入式系統(tǒng)的三個(gè)基本要素及相關(guān)特點(diǎn):嵌入性:物理環(huán)境(小)、電氣環(huán)境(可靠)、成本(低廉)專(zhuān)用性:

軟硬件的裁剪性;滿(mǎn)足對(duì)象要求的最小軟、硬件配置

計(jì)算機(jī)系統(tǒng):

滿(mǎn)足對(duì)象系統(tǒng)控制要求的計(jì)算機(jī)系統(tǒng);配置有與對(duì)象系統(tǒng)相適應(yīng)的接口電路。

嵌入式系統(tǒng)按形態(tài)可分為:設(shè)備級(jí)(工控機(jī))板級(jí)(單板、模塊)

芯片級(jí)(MCU、SoC)

嵌入式系統(tǒng)有過(guò)很長(zhǎng)一段單片機(jī)的獨(dú)立發(fā)展道路,大多數(shù)從事單片機(jī)應(yīng)用開(kāi)發(fā)人員,都是對(duì)象系統(tǒng)領(lǐng)域中的電子系統(tǒng)工程師,加之單片機(jī)的出現(xiàn),立即脫離了計(jì)算機(jī)專(zhuān)業(yè)領(lǐng)域,以“智能化”器件身份進(jìn)入電子系統(tǒng)領(lǐng)域,沒(méi)有帶入“嵌入式系統(tǒng)”概念。這樣,“單片機(jī)”與“嵌入式系統(tǒng)”成了兩個(gè)獨(dú)立的名詞。

由于“單片機(jī)”是典型的、獨(dú)立發(fā)展起來(lái)的嵌入式系統(tǒng),所以從學(xué)科建設(shè)的角度來(lái)看,應(yīng)將單片機(jī)統(tǒng)一成“嵌入式系統(tǒng)”??紤]到原來(lái)單片機(jī)的電子系統(tǒng)底層應(yīng)用特點(diǎn),可以把嵌入式系統(tǒng)應(yīng)用分為高端與低端,原來(lái)的單片機(jī)應(yīng)用作為嵌入式系統(tǒng)的低端應(yīng)用,含義為它的底層性以及與對(duì)象系統(tǒng)的緊耦合?,F(xiàn)在稍微復(fù)雜的嵌入式系統(tǒng),都是構(gòu)架在操作系統(tǒng)之上,這樣與對(duì)象系統(tǒng)聯(lián)系的緊密性則削弱了,應(yīng)該被看作嵌入式系統(tǒng)的高端應(yīng)用。嵌入式系統(tǒng)的特點(diǎn):1、系統(tǒng)內(nèi)核小。2、專(zhuān)業(yè)性強(qiáng),面向特定應(yīng)用的特點(diǎn)。3、嵌入式系統(tǒng)硬件和軟件都必須進(jìn)行高效地設(shè)計(jì),量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能。4、高實(shí)時(shí)性的操作系統(tǒng)軟件是嵌入式的基本要求。而且軟件要求固化存儲(chǔ),一提高速度。5、嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。6、嵌入式系統(tǒng)本身不具備二次開(kāi)發(fā)能力,他需要專(zhuān)門(mén)的開(kāi)發(fā)工具和環(huán)境才能進(jìn)行再次開(kāi)發(fā)。生活中的嵌入式設(shè)備:手機(jī)、PDA、車(chē)栽GPS接收機(jī)、網(wǎng)際頻寬管理器、指紋系統(tǒng)、MP3、無(wú)線(xiàn)網(wǎng)絡(luò)攝像機(jī)、智能通訊服務(wù)器。教案第二章MCS-51單片機(jī)的硬件結(jié)構(gòu)2.1MCS-51單片機(jī)的硬件結(jié)構(gòu)2.2MCS-51的引腳2.3MCS-51的CPU2.4MCS-51存儲(chǔ)器的結(jié)構(gòu)2.5并行端口2.6復(fù)位電路2.7時(shí)鐘電路2.1MCS-51單片機(jī)的硬件結(jié)構(gòu)

MCS-51單片機(jī)的組成部件:微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、I/O并行口(P0口、P1口、P2口、P3口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存(SFR)

MCS-51單片機(jī)片內(nèi)結(jié)構(gòu)圖

結(jié)構(gòu)特點(diǎn):?jiǎn)我豢偩€(xiàn)連接,CPU加外圍芯片的傳統(tǒng)結(jié)構(gòu)模式,采用SFR對(duì)各功能部件進(jìn)行集中控制。

各功能部件說(shuō)明:

1.數(shù)據(jù)存儲(chǔ)器(RAM):片內(nèi)有128個(gè)字節(jié)(單元),片外最多可外擴(kuò)至64K字節(jié)。2.程序存儲(chǔ)器(ROM/EPROM/EEPROM):8031無(wú)此部件;8051為4KROM;8751為4KEPROM。片外最多可外擴(kuò)至64K字節(jié)。3.中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。4.定時(shí)器/計(jì)數(shù)器:2個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有四種工作方式。

精確定時(shí)、對(duì)外部事件計(jì)數(shù)的需要、MCS-51CPU中的位處理器,是一個(gè)完整的1位微計(jì)算機(jī),它有自己的CPU、位寄存器、I/O口和指令集。這個(gè)1位機(jī)在開(kāi)關(guān)決策、邏輯電路仿真

、工業(yè)控制方面很有效;而8位機(jī)在數(shù)據(jù)采集、運(yùn)算處理有優(yōu)勢(shì)。二者相輔相成,是單片機(jī)技術(shù)上的1個(gè)突破。

返回2.2MCS-51的引腳

制造工藝為CHMOS的80C51/80C31除采用DIP封裝外,還采用方形封裝方式,為44只引腳。

制造工藝為HMOS的MCS-51的單片機(jī)都采用40只引腳的雙列直插封裝(DIP)方式,目前大多數(shù)為此類(lèi)封裝方式。3.I/O口引腳:P0、P1、P2、P3為4個(gè)8位I/O口的外部引腳.40只引腳按其功能來(lái)分,可分為三部分:1.電源及時(shí)鐘引腳:

Vcc、Vss;XTAL1、XTAL22.控制引腳

PSEN、ALE、EA、RESET(即RST).2.2.1電源及時(shí)鐘引腳

電源引腳:

Vcc(40腳):+5V電源;Vss(20腳):接地。(2)

時(shí)鐘引腳:時(shí)鐘引腳外接晶體與片內(nèi)的反相放大器構(gòu)成了一個(gè)振蕩器,它提供單片機(jī)的時(shí)鐘控制信號(hào)。時(shí)鐘引腳也可外接晶體振蕩器。

XTAL2(18腳):接外部晶體的另一端,在單片機(jī)內(nèi)部,接至內(nèi)部反相放大器的輸出端。當(dāng)采用外接晶體振蕩器時(shí),該引腳接收振蕩器的信號(hào)。

XTAL1(19腳):接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端。這個(gè)放大器構(gòu)成片內(nèi)振蕩器。當(dāng)采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。內(nèi)部時(shí)鐘方式機(jī)器周期、指令周期與指令時(shí)序P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1ALE時(shí)鐘一個(gè)機(jī)器周期=12時(shí)鐘周期P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1機(jī)器周期、指令周期與指令時(shí)序P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1ALE時(shí)鐘一個(gè)機(jī)器周期=12時(shí)鐘周期P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1指令周期:定義:執(zhí)行一條指令所需時(shí)間。指執(zhí)行令所需時(shí)間:1~4機(jī)器周期。fosc=6MHz,fcy=fosc/12,Tcy=2us;fosc=12MHz,fcy=fosc/12,Tcy=1us2.2.2控制引腳

RST/VPD(9腳)RST:單片剛接上電源時(shí),其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在此腳輸入24個(gè)時(shí)鐘周期寬度以上的高電平將使單片機(jī)復(fù)位。單片機(jī)正常工作時(shí),此腳應(yīng)為≤0.5V低電平。VPD:備用電源輸入端。當(dāng)Vcc下降到低于規(guī)定的值,而VPD在其規(guī)定的電壓范圍內(nèi)(5±0.5V)時(shí),VPD就向內(nèi)部RAM提供備用電源以保持內(nèi)部RAM的數(shù)據(jù)。

ALE引腳輸出為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電工作后,ALE引腳不斷輸出正脈沖信號(hào).

當(dāng)訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),ALE(地址鎖存允許信號(hào))輸出脈沖的負(fù)跳沿用于16位地址的低8位鎖存信號(hào)。

不訪(fǎng)問(wèn)片外存儲(chǔ)器,ALE端以時(shí)鐘振蕩器頻率的1/6固定輸出正脈沖。在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)(執(zhí)行MOVX指令),ALE會(huì)丟失一個(gè)ALE脈沖。2)ALE/PROG(30引腳)PROG為本引腳的第二功能,對(duì)于EPROM型單片機(jī)(8751),在EPROM編程期間,此引腳用來(lái)輸入編程脈沖。思考:ALE能用做時(shí)鐘源或做定時(shí)嗎,為什么?

3)

PSEN(29引腳)

此腳的輸出信號(hào)是單片機(jī)訪(fǎng)問(wèn)外部ROM的讀選通信號(hào),在訪(fǎng)問(wèn)外部ROM取指令(或常數(shù))期間,每個(gè)機(jī)器周期PSEN兩次有效.在訪(fǎng)問(wèn)外部RAM時(shí)(即執(zhí)行MOVX類(lèi)指令),這兩次有效的PSEN不出現(xiàn)。PSEN可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。

EA

:內(nèi)外程序存儲(chǔ)器選擇控制端。

輸入高電平,CPU訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器(4K)。PC值超過(guò)0FFFH時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序。輸入低電平,CPU僅訪(fǎng)問(wèn)片外程序存儲(chǔ)器。注意:對(duì)于8031來(lái)說(shuō)此腳必須接地。

VPP:

8751片內(nèi)EPROM固化編程時(shí),用于施加較高的編程電壓。

4)EA/VPP2.2.3I/O口引腳

P0口:雙向8位三態(tài)I/O口,此口為地址總線(xiàn)(低8位)及數(shù)據(jù)總線(xiàn)分時(shí)復(fù)用口,可帶8個(gè)LSTTL負(fù)載。

P1口:8位準(zhǔn)雙向I/O口,可帶4個(gè)

LSTTTL負(fù)載。

P2口:8位準(zhǔn)雙向I/O口,與地址總線(xiàn)(高8位)復(fù)用。P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。

無(wú)固定上拉電阻,有兩個(gè)MOS管串接。有固定的上拉電阻。無(wú)高阻“浮空”狀態(tài)。返回2.3MCS-51的CPU

ALU、位處理器、累加器A、寄存器B、暫存器以及程序狀態(tài)字寄存器PSW以及BCD碼修正電路。實(shí)現(xiàn)數(shù)據(jù)的算術(shù)、邏輯運(yùn)算,位變量處理和數(shù)據(jù)傳輸。2.3.1運(yùn)算器包含部件:功能:1)ALU

增加不經(jīng)過(guò)累加器A的傳送指令,既可以加快數(shù)據(jù)的傳送速度,同時(shí)又可減少“瓶頸”現(xiàn)象的發(fā)生。

數(shù)據(jù)存送大都通過(guò)通過(guò)A,易形成“瓶頸”。2)累加器A(ACC)

8位的累加器,也是CPU中使用最頻繁的寄存器。它的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)是位處理器的一位累加器。思考:如何減少“瓶頸”現(xiàn)象的發(fā)生?

是為執(zhí)行乘法和除法操作設(shè)置的,在不執(zhí)行乘法、除法操作的情況下,可作普通寄存器使用。乘法:A、B存放乘數(shù)和被乘數(shù),乘積存放在BA寄存器對(duì)中。除法:

被除數(shù)取自A,除數(shù)取自B,商存放在A,余數(shù)存放于B。

3)寄存器B

4)程序狀態(tài)寄存器PSW(ProgramStatusWord)8位可讀寫(xiě)的寄存器。其各位的定義如下:1)Cy:進(jìn)位標(biāo)志位.在執(zhí)行算數(shù)和邏輯指令時(shí),可被硬、軟件置位或清除,在位處理器中,它是位累加器。2)AC:輔助進(jìn)位標(biāo)志位當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低4位進(jìn)位或借位時(shí),AC被硬件置1,否則被清除。3)F0:標(biāo)志位4)RS1、RS0:寄存器區(qū)選擇控制位:OV(PSW.2)溢出標(biāo)志位:當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置1或清0,以指示是否溢出。P(PSW.0)奇偶標(biāo)志位:每個(gè)指令周期都由硬件來(lái)置位或清除,以表示累加器A中值為1的位數(shù)的奇偶數(shù)。

P=1,則A中1的個(gè)數(shù)為奇數(shù)。

P=0,則A中1的個(gè)數(shù)為偶數(shù)。

此標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有的意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

(A)=10101011P=1還是0?2.3.2控制器

控制器是單片機(jī)的神經(jīng)中樞。單片機(jī)執(zhí)行指令是在控制器下進(jìn)行的。一條指令的執(zhí)行過(guò)程:

取指令→分析指令(指令譯碼)→執(zhí)行指令包含部件:指令部件、時(shí)序部件和微操作控制部件。

指令部件介紹

程序計(jì)數(shù)器PCPC中存放的內(nèi)容:下一條將要執(zhí)行的指令在程序存儲(chǔ)器中的地址。PC的位數(shù)決定了單片機(jī)對(duì)程序存儲(chǔ)器可以直接尋址的范圍。思考:MCS-51系列單片機(jī),尋址范圍是多少?PC是一個(gè)16位的計(jì)數(shù)器,所以尋址范圍為64KB(216=65536).

程序計(jì)數(shù)器的基本工作方式:(1)順序執(zhí)行時(shí),PC自動(dòng)加1。(2)執(zhí)行轉(zhuǎn)移指令時(shí),PC被置入新值,從而使程序流向改變。(3)執(zhí)行子程序調(diào)用或響應(yīng)中斷時(shí),單片機(jī)自動(dòng)完成下列操作:①PC的現(xiàn)行值(斷點(diǎn)值),自動(dòng)壓入堆棧。②將子程序入口地址或中斷向量的地址送入PC,程序改變流向,轉(zhuǎn)向執(zhí)行子程序或中斷服務(wù)程序。執(zhí)行完畢后,遇到RET或RETI時(shí),將堆棧中保存的斷點(diǎn)值彈到PC中,程序又返回到斷點(diǎn)處繼續(xù)執(zhí)行未完成的部分。指令寄存器IR

IR:存放指令操作碼。

控制器的功能可總結(jié)為:接受來(lái)自存儲(chǔ)器的指令,進(jìn)行指令譯碼,根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,保證單片機(jī)各部分協(xié)調(diào)工作,完成指令做規(guī)定的各種操作。

CPU時(shí)序及時(shí)鐘電路

單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。單片機(jī)運(yùn)行時(shí)是以主振頻率為基準(zhǔn)的,控制器控制CPU的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),將各個(gè)硬件環(huán)節(jié)組織在一起,這種嚴(yán)格的時(shí)序保證了各部件間的同步工作。為了便于對(duì)CPU時(shí)序進(jìn)行分析,我們將指令的執(zhí)行過(guò)程規(guī)定了以下幾種周期,即時(shí)鐘周期、機(jī)器周期和指令周期。

1.

時(shí)鐘周期(振蕩周期)時(shí)鐘周期是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。它定義為時(shí)鐘脈沖頻率的倒數(shù)。在80C51單片機(jī)中將一個(gè)時(shí)鐘周期定義為1個(gè)節(jié)拍。即TOSC=1/fOSC若fOSC=1MHz,TOSC=1μS對(duì)于8051單片機(jī)而言,時(shí)鐘頻率范圍是1.2~12MHz。2.機(jī)器周期一條指令的指令過(guò)程劃分為若干個(gè)階段,每一階段完成一項(xiàng)基本操作,例如取指令、讀存儲(chǔ)器、寫(xiě)存儲(chǔ)器等,我們將CPU完成這每一個(gè)基本操作所需的時(shí)間定義為機(jī)器周期。

每個(gè)機(jī)器周期(12個(gè)振蕩周期)由6個(gè)狀態(tài)周期組成,即S1、S2、……S6,而每個(gè)狀態(tài)周期由兩個(gè)時(shí)相P1,P2組成(即為2個(gè)主振振蕩周期)。所以一個(gè)機(jī)器周期可依次表示為S1P1、S1P2、S2P1、S2P2……S6P1、S6P2。

從上圖可以看到,一個(gè)機(jī)器周期中通常出現(xiàn)兩次ALE信號(hào),即從ROM中取兩次操作碼,讀入指令寄存器,指令周期的執(zhí)行開(kāi)始于S1P1時(shí)刻,而總是結(jié)束于S6P2時(shí)刻。提示:訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器(MOVX)時(shí),將會(huì)丟失1個(gè)ALE脈沖。

3.

指令周期定義:執(zhí)行一條指令所需的時(shí)間。

MCS-51的指令周期一般只有1~2個(gè)機(jī)器周期,只有乘、除兩條指令占4個(gè)機(jī)器周期。當(dāng)用12MHz晶體作主振頻率時(shí),執(zhí)行一條指令的時(shí)間,也就是一個(gè)指令周期為1us、2us及4us。

返回2.4MCS-51存儲(chǔ)器的結(jié)構(gòu)

MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間是分開(kāi)的。

8051在物理結(jié)構(gòu)上有

4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器

8051在邏輯結(jié)構(gòu)(用戶(hù)角度)有3個(gè)存儲(chǔ)空間:1.片內(nèi)外統(tǒng)一編址的64K字節(jié)程序存儲(chǔ)器地址空間(用16位地址);2.片內(nèi)256字節(jié)RAM;3.片外64KBRAM49頁(yè)圖提示:訪(fǎng)問(wèn)不同的邏輯空間時(shí),應(yīng)采用不同的指令。但是,為了對(duì)MCS-51的存儲(chǔ)器講述的更清楚,下面分五類(lèi)加以介紹:程序存儲(chǔ)器、內(nèi)部數(shù)據(jù)存儲(chǔ)器、特殊功能寄存器、位地址空間和外部數(shù)據(jù)存儲(chǔ)器。2.4.1程序存儲(chǔ)器

EA接高電平,PC的值在低4K字節(jié)(0000H~0FFFH)內(nèi),執(zhí)行片內(nèi)ROM,PC>0FFFH,CPU自動(dòng)訪(fǎng)問(wèn)片外。EA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。

程序存儲(chǔ)器用于存放應(yīng)用程序和表格之類(lèi)的固定常數(shù)。上一小節(jié)我們已經(jīng)了解了由于程序計(jì)數(shù)器PC是16位的(地址總線(xiàn)為16根),所以程序存儲(chǔ)器最多可擴(kuò)展至64KB的。(1)程序存儲(chǔ)器可分為片內(nèi)和片外。由于邏輯上還是屬于同一空間,所以訪(fǎng)問(wèn)用的是相同的指令。訪(fǎng)問(wèn)片內(nèi)還是片外取決于EA引腳上所接電平。

提示:對(duì)于8051、8751單片機(jī),若將

EA接低電平,可用于程序調(diào)試。

8031由于片內(nèi)無(wú)程序存儲(chǔ)器,必須使

EA引腳固定接低電平。(2)程序存儲(chǔ)器的某些單元被固定用于各中斷源的中斷服務(wù)程序(ISR----InterruptServiceRoutine)的入口地址。

2.4.2內(nèi)部數(shù)據(jù)存儲(chǔ)器MCS-51RAM在物理上和邏輯上分為兩個(gè)地址空間。片內(nèi)RAM:128字節(jié),用MOV指令訪(fǎng)問(wèn)。(從廣義上來(lái)說(shuō),應(yīng)該有256B。)片外RAM:可擴(kuò)展64K字節(jié),用MOVX指令訪(fǎng)問(wèn)。

2.4.3特殊功能寄存器(SFR)

SFR的實(shí)質(zhì)是一些具有特殊功能的片內(nèi)RAM單元。個(gè)數(shù)的總數(shù)為21個(gè),字節(jié)地址范圍為80H~FFH。離散地分布在該區(qū)域中。其中有些SFR還可以進(jìn)行位尋址。

在上述表中,打*SFR是可以位尋址的。我們可以發(fā)現(xiàn)一個(gè)規(guī)律,那就是其字節(jié)地址的末尾是0H或是8H(字節(jié)地址能被8整除)。對(duì)于尚未定義的字節(jié)地址單元,用戶(hù)不能作普通寄存器使用,若訪(fǎng)問(wèn)沒(méi)有定義的單元,將得到一個(gè)不確定的隨機(jī)數(shù)。下面將簡(jiǎn)單介紹幾個(gè)SFR。1.

堆棧指針SPSP是一個(gè)8位的SFR,堆棧的實(shí)質(zhì)是一個(gè)特殊的RAM區(qū),主要功能是暫放數(shù)據(jù)和地址。堆棧的具體功能為:

(1)

保護(hù)斷點(diǎn):子程序調(diào)用以及中斷時(shí),最終都要返回主程序。為了保證程序能正確返回,應(yīng)該在堆棧中預(yù)先將主程序的斷點(diǎn)保護(hù)起來(lái)。(2)

現(xiàn)場(chǎng)保護(hù):

單片機(jī)執(zhí)行子程序或ISR之后,很可能要用到單片機(jī)中的一些寄存器,為了不破壞寄存器中的原有內(nèi)容,可以把有關(guān)寄存器的內(nèi)容保存起來(lái),送入堆棧。堆棧的特點(diǎn):

先進(jìn)后出。堆棧的操作:進(jìn)棧(PUSH),出棧(POP)。第一個(gè)進(jìn)棧的數(shù)據(jù)所在的單元稱(chēng)為棧底,然后逐次進(jìn)棧,最后進(jìn)棧的數(shù)據(jù)所在的存儲(chǔ)單元稱(chēng)為棧頂。堆棧的操作有兩種方式:(1)指令方式,使用堆棧操作指令進(jìn)行進(jìn)棧/出棧操作。(2)

自動(dòng)方式,在調(diào)用子程序或產(chǎn)生中斷時(shí),返回地址(斷點(diǎn))自動(dòng)進(jìn)棧。程序返回時(shí),斷點(diǎn)地址再自動(dòng)彈回PC。這種堆棧操作不需要干預(yù),是通過(guò)硬件自動(dòng)實(shí)現(xiàn)的。

提示:系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H開(kāi)始。因?yàn)?8H---1FH單元為工作寄存器區(qū)1---3,20H---2FH為位尋址區(qū),在程序設(shè)計(jì)很可能要用到這些區(qū),所以用戶(hù)在編程時(shí)最好把SP初值設(shè)為2FH或更大值,當(dāng)然同時(shí)還要顧及其允許的深度。要防止設(shè)置不當(dāng),引起內(nèi)部RAM單元沖突。

2.數(shù)據(jù)指針DPTR

16位的SFR,高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。DPTR既可以作為1個(gè)16位寄存器DPTR來(lái)用,也可以作為2個(gè)獨(dú)立的8位寄存器DPH和DPL來(lái)用。

3.I/O端口P0---P3

特殊功能寄存器P0---P3分別為I/O端口P0---P3的鎖存器。在MCS-51中,I/O端口和RAM是統(tǒng)一編址的,所有訪(fǎng)問(wèn)RAM單元的指令,都可用來(lái)訪(fǎng)問(wèn)I/O端口。

4.串行數(shù)據(jù)緩沖器SBUF

用于存放欲發(fā)送或已接受的數(shù)據(jù),它在SFR塊中只有一個(gè)字節(jié)地址,但是物理上是由兩個(gè)獨(dú)立的寄存器組成的,一個(gè)發(fā)送緩沖器,另一個(gè)是接收緩沖器。

5.定時(shí)器/計(jì)數(shù)器

MCS-51單片機(jī)有2個(gè)16位定時(shí)器/計(jì)數(shù)器T1和T0,它們各由2個(gè)獨(dú)立的8位寄存器組成,共有4個(gè)獨(dú)立的寄存器:TH1、TL1、TH0、TL0,可以分別對(duì)這4個(gè)寄存器進(jìn)行字節(jié)尋址,但不能把T1或T0當(dāng)作1個(gè)16位寄存器來(lái)尋址訪(fǎng)問(wèn)。

2.4.4位地址空間

MCS-51有一個(gè)功能很強(qiáng)的位處理器,指令系統(tǒng)中有著豐富的位操作指令,這些指令構(gòu)成了位處理機(jī)的指令機(jī)。在RAM和SFR中共有211個(gè)尋址位的位地址

128位

20H---2FH

211個(gè)尋址位的位地址

83位

80H---FFH

可位尋址的SFR有11個(gè),共有位地址88個(gè),其中5個(gè)未使用,其余83位離散地分布在片內(nèi)字節(jié)地址范圍80H---FFH中。

MCS-51內(nèi)部RAM的可尋址位及其位地址表2.4.5外部數(shù)據(jù)存儲(chǔ)器

當(dāng)MCS-51片內(nèi)的128B的RAM不夠用時(shí),需要通過(guò)外擴(kuò)存儲(chǔ)器,最多可擴(kuò)展64KB,這對(duì)許多應(yīng)用場(chǎng)合已是足夠使用的。

下面就MCS-51存儲(chǔ)器的結(jié)構(gòu)簡(jiǎn)要進(jìn)行小結(jié):

地址的重疊性存在3處重疊性,但是盡管有這些重疊,卻不會(huì)產(chǎn)生操作的混亂。這是因?yàn)镸CS-51采用了不同的操作指令及EA的控制選擇來(lái)自動(dòng)區(qū)分這些重疊的空間。具體的區(qū)分方法:(1)

程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器全部64k重疊。

訪(fǎng)問(wèn)程序存儲(chǔ)器使用MOVC類(lèi)指令。

訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)器使用MOV和MOVX類(lèi)指令。(2)

數(shù)據(jù)存儲(chǔ)器片內(nèi)和片外低128B重疊

訪(fǎng)問(wèn)片內(nèi)數(shù)據(jù)存儲(chǔ)器使用MOV類(lèi)指令。訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器使用MOVX類(lèi)指令。(3)程序存儲(chǔ)器片內(nèi)和片外低4KB重疊

EA接高電平,執(zhí)行片內(nèi)ROM中的程序,PC>0FFFH,CPU自動(dòng)訪(fǎng)問(wèn)片外。

EA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。

2.

程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器在使用上的嚴(yán)格區(qū)分。程序存儲(chǔ)器存放指令及常數(shù)表格,其操作指令不分片內(nèi)與片外。數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),訪(fǎng)問(wèn)片內(nèi)與片外的指令是不同的。

3.

位地址共有2個(gè)區(qū)域。一個(gè)為20H-2FH單元中128位,另一個(gè)為SFR中被8整除的字節(jié)地址單元中的位.4.

片外數(shù)據(jù)存儲(chǔ)區(qū)中,RAM存儲(chǔ)單元與MCS-51外擴(kuò)的I/O口是統(tǒng)一編址的。因此,應(yīng)用系統(tǒng)中所有外圍I/O端口的地址均占用RAM地址單元。

返回32頁(yè)返回本章教案22.5并行I/O端口

(1)P0口:雙向8位三態(tài)I/O口,此口為地址總線(xiàn)(低8位)及數(shù)據(jù)總線(xiàn)復(fù)用口,只有該口能直接用于對(duì)外部存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)操作。(2)P1口:準(zhǔn)雙向口,專(zhuān)門(mén)供用戶(hù)使用的I/O口。(3)P2口:準(zhǔn)雙向口,供系統(tǒng)擴(kuò)展時(shí)輸出高8位地址,也可作為一般I/O口。(4)P3口:準(zhǔn)雙向口,雙功能口。

2.5.1I/O口的內(nèi)部結(jié)構(gòu)

P0口的字節(jié)地址為80H。P0口既可以作為通用的I/O口使用,也可作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線(xiàn)使用,所以在P0口的電路中有一個(gè)多路轉(zhuǎn)換開(kāi)關(guān)MUX。在內(nèi)部控制信號(hào)的作用下,多路開(kāi)關(guān)MUX可以分別接通鎖存器輸出和地址線(xiàn)/數(shù)據(jù)線(xiàn)。P1口作通用I/O口使用的。其輸出驅(qū)動(dòng)部分與P0口不同,內(nèi)部有上拉負(fù)載電阻與電源相連。在端口由輸出口轉(zhuǎn)為輸入口時(shí),必須先向?qū)?yīng)的鎖存器寫(xiě)入“1”。返回58頁(yè)P(yáng)2口的字節(jié)地址為A0H。在實(shí)際應(yīng)用中,因?yàn)镻2口用于為系統(tǒng)提供高位地址,因此同P0口一樣,在口電路中有一個(gè)MUX。但MUX的1個(gè)輸入端不再是“地址/數(shù)據(jù)”,而是單一的“地址”,這是因?yàn)镻2口只作為地址線(xiàn)使用。

在系統(tǒng)擴(kuò)展片外程序存儲(chǔ)器時(shí),由P2口輸出高8位地址(低8位地址由P0口輸出)。此時(shí),MUX在CPU的控制下轉(zhuǎn)向內(nèi)部地址線(xiàn)的一端。因?yàn)樵L(fǎng)問(wèn)片外程序存儲(chǔ)器的操作往往接連不斷,P2口要不斷送出高8位地址,所以這是P2口無(wú)法再作通用I/O口。在不需要外擴(kuò)程序存儲(chǔ)器而只需擴(kuò)展小容量的片外數(shù)據(jù)存儲(chǔ)器的系統(tǒng)中,使用“MOVXA,@Ri”類(lèi)指令訪(fǎng)問(wèn)片外RAM時(shí),尋址范圍是256B,則只需低8位地址線(xiàn)就可實(shí)現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。思考:尋址范圍大于256B小于64KB,如何實(shí)現(xiàn)?若擴(kuò)展的數(shù)據(jù)存儲(chǔ)器容量超過(guò)256B,則使用“MOVXA,@DPTR”

類(lèi)指令,尋址范圍是64KB,此時(shí)若使用“MOVXA,@Ri”類(lèi)指令訪(fǎng)問(wèn)片外RAM時(shí),高8位地址總線(xiàn)由P2口輸出,尋址范圍是64KB。P3口的字節(jié)地址為B0H。由于MCS-51的引腳數(shù)目有限,因此在P3口電路中增加了引腳的第二功能。P3口的第二功能如下:三總線(xiàn)的引出:ABDBCBI/OMCS-51鎖存器2.5.2I/0口的讀操作

每個(gè)I/O口都有兩種讀入方法:1.

讀鎖存器(讀-修改-寫(xiě)指令):當(dāng)目的操作數(shù)為某一I/O口或I/O口的某一位時(shí),這些指令為讀-修改-寫(xiě)指令:例:ANLP1,AORLP2,AJBCP1.1LABEL;P1.1=1則轉(zhuǎn)移并清除該位。2.

讀引腳:以I/O端口為源操作數(shù)的指令,執(zhí)行該指令時(shí),打開(kāi)三態(tài)門(mén),輸入口狀態(tài)(即先向該口寫(xiě)入“1”)例:

MOVA,P1

P1口圖提示:當(dāng)P1、P2、P3口作為輸入口使用時(shí),必須先向該口寫(xiě)1(對(duì)應(yīng)口線(xiàn)置為高電平).P1口作為輸入口MOVP1,#0FFH

MOVA,P1返回思考:MOVP2,#07H的作用是什么,MOVA,P2 ?2.6復(fù)位電路

2.6.1復(fù)位操作

復(fù)位是單片機(jī)的初始化操作,只需要在復(fù)位引腳RST(RESET)加上大于兩個(gè)機(jī)器周期的高電平就可使MCS-51復(fù)位。復(fù)位時(shí),PC初始化為0000H,所以單片機(jī)是從0000H單元開(kāi)始執(zhí)行程序。復(fù)位時(shí)片內(nèi)個(gè)寄存器的狀態(tài):

2.6.2復(fù)位電路

上電復(fù)位的原理:利用電容充電來(lái)實(shí)現(xiàn)。上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖。只要RST引腳端保持10ms以上高電平,就能使單片機(jī)有效地復(fù)位。

MCS-51的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。

復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。

在實(shí)際的應(yīng)用系統(tǒng)設(shè)計(jì)中,若有外部擴(kuò)展的I/O接口電路也需要初始復(fù)位。如果它們的復(fù)位端和MCS-51的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,為保證可靠復(fù)位,R、C參數(shù)要統(tǒng)一考慮。如果單片機(jī)MCS-51與外圍I/O接口電路的復(fù)位電路和復(fù)位時(shí)間不完全一致,使單片機(jī)初始化程序不能正常運(yùn)行,可采用獨(dú)立的上電復(fù)位電路。

提示:?jiǎn)纹瑱C(jī)的復(fù)位速度比外圍I/O接口電路快,為保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)安排一定的復(fù)位延遲時(shí)間。

返回2.7時(shí)鐘電路

時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘控制信號(hào)。MCS-51單片機(jī)的內(nèi)部電路在時(shí)鐘信號(hào)控制下,嚴(yán)格地按時(shí)序執(zhí)行指令進(jìn)行工作。

在執(zhí)行指令時(shí),CPU首先要到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)去完成指令所規(guī)定的操作。

CPU發(fā)出的時(shí)序信號(hào)有兩種:1.

對(duì)片內(nèi)各個(gè)功能部件的控制信號(hào)2.

對(duì)片外存儲(chǔ)器或I/O端口的控制信號(hào)后者對(duì)于分析設(shè)計(jì)硬件接口電路至關(guān)重要。

外部時(shí)鐘信號(hào)教案3

MCS-51的指令系統(tǒng)

3.1指令系統(tǒng)概述

3.2指令系統(tǒng)的尋址方式

3.3MCS-51指令系統(tǒng)分類(lèi)介紹3.1指令系統(tǒng)概述

操作碼操作數(shù)指令的性質(zhì)指令操作的對(duì)象首先應(yīng)該明確一個(gè)概念,什么是指令系統(tǒng)。我們把MCS-51單片機(jī)所能執(zhí)行的指令的集合稱(chēng)為其指令系統(tǒng)。指令的表示方法稱(chēng)為指令格式,一條指令通常由兩部分組成,即操作碼和操作數(shù)。

MCS-51的基本指令共111條,下面是指令系統(tǒng)按空間和時(shí)間上的劃分:

從上表我們可以看出,絕大多數(shù)指令占用單字節(jié)或雙字節(jié),并且都能在1~2個(gè)機(jī)器周期內(nèi)完成。由此可見(jiàn),MCS-51指令系統(tǒng)對(duì)存儲(chǔ)空間和時(shí)間的利用率較高。

當(dāng)然操作數(shù)并不一定是一個(gè)具體的數(shù)據(jù),也有可能僅指出到哪里取得數(shù)據(jù)的地址或符號(hào)。3.2MCS-51指令系統(tǒng)的尋址方式

所謂尋址就是尋找確定參與操作的數(shù)的真正地址。一般來(lái)說(shuō),尋址方式越多則計(jì)算機(jī)的功能就越強(qiáng),靈活性亦越大,指令系統(tǒng)也就越復(fù)雜。

MCS-51單片機(jī)的指令系統(tǒng)共有7種尋址方式.

3.2.1符號(hào)注釋

在描述MCS-51指令系統(tǒng)的功能時(shí),我們經(jīng)常使用下面符號(hào),其意義如下:

Rn(n=0~7)

當(dāng)前選中的寄存器區(qū)的8個(gè)工作寄存器R0~R7Ri(i=0、1)

當(dāng)前選中的寄存器區(qū)中可作地址寄存器的2個(gè)寄存器R0、R1Direct直接地址,即8位的內(nèi)部數(shù)據(jù)存儲(chǔ)器單元或特殊功能寄存器的地址。

#data

指令中的8位常數(shù)

#data16

指令中的16位常數(shù)

Rel

8位的有符號(hào)偏移量。用于SJMP或所有的條件轉(zhuǎn)移指令中。偏移量按相對(duì)于下一條指令的第一個(gè)字節(jié)地址與跳轉(zhuǎn)后指令的第一個(gè)字節(jié)地址之差計(jì)算,在-128~+127范圍內(nèi)取值。

DPTR

數(shù)據(jù)指針,可用作16位的地址寄存器。

Bit內(nèi)部RAM或特殊功能寄存器中的直接尋址位地址。@間址寄存器或基址寄存器的前綴。如@Ri,@A+DPTR

(X)

X中的內(nèi)容((X))

由X尋址的單元中的內(nèi)容

Cy進(jìn)位標(biāo)志或進(jìn)位位,也可作為位處理機(jī)中的1位累加器。

/位操作數(shù)的前綴,表示對(duì)該位操作數(shù)取反,如/bit。3.2.2尋址方式

1、立即尋址2、直接尋址3、寄存器尋址4、寄存器間接尋址5、變址尋址6、相對(duì)尋址

7、位尋址1、立即尋址例如:MOVA,#60H ;A←#60HMOVDPTR,#3400H;

MOV 30H,#40H;(30H)←#40H指令代碼分別為:74H60H90H34H00H75H30H40H指令中直接給出操作數(shù)。立即操作數(shù)用前面加有#號(hào)的8位或16位數(shù)來(lái)表示。8位立即操作數(shù)占一個(gè)字節(jié),16位立即操作數(shù)占二個(gè)字節(jié)。操作碼操作數(shù)2、直接尋址1)特殊功能寄存器地址空間。

唯一能訪(fǎng)問(wèn)該空間的尋址方式。

2)片內(nèi)內(nèi)部RAM(128個(gè)字節(jié):00H~7FH)

指令形如MOVA,direct 指令代碼:11100101direct

操作碼操作數(shù)地址指令直接給出操作數(shù)地址,占一個(gè)字節(jié)。可訪(fǎng)問(wèn)兩種地址空間:例:MOV A,40H

指令代碼1110010101000000 即為:E5H40H

對(duì)于特殊功能寄存器,在助記符指令中可直接用符號(hào)來(lái)代替地址,如:MOVA,P0;MOVA,80H思考:MOV50H,40H占多少字節(jié)?

指令代碼:85H,40H,50H3、寄存器尋址例:?jiǎn)巫止?jié)指令:MOVA,Rn(n=0~

7)指令代碼:11101iii(iii=000~111)即為:E8H-EFH操作碼的低3位指示所用的寄存器

尋址的對(duì)象為選定寄存器區(qū)的8個(gè)工作寄存器R0~R7,寄存器A、B、DPTR、和Cy位。這種尋址方式中,被尋址的寄存器的內(nèi)容就是操作數(shù),一般和操作碼共占一個(gè)字節(jié).思考題:

CLR A INC DPTR

ADD A,Rn

源操作數(shù)、目的操作數(shù)采用什么尋址方式?指令占多少字節(jié)?指令代碼:E4H A3H 28H~2FH4、寄存器間接尋址以寄存器中內(nèi)容為地址,以該地址中內(nèi)容為操作數(shù)的尋址方式。能用于寄存器間接尋址的寄存器有R0,R1,DPTR,SP。其中R0、R1必須是工作寄存器組中的寄存器。SP僅用于堆棧操作。訪(fǎng)問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器的低256個(gè)字節(jié)時(shí),可采用R0或R1作為間址寄存器,通用形式為@Ri。4、寄存器間接尋址例: MOVA,@Ri(i=0、1)

指令代碼:1110011i。

最低位是0還是1區(qū)分現(xiàn)用寄存器為R0還是R1。

例2: MOVX A,@Ri(i=0、1)指令代碼:1110001i例3:假設(shè)該條指令存放在2030H,工作寄存器為第0組,(R0)=50H。(50H)=ACH。

M0V A,@R0 ;該條指令的執(zhí)行過(guò)程

ACHACC

40H01H

ACH50H…

50H00H片內(nèi)RAM區(qū)(R0)2030H

E6H程序存儲(chǔ)區(qū)…

E5H2130H例3:假設(shè)該條指令存放在2030H,工作寄存器為第0組,(R0)=50H。(50H)=ACH。

M0V A,@R0 ;該條指令的執(zhí)行過(guò)程

ACHACC

40H01H

ACH50H…

50H00H片內(nèi)RAM區(qū)(R0)2030H

E6H程序存儲(chǔ)區(qū)…

E5H2130H

MOVXA,@Ri(i=0、1)例:MOVXA,@R1,

指令代碼:11100011。

假設(shè)該條指令存放在2030H,工作寄存器為第0組,(R1)=AFH。片外RAM(AFH)=30H。指令執(zhí)行過(guò)程:最低位是0還是1區(qū)分現(xiàn)用寄存器為R0還是R1。

E3H2030H程序存儲(chǔ)區(qū)

AFH片內(nèi)RAM區(qū)(R1)01H

30HAFH片外數(shù)據(jù)存儲(chǔ)區(qū)

30HACC

MOVXA,@Ri(i=0、1)例:MOVXA,@R1,

指令代碼:11100011。

假設(shè)該條指令存放在2030H,工作寄存器為第0組,(R1)=AFH。片外RAM(AFH)=30H。指令執(zhí)行過(guò)程:最低位是0還是1區(qū)分現(xiàn)用寄存器為R0還是R1。

E3H2030H程序存儲(chǔ)區(qū)

AFH片內(nèi)RAM區(qū)(R1)01H

30HAFH片外數(shù)據(jù)存儲(chǔ)區(qū)

30HACC3)執(zhí)行PUSH和POP指令時(shí),使用堆棧指針SP作間址寄存器來(lái)進(jìn)行對(duì)棧區(qū)的間接尋址。

訪(fǎng)問(wèn)片外數(shù)據(jù)存儲(chǔ)器還可用數(shù)據(jù)指針DPTR作為間址寄存器,可對(duì)整個(gè)外部數(shù)據(jù)存儲(chǔ)器空間(64K)尋址。例:MOVDPTR,#1234HMOVXA,@DPTR5、基址寄存器加變址寄存器間址尋址

基址寄存器:DPTR或PC變址寄存器:累加器A

有效地址=(PC)+(A)或(DPTR)+(A)變址尋址只能對(duì)程序存儲(chǔ)器中數(shù)據(jù)進(jìn)行操作。由于程序存儲(chǔ)器是只讀的,因此變址尋址只有讀操作而無(wú)寫(xiě)操作,此種尋址方式對(duì)查表訪(fǎng)問(wèn)特別有用。本尋址方式的指令只有三條:

MOVCA,@A+DPTR;A←(A+DPTR)

MOVCA,@A+PC;A←(A+PC)

JMP@A+DPTR無(wú)條件轉(zhuǎn)移指令

例:(DPTR)=2000H,(A)=10H,

1000H:MOVCA,@A+DPTR,

JMP@A+DPTR

指令操作示意圖如下圖所示。程序存儲(chǔ)器2000HDPTR(10H)A2010H64H10H2000H1000H93H例:(DPTR)=2000H,(A)=10H,

1000H:MOVCA,@A+DPTR,

JMP@A+DPTR

指令操作示意圖如下圖所示。程序存儲(chǔ)器2000HDPTR

A2010H64H10H2000H1000H93H64H例:(A)=30H,

1000H:MOVCA,@A+PC,

JMP@A+DPTR

指令操作示意圖如下圖所示。程序存儲(chǔ)器1001HPC(30H)A1031H88H30H1001H1000H83H例:(A)=10H,

1000H:MOVCA,@A+PC,

JMP@A+DPTR

指令操作示意圖如下圖所示。程序存儲(chǔ)器1001HPC(88H)A1031H88H30H1001H1000H83H6、相對(duì)尋址

為解決程序轉(zhuǎn)移而專(zhuān)門(mén)設(shè)置的。它以PC的當(dāng)前值為基準(zhǔn),加上指令中給出的相對(duì)偏移量(rel)形成有效轉(zhuǎn)移地址。偏移量占一個(gè)字節(jié),但這里的PC的當(dāng)前值是指執(zhí)行完該指令后的PC值,即轉(zhuǎn)移指令的PC值加上它的字節(jié)數(shù)。

轉(zhuǎn)移的目的地址用公式表示:

目的地址=轉(zhuǎn)移指令所在地址+轉(zhuǎn)移指令的字節(jié)數(shù)+rel

rel:1個(gè)有符號(hào)的8位二進(jìn)制補(bǔ)碼.表示的范圍是:-128~+127。

例如:SJMP08H;PC←PC+2+08H(PC)=2000H指令操作示意圖如下圖所示。程序存儲(chǔ)器(2000H)

80H200AH08H2000H+208HPC2000H200AH例如:SJMP08H;PC←PC+2+08H(PC)=2000H指令操作示意圖如下圖所示。程序存儲(chǔ)器(2000H)

80H200AH08H2000H+208HPC2000H200AH7、位尋址

MCS-51有位處理的功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此有相應(yīng)的位尋址的方式。除進(jìn)位位C外,位尋址指令直接使用的位地址,占一個(gè)字節(jié)。例如:MOVC,40H;指令代碼:A2H,40H

位尋址的尋址范圍為整個(gè)位地址128+83=211位的空間。

這些尋址位在指令中的表示方法不盡相同,有以下四種(以PSW位5為例):

直接使用位尋址。

0D5H。

位名稱(chēng)的表示方法。

F0標(biāo)志位

單元地址加位數(shù)的表示方法。

(0D0H).5

特殊功能寄存器符號(hào)加位數(shù)的表示方法。

PSW.53.3MCS-51指令系統(tǒng)分類(lèi)介紹

數(shù)據(jù)傳送類(lèi)指令

算術(shù)運(yùn)算類(lèi)指令

邏輯運(yùn)算類(lèi)指令

控制轉(zhuǎn)移類(lèi)指令

調(diào)用子程序及返回指令

位操作指令空操作指令數(shù)據(jù)傳送類(lèi)指令

---------使用最頻繁的指令

數(shù)據(jù)傳送類(lèi)指令共28條,是將源操作數(shù)送到目的操作數(shù)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)被源操作數(shù)取代。數(shù)據(jù)傳送類(lèi)指令用到的助記符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8種。數(shù)據(jù)傳送類(lèi)指令不影響標(biāo)志,這里所指的標(biāo)志是指Cy、Ac和OV,但不包括檢驗(yàn)累加器奇偶性的標(biāo)志位P。

MCS-51單片機(jī)片內(nèi)數(shù)據(jù)傳送途徑如下圖所示。(15條指令)

Direct直接地址

A累加器

@Ri寄存器間址

Rn寄存器尋址#data立即尋址1、目的地址

A2、目的地址

Rn3、目的地址Direct4、目的地址@Ri以累加器為目的操作數(shù)的指令(4條)

MOVA,Rn ;A←RnMOVA,direct ;A←(direct)MOVA,@Ri ;A←(Ri)MOVA,#data ;A←#data這組指令的功能是把源操作數(shù)的內(nèi)容送入累加器A。

MOVA,R6;(R6)

A寄存器尋址MOVA,@R0;((R0))

A間接尋址MOVA,70H;(70H)

A直接尋址MOVA,#78H;78H

A

立即尋址

返回2.以Rn為目的操作數(shù)的指令

(3條)MOVRn,A;(A)

Rn,n=0~7MOVRn,direct;(direct)

Rn,n=0~7MOVRn,#data;data

Rn,n=0~7

這組指令的功能是把源操作數(shù)的內(nèi)容送入當(dāng)前工作寄存器區(qū)的R0~R7中的某一個(gè)寄存器.

返回3.以直接地址為目的操作數(shù)的指令(5條)

MOVdirect,A;(A)

directMOVdirect,Rn;(Rn)

directn=0~7MOVdirect1,direct2;(direct2)

direct1MOVdirect,@Ri;((Ri))

direct,i=0,1MOVdirect,#data;data

direct這組指令的功能是把源操作數(shù)送入直接地址指出的存儲(chǔ)單元。

返回4.以寄存器間接地址為目的操作數(shù)的指令(3)

MOV@Ri,A;(A)

((Ri)),i=0,1MOV@Ri,direct;direct

((Ri)),i=0,1MOV@Ri,#data;data

((Ri)),i=0,1

這組指令的功能是把源操作數(shù)內(nèi)容送入R0或R1指出的存儲(chǔ)單元。例如:設(shè)(30H)=6FH,(R1)=40H,執(zhí)行

MOV@R1,30H;結(jié)果:(40H)=6FH。5.16位數(shù)傳送指令

MOVDPTR,#data16

這條指令的功能是把16位常數(shù)送入DPTR。這是整個(gè)指令系統(tǒng)唯一的一條16位數(shù)據(jù)傳送指令,用來(lái)設(shè)置地址指針。地址指針DPTR由DPH和DPL組成。這條指令的執(zhí)行結(jié)果把高8位立即數(shù)送入DPH,低8位立即數(shù)送入DPL。

6.堆棧操作指令

PUSHdirect;SP←(SP)+1,(SP)←(direct)所謂堆棧是在片內(nèi)RAM中按“先進(jìn)后出,后進(jìn)先出”原則設(shè)置的專(zhuān)用存儲(chǔ)區(qū)。數(shù)據(jù)的進(jìn)棧出棧由指針SP統(tǒng)一管理。功能:先將棧指針SP加1,然后把直接地址指出的內(nèi)容送到棧指針SP指示的內(nèi)部RAM單元中。功能:棧指針SP指示的內(nèi)部RAM單元內(nèi)容送入直接地址指出的字節(jié)單元中,棧指針SP減1。

2)

POP direct;(direct)←((SP)),SP←(SP)-130H

31H70H

32H10H

30H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論