單片機(jī)原理與c51程序設(shè)計_第1頁
單片機(jī)原理與c51程序設(shè)計_第2頁
單片機(jī)原理與c51程序設(shè)計_第3頁
單片機(jī)原理與c51程序設(shè)計_第4頁
單片機(jī)原理與c51程序設(shè)計_第5頁
已閱讀5頁,還剩131頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章第一章 緒論緒論1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1 微處理器、微型計算機(jī)與單片機(jī)微處理器、微型計算機(jī)與單片機(jī)l從應(yīng)用形態(tài)上,微機(jī)可分為從應(yīng)用形態(tài)上,微機(jī)可分為微處理器微處理器(MPU或或CPU):運算器和控制器封裝在一塊芯:運算器和控制器封裝在一塊芯片上。片上。微型計算機(jī)微型計算機(jī):微處理器微處理器與大規(guī)模集成電路制成的與大規(guī)模集成電路制成的存儲器存儲器、輸輸入輸出入輸出接口電路在印制電路板上用接口電路在印制電路板上用總線總線連接起來。連接起來。單片機(jī)單片機(jī):在一個芯片上集成了一臺微型機(jī)的四個組成部分。在一個芯片上集成了一臺微型機(jī)的四個組成部分。1.1 1.1 單片機(jī)概論單片機(jī)

2、概論l1.1 微處理器、微型計算機(jī)與單片機(jī)微處理器、微型計算機(jī)與單片機(jī)l以單片機(jī)為核心的硬件電路稱為單片機(jī)系統(tǒng)。以單片機(jī)為核心的硬件電路稱為單片機(jī)系統(tǒng)。l單片機(jī)內(nèi)部還集成了許多外圍功能電路和外設(shè)接口,單片機(jī)內(nèi)部還集成了許多外圍功能電路和外設(shè)接口,如定時如定時/計數(shù)、串行通信、模擬計數(shù)、串行通信、模擬/數(shù)字轉(zhuǎn)換、數(shù)字轉(zhuǎn)換、PWM等單等單元。元。單片機(jī)模塊單片機(jī)模塊液晶顯示屏液晶顯示屏定時定時/計數(shù)計數(shù)流水燈流水燈單片機(jī)接口單片機(jī)接口1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1 微處理器、微型計算機(jī)與單片機(jī)微處理器、微型計算機(jī)與單片機(jī)l單片機(jī)的優(yōu)點:單片機(jī)的優(yōu)點:優(yōu)異的性價比優(yōu)異的性價比集成度高、

3、體積小,可靠性高集成度高、體積小,可靠性高:部件間連接緊湊,數(shù):部件間連接緊湊,數(shù)據(jù)在傳送時受干擾影響較小據(jù)在傳送時受干擾影響較小控制功能強(qiáng),開發(fā)應(yīng)用方便控制功能強(qiáng),開發(fā)應(yīng)用方便:其:其CPU可以對可以對I/O端口端口字節(jié)進(jìn)行操作,還可對位操作字節(jié)進(jìn)行操作,還可對位操作低電壓、低功耗低電壓、低功耗1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1 微處理器、微型計算機(jī)與單片機(jī)微處理器、微型計算機(jī)與單片機(jī)l單片機(jī)應(yīng)用系統(tǒng)是由硬件和軟件組成。單片機(jī)應(yīng)用系統(tǒng)是由硬件和軟件組成。1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.2 單片機(jī)的分類和指標(biāo)單片機(jī)的分類和指標(biāo)l專用型專用型:為某種專門用途而設(shè)計的。:為

4、某種專門用途而設(shè)計的。l通用型通用型:所有資源全部提供給用戶使用:所有資源全部提供給用戶使用1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.2 單片機(jī)的分類和指標(biāo)單片機(jī)的分類和指標(biāo)l位數(shù)位數(shù):單片機(jī)能夠一次處理的數(shù)據(jù)的寬度。:單片機(jī)能夠一次處理的數(shù)據(jù)的寬度。1位機(jī)、位機(jī)、4位機(jī)、位機(jī)、8位機(jī)、位機(jī)、16位機(jī)、位機(jī)、32位機(jī)位機(jī)l存儲器存儲器用途:程序存儲器用途:程序存儲器 :幾:幾KB到幾十到幾十KB 數(shù)據(jù)存儲器:幾十字節(jié)到幾百字節(jié)數(shù)據(jù)存儲器:幾十字節(jié)到幾百字節(jié)類型:類型:ROM、EPROM、EEPROM、FLASH ROM和和OTP ROM。lI/O口口:輸入:輸入/輸出口,一般有幾個到幾十個

5、輸出口,一般有幾個到幾十個1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.2 單片機(jī)的分類和指標(biāo)單片機(jī)的分類和指標(biāo)l速度速度:CPU的處理速度,以每秒執(zhí)行多少條指令衡量。的處理速度,以每秒執(zhí)行多少條指令衡量。單片機(jī)的速度與系統(tǒng)時鐘相聯(lián)系。單片機(jī)的速度與系統(tǒng)時鐘相聯(lián)系。同一種型號的單片機(jī),頻率高的比頻率低的速度要快。同一種型號的單片機(jī),頻率高的比頻率低的速度要快。l工作電壓工作電壓:5v,3v/3.3v,1.5v,2.56.5vl功耗功耗:等待、關(guān)斷、睡眠等降低功耗:等待、關(guān)斷、睡眠等降低功耗l溫度溫度l附加功能附加功能:有的單片機(jī)內(nèi)部有更多的功能。:有的單片機(jī)內(nèi)部有更多的功能。1.1 1.1 單

6、片機(jī)概論單片機(jī)概論l1.1.3 單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)微處理器微處理器(CPU)控制部件控制部件XTAL1XTAL2數(shù)據(jù)存儲器數(shù)據(jù)存儲器128BP0口口P2口口程序存儲器程序存儲器4KB特殊特殊功能功能寄存寄存器器P1口口異步串異步串行口行口P3口口定時器定時器/計數(shù)器計數(shù)器0定時器定時器/計數(shù)器計數(shù)器1中斷系統(tǒng)中斷系統(tǒng)PSENEAALERSTVCCVSSINT0INT11.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.4 單片機(jī)的應(yīng)用領(lǐng)域及趨勢單片機(jī)的應(yīng)用領(lǐng)域及趨勢l應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域在智能儀器儀表上的應(yīng)用在智能儀器儀表上的應(yīng)用在工業(yè)控制中的應(yīng)用在工業(yè)控制中的應(yīng)用在家用電器中的應(yīng)用在家用

7、電器中的應(yīng)用在計算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用在計算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.4 單片機(jī)的應(yīng)用領(lǐng)域及趨勢單片機(jī)的應(yīng)用領(lǐng)域及趨勢l發(fā)展趨勢發(fā)展趨勢lCMOS技術(shù):低功耗、高密度、低速度、低價格技術(shù):低功耗、高密度、低速度、低價格l低功耗:帶來產(chǎn)品的高可靠性、高抗干擾能力及產(chǎn)品的便攜化低功耗:帶來產(chǎn)品的高可靠性、高抗干擾能力及產(chǎn)品的便攜化l低電壓低電壓l低噪聲與高可靠性低噪聲與高可靠性l大容量大容量&小容量、低價格小容量、低價格l高性能:加快指令運算的速度和提高系統(tǒng)控制的可靠性高性能:加快指令運算的速度和提高系統(tǒng)控

8、制的可靠性l外圍電路內(nèi)裝外圍電路內(nèi)裝l串行擴(kuò)展技術(shù)串行擴(kuò)展技術(shù)1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.4 單片機(jī)的應(yīng)用領(lǐng)域及趨勢單片機(jī)的應(yīng)用領(lǐng)域及趨勢l隨著半導(dǎo)體集成工藝的不斷發(fā)展,單片機(jī)的集成度將隨著半導(dǎo)體集成工藝的不斷發(fā)展,單片機(jī)的集成度將更高、體積將更小、功能將更強(qiáng)。更高、體積將更小、功能將更強(qiáng)。l在單片機(jī)家族中,在單片機(jī)家族中,80C51系列是其中的佼佼者。系列是其中的佼佼者。1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.5 單片機(jī)的編程語言概述單片機(jī)的編程語言概述lBASIClPL/Ml匯編語言匯編語言lC語言語言1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.5 單片機(jī)的編程語

9、言概述單片機(jī)的編程語言概述l匯編語言匯編語言用助記符來表示機(jī)器指令的符號語言,是最接近于機(jī)用助記符來表示機(jī)器指令的符號語言,是最接近于機(jī)器碼的一種語言。器碼的一種語言。一條指令就對應(yīng)一條機(jī)器碼一條指令就對應(yīng)一條機(jī)器碼可對機(jī)器直接操作可對機(jī)器直接操作l優(yōu)點優(yōu)點占用資源少,程序執(zhí)行效率高占用資源少,程序執(zhí)行效率高l缺點缺點與機(jī)器相關(guān),不易移植與機(jī)器相關(guān),不易移植1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.5 單片機(jī)的編程語言概述單片機(jī)的編程語言概述lC語言語言l優(yōu)點:優(yōu)點:對單片機(jī)的指令不要求了解,僅要求了解其存儲結(jié)構(gòu)對單片機(jī)的指令不要求了解,僅要求了解其存儲結(jié)構(gòu)程序有規(guī)范的結(jié)構(gòu)程序有規(guī)范的結(jié)構(gòu)

10、庫函數(shù)庫函數(shù)l缺點缺點不能實現(xiàn)所有的功能,特別是需要對硬件操作的。不能實現(xiàn)所有的功能,特別是需要對硬件操作的。1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.5 單片機(jī)的編程語言概述單片機(jī)的編程語言概述l掌握掌握C語言和匯編語言的混合編程語言和匯編語言的混合編程1.1 1.1 單片機(jī)概論單片機(jī)概論l1.1.6 如何學(xué)習(xí)單片機(jī)這門技術(shù)如何學(xué)習(xí)單片機(jī)這門技術(shù)l大概了解單片機(jī)的結(jié)構(gòu)大概了解單片機(jī)的結(jié)構(gòu)l要有大量的實例練習(xí),要有大量的實例練習(xí),keil編程編程l要多結(jié)合外圍電路,如流水燈、數(shù)碼管、獨立鍵盤、要多結(jié)合外圍電路,如流水燈、數(shù)碼管、獨立鍵盤、矩陣鍵盤、矩陣鍵盤、AD或或DA(原理一樣)、液晶、

11、蜂鳴器進(jìn)(原理一樣)、液晶、蜂鳴器進(jìn)行練習(xí),行練習(xí),proteus仿真仿真l就是結(jié)合自己的實際情況,開發(fā)一個完全具有個人風(fēng)就是結(jié)合自己的實際情況,開發(fā)一個完全具有個人風(fēng)格,功能完善的電子產(chǎn)品格,功能完善的電子產(chǎn)品1.2 1.2 常用常用5151單片機(jī)介紹單片機(jī)介紹l8位單片機(jī)的三個系列位單片機(jī)的三個系列AVRPIC51l8051或或51單片機(jī),泛指一切以單片機(jī),泛指一切以8051為內(nèi)核的單片機(jī)。為內(nèi)核的單片機(jī)。1.2 1.2 常用常用5151單片機(jī)介紹單片機(jī)介紹l51單片機(jī)種類單片機(jī)種類51子系列:標(biāo)準(zhǔn)型子系列:標(biāo)準(zhǔn)型51單片機(jī)系列單片機(jī)系列52子系列子系列:增加型:增加型51單片機(jī)系列單片機(jī)

12、系列增加了內(nèi)部增加了內(nèi)部ROM增加了內(nèi)部增加了內(nèi)部RAM增加定時器增加定時器21.2 1.2 常用常用5151單片機(jī)介紹單片機(jī)介紹l1.2.1 Intel公司系列單片機(jī)公司系列單片機(jī)1.2 1.2 常用常用5151單片機(jī)介紹單片機(jī)介紹l1.2.2 Atmel公司系列單片機(jī)公司系列單片機(jī) 1.3 1.3 本章小結(jié)本章小結(jié)l 單片機(jī)即單片微型計算機(jī),它把一臺計算機(jī)所需要的單片機(jī)即單片微型計算機(jī),它把一臺計算機(jī)所需要的部件集成在一個芯片上部件集成在一個芯片上l 單片機(jī)應(yīng)用系統(tǒng)是以單片機(jī)為核心,配以外圍電路和單片機(jī)應(yīng)用系統(tǒng)是以單片機(jī)為核心,配以外圍電路和軟件,能實現(xiàn)一種或多種功能的實用系統(tǒng)。軟件,能實

13、現(xiàn)一種或多種功能的實用系統(tǒng)。l 單片機(jī)具有體積小、質(zhì)量輕、價格便宜等優(yōu)點,廣泛單片機(jī)具有體積小、質(zhì)量輕、價格便宜等優(yōu)點,廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域。專用設(shè)備的智能化管理及過程控制等領(lǐng)域。第第2 2章章 單片機(jī)硬件基礎(chǔ)單片機(jī)硬件基礎(chǔ)l單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)引腳功能引腳功能工作方式工作方式單片機(jī)的最小系統(tǒng)單片機(jī)的最小系統(tǒng)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)微處理器微處理器(CPU)控制部件控制部件XTAL1XTAL2數(shù)據(jù)存儲器數(shù)據(jù)存儲器12

14、8BP0口口P2口口程序存儲器程序存儲器4KB特殊特殊功能功能寄存寄存器器P1口口異步串異步串行口行口P3口口定時器定時器/計數(shù)器計數(shù)器0定時器定時器/計數(shù)器計數(shù)器1中斷系統(tǒng)中斷系統(tǒng)PSENEAALERSTVCCVSSINT0INT1中央處理器中央處理器存儲器存儲器I/O端口端口定時器定時器/計時器計時器中斷系統(tǒng)中斷系統(tǒng)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l51單片機(jī)內(nèi)部有一個單片機(jī)內(nèi)部有一個8位位的面向控制、功能強(qiáng)大的微的面向控制、功能強(qiáng)大的微處理器處理器l主要功能是主要功能是運算運算和和控制控制整個系統(tǒng)協(xié)調(diào)工作。整個系統(tǒng)協(xié)調(diào)工作。l由由運算器運算器

15、和和控制器控制器兩部分組成。兩部分組成。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器運算器主要實現(xiàn)對操作數(shù)的算術(shù)運算、邏輯運算和位運算器主要實現(xiàn)對操作數(shù)的算術(shù)運算、邏輯運算和位操作。操作。主要包括算術(shù)邏輯運算部件(主要包括算術(shù)邏輯運算部件(ALU)、累加器)、累加器A、寄、寄存器存器B、程序狀態(tài)字、程序狀態(tài)字PSW、暫存器、布爾外理器以及、暫存器、布爾外理器以及十進(jìn)制調(diào)整電路等部件。十進(jìn)制調(diào)整電路等部件。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理

16、器中央處理器l運算器運算器l(1)算術(shù)與邏輯部件算術(shù)與邏輯部件ALU(Arithmetical Logic Unit)l主要對數(shù)據(jù)進(jìn)行算術(shù)邏輯運算。主要對數(shù)據(jù)進(jìn)行算術(shù)邏輯運算。l全加器,它的運算結(jié)果將對程序狀態(tài)字全加器,它的運算結(jié)果將對程序狀態(tài)字PSW產(chǎn)生影響。該單元產(chǎn)生影響。該單元主要完成以下操作:主要完成以下操作:加、減、乘、除運算;加、減、乘、除運算;增量(加增量(加1)減量(減)減量(減1)運算;)運算;十進(jìn)制數(shù)調(diào)整;十進(jìn)制數(shù)調(diào)整;位操作中的置位、復(fù)位和取反操作;位操作中的置位、復(fù)位和取反操作;與、或、異或等運算操作;與、或、異或等運算操作;數(shù)據(jù)傳送操作。數(shù)據(jù)傳送操作。2.1 2.1

17、單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(2)累加器累加器Al一個特殊功能寄存器,簡稱為一個特殊功能寄存器,簡稱為ACC或或A寄存器,其作寄存器,其作用為:用為:累加器累加器A作為作為ALU的輸入數(shù)據(jù)源之一,也是的輸入數(shù)據(jù)源之一,也是ALU的輸?shù)妮敵?;出;ADD A,BCPU中的數(shù)據(jù)傳送大多數(shù)都通過累加器,累加器中的數(shù)據(jù)傳送大多數(shù)都通過累加器,累加器A是是一個非常重要的數(shù)據(jù)中轉(zhuǎn)站。一個非常重要的數(shù)據(jù)中轉(zhuǎn)站。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(3)寄存器寄存器Bl一個一個8位寄存器,是為位寄存器,是

18、為ALU進(jìn)行乘、除運算而設(shè)置的。進(jìn)行乘、除運算而設(shè)置的。l在執(zhí)行乘法運算指令的時候,寄存器在執(zhí)行乘法運算指令的時候,寄存器B用于存放其中用于存放其中的一個乘數(shù)和乘積的高的一個乘數(shù)和乘積的高8位數(shù)。位數(shù)。l在執(zhí)行除法運算的時候,寄存器在執(zhí)行除法運算的時候,寄存器B用于存放除數(shù)和余用于存放除數(shù)和余數(shù)。數(shù)。l在其他情況下,在其他情況下,B寄存器可以作為一個普通的寄存器寄存器可以作為一個普通的寄存器使用。使用。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(4)程序狀態(tài)字程序狀態(tài)字l程序狀態(tài)字程序狀態(tài)字PSW(Program Status Words)是

19、一個)是一個8位的專用寄存器,用于存儲程序運行中的各種狀態(tài)位的專用寄存器,用于存儲程序運行中的各種狀態(tài)信息。信息。l它被逐位定義,可以位尋址,它被逐位定義,可以位尋址,程序狀態(tài)字寄存器程序狀態(tài)字寄存器D7D6D5D4D3D2D1 D0CYACF0RS1RS0OVP用戶標(biāo)志位用戶標(biāo)志位F0:用戶自定義:用戶自定義輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AC:壓縮壓縮BCD碼的運算處理碼的運算處理判斷加減法運算時,低四位是否向高四位進(jìn)位或借位(即判斷加減法運算時,低四位是否向高四位進(jìn)位或借位(即A3的進(jìn)位及借位的進(jìn)位及借位)進(jìn)位標(biāo)志進(jìn)位標(biāo)志CY:無符號數(shù)運算是否有溢出的標(biāo)志:無符號數(shù)運算是否有溢出的標(biāo)志加法運算中

20、,加法運算中,A7有進(jìn)位,則有進(jìn)位,則CY=1減法運算中,減法運算中,A7有借位,則有借位,則CY=1程序狀態(tài)字寄存器程序狀態(tài)字寄存器D7D6D5D4D3D2D1 D0CYACF0RS1RS0OVP奇偶標(biāo)志位奇偶標(biāo)志位P:表示累加器:表示累加器A中為中為1的為數(shù)是奇數(shù)還是偶數(shù)的為數(shù)是奇數(shù)還是偶數(shù)溢出位溢出位OV:判斷符號數(shù)加減法運算時是否有溢出判斷符號數(shù)加減法運算時是否有溢出OV=CP CS(CP為為A7的進(jìn)位,的進(jìn)位,CP為為A6的進(jìn)位的進(jìn)位)Ov=1,表示有溢出,表示有溢出RS1、RS0:工作寄存器在哪個區(qū)的標(biāo)志:工作寄存器在哪個區(qū)的標(biāo)志程序狀態(tài)字寄存器程序狀態(tài)字寄存器l兩個數(shù)兩個數(shù)0FH

21、和和F8H,將兩數(shù)相加,將兩數(shù)相加2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(5)暫存器暫存器l暫存進(jìn)入運算器之前的數(shù)據(jù)暫存進(jìn)入運算器之前的數(shù)據(jù)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(6)布爾處理器布爾處理器l單片機(jī)指令系統(tǒng)的位處理單片機(jī)指令系統(tǒng)的位處理指令集指令集(17條位操作指令),條位操作指令),存儲器中的存儲器中的位地址空間位地址空間,以及借用程序狀態(tài)寄存器,以及借用程序狀態(tài)寄存器PSW中的中的進(jìn)位標(biāo)志進(jìn)位標(biāo)志CY做為位操作做為位操作“累加器累加器”,構(gòu)成,構(gòu)成了了51單片機(jī)內(nèi)的

22、布爾處理器。單片機(jī)內(nèi)的布爾處理器。l可對直接尋址的位(可對直接尋址的位(bit)變量進(jìn)行位處理,如置位、)變量進(jìn)行位處理,如置位、清零、取反、測試轉(zhuǎn)移以及邏輯清零、取反、測試轉(zhuǎn)移以及邏輯“與與”、“或或”等位等位操作。操作。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l運算器運算器l(5)十進(jìn)制調(diào)整電路十進(jìn)制調(diào)整電路l用來進(jìn)行十進(jìn)制調(diào)整的電路。用來進(jìn)行十進(jìn)制調(diào)整的電路。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l控制器是控制計算機(jī)系統(tǒng)各種操作的部件控制器是控制計算機(jī)系統(tǒng)各種操作的部件l功能:控制指令的讀取、譯碼

23、和執(zhí)行,對指令的執(zhí)行功能:控制指令的讀取、譯碼和執(zhí)行,對指令的執(zhí)行過程進(jìn)行定時控制,并根據(jù)執(zhí)行結(jié)果決定其后的操作。過程進(jìn)行定時控制,并根據(jù)執(zhí)行結(jié)果決定其后的操作。l包括時鐘發(fā)生器、定時控制邏輯、復(fù)位電路、指令寄包括時鐘發(fā)生器、定時控制邏輯、復(fù)位電路、指令寄存器存器IR、指令譯碼器、指令譯碼器ID、程序計數(shù)器、程序計數(shù)器PC、程序地址寄、程序地址寄存器、數(shù)據(jù)指針存器、數(shù)據(jù)指針DPTR、堆棧指針、堆棧指針SP等。等。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(1)程序計數(shù)器)程序計數(shù)器PCl16位的寄存器,用來存放即將要執(zhí)行的指令地址。位的寄存器

24、,用來存放即將要執(zhí)行的指令地址。l可對可對64KB的程序存儲器字節(jié)尋址。的程序存儲器字節(jié)尋址。l執(zhí)行指令時,執(zhí)行指令時,PC內(nèi)容的低內(nèi)容的低8位經(jīng)位經(jīng)P0口輸出,高口輸出,高8位經(jīng)位經(jīng)P2口輸出??谳敵觥?.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(2)數(shù)據(jù)指針)數(shù)據(jù)指針l16位的寄存器,用來存放即將要執(zhí)行的指令地址。位的寄存器,用來存放即將要執(zhí)行的指令地址。l可對可對64KB的程序存儲器字節(jié)尋址。的程序存儲器字節(jié)尋址。l執(zhí)行指令時,執(zhí)行指令時,PC內(nèi)容的低內(nèi)容的低8位經(jīng)位經(jīng)P0口輸出,高口輸出,高8位經(jīng)位經(jīng)P2口輸出??谳敵觥?.1 2.1

25、單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(2)數(shù)據(jù)指針)數(shù)據(jù)指針l16位的寄存器,對位的寄存器,對64KB外部數(shù)據(jù)(程序)存儲器進(jìn)外部數(shù)據(jù)(程序)存儲器進(jìn)行尋址行尋址。l訪問程序存儲器時的基址寄存器。訪問程序存儲器時的基址寄存器。l一個通用的一個通用的16位寄存器。位寄存器。l兩個兩個8位寄存器(位寄存器(DPH:高高8位數(shù)據(jù)指針存儲器,位數(shù)據(jù)指針存儲器,DPL:低低8位數(shù)據(jù)指針存儲器)。位數(shù)據(jù)指針存儲器)。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(3)指針寄存器、指令譯碼器及定時控制邏輯)指針寄存器、

26、指令譯碼器及定時控制邏輯指令寄存器指令寄存器指令譯碼器指令譯碼器定時控制邏輯定時控制邏輯內(nèi)部總線內(nèi)部總線振蕩電路振蕩電路EARSTPSENALEXTAL1XTAL2指令寄存器(指令寄存器(IR):保存當(dāng)前:保存當(dāng)前正在執(zhí)行的一條指令正在執(zhí)行的一條指令指令譯碼器指令譯碼器(ID):把指令變成:把指令變成執(zhí)行此指令所需要的電信號執(zhí)行此指令所需要的電信號2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(3)指針寄存器、指令譯碼器及定時控制邏輯)指針寄存器、指令譯碼器及定時控制邏輯指令寄存器指令寄存器指令譯碼器指令譯碼器定時控制邏輯定時控制邏輯內(nèi)部總線內(nèi)部

27、總線振蕩電路振蕩電路EARSTPSENALEXTAL1XTAL2取指令取指令根據(jù)根據(jù)程序計數(shù)器程序計數(shù)器給出的地址從給出的地址從程序存儲器程序存儲器中取出指令,送指中取出指令,送指令寄存器,令寄存器,指令寄存器指令寄存器輸出到輸出到指令譯碼器指令譯碼器分析指令分析指令指令譯碼器指令譯碼器對指令進(jìn)行譯碼對指令進(jìn)行譯碼執(zhí)行指令執(zhí)行指令定時控制邏輯控制定時控制邏輯控制指令的執(zhí)行,指令的執(zhí)行,執(zhí)行的結(jié)果影響執(zhí)行的結(jié)果影響PSW的內(nèi)容的內(nèi)容2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.1 中央處理器中央處理器l控制器控制器l(4)程序地址寄存器)程序地址寄存器l保存當(dāng)前保存當(dāng)前CPU所訪問的內(nèi)存

28、單元的地址。所訪問的內(nèi)存單元的地址。l由于在內(nèi)存和由于在內(nèi)存和CPU之間存在操作速度上的差別,所以之間存在操作速度上的差別,所以必須使用地址寄存器來保存地址信息,直到內(nèi)存的讀必須使用地址寄存器來保存地址信息,直到內(nèi)存的讀/寫操作完成。寫操作完成。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l51系列單片機(jī)的存儲組織采用的是哈佛(系列單片機(jī)的存儲組織采用的是哈佛(Harvard)結(jié)構(gòu):將程序存儲器和數(shù)據(jù)存儲器分開,程序存儲器結(jié)構(gòu):將程序存儲器和數(shù)據(jù)存儲器分開,程序存儲器和數(shù)據(jù)存儲器具有各自獨立的尋址方式、尋址空間和和數(shù)據(jù)存儲器具有各自獨立的尋址方式、尋址空間和控

29、制系統(tǒng)??刂葡到y(tǒng)。l在物理結(jié)構(gòu)上,在物理結(jié)構(gòu)上,51系統(tǒng)單片機(jī)有系統(tǒng)單片機(jī)有4個存儲器空間:個存儲器空間:l程序存儲器:片內(nèi)程序存儲器和片外程序存儲器;程序存儲器:片內(nèi)程序存儲器和片外程序存儲器;l數(shù)據(jù)存儲器:片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。數(shù)據(jù)存儲器:片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l在邏輯結(jié)構(gòu)上,在邏輯結(jié)構(gòu)上,51系統(tǒng)單片機(jī)有系統(tǒng)單片機(jī)有3個存儲器空間:個存儲器空間:64KB程序存儲器地址空間;指令用程序存儲器地址空間;指令用MOVC256B片內(nèi)數(shù)據(jù)存儲器地址空間:指令用片內(nèi)數(shù)據(jù)存儲器地址空間:指令用MOV64K

30、B片外數(shù)據(jù)存儲地址空間:指令用片外數(shù)據(jù)存儲地址空間:指令用MOVX2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l存儲原理存儲原理l存儲器是利用電平的高低來存放數(shù)據(jù)的。存儲器是利用電平的高低來存放數(shù)據(jù)的。l由大量寄存器組成的,其中每一個寄存器就稱為一個由大量寄存器組成的,其中每一個寄存器就稱為一個存儲單元。存儲單元。l一個存儲單元可存放一個有獨立意義的二進(jìn)制代碼。一個存儲單元可存放一個有獨立意義的二進(jìn)制代碼。l一個代碼由若干位(一個代碼由若干位(bit)組成,代碼的位數(shù)稱為位長,)組成,代碼的位數(shù)稱為位長,習(xí)慣上也稱為字長。習(xí)慣上也稱為字長。2.1 2.1 單片

31、機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部程序存儲器內(nèi)部程序存儲器l存放經(jīng)過調(diào)試正確的應(yīng)用程序和表格之類的常數(shù)。存放經(jīng)過調(diào)試正確的應(yīng)用程序和表格之類的常數(shù)。l只能讀不能寫只能讀不能寫l當(dāng)引腳當(dāng)引腳EA=1(接接VCC),系統(tǒng)訪問片內(nèi)的,系統(tǒng)訪問片內(nèi)的ROM,當(dāng),當(dāng)EA=0(接地),系統(tǒng)訪問片外接地),系統(tǒng)訪問片外ROMl無論片內(nèi)無論片內(nèi)/片外,起始地址都是從片外,起始地址都是從0000H單元開始。單元開始。l0003002BH為中斷服務(wù)程序入口地址為中斷服務(wù)程序入口地址2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部程序存儲器內(nèi)部程序存

32、儲器l內(nèi)部程序存儲器的類型內(nèi)部程序存儲器的類型掩膜掩膜ROM:內(nèi)容固定:內(nèi)容固定可編程的只讀存儲器可編程的只讀存儲器PROM:僅能寫入一次:僅能寫入一次可改寫的只讀存儲器可改寫的只讀存儲器EPROM:利用紫外線擦除:利用紫外線擦除可電改寫的只讀存儲器可電改寫的只讀存儲器EEPROM快擦寫存儲器快擦寫存儲器FLASH2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器l由隨機(jī)存儲器由隨機(jī)存儲器RAM組成,斷電后組成,斷電后RAM中的信息全部丟失。中的信息全部丟失。l既能讀取又能寫入。既能讀取又能寫入。lRAM用來存放運算中的數(shù)據(jù)、中間結(jié)果及

33、最終結(jié)果。用來存放運算中的數(shù)據(jù)、中間結(jié)果及最終結(jié)果。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器0區(qū)區(qū)1區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)位尋址區(qū)位尋址區(qū)00H-7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)堆棧區(qū)堆棧區(qū)工作單元工作單元特殊功能寄存器特殊功能寄存器(SFR)僅能字節(jié)尋址僅能字節(jié)尋址00H1FH20H2FH30H7FH80HFFHAT89S52有有256字節(jié)內(nèi)部數(shù)據(jù)存儲器。字節(jié)內(nèi)部數(shù)據(jù)存儲器。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器l通用寄存器區(qū)(通用寄存器區(qū)(00H1FH)00H1FH

34、共共32個單元被均勻地分成四塊,每塊包含個單元被均勻地分成四塊,每塊包含8個個8位寄存位寄存器,均以器,均以R0R7來命名,稱為通用寄存器。來命名,稱為通用寄存器。由由PSW中的中的D3和和D4位(位(RS0和和RS1)選中某一組寄存器。)選中某一組寄存器。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器l位尋址區(qū)(位尋址區(qū)(20H2FH)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l位尋址區(qū)位尋址區(qū)l位尋址區(qū)內(nèi)的地址是位地址,共有位尋址區(qū)內(nèi)的地址是位地址,共有00-7FH(共(共128個個位)位)l

35、一般提到的一般提到的RAM地址都是指字節(jié)地址地址都是指字節(jié)地址l字節(jié)地址和位地址是靠不同類型的指令來區(qū)分的。如:字節(jié)地址和位地址是靠不同類型的指令來區(qū)分的。如:MOV A,20H ;字節(jié)傳送指令字節(jié)傳送指令MOV C,20H ;位操作指令位操作指令2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l數(shù)據(jù)緩沖器區(qū)(數(shù)據(jù)緩沖器區(qū)(307FH)l用于存放用戶數(shù)據(jù)和各種字節(jié)標(biāo)志用于存放用戶數(shù)據(jù)和各種字節(jié)標(biāo)志l以字節(jié)或間接尋址方式訪問以字節(jié)或間接尋址方式訪問l其中一部分作為堆棧區(qū)其中一部分作為堆棧區(qū)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)

36、l數(shù)據(jù)緩沖器區(qū)(數(shù)據(jù)緩沖器區(qū)(307FH)堆棧區(qū)堆棧區(qū)l堆棧指針堆棧指針(SP):用來存放當(dāng)前堆棧棧頂指向的存儲單:用來存放當(dāng)前堆棧棧頂指向的存儲單元地址的一個元地址的一個8位特殊功能寄存器,地址是位特殊功能寄存器,地址是81H。l復(fù)位后復(fù)位后SP=07H,建議,建議SP30Hl堆棧是向上生成,即入棧時堆棧是向上生成,即入棧時SP加加1,出棧時,出棧時SP減減1堆棧區(qū)堆棧區(qū)2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.2 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu)l特殊功能寄存器(特殊功能寄存器(80FFH)l特殊功能寄存器:存放控制數(shù)據(jù)的寄存器。特殊功能寄存器:存放控制數(shù)據(jù)的寄存器。l11個寄存器具有位尋

37、址功能,特點是字節(jié)個寄存器具有位尋址功能,特點是字節(jié)地址正好能被地址正好能被8整除。整除。l訪問訪問SFR只能使用只能使用直接尋址方式直接尋址方式。l51中僅定義了的地址的單元是有意義的,中僅定義了的地址的單元是有意義的,52系列是可以將其他單元作為通用寄存器使用的系列是可以將其他單元作為通用寄存器使用的 (采用間接尋址方式)。采用間接尋址方式)。單片機(jī)的電源模式單片機(jī)的電源模式l電源控制寄存器(電源控制寄存器(PCON),地址為),地址為87H。PD:置:置1為掉電模式,只有復(fù)位才能退出此工作模式為掉電模式,只有復(fù)位才能退出此工作模式IDL:置:置1為待機(jī)模式,中斷或復(fù)位都能退出此工作模式為

38、待機(jī)模式,中斷或復(fù)位都能退出此工作模式l在在待機(jī)模式待機(jī)模式下下CPU時鐘被封鎖時鐘被封鎖,中斷中斷,串行口串行口,定時器有時鐘而定時器有時鐘而繼續(xù)工作,可以被任一個中斷(外部中斷,繼續(xù)工作,可以被任一個中斷(外部中斷,Time0或或Time1,串口)或硬件復(fù)位終止。串口)或硬件復(fù)位終止。l在在掉電模式掉電模式下片內(nèi)時鐘停振。必須采用硬件復(fù)位和外部中斷下片內(nèi)時鐘停振。必須采用硬件復(fù)位和外部中斷(低電平觸發(fā)或下降沿)的方法結(jié)束掉電運行模式。(低電平觸發(fā)或下降沿)的方法結(jié)束掉電運行模式。l硬件復(fù)位程序?qū)念^開始執(zhí)行。硬件復(fù)位程序?qū)念^開始執(zhí)行。直接尋址的時候選直接尋址的時候選SFR,而在使用間接尋

39、址的時候就會選,而在使用間接尋址的時候就會選RAM。 外部數(shù)據(jù)存儲器(外部數(shù)據(jù)存儲器(I/OI/O)lMCS-51對外部數(shù)據(jù)存儲器的擴(kuò)展能力為對外部數(shù)據(jù)存儲器的擴(kuò)展能力為64KB,采用,采用間接尋址方式訪問。間接尋址方式訪問。l8位地址寄存器:位地址寄存器:R0,R1l16位地址寄存器:位地址寄存器:DPTR2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.3 I/O端口結(jié)構(gòu)端口結(jié)構(gòu)l1個個8位位雙向雙向并行并行I/O端口端口P0和和3個個準(zhǔn)雙向準(zhǔn)雙向并行并行I/O端口端口P1P3。l每一位端口都由口鎖存器、輸出鎖存器和輸入緩沖器每一位端口都由口鎖存器、輸出鎖存器和輸入緩沖器組成。組成。l

40、屬于專用寄存器,并且具有字節(jié)尋址和位尋址功能。屬于專用寄存器,并且具有字節(jié)尋址和位尋址功能。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l2.1.3 I/O端口結(jié)構(gòu)端口結(jié)構(gòu)lP1P3負(fù)載能力較強(qiáng),約為負(fù)載能力較強(qiáng),約為34個個TTL門路,門路,P0輸出低輸出低電平負(fù)載能力較強(qiáng),能驅(qū)動電平負(fù)載能力較強(qiáng),能驅(qū)動8個個TTL門路。門路。lP0口既可作一般口既可作一般I/O端口使用,又可作地址端口使用,又可作地址/數(shù)據(jù)總線使數(shù)據(jù)總線使用(訪問外存時,當(dāng)?shù)陀茫ㄔL問外存時,當(dāng)?shù)?位地址總線和數(shù)據(jù)總線使用。)位地址總線和數(shù)據(jù)總線使用。)lP1口是一個準(zhǔn)雙向并行口是一個準(zhǔn)雙向并行I/O口口lP2口既是一個準(zhǔn)雙

41、向并行口既是一個準(zhǔn)雙向并行I/O口,還在口,還在CPU訪問外存時訪問外存時作高作高8位地址線使用位地址線使用lP3口既是一個準(zhǔn)雙向并行口既是一個準(zhǔn)雙向并行I/O口,還具有第二功能??冢€具有第二功能。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l通用通用I/O口口l內(nèi)部的控制信號為低電平,封鎖與門,將場效應(yīng)管內(nèi)部的控制信號為低電平,封鎖與門,將場效應(yīng)管V1截止,截止,同時使得同時使得MUX接通鎖存器接通鎖存器Q端的輸出通路。端的輸出通路。l由于輸出是漏極開路,因此需要外接上拉電阻才能輸出高由于輸出是漏極開路,因此需要外接上拉電阻才能輸出高電平。電平。l輸入時,需要先向鎖存器寫入輸

42、入時,需要先向鎖存器寫入“1”,使場效應(yīng)管,使場效應(yīng)管V2截止。截止。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l由內(nèi)部數(shù)據(jù)總線向由內(nèi)部數(shù)據(jù)總線向P0口口輸出輸出數(shù)據(jù)的流程圖數(shù)據(jù)的流程圖 l當(dāng)寫鎖存器信號當(dāng)寫鎖存器信號CP 有效,數(shù)據(jù)總線的信號有效,數(shù)據(jù)總線的信號鎖存器的輸鎖存器的輸入端入端D鎖存器的反向輸出鎖存器的反向輸出Q非端非端多路開關(guān)多路開關(guān)V2管的柵管的柵極極V2的漏極到輸出端的漏極到輸出端P0.X。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l數(shù)據(jù)輸入時(讀數(shù)據(jù)輸入時(讀P0口)有兩種情況口)有兩種情況1、讀引腳、讀引腳讀芯片引腳上的數(shù)據(jù),讀引腳數(shù)時,

43、讀引腳緩沖器打讀芯片引腳上的數(shù)據(jù),讀引腳數(shù)時,讀引腳緩沖器打開(即三態(tài)緩沖器的控制端要有效),通過內(nèi)部數(shù)據(jù)開(即三態(tài)緩沖器的控制端要有效),通過內(nèi)部數(shù)據(jù)總線輸入。總線輸入。 2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l2、讀鎖存器、讀鎖存器 l通過打開讀鎖存器三態(tài)緩沖器讀取鎖存器輸出端通過打開讀鎖存器三態(tài)緩沖器讀取鎖存器輸出端Q的的狀態(tài)狀態(tài) 2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l凡屬于凡屬于讀讀-修改修改-寫方式寫方式的指令,從鎖存器讀入信號,其它的指令,從鎖存器讀入信號,其它指令則從端口引腳線上讀入信號。指令則從端口引腳線上讀入信號。l讀讀-修改修改-寫

44、指令的特點是,從端口輸入寫指令的特點是,從端口輸入(讀讀)信號,在單片信號,在單片機(jī)內(nèi)加以運算機(jī)內(nèi)加以運算(修改修改)后,再輸出后,再輸出(寫寫)到該端口上。到該端口上。l這樣安排的原因在于讀這樣安排的原因在于讀-修改修改-寫指令需要得到端口原輸出寫指令需要得到端口原輸出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因而使原端口的狀態(tài)被讀錯。免因外部電路的原因而使原端口的狀態(tài)被讀錯。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l在訪問外部存儲器時在訪問外部存儲器時P0口作為地址口作為地址/數(shù)據(jù)復(fù)用口使用。數(shù)據(jù)復(fù)

45、用口使用。 l多路開關(guān)多路開關(guān)控制控制信號為信號為1,與門與門解鎖,解鎖,與門與門輸出信號電平由輸出信號電平由“地址地址/數(shù)據(jù)數(shù)據(jù)”線信號決定;多路開關(guān)與反線信號決定;多路開關(guān)與反相器的輸出端相連,地址信號經(jīng)相器的輸出端相連,地址信號經(jīng)“地址地址/數(shù)據(jù)數(shù)據(jù)”線線反相器反相器V2場效應(yīng)管柵極場效應(yīng)管柵極V2漏極輸出。漏極輸出。例如:控制信號為例如:控制信號為1,地址信號為,地址信號為“0”時,與門輸出低電平,時,與門輸出低電平,V1管截止;反相器輸出高電平,管截止;反相器輸出高電平,V2管導(dǎo)通,輸出引腳的地管導(dǎo)通,輸出引腳的地址信號為低電平。址信號為低電平。 2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)

46、內(nèi)部結(jié)構(gòu)lP0端口端口l在訪問外部存儲器時在訪問外部存儲器時P0口作為地址口作為地址/數(shù)據(jù)復(fù)用口使用。數(shù)據(jù)復(fù)用口使用。 l反之,反之,控制信號為控制信號為“1”、地址信號為、地址信號為“1”,“與門與門”輸出輸出為高電平,為高電平,V1管導(dǎo)通;反相器輸出低電平,管導(dǎo)通;反相器輸出低電平,V2管截止,輸管截止,輸出引腳的地址信號為高電平。出引腳的地址信號為高電平。 2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP0端口端口l在訪問外部存儲器時在訪問外部存儲器時P0口作為地址口作為地址/數(shù)據(jù)復(fù)用口使用。數(shù)據(jù)復(fù)用口使用。 lP0口又作為數(shù)據(jù)總線使用。在訪問外部程序存儲器時,口又作為數(shù)據(jù)總線使用。在訪

47、問外部程序存儲器時,P0口輸出低口輸出低8位地址信息后,將變?yōu)閿?shù)據(jù)總線,以便讀指令碼(輸入)。位地址信息后,將變?yōu)閿?shù)據(jù)總線,以便讀指令碼(輸入)。l在取指令期間,在取指令期間,“控制控制”信號為信號為“0”,V1管截止,多路開關(guān)也跟著轉(zhuǎn)管截止,多路開關(guān)也跟著轉(zhuǎn)向鎖存器反相輸出端向鎖存器反相輸出端Q非;非;CPU自動將自動將0FFH(11111111,即向,即向D鎖存鎖存器寫入一個高電平器寫入一個高電平1)寫入寫入P0口鎖存器口鎖存器,使,使V2管截止,在讀引腳信管截止,在讀引腳信號控制下,通過讀引腳三態(tài)門電路將指令碼讀到內(nèi)部總線。號控制下,通過讀引腳三態(tài)門電路將指令碼讀到內(nèi)部總線。 2.1 2

48、.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP1端口端口l1)P1口用作輸入端口口用作輸入端口l如果如果P1口用作輸入端口,即口用作輸入端口,即Q=0,/Q=1;則場效應(yīng)管導(dǎo);則場效應(yīng)管導(dǎo)通,引腳被直接連到電源的地通,引腳被直接連到電源的地GND上,即使引腳輸入的上,即使引腳輸入的是高電平,被直接拉低為是高電平,被直接拉低為“0“,所以,與,所以,與P0端口一樣,端口一樣,在在將數(shù)據(jù)輸入將數(shù)據(jù)輸入P1端口之前,先要通過內(nèi)部總線向鎖存器端口之前,先要通過內(nèi)部總線向鎖存器寫寫”1“,這樣,這樣/Q=0,場效應(yīng)管截止,場效應(yīng)管截止,P1端口輸入的端口輸入的“1”才可以送到三態(tài)緩沖器的輸入端,此時再給三態(tài)門的

49、讀才可以送到三態(tài)緩沖器的輸入端,此時再給三態(tài)門的讀引腳送一個讀控制信號,引腳上的引腳送一個讀控制信號,引腳上的“1”就可以通過三態(tài)就可以通過三態(tài)緩沖器送到內(nèi)部總線。緩沖器送到內(nèi)部總線。VCC鎖存器P1.XDCPQQP1.X引腳讀鎖存器寫鎖存器內(nèi)部總線讀引腳內(nèi)部上拉電阻2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP1端口端口l2)P1口用作輸出端口口用作輸出端口l如果如果P1口用作輸出端口,應(yīng)給鎖存器的寫鎖存口用作輸出端口,應(yīng)給鎖存器的寫鎖存CP端輸端輸入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進(jìn)端進(jìn)入鎖存器并從入鎖存器并從Q和和/Q端輸出,如果端

50、輸出,如果D端輸入端輸入“1”,則,則/Q=0,場效應(yīng)管截止,由于上拉電阻的作用,在,場效應(yīng)管截止,由于上拉電阻的作用,在P1.X引引腳輸出高電平腳輸出高電平“1”,反之,如果,反之,如果D端輸入端輸入“0”,則,則/Q=1,場效應(yīng)管導(dǎo)通,場效應(yīng)管導(dǎo)通, P1.X引腳連到地線上,從而在引腳輸引腳連到地線上,從而在引腳輸出出“0”。VCC鎖存器P1.XDCPQQP1.X引腳讀鎖存器寫鎖存器內(nèi)部總線讀引腳內(nèi)部上拉電阻2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP2端口端口lP2口既有片內(nèi)上拉電阻,又有切換開關(guān)口既有片內(nèi)上拉電阻,又有切換開關(guān)MUX,所以,所以P2口在功能上兼有口在功能上兼有P0和

51、和P1端口的特點,這主要體現(xiàn)端口的特點,這主要體現(xiàn)在輸出功能上,當(dāng)切換開關(guān)向下接通時,從內(nèi)部總在輸出功能上,當(dāng)切換開關(guān)向下接通時,從內(nèi)部總線輸出的一位數(shù)據(jù)經(jīng)反相器和場效應(yīng)管反相后,輸線輸出的一位數(shù)據(jù)經(jīng)反相器和場效應(yīng)管反相后,輸出在端口引腳線上;當(dāng)多路開關(guān)向上時,輸出的一出在端口引腳線上;當(dāng)多路開關(guān)向上時,輸出的一位地址信號也經(jīng)反相器和場效應(yīng)管反相后,輸出在位地址信號也經(jīng)反相器和場效應(yīng)管反相后,輸出在端口引腳線上。端口引腳線上。鎖存器P2.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP2.X引腳內(nèi)部上拉電阻1地址控制MUX2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP2端口端口l1)P2口

52、用作輸入端口口用作輸入端口l如果如果P2口用作輸入端口,即口用作輸入端口,即Q=0,/Q=1;則場效應(yīng)管導(dǎo)通,;則場效應(yīng)管導(dǎo)通,引腳被直接連到電源的地引腳被直接連到電源的地GND上,即使引腳輸入的是高上,即使引腳輸入的是高電平,被直接拉低為電平,被直接拉低為“0“,所以,與,所以,與P0端口一樣,在將端口一樣,在將數(shù)據(jù)輸入數(shù)據(jù)輸入P2端口之前,端口之前,先要通過內(nèi)部總線向鎖存器先要通過內(nèi)部總線向鎖存器寫寫”1“,這樣,這樣/Q=0,場效應(yīng)管截止,場效應(yīng)管截止,P2端口輸入的端口輸入的“1”才可以送到三態(tài)緩沖器的輸入端,此時再給三態(tài)門的讀才可以送到三態(tài)緩沖器的輸入端,此時再給三態(tài)門的讀引腳送一個

53、讀控制信號,引腳上的引腳送一個讀控制信號,引腳上的“1”就可以通過三態(tài)就可以通過三態(tài)緩沖器送到內(nèi)部總線。緩沖器送到內(nèi)部總線。鎖存器P2.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP2.X引腳內(nèi)部上拉電阻1地址控制MUX2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP2端口端口l2)P2口用作輸出端口口用作輸出端口l如果如果P2口用作輸出端口,應(yīng)給鎖存器的寫鎖存口用作輸出端口,應(yīng)給鎖存器的寫鎖存CP端輸入端輸入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進(jìn)入鎖端進(jìn)入鎖存器并從存器并從Q和和/Q端輸出,再通過電子開關(guān)、非門和場效應(yīng)端輸出,再通過電子開關(guān)

54、、非門和場效應(yīng)管從端口輸出。管從端口輸出。鎖存器P2.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP2.X引腳內(nèi)部上拉電阻1地址控制MUX2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP2端口端口l3)P2口用作地址的高口用作地址的高8位使用位使用lP2口作為地址總線時,口作為地址總線時,“地址地址”信號為信號為1,多路開關(guān),多路開關(guān)車向地址線(即向上接通),地址信息經(jīng)反相器車向地址線(即向上接通),地址信息經(jīng)反相器V2管管柵極柵極漏極輸出。漏極輸出。 鎖存器P2.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP2.X引腳內(nèi)部上拉電阻1地址控制MUX2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)

55、部結(jié)構(gòu)lP3口口lP3口和口和P1口的結(jié)構(gòu)相似,區(qū)別僅在于口的結(jié)構(gòu)相似,區(qū)別僅在于P3端口的每個端端口的每個端口線有兩種功能選擇,當(dāng)處于第一功能時,第二輸出口線有兩種功能選擇,當(dāng)處于第一功能時,第二輸出功能線為功能線為1,此時,內(nèi)部總線信號經(jīng)鎖存器和場效應(yīng)管,此時,內(nèi)部總線信號經(jīng)鎖存器和場效應(yīng)管輸入輸入/輸出,其作用與輸出,其作用與P1端口作用相同,當(dāng)處于第二功端口作用相同,當(dāng)處于第二功能時,鎖存器輸出能時,鎖存器輸出1,通過第二輸出功能線輸出特定的,通過第二輸出功能線輸出特定的信號,在輸入方面,既可以通過緩沖器讀入引腳信號。信號,在輸入方面,既可以通過緩沖器讀入引腳信號。還可以通過替代輸入功

56、能讀入片內(nèi)的特定第二功能信還可以通過替代輸入功能讀入片內(nèi)的特定第二功能信號。號。 鎖存器P3.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP3.X引腳內(nèi)部上拉電阻&第二輸出功能第二輸入功能2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP3口口l1)P3口用作輸入端口口用作輸入端口lP3用作輸入端口時,其使用方法與用作輸入端口時,其使用方法與P1和和P2類似。類似。l2)P2口用作輸出端口口用作輸出端口lP3用作輸出端口時,其使用方法與用作輸出端口時,其使用方法與P1和和P2類似。類似。鎖存器P3.XDCPQQ讀鎖存器寫鎖存器內(nèi)部總線讀引腳VCCP3.X引腳內(nèi)部上拉電阻&第二輸出功能第二輸入

57、功能2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)lP3端口端口l使使P3端口各引腳處于第二功能的條件是端口各引腳處于第二功能的條件是:l1、串行、串行I/O處于運行狀態(tài)處于運行狀態(tài)(RXD,TXD);l2、打開了外部中斷、打開了外部中斷(INT0,INT1);l3、定時器、定時器/計數(shù)器處于外部計數(shù)狀態(tài)計數(shù)器處于外部計數(shù)狀態(tài)(T0,T1)l4、執(zhí)行讀寫外部、執(zhí)行讀寫外部RAM的指令的指令(RD,WR)l在應(yīng)用中在應(yīng)用中,如不設(shè)定如不設(shè)定P3端口各位的第二功能端口各位的第二功能(WR,RD信號的的產(chǎn)生不用設(shè)信號的的產(chǎn)生不用設(shè)置置),則則P3端口線自動處于第一功能狀態(tài),也就是靜態(tài)端口線自動處于第一

58、功能狀態(tài),也就是靜態(tài)IO端口的工作狀態(tài)。端口的工作狀態(tài)。在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對P3端口作端口作字節(jié)操作,需采用位操作的形式。字節(jié)操作,需采用位操作的形式。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l定時器定時器/計數(shù)器結(jié)構(gòu)計數(shù)器結(jié)構(gòu)l8051有兩個有兩個16位定時器位定時器/計數(shù)器計數(shù)器T0和和T1,分別與,分別與2個個8位寄位寄存器存器T0L、T0H及及T1L、T1H對應(yīng)。對應(yīng)。80

59、51的定時器的定時器/計數(shù)器計數(shù)器可以工作在定時方式或計數(shù)方式??梢怨ぷ髟诙〞r方式或計數(shù)方式。l定時方式定時方式定時方式實現(xiàn)對單片機(jī)內(nèi)部的時鐘脈沖或分頻后的脈沖進(jìn)定時方式實現(xiàn)對單片機(jī)內(nèi)部的時鐘脈沖或分頻后的脈沖進(jìn)行計數(shù)。行計數(shù)。l計數(shù)方式計數(shù)方式實現(xiàn)對外部脈沖的計數(shù)。實現(xiàn)對外部脈沖的計數(shù)。2.1 2.1 單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)l中斷系統(tǒng)中斷系統(tǒng)l8051有有5個中斷源,兩個中斷優(yōu)先級控制,可以實現(xiàn)個中斷源,兩個中斷優(yōu)先級控制,可以實現(xiàn)兩個中斷服務(wù)嵌套。兩個外部中斷兩個中斷服務(wù)嵌套。兩個外部中斷INT0、INT1,兩個,兩個定時器中斷定時器中斷T0、T1,還有一個串行口中斷。,還有一個串行

60、口中斷。l中斷的控制由中斷允許寄存器中斷的控制由中斷允許寄存器IE和中斷優(yōu)先級寄存器和中斷優(yōu)先級寄存器IP實現(xiàn)。實現(xiàn)。2.2 2.2 單片機(jī)引腳功能單片機(jī)引腳功能l2.1芯片封裝芯片封裝lAT89S51單片機(jī)有單片機(jī)有4044條功能引腳。條功能引腳。l3種封裝形式:種封裝形式:PDIPPLCCTQFP2.2 2.2 單片機(jī)引腳功能單片機(jī)引腳功能l2.2.2 芯片引腳及功能芯片引腳及功能lMCS-51單片機(jī)引腳分類:單片機(jī)引腳分類:32個個I/O端口引腳端口引腳電源引腳,電源引腳,2條;(條;(VCC,GND)時鐘引腳,時鐘引腳,2條;(條;(XTAL1,XTAL2)功能與控制引腳,功能與控制引

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論