單片機(jī)微機(jī)原理與接口技術(shù)_第1頁(yè)
單片機(jī)微機(jī)原理與接口技術(shù)_第2頁(yè)
單片機(jī)微機(jī)原理與接口技術(shù)_第3頁(yè)
單片機(jī)微機(jī)原理與接口技術(shù)_第4頁(yè)
單片機(jī)微機(jī)原理與接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩272頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)微機(jī)原理與接口技術(shù)第1頁(yè)/共277頁(yè)課程地位:1、微機(jī),特別是單片機(jī)應(yīng)用技術(shù),是機(jī)電一體化六大關(guān)鍵技術(shù)之一;2、機(jī)械學(xué)院——機(jī)電學(xué)院的轉(zhuǎn)變中所扮演的角色;3、對(duì)本課程對(duì)機(jī)類學(xué)生——電類學(xué)生的影響。第2頁(yè)/共277頁(yè)課程說(shuō)明:

《微機(jī)原理與接口技術(shù)》課程,是全國(guó)高校工科,特別是電類與機(jī)電類專業(yè)的必修課程,許多學(xué)校同時(shí)將該課程列為研究生入學(xué)考試課程。實(shí)踐中,本課程教學(xué)安排上有二種不同方案,二者有諸多相通之處,但偏重點(diǎn)完全不同,希望學(xué)習(xí)過(guò)程及將來(lái)參加其它考試時(shí)特別予以關(guān)注:a)主要講授8088/8086微型計(jì)算機(jī)系統(tǒng)原理及其接口技術(shù);b)主要講授單片微型計(jì)算機(jī)原理及其接口技術(shù)。

第3頁(yè)/共277頁(yè)適用教材:《單片機(jī)初級(jí)教程-單片機(jī)基礎(chǔ)》(2)參考書(shū)目:《單片微型計(jì)算機(jī)原理與接口技術(shù)》陳光東編華中理工大學(xué)出版社

《單片機(jī)中級(jí)教程-原理與應(yīng)用》何立民主編、張俊謨著 北京航空航天大學(xué)出版社《單片機(jī)原理與應(yīng)用》李曉荃主編、魏立東等著 電子工業(yè)出版社第4頁(yè)/共277頁(yè)計(jì)劃學(xué)時(shí):

55學(xué)時(shí)

(其中講課46學(xué)時(shí),實(shí)驗(yàn)6學(xué)時(shí),習(xí)題3學(xué)時(shí))前導(dǎo)課程:

數(shù)學(xué)、電工電子學(xué)、計(jì)算機(jī)語(yǔ)言類等課程后續(xù)教學(xué)環(huán)節(jié):

1、《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)

2、機(jī)電一體化相關(guān)方向的畢業(yè)設(shè)計(jì)第5頁(yè)/共277頁(yè)學(xué)習(xí)網(wǎng)站21IC中國(guó)電子網(wǎng)HTTP://WWW.21IC.COM愛(ài)思電子HTTP://WWW.NJ-ICES.COM/大蝦電子網(wǎng)HTTP://WWW.DAXIA.COM單片機(jī)學(xué)習(xí)網(wǎng)HTTP://www.MCUSTUDY.COM飛翔電子技術(shù)HTTP://WWW.MCUOK.COM/紫薇單片機(jī)HTTP://WWW.ZWMCU.COM/IC在線網(wǎng)HTTP://WWW.E-IC.COM.CN/深圳賽格HTTP://WWW.SEGEM.COM.CN/力源信息HTTP://WWW.ICBASE.COM/DAQCHINA工業(yè)控制網(wǎng)/daqchina/chips龍人電子HTTP://LRDZ.51.NET/華升科技HTTP://WWW.HSEDA.COM/麥谷電子HTTP://MYGO.7I24.COM/清風(fēng)單片機(jī)HTTP://WWW.QFMCU.COM/華信單片機(jī)/Index.asp廣州周立功/home.asp第6頁(yè)/共277頁(yè)學(xué)習(xí)軟件:?jiǎn)纹瑱C(jī)編程軟件Wave6000W(偉福軟件)(/)流程圖繪制軟件MicrosoftOfficeVisio2003電子線路CAD軟件Protel99SE實(shí)驗(yàn)工具:

DVCC系列單片機(jī)實(shí)驗(yàn)裝置

第7頁(yè)/共277頁(yè)第一章緒論1.1計(jì)算機(jī)的發(fā)展歷程1.1.1按構(gòu)成計(jì)算機(jī)的邏輯元件的類型來(lái)分類:第一代電子計(jì)算機(jī)

1946年,電子管計(jì)算機(jī)ENIAC問(wèn)世,主要用于科學(xué)計(jì)算,包含18800個(gè)電子管,功耗150KW,30噸重,占地150M2第二代電子計(jì)算機(jī)

1958年,晶體管計(jì)算機(jī)問(wèn)世,開(kāi)始用于工業(yè)控制第三代電子計(jì)算機(jī)

1960’s年代中期,集成電路計(jì)算機(jī)問(wèn)世第四代電子計(jì)算機(jī)

1970’s年代初期,大規(guī)模集成電路計(jì)算機(jī)問(wèn)世50年來(lái),計(jì)算機(jī)的性價(jià)比提高:速度提高千萬(wàn)倍、存儲(chǔ)容量提高千萬(wàn)倍、體積縮小千萬(wàn)倍、軟件性能提高百萬(wàn)倍、價(jià)格降低為萬(wàn)分之幾……第8頁(yè)/共277頁(yè)1.1.2按計(jì)算機(jī)的規(guī)模、性能、用途和價(jià)格分類:巨型機(jī)、大型機(jī)、中型機(jī)、小型機(jī)、微型機(jī)1.1.3計(jì)算機(jī)技術(shù)的二個(gè)重要發(fā)展方向:巨功能:功能不斷強(qiáng)大,以增強(qiáng)運(yùn)算能力(位寬、運(yùn)算次數(shù))、主頻、存儲(chǔ)容量及數(shù)據(jù)通訊能力、顯示能力、接口能力等為主。微型化:

體積不斷縮小,以增強(qiáng)控制能力、嵌入式應(yīng)用、超低功耗、低成本、高可靠等為主。第9頁(yè)/共277頁(yè)1.1.4微型機(jī)家族:微處理器(CPU)

CentrePorcessUnit,是小型或微型計(jì)算機(jī)的核心,負(fù)責(zé)數(shù)據(jù)的運(yùn)算與控制。微型計(jì)算機(jī)

除微處理器外,還需有存儲(chǔ)器、輸入輸出接口(如鍵盤、顯示器、打印機(jī))等外圍電路與之協(xié)同工作的一個(gè)完整的系統(tǒng)。微型計(jì)算機(jī)系統(tǒng)

統(tǒng)稱系統(tǒng)機(jī),以功能的通用性與完整性,及應(yīng)用的開(kāi)放性為突出特征。

PC機(jī):典型的系統(tǒng)機(jī)。(PersonalComputer)單片微型計(jì)算機(jī)

簡(jiǎn)稱單片機(jī),以滿足一定要求的基本功能或少量的特殊功能部件,包括CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器、及各種I/O接口電路集成于一片芯片上為突出特征。片上系統(tǒng)(SOC)

正在發(fā)展之中的片上完整系統(tǒng)。第10頁(yè)/共277頁(yè)1.1.5微型機(jī)的發(fā)展歷程1971年,Intel公司推出4004微處理器。(4位機(jī))1974年,Intel公司推出8080微處理器。(8位機(jī))

同時(shí)期產(chǎn)品:Motorola公司的M6800、Zilog公司的Z80、Intel公司的8080A、8085A1978年,Intel公司推出8086微處理器。(16位機(jī))

同時(shí)期產(chǎn)品:Motorola的M68000、Zilog的Z8000、Intel的8088(8位版的8086)1979年,IBM公司進(jìn)入微型計(jì)算機(jī)市場(chǎng)。

1983年,Intel公司的80286

1985年以來(lái),Intel公司的80386、80486、Pentium、PentiumII、PentiumIII、PentiumIV

第11頁(yè)/共277頁(yè)1.2單片機(jī)1.2.1單片機(jī)的不同稱謂單片機(jī)(SCM)

SingleChipMicrocomputer,常用,但不夠準(zhǔn)確MCU

MicrocontrollerUnit,比單片機(jī)更準(zhǔn)確一些,但不夠流行嵌入式微處理器

EnbeddedMicroprocesser嵌入式微控制器

EnbeddedMicrocontroller,時(shí)髦,準(zhǔn)確,正在流行第12頁(yè)/共277頁(yè)1.2.2單片機(jī)的發(fā)展1976年,Intel公司推出MCS-48系列單片機(jī)。特點(diǎn):8位CPU、并行I/O口、8位定時(shí)器、片內(nèi)小容量的RAM、ROM、尋址空間小于4KB、簡(jiǎn)單的中斷處理機(jī)制、無(wú)串行口1980年,Intel公司推出MCS-51系列單片機(jī)。特點(diǎn):外部總線規(guī)范化(16位地址總線,尋址空間64KB;8位數(shù)據(jù)總線;增加串行總線;控制總線),8位CPU、并行I/O口、16位定時(shí)器、片內(nèi)RAM、ROM容量增大、多級(jí)中斷處理機(jī)制、位操作功能、片內(nèi)特殊功能寄存器SFR(建立了外圍功能電路的SFR集中管理模式)1982年,Intel公司推出MCS-96系列單片機(jī)。特點(diǎn):16位CPU、增加8路10位A/D、PWM型D/A等同期間,不同廠家同步推出了相應(yīng)的單片機(jī)機(jī)型:

Motorola公司的M6800系列

Zilog公司的Z8系列

Rockwell公司的6500系列第13頁(yè)/共277頁(yè)1990年,Intel公司公開(kāi)了8051內(nèi)核。

特點(diǎn):8051兼容型單片機(jī),形成了百花齊放的局面,成為單片機(jī)的發(fā)展方向。1、增加片內(nèi)功能(如存儲(chǔ)容量與方式、WDT、程序保密系統(tǒng)、A/D、D/A、電壓比較器、LED/LCD/VFD顯示器驅(qū)動(dòng)、I2C/CAN/USB總線)2、提升性能(CMOS化、提高運(yùn)行頻率、RISC結(jié)構(gòu)運(yùn)行、低功耗、寬電壓、程序串行下載ISP、增大尋址空間)3、降低成本(緊湊型)、低價(jià)格

代表:ATMEL公司的89c51、89c2051……

Philips公司的8Xc51

WENBOND公司的W78c51第14頁(yè)/共277頁(yè)第15頁(yè)/共277頁(yè)1.2.3單片機(jī)的主要應(yīng)用領(lǐng)域

由于單片機(jī)有許多優(yōu)點(diǎn),因此其應(yīng)用領(lǐng)域之廣,幾乎到了無(wú)孔不入的地步。單片機(jī)應(yīng)用的主要領(lǐng)域有:1)

智能化家用電器:各種家用電器普遍采用單片機(jī)智能化控制代替?zhèn)鹘y(tǒng)的電子線路控制,升級(jí)換代,提高檔次。如洗衣機(jī)、空調(diào)、電視機(jī)、錄像機(jī)、微波爐、電冰箱、電飯煲以及各種視聽(tīng)設(shè)備等。2)

辦公自動(dòng)化設(shè)備:現(xiàn)代辦公室使用的大量通信和辦公設(shè)備多數(shù)嵌入了單片機(jī)。如打印機(jī)、復(fù)印機(jī)、傳真機(jī)、繪圖機(jī)、考勤機(jī)、電話以及通用計(jì)算機(jī)中的鍵盤譯碼、磁盤驅(qū)動(dòng)等。3)

汽車電子產(chǎn)品:現(xiàn)代汽車的集中顯示系統(tǒng)、動(dòng)力監(jiān)測(cè)控制系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)和運(yùn)行監(jiān)視器(黑匣子)等都離不開(kāi)單片機(jī)。第16頁(yè)/共277頁(yè)4)

商業(yè)營(yíng)銷設(shè)備:在商業(yè)營(yíng)銷系統(tǒng)中已廣泛使用的電子稱、收款機(jī)、條形碼閱讀器、IC卡刷卡機(jī)、出租車計(jì)價(jià)器以及倉(cāng)儲(chǔ)安全監(jiān)測(cè)系統(tǒng)、商場(chǎng)保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保險(xiǎn)系統(tǒng)等都采用了單片機(jī)控制。5)

工業(yè)自動(dòng)化控制:工業(yè)自動(dòng)化控制是最早采用單片機(jī)控制的領(lǐng)域之一。如各種測(cè)控系統(tǒng)、過(guò)程控制、機(jī)電一體化、PLC等。在化工、建筑、冶金等各種工業(yè)領(lǐng)域都要用到單片機(jī)控制。6)

智能化儀表:采用單片機(jī)的智能化儀表大大提升了儀表的檔次,強(qiáng)化了功能。如數(shù)據(jù)處理和存儲(chǔ)、故障診斷、聯(lián)網(wǎng)集控等。7)

智能化通信產(chǎn)品:最突出的是手機(jī),當(dāng)然手機(jī)內(nèi)的芯片屬專用型單片機(jī)。第17頁(yè)/共277頁(yè)8)

航空航天系統(tǒng):飛機(jī)、飛船、空間站,及其跟蹤、監(jiān)測(cè)、生命保障系統(tǒng)等,無(wú)一不是人類科技高度集中的產(chǎn)品,大量采用的智能傳感器、控制裝置中,單片機(jī)扮演著重要的角色。9)

國(guó)防軍事、尖端武器等領(lǐng)域:?jiǎn)纹瑱C(jī)的應(yīng)用更是不言而喻。單片機(jī)應(yīng)用的意義不僅在于它的廣闊范圍及所帶來(lái)的經(jīng)濟(jì)效益。更重要的意義在于,單片機(jī)的應(yīng)用從根本上改變了控制系統(tǒng)傳統(tǒng)的設(shè)計(jì)思想和設(shè)計(jì)方法。以前采用硬件電路實(shí)現(xiàn)的大部分控制功能,正在用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)。以前自動(dòng)控制中的PID調(diào)節(jié),現(xiàn)在可以用單片機(jī)實(shí)現(xiàn)具有智能化的數(shù)字計(jì)算控制、模糊控制和自適應(yīng)控制。這種以軟件取代硬件并能提高系統(tǒng)性能的控制技術(shù)稱為微控技術(shù)。隨著單片機(jī)應(yīng)用的推廣,微控制技術(shù)將不斷發(fā)展完善。第18頁(yè)/共277頁(yè)1.3本教程的特點(diǎn)取典型機(jī)型,學(xué)習(xí)單片機(jī)基本理論硬件與軟件學(xué)習(xí)并舉理論教學(xué)與實(shí)驗(yàn)教學(xué)相結(jié)合以培養(yǎng)獲得從事系統(tǒng)開(kāi)發(fā)的能力為目標(biāo)第19頁(yè)/共277頁(yè)習(xí)題:一、為什么說(shuō)計(jì)算機(jī)技術(shù)的發(fā)展是人類20世紀(jì)最偉大的發(fā)明?二、什么是單片機(jī)?它在計(jì)算機(jī)家族中的地位如何?三、計(jì)算機(jī)的發(fā)展趨勢(shì)是什么?四、單片機(jī)的發(fā)展趨勢(shì)是什么?五、在你身邊的什么地方能找到單片機(jī)的身影?第20頁(yè)/共277頁(yè)第二章計(jì)算機(jī)基礎(chǔ)知識(shí)2.1數(shù)制與編碼2.1.1數(shù)制成語(yǔ):半斤八兩->時(shí):分:秒1、數(shù)制的基與權(quán)基:數(shù)制使用的數(shù)碼的個(gè)數(shù)

權(quán):數(shù)制每一位所具有的值1)十進(jìn)制

(Decimal)有0,1,2,3,4,5,6,7,8,9共10個(gè)基數(shù)碼權(quán):……1000,100,10,1例:435D=4×102+3×101+5×100

第21頁(yè)/共277頁(yè)2)二進(jìn)制(Binary)有0,1共二個(gè)基數(shù)碼權(quán):……8,4,2,1

例:1011B=1×23+0×22+1×21+1×20=11D3)十六進(jìn)制(Hexa-decimal)

有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共十六個(gè)基數(shù)碼權(quán):……4096,256,,16,1

例:3eH=3×161+14×160=62D=0011,1110B012345670000000100100011010001010110011189

ABCDEF10001001101010111100110111101111在計(jì)算機(jī)內(nèi)部計(jì)算/存儲(chǔ)/邏輯運(yùn)算中,實(shí)際上采用的是二進(jìn)制。具體地:在電路結(jié)構(gòu)中,高電平為1,低電平為0在計(jì)算機(jī)編程過(guò)程中,常采用十六進(jìn)制數(shù),便于記憶二進(jìn)制數(shù)。第22頁(yè)/共277頁(yè)2、數(shù)制的轉(zhuǎn)換1)二、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)按權(quán)展開(kāi)后計(jì)算2)十進(jìn)制數(shù)轉(zhuǎn)換為二、十六進(jìn)制數(shù)除二取余法:以待轉(zhuǎn)換的十進(jìn)制數(shù)連續(xù)地以2去除,直至商為0,再逆序取余數(shù)。第23頁(yè)/共277頁(yè)2.1.2編碼

計(jì)算機(jī)能識(shí)別的數(shù)是二進(jìn)制數(shù)(或十六進(jìn)制數(shù))問(wèn)題:1)數(shù)字的符號(hào)(正數(shù)與負(fù)數(shù));2)加減法;3)字符的表示方法0、無(wú)符號(hào)數(shù)的編碼

8位無(wú)符號(hào)數(shù),可表示0~255,共256個(gè)數(shù)值。1、有符號(hào)數(shù)的編碼原碼:數(shù)碼的最高位表示符號(hào),0:正數(shù);1:負(fù)數(shù)

8位有符號(hào)數(shù)原碼,可表示-127~+127,共255個(gè)數(shù)反碼:由原碼求得。正數(shù)的反碼與原碼相同;負(fù)數(shù)的反碼除符號(hào)位不變外,其余各位均由1變0,或由0變1(取反)。

8位有符號(hào)數(shù)反碼,可表示-127~+127,共255個(gè)數(shù)補(bǔ)碼:由反碼求得。正數(shù)的補(bǔ)碼與反碼相同;負(fù)數(shù)的補(bǔ)碼為反碼加1

8位有符號(hào)數(shù)補(bǔ)碼,可表示-128~+127,共256個(gè)數(shù)無(wú)符號(hào)數(shù)有符號(hào)數(shù)原碼反碼補(bǔ)碼FFH-80H255-128-127--0-0--127-1--1287FH-00H127-0127-0127-0127-0第24頁(yè)/共277頁(yè)例1:X1=+1010101B

[X1]原=01010101B

[X1]反=01010101B

[X1]補(bǔ)=01010101B例2:X2=-1010101B

[X2]原=11010101B

[X2]反=10101010B

[X2]補(bǔ)=10101011B注意:[[X2]補(bǔ)]補(bǔ)=11010101B=[X2]原第25頁(yè)/共277頁(yè)2、有符號(hào)數(shù)的運(yùn)算1)日常現(xiàn)象:當(dāng)前時(shí)間為3點(diǎn)。設(shè)某表當(dāng)前指示為10點(diǎn),該如何撥動(dòng)?

方法1:逆時(shí)針?lè)较驌軇?dòng)7格算式:10-7=3

方法2:順時(shí)針?lè)较驌軇?dòng)5格算式:10+5=15=(12)+32)一組概念模(mod)

系統(tǒng)量程即能表示的最大的數(shù)。上例中,模為12。同余

Z=nK+Y(n

為自然數(shù)),則稱Z與Y對(duì)模K同余。溢出

系統(tǒng)超程,最高位自然丟失。第26頁(yè)/共277頁(yè)3)有符號(hào)數(shù)的加減法:符號(hào)帶在數(shù)碼中,可將減法轉(zhuǎn)換成(補(bǔ)碼的)加法進(jìn)行計(jì)算。 例: 二進(jìn)制運(yùn)算過(guò)程:

0001,1000B+1111,0101B=1,0000,1101B

此例中,模為28=256-11=-0000,1011B,與245=1111,0101同余。補(bǔ)碼的理解:負(fù)數(shù)以有符號(hào)數(shù)補(bǔ)碼表示時(shí),實(shí)際上取的是其同余數(shù)的無(wú)符號(hào)數(shù)碼。第27頁(yè)/共277頁(yè)3、二-十進(jìn)制數(shù)編碼BCD碼(BinaryCodedDecimal)01234567890000000100100011010001010110011110001001作用:便于記憶與閱讀,又適于計(jì)算機(jī)處理特點(diǎn):1)不能直接在二進(jìn)制數(shù)與BCD碼之間進(jìn)行轉(zhuǎn)換,而必須先經(jīng)過(guò)十進(jìn)制,再間接進(jìn)行轉(zhuǎn)換。例:0011,0101BCD=35=0010,0011B

2)計(jì)算機(jī)運(yùn)算時(shí)將其視作為二進(jìn)制數(shù),程序員必須非常清醒!第28頁(yè)/共277頁(yè)4、字母與字符的編碼

常用的為ASCII碼(AmericanStandardCodeforInformationInterchange)ASCII(美國(guó)標(biāo)準(zhǔn)信息交換碼)b6b5b4b3b2b1b00000010100111001011101110000NULDLESP0@P、p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N↑n~1111SIUS/?O←oDEL第29頁(yè)/共277頁(yè)2.2計(jì)算機(jī)基本組成電路2.2.1常用邏輯電路

1、與門表達(dá)式:Y=A·B

圖形符號(hào):真值表:

2、或門

Y=A+B

輸入輸出ABY000010100111輸入輸出ABY000011101111第30頁(yè)/共277頁(yè)

3、非門表達(dá)式:

圖形符號(hào):真值表:

4、異或門

Y=A⊕B

輸入輸出AY0110輸入輸出ABY000011101110第31頁(yè)/共277頁(yè)

5、與非門表達(dá)式:

圖形符號(hào):真值表:

6、或非門

輸入輸出ABY001010100110輸入輸出ABY001011101110第32頁(yè)/共277頁(yè)輸入輸出SR00不確定0110100111保持不變2.2.2觸發(fā)器觸發(fā)器是計(jì)算機(jī)記憶裝置中的基本單元,一個(gè)觸發(fā)器能存儲(chǔ)一位二進(jìn)制代碼。1、R-S觸發(fā)器第33頁(yè)/共277頁(yè)2、D觸發(fā)器時(shí)鐘脈沖輸入輸出DQ0011例:74LS74雙D觸發(fā)器(DualPositive-Edge-TriggeredDFlip-Flops)第34頁(yè)/共277頁(yè)例:74LS113雙J-K觸發(fā)器(DualJ-KEdge-triggeredFlip-Flop)3、J-K觸發(fā)器時(shí)鐘脈沖輸入輸出JKQ00不變01010111翻轉(zhuǎn)第35頁(yè)/共277頁(yè)2.2.3寄存器計(jì)算機(jī)中的數(shù)據(jù)是以字節(jié)為基本單位來(lái)組織的,寄存器就是存放這些數(shù)據(jù)的物理單元。一個(gè)觸發(fā)器構(gòu)成寄存器的一個(gè)位。根據(jù)寄存器在計(jì)算機(jī)中的作用的不同,可以分為:1)緩沖寄存器2)鎖存器3)移位寄存器4)計(jì)數(shù)器

……第36頁(yè)/共277頁(yè)1、緩沖器(Buffer)/鎖存器(Latch)用于暫存數(shù)據(jù),以便在適當(dāng)?shù)臅r(shí)機(jī)(節(jié)拍,或稱時(shí)序)進(jìn)行數(shù)據(jù)的傳遞(輸入緩沖,或輸出鎖存)。圖例四位緩沖寄存器第37頁(yè)/共277頁(yè)2、移位寄存器(ShiftingRegister)并行的概念:多位多線同時(shí)輸入(或輸出)。串行的概念:多位單線(另地線)分時(shí)輸入(或輸出)。移位寄存器包括:串入串出、串入并出、并入串出等形式。圖例四位串入并出寄存器第38頁(yè)/共277頁(yè)3、計(jì)數(shù)器(Counter)計(jì)數(shù)的概念:計(jì)算脈沖個(gè)數(shù),結(jié)果以二進(jìn)制數(shù)形式輸出。加1計(jì)數(shù)與減1計(jì)數(shù)的概念:二進(jìn)制結(jié)果是遞增/遞減計(jì)數(shù)的。

圖例四位減1計(jì)數(shù)器圖例四位加1計(jì)數(shù)器第39頁(yè)/共277頁(yè)4、三態(tài)門(Tri-stateBuffer)總線的概念:計(jì)算機(jī)內(nèi)部或內(nèi)部與外部的公共通道??偩€的分類:數(shù)據(jù)總線、地址總線、控制總線。三態(tài)門:高電平狀態(tài)、低電平狀態(tài)、高阻狀態(tài)使能端:相當(dāng)于一個(gè)開(kāi)關(guān),控制三態(tài)門輸出的允許/禁止。第40頁(yè)/共277頁(yè)2.2.4常用數(shù)據(jù)存儲(chǔ)器/緩沖器/驅(qū)動(dòng)器

單片機(jī)的外部總線上,經(jīng)常連接著多個(gè)數(shù)據(jù)源設(shè)備和多個(gè)數(shù)據(jù)負(fù)載設(shè)備,此時(shí),會(huì)遇到這樣的問(wèn)題:1、總線隔離問(wèn)題

多個(gè)數(shù)據(jù)源→數(shù)據(jù)干擾對(duì)策:輸入緩沖

即:在某一時(shí)刻,只允許一個(gè)數(shù)據(jù)源與總線連接,而其它數(shù)據(jù)源與總線隔離(呈現(xiàn)高阻狀態(tài))。CPU能通過(guò)控制總線,控制這些數(shù)據(jù)源與總線之間的連接關(guān)系與時(shí)序。2、總線驅(qū)動(dòng)問(wèn)題多個(gè)數(shù)據(jù)負(fù)載→驅(qū)動(dòng)能力對(duì)策:總線驅(qū)動(dòng)

即:通過(guò)使用驅(qū)動(dòng)能力更大的門電路(輸出電流更大)來(lái)彌補(bǔ)單片機(jī)引腳輸出功率不足的問(wèn)題。注:51單片機(jī)吐出電流能力很小,但有一定的吸入電流的能力。第41頁(yè)/共277頁(yè)3、數(shù)據(jù)保持問(wèn)題多個(gè)數(shù)據(jù)負(fù)載→數(shù)據(jù)保持對(duì)策:輸出鎖存

即:通過(guò)使用數(shù)據(jù)鎖存器,記憶總線輸出的狀態(tài)信息。4、常用芯片

1)74244

8同相三態(tài)數(shù)據(jù)緩沖器、驅(qū)動(dòng)器

2)74245

8總線接收器/發(fā)送器

3)74373

8D鎖存器第42頁(yè)/共277頁(yè)2.3存儲(chǔ)器2.3.1名詞解釋存儲(chǔ)器是由大量緩沖寄存器組成,可以存放程序和數(shù)據(jù)。1)存儲(chǔ)器中每個(gè)寄存器稱為一個(gè)存儲(chǔ)單元。

存儲(chǔ)單元地址:每個(gè)存儲(chǔ)單元的編號(hào),一個(gè)地址碼唯一確定一個(gè)存儲(chǔ)單元。存儲(chǔ)單元內(nèi)容:存儲(chǔ)單元中存放的二進(jìn)制數(shù)2)存儲(chǔ)單元個(gè)數(shù)與地址線根數(shù)關(guān)系

N-地址線根數(shù)W-存儲(chǔ)單元個(gè)數(shù)第43頁(yè)/共277頁(yè)2.3.2存儲(chǔ)器指標(biāo)1)存儲(chǔ)器速度:讀或?qū)懸粋€(gè)信息所需的時(shí)間,一般為幾十ns-幾百ns2)存儲(chǔ)器容量:指一片存儲(chǔ)器最多能存儲(chǔ)二進(jìn)制信息量,一般用字節(jié)(Byte)表示

1kB=1024B

1024KB=1MB

1024MB=1GB

其中:1B=8bit第44頁(yè)/共277頁(yè)2.3.3

存儲(chǔ)器的分類1)RAM(RandomAccessMemory):隨機(jī)存取存儲(chǔ)器,主要用來(lái)存放各種現(xiàn)場(chǎng)的輸入、輸出數(shù)據(jù)、中間計(jì)算結(jié)果,以及與外存交換信息和作堆棧用。

RAM又常稱為數(shù)據(jù)存儲(chǔ)器。特點(diǎn):可隨時(shí)讀寫、但掉電后信息丟失。分類: 靜態(tài)SRAM:電源加于存儲(chǔ)器,信息可長(zhǎng)期保留 動(dòng)態(tài)DRAM:每隔一段時(shí)間需重新寫入一次(動(dòng)態(tài)刷新) 可現(xiàn)場(chǎng)改寫的非易失存儲(chǔ)器:FLASH、NVSRAM、FRAM第45頁(yè)/共277頁(yè)2)ROM(ReadOnlyMemory)

只讀存儲(chǔ)器,通常用于存放程序。

ROM通常又稱為程序存儲(chǔ)器。應(yīng)用:一般用來(lái)存放固定程序以及各種表格特點(diǎn):使用時(shí)只讀不能寫,掉電后信息不丟失分類:掩膜ROM

(ROM)可編程的ROM (PROM)可擦除的PROM (EPROM)電可擦除的EPROM (EEPROM)第46頁(yè)/共277頁(yè)2.3.4存儲(chǔ)器的尋址原理1)ROM中的信息:

實(shí)際上是以二極管陣列的存在(表示1)或熔斷(表示0)來(lái)實(shí)現(xiàn)的。2)存儲(chǔ)器的尋址:地址代表著一個(gè)唯一的存儲(chǔ)單元。第47頁(yè)/共277頁(yè)習(xí)題:P29第1、2、3、4、5、6、8、9、11第48頁(yè)/共277頁(yè)第三章單片機(jī)的結(jié)構(gòu)及原理3.1

89S51單片機(jī)的結(jié)構(gòu)3.1.1單片機(jī)的組成及結(jié)構(gòu)1、80C51功能方框圖89S51新增功能雙DPTRWDTISPFlashMemory89S52新增功能T2定時(shí)器第49頁(yè)/共277頁(yè)2、89s51單片機(jī)內(nèi)部結(jié)構(gòu)圖第50頁(yè)/共277頁(yè)3.1.2

89s51單片機(jī)的引腳定義及功能1、89s51引腳圖2、89s51邏輯符號(hào)第51頁(yè)/共277頁(yè)3、89s51的外形與封裝1)DIP封裝有40腳(最常用)

42腳二種。第52頁(yè)/共277頁(yè)2)TQFP封裝3)PLCC封裝第53頁(yè)/共277頁(yè)4、89S51單片機(jī)的引腳定義及功能1)輸入/輸出引腳●P0.0~P0.7(39~32腳):第一功能:8位漏極開(kāi)路型雙向I/O口。第二功能:在訪問(wèn)片外存儲(chǔ)器時(shí),它分時(shí)提供低8位地址和8位雙向數(shù)據(jù)?!馪1.0~P1.7(21~28腳):第一功能:帶內(nèi)部上拉的8位雙向I/O口。第二功能:P1.0(T2)P1.1(T2EX)P1.5(MOSI)P1.6(MISO)P1.7(SCK)●P2.0~P2.7(21~28腳):第一功能:帶內(nèi)部上拉的8位雙向I/O口。第二功能:在訪問(wèn)片外存儲(chǔ)器時(shí)輸出高8位地址●P3.0~P3.7(10~17腳):多功能口。主功能:帶內(nèi)部上拉的8位雙向I/O口。復(fù)用功能:第54頁(yè)/共277頁(yè)2)控制引腳●RST(9腳)復(fù)位輸入端,高電平有效?!馎LE/(30腳):地址鎖存允許,當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),該引腳控制是否鎖存P0口輸出的低8位地址。對(duì)87C51片內(nèi)EPROM編程(固化)時(shí),此引腳用于輸入編程脈沖?!?29腳):在訪問(wèn)片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為存儲(chǔ)器讀選通信號(hào)?!瘢疺PP(31腳):當(dāng)端輸入高電平時(shí),CPU從片內(nèi)程序存儲(chǔ)器地址0000H單元開(kāi)始執(zhí)行程序。當(dāng)?shù)刂烦?KB(對(duì)80C51而言,視片內(nèi)ROM的容量而定)時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序。當(dāng)端輸入低電平時(shí),CPU僅訪問(wèn)片外程序存儲(chǔ)器。在對(duì)87C51EPROM編程時(shí),此引腳用于施加編程電壓VPP。第55頁(yè)/共277頁(yè)3)主電源引腳●Vss(20腳):接地。●Vcc(40腳):主電源+5V

DC。4)時(shí)鐘電路引腳●XTAL1(19腳):接外部晶體的一端。在片內(nèi)它是振蕩電路反向放大器的輸入端。在采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該端引腳必須接地;對(duì)于CHMOS單片機(jī),此引腳作為驅(qū)動(dòng)端?!馲TAL2(18腳):接外部晶體的另一端。在片內(nèi)它是一個(gè)振蕩電路反向放大電路的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時(shí)鐘電路,對(duì)于HMOS單片機(jī),該引腳輸入外部時(shí)鐘脈沖;對(duì)于CHMOS單片機(jī),此引腳應(yīng)懸浮。第56頁(yè)/共277頁(yè)3.2單片機(jī)的工作原理3.2.1基本概念1、指令:規(guī)定計(jì)算機(jī)執(zhí)行特定操作的命令,一般由二進(jìn)制表示。指令可分為操作碼和操作數(shù)兩部分。2、指令系統(tǒng):計(jì)算機(jī)全部指令的集合。3、程序:根據(jù)任務(wù)要求有序編排指令的集合。4、軟件:為了運(yùn)行和管理計(jì)算機(jī)所編制的各種程序的總和。第57頁(yè)/共277頁(yè)3.2.2

CPU工作原理

CPU主要是由運(yùn)算器和控制器這兩大部分組成。1、控制器1)功能:用來(lái)統(tǒng)一指揮和控制計(jì)算機(jī)工作的部件。取指→指令譯碼→發(fā)出控制信號(hào)2)組成: 指令部件 時(shí)序部件 微操作控制部件3)程序計(jì)數(shù)器:又稱為PC指針,是一個(gè)16位專用寄存器作用:用于存放和指示下一條要執(zhí)行指令的地址。自動(dòng)加1的功能:每次取指后,PC就會(huì)自動(dòng)加1。第58頁(yè)/共277頁(yè)2、運(yùn)算器1)功能:用于對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯操作的執(zhí)行部件2)組成: 算術(shù)/邏輯部件ALU

累加器ACC(Accumulator)

暫存寄存器 程序狀態(tài)字寄存器PSW(ProgramStatusWord)

通用寄存器

BCD碼運(yùn)算調(diào)整電路等D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW第59頁(yè)/共277頁(yè)3.2.3單片機(jī)執(zhí)行程序的過(guò)程第60頁(yè)/共277頁(yè)程序存儲(chǔ)器地址存儲(chǔ)單元內(nèi)容指令0000H02HLJMP

0100H0001H01H0002H00H......0100H74HMOVA,#0E0H0101HE0H....第61頁(yè)/共277頁(yè)3.3單片機(jī)的存儲(chǔ)器組織3.3.1基本概念1、存儲(chǔ)器結(jié)構(gòu)分類:哈佛結(jié)

構(gòu)普林斯頓結(jié)構(gòu)2、89S51采用哈佛結(jié)構(gòu)第62頁(yè)/共277頁(yè)3.3.2程序存儲(chǔ)器1、分片內(nèi)程序存儲(chǔ)器與片外程序存儲(chǔ)器二種片內(nèi)、片外程序存儲(chǔ)器空間重疊片內(nèi)或片外的指定,由腳狀態(tài)決定。64K空間,16位尋址2、程序存儲(chǔ)器低端關(guān)鍵單元的特殊作用0000H單元:80C51單片機(jī)復(fù)位后的程序入口0003H單元:外部中斷0的中斷服務(wù)程序入口000BH單元:T0的中斷服務(wù)程序入口0013H單元:外部中斷1的中斷服務(wù)程序入口001BH單元:T1的中斷服務(wù)程序入口0023H單元:串行口的中斷服務(wù)程序入口002BH單元:T2的中斷服務(wù)程序入口3、用MOVC指令,采用PC或DPTR變址尋址訪問(wèn)程序存儲(chǔ)器第63頁(yè)/共277頁(yè)3.3.3數(shù)據(jù)存儲(chǔ)器1、分“片內(nèi)數(shù)據(jù)存儲(chǔ)器”與“片外數(shù)據(jù)存儲(chǔ)器”二種片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器空間獨(dú)立片內(nèi)128B(256B)空間,8位地址尋址片外64K空間,16位尋址2、片外數(shù)據(jù)存儲(chǔ)器映象64K片外數(shù)據(jù)存儲(chǔ)器空間,無(wú)特殊規(guī)定片外I/O端口,與RAM統(tǒng)一編址片外數(shù)據(jù)存儲(chǔ)器與片外I/O訪問(wèn),均使用或控制片外數(shù)據(jù)存儲(chǔ)器或I/O的訪問(wèn),均采用MOVX指令片外數(shù)據(jù)存儲(chǔ)器或I/O的訪問(wèn),均通過(guò)累加器A進(jìn)行第64頁(yè)/共277頁(yè)3、片內(nèi)數(shù)據(jù)存儲(chǔ)器映象1)片內(nèi)數(shù)據(jù)存儲(chǔ)器的低128B為RAM區(qū)最低32B(00H~1FH)為工作寄存器區(qū)分為4個(gè)工作寄存器組:

0組00H~07H

RS1=0

RS0=0

1組08H~0FH

RS1=0

RS0=1

2組10H~17H

RS1=1

RS0=0

3組18H~1FH

RS1=1

RS0=1每個(gè)工作寄存器組包含8個(gè)工作寄存器:

R7

R6

R5

R4

R3

R2

R1

R0

(參見(jiàn)P33表3-2)次低16B(20H~2FH)為可位尋址RAM位地址編排:00H~7FH共128位

(參見(jiàn)P34表3-3)其余(30H~7FH)為普通的數(shù)據(jù)存儲(chǔ)器(89S52還有80H~0FFH,為只能間接尋址的普通數(shù)據(jù)存儲(chǔ)器)第65頁(yè)/共277頁(yè)2)片內(nèi)數(shù)據(jù)存儲(chǔ)器的高128B為SFR區(qū)專用寄存器區(qū)SFR(稱為“特殊功能寄存器”)分布圖譜可位尋址的單元特征:地址的低3位為0(或者說(shuō),低4位地址為0或8)位地址80H~FFH

T2CON00000000B

T2MODXXXXXX00B

TL200000000B

TH200000000B

RCAP2L00000000B

RCAP2H00000000B與89S52對(duì)應(yīng)的T2定時(shí)器89S51新增的WDT、雙DPTR等第66頁(yè)/共277頁(yè)80C51有21個(gè)特殊功能寄存器:

Acc 累加器

B

B寄存器

PSW 程序狀態(tài)字

SP 堆棧指針

DPTR 數(shù)據(jù)指針(DPH、DPL)

P0~P3 端口P0~P3的印象寄存器

IP 中斷優(yōu)先級(jí)寄存器

IE 中斷允許寄存器

TMOD 定時(shí)器/計(jì)數(shù)器方式字

TCON 定時(shí)器/計(jì)數(shù)器控制字

TH0 T0計(jì)數(shù)值高8位

TL0 T0計(jì)數(shù)值低8位

TH1 T1計(jì)數(shù)值高8位

TL1 T1計(jì)數(shù)值低8位

SCON 串行控制字

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

PCON 電源控制字89S51新增:AUXR1AUXRWDTRSTDP1HDP1L89S52新增:TH2TL2RCAP2HRCAP2LT2CONT2MOD第67頁(yè)/共277頁(yè)CY:進(jìn)借位標(biāo)志在進(jìn)行加法(或減法)運(yùn)算時(shí),如果操作結(jié)果最高位(位7)有進(jìn)位,CY置“l(fā)”,否則清“0”。在進(jìn)行位操作時(shí),CY又作為位操作累加器C。移位指令時(shí),左移D7-→Cy右移D0-→CyAC:半進(jìn)位標(biāo)志加法(或減法)運(yùn)算時(shí),低半字節(jié)(位3)向高半字節(jié)進(jìn)位(或借位),AC置“1”,否則清“0”。AC亦可用于BCD碼調(diào)整時(shí)的判別位。RS0、RS1:工作寄存器區(qū)選擇位工作寄存器組選擇位,用以選擇指令當(dāng)前工作的寄存器組。OV:溢出標(biāo)志有符號(hào)數(shù)運(yùn)算時(shí),如運(yùn)算結(jié)果超出了數(shù)值范圍會(huì)發(fā)生溢出,使OV=1,否則OV=0。在乘法運(yùn)算中,OV=1表示乘積超過(guò)255在除法運(yùn)算中,OV=1表示除數(shù)為0。P:奇偶標(biāo)志運(yùn)算結(jié)果中如果有奇數(shù)個(gè)“1”,則置P為“1”,否則置“0”。在80C51的指令系統(tǒng)中,凡是改變累加器A中內(nèi)容的指令均影響奇偶標(biāo)志位P。F1、F0:用戶標(biāo)志由用戶置位或復(fù)位。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW第68頁(yè)/共277頁(yè)堆棧的作用SP初始值為07H用戶可修改SP的值SP指向棧頂SPSP+1堆棧操作先入后出原則SP自動(dòng)加1(壓棧時(shí))或自動(dòng)減1(退棧時(shí))顯式操作與隱式操作覆蓋的危險(xiǎn)性!SP堆棧指針暫存數(shù)據(jù)保護(hù)現(xiàn)場(chǎng)第69頁(yè)/共277頁(yè)雙DPTRDPTR的作用89S51新增雙DPTR雙DPTR的使用DPTR0與DPTR1的切換

AUXR11)不可位尋址2)僅最低位有定義

DPS=1選用DPTR1

DPS=0選用DPTR0DPTR的賦值方法1)雙DPTR共用一個(gè)名稱:DPTR->取決于選中哪個(gè)2)MOV

DPTR,#34D3H或MOV

DPH,#34H

MOV

DPL,#0D3HD7D6D5D4D3D2D1D0-------DPS書(shū)中有錯(cuò):D0-D7不是位地址?。〉?0頁(yè)/共277頁(yè)3.4輸入輸出端口結(jié)構(gòu)1、P0口(80H)的位結(jié)構(gòu)IO切換讀引腳/讀鎖存器上拉電阻第二功能數(shù)據(jù)復(fù)現(xiàn)問(wèn)題第71頁(yè)/共277頁(yè)2、P1口(90H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉ISP功能T2

T2EX第72頁(yè)/共277頁(yè)3、P2口(0A0H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉第二功能數(shù)據(jù)復(fù)現(xiàn)問(wèn)題第73頁(yè)/共277頁(yè)4、P3口(0B0H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉第二功能數(shù)據(jù)復(fù)現(xiàn)問(wèn)題第74頁(yè)/共277頁(yè)I/O口第二功能注釋P3.0RXD串行口數(shù)據(jù)接收端P3.1TXD串行口數(shù)據(jù)發(fā)送端P3.2INT0外部中斷請(qǐng)求0P3.3INT1外部中斷請(qǐng)求1P3.4T0定時(shí)/計(jì)數(shù)器0P3.5T1定時(shí)/計(jì)數(shù)器1P3.6WR外部RAM寫信號(hào)P3.7RD外部RAM讀信號(hào)5、P3口(0B0H)的第二功能第75頁(yè)/共277頁(yè)6、I/O口的負(fù)載能力1)P0口的輸出級(jí)與Pl~P3口的輸出級(jí)在結(jié)構(gòu)上是不同的,沒(méi)有內(nèi)部上拉電阻。因此,它們的負(fù)載能力和接口要求也各不相同,P1~P3口也被稱做準(zhǔn)雙向口。2)P0口的每一位可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。P0既可作I/O端口使用,也可作地址總線/數(shù)據(jù)總線使用。當(dāng)把它作通用口輸出時(shí),輸出級(jí)是開(kāi)漏電路,在驅(qū)動(dòng)NMOS或其他拉電流負(fù)載時(shí),只有外接上拉電阻,才有高電平輸出;作地址總線/數(shù)據(jù)總線時(shí),無(wú)需外接電阻,但此時(shí)不能再作I/O口使用。3)P1~P3口輸出級(jí)接有內(nèi)部上拉負(fù)載電阻,每位可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。4)P0~P3口都是雙向I/O口,作輸入時(shí),必須先在相應(yīng)端口鎖存器上寫“1”,使驅(qū)動(dòng)管FET截止。系統(tǒng)復(fù)位時(shí),端口鎖存器全為“1”

第76頁(yè)/共277頁(yè)3.5

80C51的時(shí)序與時(shí)鐘電路3.5.1基本概念1)時(shí)鐘周期T也稱振蕩周期,為時(shí)鐘脈沖頻率的倒數(shù)。2)機(jī)器周期完成一個(gè)基本操作所需時(shí)間。MC=12T3)指令周期執(zhí)行一條指令所需的時(shí)間,一般包括1~4個(gè)機(jī)器周期。第77頁(yè)/共277頁(yè)3.5.2時(shí)鐘電路

提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn)。1、內(nèi)部時(shí)鐘方式利用芯片內(nèi)部的振蕩器外接晶體或陶瓷諧振器晶振,典型值是12MHzC1、C2:取值在20pF~100pF89S51的晶振可達(dá)33MHz第78頁(yè)/共277頁(yè)2、外部時(shí)鐘方式利用外部振蕩脈沖接入XTAL1或XTAL2。HMOS和CHMOS單片機(jī)的外時(shí)鐘信號(hào)接入方式不同。

第79頁(yè)/共277頁(yè)3.6

80C51的復(fù)位電路

復(fù)位電路完成單片機(jī)的初始化操作。3.6.1復(fù)位信號(hào)的產(chǎn)生

外部復(fù)位信號(hào)引入RST引腳。內(nèi)部復(fù)位電路每個(gè)機(jī)器周期采樣一次該狀態(tài),因此,RST上保持2個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上的高電平信號(hào),將使CPU進(jìn)入復(fù)位狀態(tài)。

3.6.2復(fù)位后的狀態(tài)復(fù)位時(shí),ALE和成輸入狀態(tài),ALE==1片內(nèi)RAM不受復(fù)位影響。P0~P3=0FFH,SP=07H

PC=0000H其余SFR為0第80頁(yè)/共277頁(yè)第81頁(yè)/共277頁(yè)D7D6D5D4D3D2D1D0SMOD---GF1GF0PDIDL3.780C51低功耗方式作用:節(jié)能PCON(87H)電源控制寄存器波特率倍增位掉電操作待機(jī)操作第82頁(yè)/共277頁(yè)3.7.1待機(jī)方式1、進(jìn)入:使IDL位為12、結(jié)果:

1)振蕩信號(hào)不供給CPU,但其它功能部件正常工作

2)內(nèi)部狀態(tài)(PSW

PC

SP

ACC

RAM等)不變

3)耗電量降為3mA3、退出:將喚醒CPU

1)響應(yīng)中斷或帶電硬件復(fù)位

SFR不變(僅IDL被清0),RAM不變,程序從斷點(diǎn)繼續(xù)執(zhí)行

2)上電硬件復(fù)位,全部初始化置待機(jī)方式后的第一條指令不要為寫指令(有誤操作的可能性)第83頁(yè)/共277頁(yè)3.7.2掉電方式1、進(jìn)入:使PD位為12、結(jié)果:

1)振蕩器停振,CPU及其它功能部件停止工作

2)內(nèi)部狀態(tài)(PSW

PC

SP

ACC

RAM等)不變

3)耗電量降為50μA,電源電壓可低至2V3、退出:將喚醒CPU

1)帶電硬件復(fù)位,RAM不變,SFR全部初始化

2)上電硬件復(fù)位,全部初始化第84頁(yè)/共277頁(yè)習(xí)題:P68:1、2、3、4、5、6、7、12第85頁(yè)/共277頁(yè)第四章80C51指令系統(tǒng)一組數(shù)據(jù):

7種尋址方式

111條指令二個(gè)概念:?jiǎn)巫止?jié)雙字節(jié)三字節(jié)指令單周期雙周期四周期指令64條45條2條49條45條17條4.180C51指令系統(tǒng)簡(jiǎn)介第86頁(yè)/共277頁(yè)機(jī)器碼:?jiǎn)巫止?jié)指令雙字節(jié)指令三字節(jié)指令程序地址地址偏差寄存器別名字節(jié)地址第87頁(yè)/共277頁(yè)尋址方式:指在指令代碼中用以表示操作數(shù)地址的各種規(guī)定。尋址方式與計(jì)算機(jī)的存儲(chǔ)器空間結(jié)構(gòu)是密切聯(lián)系的,尋址方式越多則計(jì)算機(jī)的功能越強(qiáng),靈活性亦越大,能更有效地處理各種數(shù)據(jù)。

80C51共有7種尋址方式4.2尋址方式第88頁(yè)/共277頁(yè)RnRi#data#data16directaddr11(addr16)relbit@/X(X)→4.2.1符號(hào)注釋Rn:當(dāng)前選中的工作寄存器R0~R7(n=0~7)Ri:當(dāng)前選中的工作寄存器組中可作為地址指針的兩個(gè)工作寄存器R0和R1(i=0或1)#data:8位立即數(shù),即包含在指令中的8位常數(shù)#data16:16位立即數(shù),即包含在指令中的16位常數(shù)direct:8位片內(nèi)低128字節(jié)RAM單元及SFR的直接地址addr11(addr16):11位或16位目的地址rel:8位地址偏移量用于相對(duì)轉(zhuǎn)移指令中補(bǔ)碼表示,其范圍為-128~+127bit:片內(nèi)RAM或SFR的直接尋址位地址@:間接尋址方式中,表示間址寄存器的符號(hào)/:位操作指令中,表示對(duì)該位先取反再參與操作,但不影響該位原值X:注釋時(shí),表示片內(nèi)RAM的直接地址或寄存器(X):注釋時(shí),在直接尋址方式中,表示直接地址X中的內(nèi)容→:注釋時(shí),指示指令操作流程,將箭頭左邊的內(nèi)容送入箭頭右邊的單元內(nèi)第89頁(yè)/共277頁(yè)4.2.2尋址方式1、立即尋址在指令中給出了操作數(shù)立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù)。立即數(shù)前用“#”號(hào)表示MOVA,#3AHMOVDPTR,#3FA6H第90頁(yè)/共277頁(yè)2、直接尋址指令中給出了操作數(shù)的地址。在80C51單片機(jī)中,直接尋址能用來(lái)訪問(wèn)1)特殊功能寄存器(也只有這一種尋址方式)2)低128字節(jié)內(nèi)部RAM3)位地址空間MOVA,3AHMOVPSW,#50H第91頁(yè)/共277頁(yè)3、寄存器尋址以通用寄存器的內(nèi)容為操作數(shù)通用寄存器包括:1)累加器A2)通用寄存器B(與A連用)3)地址寄存器DPTR4)R0~R7(工作寄存器組的選擇由PSW中的RS1和RS0來(lái)確定。)MOVA,R2INCDPTR第92頁(yè)/共277頁(yè)4、寄存器間接尋址寄存器中存放操作數(shù)的地址能用寄存器間接尋址的寄存器:R0、R1、DPTR、SP尋址空間1)用R0、R1間接尋址,訪問(wèn)片內(nèi)RAM2)用SP,進(jìn)行堆棧操作(其中,高128字節(jié)只能用這二種尋址方式)3)用DPTR、R0、R1間接尋址,訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器MOVA,@R0MOVXA,@DPTR第93頁(yè)/共277頁(yè)5、變址尋址(基址寄存器+變址寄存器間接尋址)以DPTR或PC為基址寄存器,累加器A為變址寄存器。變址尋址時(shí),把兩內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。A中的數(shù)據(jù)為無(wú)符號(hào)數(shù)尋址空間:程序存儲(chǔ)器MOVCA,@A+DPTR第94頁(yè)/共277頁(yè)93H下一條指令A(yù)LU2040H2041H20EOH操作碼目標(biāo)地址(PC)=20E0H∶∶E0HA20H00HDPLDPH47H47H例:MOVC

A,@A+DPTR第95頁(yè)/共277頁(yè)6、相對(duì)尋址將程序計(jì)數(shù)器PC中的當(dāng)前內(nèi)容與指令第二個(gè)字節(jié)所給出的數(shù)相加,其結(jié)果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址只用于修改PC值偏移量為補(bǔ)碼數(shù),范圍:-128~+127JC03H第96頁(yè)/共277頁(yè)80H下一條指令A(yù)LU54Hrel=54H2000H2001H2002H2056H操作碼PC當(dāng)前值2002H修正后轉(zhuǎn)移目標(biāo)地址(PC)=2056H∶∶例:SJMP

2056H第97頁(yè)/共277頁(yè)7、位尋址對(duì)片內(nèi)RAM或SFR的位尋址區(qū)進(jìn)行位操作時(shí)的尋址方式。SETB20HCLR

C第98頁(yè)/共277頁(yè)

是最常用、最基本的一類指令。

一般傳送類指令是把源操作數(shù)傳送到目的操作數(shù),指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)修改為源操作數(shù)。

交換型傳送指令不丟失目的操作數(shù),它只是將源操作數(shù)和目的操作數(shù)交換了存放單元。傳送類指令一般不影響標(biāo)志位只有堆棧操作可以直接修改程序狀態(tài)字PSW傳送目的操作數(shù)為ACC的指令將影響奇偶標(biāo)志P4.3數(shù)據(jù)傳送類指令第99頁(yè)/共277頁(yè)4.3.1內(nèi)部RAM數(shù)據(jù)傳送指令

1.累加器A為目的操作數(shù)的指令MOVA,#data;data→AMOVA,direct;(direct)→AMOVA,Rn;Rn→AMOVA,@Ri;(Ri)→A第100頁(yè)/共277頁(yè)4.3.1內(nèi)部RAM數(shù)據(jù)傳送指令

2、以寄存器Rn為目的操作數(shù)的指令MOVRn,#data;data→RnMOVRn,direct;(direct)→RnMOVRn,A;A→Rn例1A=5BH,R1=10HR2=20H,R3=30H,(30H)=4FH執(zhí)行指令:MOVR1,A;A→R1MOVR2,30H;(30H)→R2MOVR3,#83H;83H→R3執(zhí)行后:R1=5BH,R2=4FH,R3=83H。第101頁(yè)/共277頁(yè)4.3.1內(nèi)部RAM數(shù)據(jù)傳送指令

3、16位數(shù)據(jù)傳送指令MOV

DPTR,#DATA16

該指令在譯成機(jī)器碼時(shí),是高字節(jié)在前,低字節(jié)在后。如“MOVDPTR,#1234H”其機(jī)器碼是90、12、34。第102頁(yè)/共277頁(yè)4.3.1內(nèi)部RAM數(shù)據(jù)傳送指令

4、以直接地址為目的操作數(shù)的指令MOVdirect,#data;data→(direct)MOVdirect,direct;(direct)→(direct)MOVdirect,A;A→(direct)MOVdirect,Rn;Rn→(direct)MOVdirect,@Ri;(Ri)→(direct)第103頁(yè)/共277頁(yè)4.3.1內(nèi)部RAM數(shù)據(jù)傳送指令

5、以間接地址為目的操作數(shù)的指令MOV@Ri,A

;A→(Ri)MOV@Ri,direct

;(direct)→(Ri)MOV@Ri,#data;data→(Ri)

例2已知R0=60H,(60H)=50H執(zhí)行如下指令:

MOV40H,@R0;(R0)→(40H)該指令執(zhí)行過(guò)程如圖1-10所示。執(zhí)行結(jié)果是40H單元中為50H第104頁(yè)/共277頁(yè)4.3.2外部RAM數(shù)據(jù)傳送指令

只有這四條:MOVXA、@DPTR

;(DPTR)→AMOVX@DPTR,A

;A→(DPTR)MOVXA,@Ri

;(Ri)→AMOVX@Ri,A

;A→(Ri)例3把外部數(shù)據(jù)存儲(chǔ)器2040H單元中的數(shù)取出,傳送到2230H單元中去。根據(jù)題意可編程序如下:MOVDPTR,#2040H;2040H→DPTRMOVXA,@DPTR;(DPTR)→AMOVDPTR,#2230H;2230H→DPTRMOVX@DPTR,A;A→(DPTR)第105頁(yè)/共277頁(yè)4.3.3查表指令

在80C51指令系統(tǒng)中,有兩條極有用的查表指令,其數(shù)據(jù)表格放在程序存儲(chǔ)器中。MOVCA,@A十PC

;PC十1→PC,(A十PC)→AMOVCA,@A十DPTR

;(A十DPTR)→A

第106頁(yè)/共277頁(yè)P(yáng)USHdirect

;SP十1→SP,(direct)→(SP)POPdirect

;(SP)→(direct),SP-1→SP4.3.4堆棧操作指令

使用堆棧時(shí)。一般需重新設(shè)定SP的初始值。由于壓入堆棧的第一個(gè)數(shù)必須存放在SP十1存儲(chǔ)單元,故實(shí)際棧頂是在SP十1所指出的單元。另外,要注意留出足夠的存儲(chǔ)單元作棧區(qū),因?yàn)闂m斒请S數(shù)據(jù)的彈入和彈出而變化的,如棧區(qū)設(shè)置不當(dāng),則可能發(fā)生數(shù)據(jù)重疊,這樣會(huì)引起程序混亂,以至無(wú)法運(yùn)行。一般情況,執(zhí)行此指令不影響標(biāo)志,但若目標(biāo)操作數(shù)為PSW,則有可能使一些標(biāo)志改變。這也是通過(guò)指令強(qiáng)行修改標(biāo)志的一種方法。????第107頁(yè)/共277頁(yè)4.3.5交換指令

XCHA,Rn;A←→RnXCHA,direct;A←→(direct)XCHA,@Ri;A←→(Ri)XCHDA,@Ri;A.3~A.0←→(Ri.3~Ri.0)SWAPA;A.3~A.0←→A.7~A.4第108頁(yè)/共277頁(yè)4.4算術(shù)運(yùn)算類指令包括:1、加法類、減法類、乘法類、除法類2、自加1、自減1類3、BCD碼調(diào)整類關(guān)鍵點(diǎn):1、影響標(biāo)志位2、加、減、乘、除法均通過(guò)A來(lái)完成第109頁(yè)/共277頁(yè)功能:把源操作數(shù)所指出的內(nèi)容加到累加器A,其結(jié)果存在A中。4.4.1加法指令

ADDA,Rn;A十Rn→AADDA,direct;A十(direct)→AADDA,@Ri;A十(Ri)→AADDA,#data;A十data→A如果位7有進(jìn)位:CY位置“1”,否則清“0”;如果位3有進(jìn)位:AC位置“1”,否則清“0”。有符號(hào)數(shù)相加,還要判斷OV位:若OV為“1”,表示和數(shù)溢出。第110頁(yè)/共277頁(yè)功能:把源操作數(shù)所指出的內(nèi)容及進(jìn)位位內(nèi)容,加到累加器A,其結(jié)果存在A中。4.4.2帶進(jìn)位加法指令

ADDCA,Rn;A十Rn+Cy→AADDCA,direct;A十(direct)+Cy→AADDCA,@Ri;A十(Ri)+Cy→AADDCA,#data;A十data+Cy→A1、對(duì)標(biāo)志位的影響與加法指令相同2、常用于多字節(jié)加法運(yùn)算例:MOV

A,@R1

ADD

A,@R0

MOV@R1,A

INC

R0

INC

R1

MOV

A,@R1

ADDC

A,@R0

……先清Cy位?第111頁(yè)/共277頁(yè)功能:將累加器A中的數(shù),減去源操作數(shù)所指出的內(nèi)容及進(jìn)位位,其結(jié)果存在A中。4.4.3帶進(jìn)位減法指令

SUBBA,Rn;A-Rn-Cy→ASUBBA,direct;A-(direct)-Cy→ASUBBA,@Ri;A-(Ri)-Cy→ASUBBA,#data;A-data-Cy→A如果位7有借位:CY位置“1”,否則清“0”;如果位3有借位:AC位置“1”,否則清“0”。有符號(hào)數(shù)相減,還要判斷OV位:若OV為“1”,表示差數(shù)溢出。先清Cy位?第112頁(yè)/共277頁(yè)4.4.4乘法指令

MULAB,A×B→BA對(duì)PSW的影響:Cy=0若乘積大于FFH,則OV置“1”,否則清“0”。也影響奇偶標(biāo)志位。第113頁(yè)/共277頁(yè)4.4.5除法指令

DIVAB;A÷B的商→A,余數(shù)→B對(duì)PSW的影響:執(zhí)行本指令后,標(biāo)志CY和OV均復(fù)位,B=0時(shí),A和B中的內(nèi)容為不變,OV標(biāo)志置“1”,說(shuō)明除法溢出。此指令影響奇偶標(biāo)志位P。第114頁(yè)/共277頁(yè)不影響除奇偶校驗(yàn)位外的其它標(biāo)志位INCA;A+1→AINCRn;Rn+1→RnINCdirect;(direct)+1→(direct)INC@Ri;(Ri)+1→(Ri)INCDPTR;DPTR+1→DPTR4.4.6加1指令

第115頁(yè)/共277頁(yè)4.4.7減1指令

不影響除奇偶校驗(yàn)位外的其它標(biāo)志位DECA;A-1→ADECRn;Rn-1→RnDECdirect;(diret)-1→(direct)DEC@R1;(Ri)-1→(Ri)沒(méi)有:DEC

DPTR指令?。?!第116頁(yè)/共277頁(yè)4.4.8十進(jìn)制加法調(diào)整指令

DAA

BCD碼加法運(yùn)算時(shí)使用跟在ADD和ADDC指令之后用于對(duì)BCD碼加法運(yùn)算結(jié)果自動(dòng)進(jìn)行修正。對(duì)BCD碼調(diào)整過(guò)程:A0-3>9或AC=1時(shí),低4位加6調(diào)整A4-7>9或Cy=1時(shí),高4位加6調(diào)整1、清除標(biāo)志位2、只能跟在加法指令之后第117頁(yè)/共277頁(yè)4.5邏輯運(yùn)算與移位類指令執(zhí)行這些指令時(shí)一般不影響程序狀態(tài)字寄存器PSW,僅當(dāng)目的操作數(shù)為ACC時(shí)對(duì)奇偶標(biāo)志位P有影響。邏輯運(yùn)算:與、或、異或、取反、清零等移位:A中內(nèi)容逐位左移、右移等第118頁(yè)/共277頁(yè)4.5.1邏輯“與”指令

ANLA,Rn;A·Rn→AANLA,direct;A·(direct)→AANLA,@Ri;A·(Ri)→AANLA,#data;A·data→AANLdirect,A;(direct)·A→(direct)ANLdirect,#data;(direct)·data→(direct)常用于屏蔽某些位。(使某些位為0)例1已知A=8FH,(40H)=96H執(zhí)行指令“ANLA,40H”,結(jié)果:A=86H,(40H)=96H,P=1

第119頁(yè)/共277頁(yè)4.5.2邏輯“或”指令ORLA,Rn;A+Rn→AORLA,rect;A+(direct)→AORLA,@Ri;A+(Ri)→AORLA,#data;A+data→AORLdirect,A;(direct)+A→(direct)ORLdirect,#data;(direct)+data→(direct)常用于置位某些位。(使某些位為1)例2:已知A=1AH,R0=45H(45H)=39H執(zhí)行指令ORL

A,@R0結(jié)果:A=3BH,R0=45H(45H)=39H,P=1第120頁(yè)/共277頁(yè)4.5.3邏輯“異或”指令XRLA,Rn;A⊕Rn→AXRLA,direct;A⊕(direct)→AXRLA,@Ri;A⊕(Ri)→AXRLA,#data;A⊕data→AXRLdirect,A;(direct)⊕A→(direct)XRLdirect,#data;(direct)⊕data→(direct)作用:使某些位取反。例3已知A=87H,(32H)=77H執(zhí)行指令XRL32H,A結(jié)果:A=87H(32H)=F0H,P=0。第121頁(yè)/共277頁(yè)4.5.4取反和清“0”指令取反指令CPL

A;→A清“0”指令CLR

A;0→A例4:已知A=01011010B執(zhí)行CPL

A后,A=10100101B執(zhí)行CLR

A后,A=00H第122頁(yè)/共277頁(yè)4.5.5循環(huán)移位指令左移RL

A

RLC

A右移RR

A

RRC

AAcc.7←Acc.0Acc.7←Acc.0CyAcc.7→Acc.0CyAcc.7→Acc.0第1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論