單片機(jī)第二章2課件_第1頁
單片機(jī)第二章2課件_第2頁
單片機(jī)第二章2課件_第3頁
單片機(jī)第二章2課件_第4頁
單片機(jī)第二章2課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

上節(jié)回顧:從一個(gè)簡單的測控應(yīng)用實(shí)例說起介紹單片機(jī)技術(shù)的重要性、實(shí)用性單片機(jī)的基本概念單片機(jī)與計(jì)算機(jī)之異同單片機(jī)的發(fā)展概況單片機(jī)的特點(diǎn)和應(yīng)用本節(jié)主要內(nèi)容:2.2單片機(jī)的內(nèi)部結(jié)構(gòu)2.2單片機(jī)的內(nèi)部結(jié)構(gòu)

MCS-51單片機(jī)的主要特點(diǎn)(1)擴(kuò)大了內(nèi)部程序存儲(chǔ)器(ROM)和內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)的容量。(2)具有布爾代數(shù)運(yùn)算能力。(3)具有32條雙向可被獨(dú)立尋址的I/O口。(4)具有5~6個(gè)中斷源,可分為2個(gè)中斷優(yōu)先級(jí)。(5)具有豐富的指令系統(tǒng)。(6)具有全雙工傳輸信號(hào)UART。(7)片內(nèi)具有時(shí)鐘振蕩電路。(8)燒寫工藝上采用可一次性燒寫的內(nèi)含ROM或可重復(fù)燒寫的EPROM。2.2.1內(nèi)部結(jié)構(gòu)微計(jì)算機(jī)組成微處理器CPUROMRAMI/O接口外設(shè)地址總線AB數(shù)據(jù)總線DB控制總線CB微型機(jī)組成框圖1.CPU

CPU也叫中央處理器,是單片機(jī)的核心部件,主要完成單片機(jī)的運(yùn)算和控制功能。(1)運(yùn)算器:包括算術(shù)邏輯單元ALU、布爾處理器、累加器ACC、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)字PSW寄存器及十進(jìn)制調(diào)整電路等。(2)控制器:包括定時(shí)控制邏輯、指令寄存器、譯碼器以及信息傳送控制部件等,以實(shí)現(xiàn)控制功能。

2.內(nèi)部存儲(chǔ)器

單片機(jī)內(nèi)的存儲(chǔ)器包括程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,它們是相互獨(dú)立。(1)程序存儲(chǔ)器(ROM):為只讀存儲(chǔ)器,用于存放程序指令,常數(shù)及數(shù)據(jù)表格。(2)數(shù)據(jù)存儲(chǔ)器(RAM):為隨機(jī)存儲(chǔ)器,用于存放數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)器又可分為內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器。在單片機(jī)內(nèi)部有256個(gè)RAM單元來存放可讀寫的數(shù)據(jù),其中,后128單元被專用寄存器占用,作為寄存器供用戶使用的只是前128單元。

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

MCS-51單片機(jī)內(nèi)部有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,用于實(shí)現(xiàn)內(nèi)部定時(shí)或外部計(jì)數(shù)的功能;并以其定時(shí)或計(jì)數(shù)的結(jié)果(查詢或中斷方式)來實(shí)現(xiàn)控制功能。

6.全雙工串行口MCS-51單片機(jī)還有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)與外部之間的串行數(shù)據(jù)傳送。7.OSCOSC是單片機(jī)的時(shí)鐘電路。時(shí)鐘電路用于單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,協(xié)調(diào)和控制單片機(jī)的工作。MCS-51系列單片機(jī)分類

資源配置子系列片內(nèi)ROM形式片內(nèi)

ROM容量片內(nèi)RAM容量定時(shí)/計(jì)數(shù)器中斷源

無ROMEPROME2PROM51子系列80318051875189514KB128B2×16552子系列80328052875289528KB256B3×1662.2.2引腳定義及功能

805112345678910111213141516171819204039383736353433323130292827262524232221

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3口的特殊功能

單片機(jī)引腳(5)VDD(40腳):+5V電源。(6)VSS(20腳):GND(7)XTAL1(19腳)

XTAL2(18腳):接外部石英晶振的引腳,也可引入外部時(shí)鐘。(8)RESET(9腳):復(fù)位信號(hào)引腳。必須在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,才能保證單片機(jī)可靠的復(fù)位。復(fù)位后,單片機(jī)內(nèi)部各寄存器的狀態(tài)見表2-2所示。復(fù)位后單片機(jī)寄存器的內(nèi)容

單片機(jī)引腳(10)PSEN(29腳):外部程序存儲(chǔ)器的讀選通信號(hào)。(11)/VPP(腳31):訪問程序存儲(chǔ)器控制信號(hào)。當(dāng)信號(hào)接低電平時(shí),對(duì)ROM的讀操作(執(zhí)行程序)限定在外部程序儲(chǔ)器。當(dāng)接高電平時(shí),對(duì)ROM的讀操作(執(zhí)行程序)從內(nèi)部開始。在使用內(nèi)部帶程序存儲(chǔ)器的單片機(jī)時(shí),應(yīng)接高電平。2.3單片機(jī)的存儲(chǔ)器結(jié)構(gòu)(1)內(nèi)部程序存儲(chǔ)器(ROM):用來存放程序和表格常數(shù)。8051為4KB、8052為8KB。(2)內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM):用來存放運(yùn)算過程中的數(shù)據(jù)。包括寄存器在內(nèi),8051/31為128字節(jié)、8052/32為256字節(jié)。(3)外部程序存儲(chǔ)器(ROM):用來存放程序。最大可擴(kuò)展64KB空間(包括內(nèi)部ROM)。(4)外部數(shù)據(jù)存儲(chǔ)器(RAM):在數(shù)據(jù)采集系統(tǒng)中可存放大量的數(shù)據(jù)。最大可擴(kuò)展64KB空間(不包括內(nèi)部RAM)。1.內(nèi)部數(shù)據(jù)存儲(chǔ)器

2.3.1內(nèi)部數(shù)據(jù)存儲(chǔ)器及專用寄存器內(nèi)部數(shù)據(jù)存儲(chǔ)器在結(jié)構(gòu)上可分為兩個(gè)不同的存儲(chǔ)空間,即低128單元的數(shù)據(jù)存儲(chǔ)器空間(00H~7FH)和高128單元的具有特殊功能的專用寄存器存貯器空間(80H~0FFH)。(1)B寄存器B寄存器是一個(gè)8位寄存器,即可作為一般寄存器使用,也可用于乘除運(yùn)算。做乘法運(yùn)算時(shí),B是乘數(shù)。乘法操作后,乘積的高8位存于B中。做除法運(yùn)算時(shí),B存放除數(shù)。除法操作后,余數(shù)存放在B中。(2)累加器ACC(Accumulator)累加器A是在編程操作中最常用的專用寄存器,功能較多,可按位尋址。(3)程序狀態(tài)字PSW(ProgramStatusWord)CY:進(jìn)位標(biāo)志。

加減運(yùn)算時(shí),保存最高位進(jìn)位、借位狀態(tài)。

AC:半進(jìn)位標(biāo)志。

例:78H+97H01111000+10010111100001111有進(jìn)位CY=1沒有半進(jìn)位AC=0(7)SCON寄存器串行控制寄存器

(8)SBUF寄存器串行數(shù)據(jù)緩沖器SBUF用于利用串行口進(jìn)行發(fā)送或接收的數(shù)據(jù),在硬件上,實(shí)際上由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器。

(9)定時(shí)器0和定時(shí)器1寄存器TCON:定時(shí)器控制寄存器。TMOD:定時(shí)器方式寄存器。TL0、TH0:定時(shí)器0寄存器。TL1、TH1:定時(shí)器1寄存器。(10)P0~P3端口寄存器(11)棧指針SP寄存器棧指針SP寄存器指示出堆棧頂部在內(nèi)部數(shù)據(jù)存儲(chǔ)器中的位置。系統(tǒng)復(fù)位后,SP初始化為07H,如果不重新設(shè)置,就使得堆棧由08H單元開始。但08H~1FH單元屬于工作寄存器區(qū),所以在程序設(shè)計(jì)中,最好把SP的值設(shè)置的大一些,一般將堆棧開辟在30H~7FH區(qū)域中。SP的值越小,堆棧容量就越大,但最大為128字節(jié)。(12)數(shù)據(jù)指針DPTR寄存器數(shù)據(jù)指針DPTR由兩個(gè)8位寄存器DPH和DPL組合而成一個(gè)16位專用寄存器,其中DPH為DPTR的高8位,DPL為DPTR的低8位。

3.程序計(jì)數(shù)器PC程序計(jì)數(shù)器PC中存儲(chǔ)的是將要執(zhí)行的指令地址,是一個(gè)16位的計(jì)數(shù)器。尋址范圍達(dá)64KB。2.3.3程序存儲(chǔ)器2.4單片機(jī)并行I/O口

8051單片機(jī)有4個(gè)I/O端口,每個(gè)端口都是8位準(zhǔn)雙向口,共占32根引腳。每個(gè)端口都包括一個(gè)鎖存器(即專用寄存器P0~P3)、一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。通常把4個(gè)端口籠統(tǒng)地表示為P0~P3。2.4.1P0口的結(jié)構(gòu)及特點(diǎn)

P0口的某位P0.n(n=0~7)結(jié)構(gòu)圖,它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳1、P0口作為普通I/O口①輸出時(shí)CPU發(fā)出控制電平“0”封鎖“與”門,將輸出上拉場效應(yīng)管T1截止,同時(shí)使多路開關(guān)MUX把鎖存器與輸出DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳驅(qū)動(dòng)場效應(yīng)管T2柵極接通。故內(nèi)部總線與P0口同相。由于輸出驅(qū)動(dòng)級(jí)是漏極開路電路,若驅(qū)動(dòng)NMOS或其它拉流負(fù)載時(shí),需要外接上拉電阻。P0的輸出級(jí)可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳②輸入時(shí)----分讀引腳或讀鎖存器讀引腳:由傳送指令(MOV)實(shí)現(xiàn);

下面一個(gè)緩沖器用于讀端口引腳數(shù)據(jù),當(dāng)執(zhí)行一條由端口輸入的指令時(shí),讀脈沖把該三態(tài)緩沖器打開,這樣端口引腳上的數(shù)據(jù)經(jīng)過緩沖器讀入到內(nèi)部總線。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳②輸入時(shí)----分讀引腳或讀鎖存器讀鎖存器:有些指令如:ANLP0,A稱為“讀-改-寫”指令,需要讀鎖存器。

上面一個(gè)緩沖器用于讀端口鎖存器數(shù)據(jù)。**原因:如果此時(shí)該端口的負(fù)載恰是一個(gè)晶體管基極,且原端口輸出值為1,那么導(dǎo)通了的PN結(jié)會(huì)把端口引腳高電平拉低;若此時(shí)直接讀端口引腳信號(hào),將會(huì)把原輸出的“1”電平誤讀為“0”電平?,F(xiàn)采用讀輸出鎖存器代替讀引腳,圖中,上面的三態(tài)緩沖器就為讀鎖存器Q端信號(hào)而設(shè),讀輸出鎖存器可避免上述可能發(fā)生的錯(cuò)誤。**DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳準(zhǔn)雙向口:

從圖中可以看出,在讀入端口數(shù)據(jù)時(shí),由于輸出驅(qū)動(dòng)FET并接在引腳上,如果T2導(dǎo)通,就會(huì)將輸入的高電平拉成低電平,產(chǎn)生誤讀。所以在端口進(jìn)行輸入操作前,應(yīng)先向端口鎖存器寫“1”,使T2截止,引腳處于懸浮狀態(tài),變?yōu)楦咦杩馆斎?。這就是所謂的準(zhǔn)雙向口。

2、P0作為地址/數(shù)據(jù)總線在系統(tǒng)擴(kuò)展時(shí),P0端口作為地址/數(shù)據(jù)總線使用時(shí),分為:

P0引腳輸出地址/數(shù)據(jù)信息。

DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳CPU發(fā)出控制電平“1”,打開“與”門,又使多路開關(guān)MUX把CPU的地址/數(shù)據(jù)總線與T2柵極反相接通,輸出地址或數(shù)據(jù)。由圖上可以看出,上下兩個(gè)FET處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增強(qiáng)。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳2、P0作為地址/數(shù)據(jù)總線

P0引腳輸出地址/輸入數(shù)據(jù)輸入信號(hào)是從引腳通過輸入緩沖器進(jìn)入內(nèi)部總線。此時(shí),CPU自動(dòng)使MUX向下,并向P0口寫“1”,“讀引腳”控制信號(hào)有效,下面的緩沖器打開,外部數(shù)據(jù)讀入內(nèi)部總線。2、P0作為地址/數(shù)據(jù)總線----真正的雙向口DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳2.4.2.P1口的結(jié)構(gòu)及特點(diǎn)

它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路組成----準(zhǔn)雙向口。DQCLKQP1.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP1口引腳2.4.3.P2口的結(jié)構(gòu)及特點(diǎn)

1.P2口作為普通I/O口DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳CPU發(fā)出控制電平“0”,使多路開關(guān)MUX倒向鎖存器輸出Q端,構(gòu)成一個(gè)準(zhǔn)雙向口。其功能與P1相同。

2.P2口作為地址總線在系統(tǒng)擴(kuò)展片外程序存儲(chǔ)器擴(kuò)展數(shù)據(jù)存儲(chǔ)器且容量超過256B(用MOVX@DPTR指令)時(shí),CPU發(fā)出控制電平“1”,使多路開關(guān)MUX倒內(nèi)部地址線。此時(shí),P2輸出高8位地址。DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳2.4.4.P3口的結(jié)構(gòu)及特點(diǎn)

DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳第二輸入功能第二輸出功能一、作為通用I/O口與P1口類似----準(zhǔn)雙向口(W=1)WP3的內(nèi)部結(jié)構(gòu)DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳第二輸入功能第二輸出功能二、P3第二功能(Q=1)此時(shí)引腳部分輸入(Q=1、W=1)

,部分輸出(Q=1、W輸出)。WP3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時(shí)器0外部輸入P3.5:T1定時(shí)器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制2.5單片機(jī)的時(shí)鐘與時(shí)序2.5.1時(shí)鐘電路單片機(jī)的各項(xiàng)工作都是在時(shí)鐘信號(hào)的控制下協(xié)調(diào)工作的,單片機(jī)的時(shí)鐘電路可為單片機(jī)提供一個(gè)時(shí)鐘信號(hào),根據(jù)連接方式的不同,時(shí)鐘電路可分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。時(shí)鐘的連接XTAL1和XTAL2之間跨接晶體振蕩器和兩個(gè)微調(diào)電容,和芯片內(nèi)部的振蕩器電路構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,

2.5.2單片機(jī)的CPU時(shí)序MCS-51包括4個(gè)定時(shí)單位,它們分別是:振蕩周期(節(jié)拍)、時(shí)鐘周期(狀態(tài)周期)、機(jī)器周期和指令周期。單片機(jī)兩種常用晶振的4個(gè)周期信號(hào)的對(duì)比見表2-7所示。

1.振蕩周期振蕩周期也叫節(jié)拍,用P表示,振蕩周期是指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期。是時(shí)序中最小的時(shí)間單位。例如:若某單片機(jī)時(shí)鐘頻率為2MHz,則它的振蕩周期應(yīng)為0.5μs。2.時(shí)鐘周期時(shí)鐘周期又叫做狀態(tài)周期,用S表示。是振蕩周期的二倍,其前半周期對(duì)應(yīng)的節(jié)拍叫P1拍,后半周期對(duì)應(yīng)的節(jié)拍叫P2。P1節(jié)拍通常完成算術(shù)、邏輯運(yùn)算,P2節(jié)拍通常完成傳送指令。

3.機(jī)器周期機(jī)器周期是實(shí)現(xiàn)特定功能所需的時(shí)間周期,通常有若干時(shí)鐘周期構(gòu)成。MCS-51的一個(gè)機(jī)器周期是固定不變的,寬度均由6個(gè)狀態(tài)周期(12個(gè)振蕩周期)組成,并依次表示為S1~S6,分別記作S1P1、S1P2~S6P1、S6P2。4.指令周期指令周期是最大的時(shí)序定時(shí)單位,指令周期是指執(zhí)行一條指令需要的時(shí)間。通常MCS-51的指令周期可以包含有1~4個(gè)機(jī)器周期。MCS-51的幾種典型的指令時(shí)序如圖2-15所示,每個(gè)機(jī)器周期內(nèi)地址鎖存信號(hào)(ALE)產(chǎn)生兩次有效信號(hào),分別出現(xiàn)在S1P2、S2P1期間與S4P2、S5P1期間。

指令時(shí)序2.6.2節(jié)電工作方式

MCS-51單片機(jī)中有HMOS和CHMOS兩種工藝芯片,它們的節(jié)電運(yùn)行方式不同,HMOS單片機(jī)的節(jié)電方式只有掉電方式,CHMOS單片機(jī)的節(jié)電工作方式有掉電方式和空閑方式兩種。2.6單片機(jī)的工作方式2.6.1程序執(zhí)行方式

1.連續(xù)執(zhí)行方式

2.單步運(yùn)行方式

3.復(fù)位方式

1.HMOS的掉電工作方式

掉電工作方式是指由于電源的故障使電源電壓丟失或工作電壓低于正常值,使單片機(jī)系統(tǒng)不能正常運(yùn)行,若不采取保護(hù)措施,將丟失RAM和寄存器中的全部數(shù)據(jù),后果嚴(yán)重。為此MCS-51系列單片機(jī)設(shè)置有掉電保護(hù)措施,進(jìn)行掉電保護(hù)處理。具體做法是:檢測電路一旦發(fā)現(xiàn)掉電,通過外部中斷源向CPU發(fā)出中斷請求,CPU響應(yīng)此中斷請求,調(diào)用中斷服務(wù)子程序,由中斷服務(wù)子程序?qū)⒅匾獢?shù)據(jù)送內(nèi)部RAM轉(zhuǎn)存,立即先把程序運(yùn)行過程中有用信息轉(zhuǎn)存到RAM,然后啟用備用電源維持RAM供電。

2.CHMOS的節(jié)電工作方式

單片機(jī)還設(shè)計(jì)有待機(jī)和掉電兩種節(jié)電工作方式,特別

溫馨提示

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

評(píng)論

0/150

提交評(píng)論