第1講認(rèn)識(shí)89S52單片機(jī)-第1章89S52單片機(jī)概述_第1頁
第1講認(rèn)識(shí)89S52單片機(jī)-第1章89S52單片機(jī)概述_第2頁
第1講認(rèn)識(shí)89S52單片機(jī)-第1章89S52單片機(jī)概述_第3頁
第1講認(rèn)識(shí)89S52單片機(jī)-第1章89S52單片機(jī)概述_第4頁
第1講認(rèn)識(shí)89S52單片機(jī)-第1章89S52單片機(jī)概述_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1講 認(rèn)識(shí)89s52單片機(jī)學(xué)習(xí)要點(diǎn):單片機(jī)的基本概念 at89s52引腳功能及封裝形式 程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的地址空間 特殊功能寄存的地址分配及其復(fù)位值11 單片機(jī)概述單片機(jī)的全稱為單片微型計(jì)算機(jī)(single-chip microcomputer)或微型控制器(micro-controller)。它在一塊芯片上集成了中央處理單元cpu、隨機(jī)存儲(chǔ)器ram、只讀存儲(chǔ)器rom、定時(shí)器/計(jì)數(shù)器和多種輸入/輸出(i/o),如并行i/o、串行i/o和a/d轉(zhuǎn)換器等。就其組成而言一塊單片機(jī)就是一臺(tái)計(jì)算機(jī)。典型的結(jié)構(gòu)如圖1-1所示。由于它具有許多適用于控制的指令和硬件支持而廣泛應(yīng)用于工業(yè)控制、儀器儀表、

2、外設(shè)控制、順序控制器中,所以又稱為微控制單元(mcu)。圖1-1 單片機(jī)結(jié)構(gòu)框圖mcs-51系列單片機(jī),是intel公司繼mcs-48系列單片機(jī)之后,在1980年推出的高檔8位單片機(jī)。當(dāng)時(shí)mcs-51系列產(chǎn)品有8051、8031、8751、80c51、80c31等型號(hào)。它們的結(jié)構(gòu)基本相同,其主要差別反映在寄存器的配置上有所不同。8051內(nèi)部沒有4k字節(jié)的掩膜rom程序存儲(chǔ)器,8031片內(nèi)沒有程序存儲(chǔ)器,而8751是將8051片內(nèi)的rom換成eprom。atmel89系列單片機(jī)是atmel公司的以8031核構(gòu)成的8位flash單片機(jī)系列。這個(gè)系列單片機(jī)的最大特點(diǎn)就是在片內(nèi)含有flash存儲(chǔ)器,a

3、t89s52單片機(jī)是一種低功耗高性能的cmos8位微控制器,內(nèi)置8kb可在線編程閃存。該器件采用atmel公司的高密度非易失性存儲(chǔ)技術(shù)生產(chǎn),其指令與工業(yè)標(biāo)準(zhǔn)的80c51指令集兼容。片內(nèi)程序存儲(chǔ)器允許重復(fù)在線編程,允許程序存儲(chǔ)器在系統(tǒng)內(nèi)通過spi串行口改寫或用同用的非易失性存儲(chǔ)器改寫。通過把通用的8位cpu與可在線下載的flash集成在一個(gè)芯片上,at89s52便成為一個(gè)高效的微型計(jì)算機(jī)。它的應(yīng)用范圍廣,可用于解決復(fù)雜的控制問題,且成本較低。其結(jié)構(gòu)框圖如圖1-2所示。圖1-2 at89s52結(jié)構(gòu)框圖12 at89s52單片機(jī)特性at89s52的主要特性如下:兼容mcs51產(chǎn)品8k字節(jié)可擦寫100

4、0次的在線可編程isp 閃存4.0v到5.5v的工作電源范圍全靜態(tài)工作:0hz 24mhz3級(jí)程序存儲(chǔ)器加密256字節(jié)內(nèi)部ram32條可編程i/o線3個(gè)16位定時(shí)器/計(jì)數(shù)器8個(gè)中斷源uart串行通道低功耗空閑方式和掉電方式通過中斷終止掉電方式看門狗定時(shí)器雙數(shù)據(jù)指針靈活的在線編程(字節(jié)和頁模式)13 at89s52引腳功能與封裝圖1-3是at89s52封裝結(jié)構(gòu)圖。圖1-3 at89s52封裝引腳圖按照功能,at89s52的引腳可分為主電源、外接晶體振蕩或振蕩器、多功能i/o口、控制和復(fù)位等。1 多功能i/o口at89s52共有四個(gè)8位的并行i/o口:p0、p1、p2、p3端口,對(duì)應(yīng)的引腳分別是p

5、0.0 p0.7,p1.0 p1.7,p2.0 p2.7,p3.0 p3.7,共32根i/o線。每根線可以單獨(dú)用作輸入或輸出。p0端口,該口是一個(gè)8位漏極開路的雙向i/o口。在作為輸出口時(shí),每根引腳可以帶動(dòng)8個(gè)ttl輸入負(fù)載。當(dāng)把“1”寫入p0時(shí),則它的引腳可用作高阻抗輸入。當(dāng)對(duì)外部程序或數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p0可用作多路復(fù)用的低字節(jié)地址/數(shù)據(jù)總線,在該模式,p0口擁有內(nèi)部上拉電阻。在對(duì)flash存儲(chǔ)器進(jìn)行編程時(shí),p0用于接收代碼字節(jié);在校驗(yàn)時(shí),則輸出代碼字節(jié);此時(shí)需要外加上拉電阻。p1端口,該口是帶有內(nèi)部上拉電阻的8位雙向i/o端口,p1口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl

6、輸入。對(duì)端口寫“1”時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,此時(shí)可用作輸入口。p1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在對(duì)flash編程和程序校驗(yàn)時(shí),p1口接收低8位地址。另外,p1.0與p1.1可以配置成定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入端(p1.0/t2)與定時(shí)/計(jì)數(shù)器2的觸發(fā)輸入端(p1.0/t2ex),如表1-1所示。表1-1 p1口管腳復(fù)用功能端口引腳復(fù)用功能p1.0t2(定時(shí)器/計(jì)算器2的外部輸入端)p1.1t2ex(定時(shí)器/計(jì)算器2的外部觸發(fā)端和雙向控制)p1.5mosi(用于在線編程)p1.6miso(用于在線編程)p1.7sck(用于在線

7、編程) p2端口,該口是帶有內(nèi)部上拉電阻的8位雙向i/o端口,p2口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫“1”時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,此時(shí)可用作輸入口。p2口作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或16位的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movx dptr指令)時(shí),p2口送出高8位地址,在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movx ri指令)時(shí),p2口引腳上的內(nèi)容(就是專用寄存器(sfr)區(qū)中p2寄存器的內(nèi)容),在整個(gè)訪問期間不會(huì)改變。在對(duì)flash編程和程序校驗(yàn)期間,p2口也接收高位地址或一些控制

8、信號(hào)。 p3端口,該口是帶有內(nèi)部上拉電阻的8位雙向i/o端口,p3口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫“1”時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,此時(shí)可用作輸入口。p3口作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在at89s52中,同樣p3口還用于一些復(fù)用功能,如表1-2所列。在對(duì)flash編程和程序校驗(yàn)期間,p3口還接收一些控制信號(hào)。表1-2 p3端口引腳與復(fù)用功能表端口引腳復(fù)用功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2int0(外部中斷0)p3.3int1(外部中斷1)p3.4t0(定時(shí)器0的外部

9、輸入)p3.5t1(定時(shí)器1的外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)2 rst 復(fù)位輸入端。在振蕩器運(yùn)行時(shí),在此腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使其單片機(jī)復(fù)位??撮T狗定時(shí)器(watchdog)溢出后,該引腳會(huì)保持98個(gè)振蕩周期的高電平。在sfr auxr(地址8eh)寄存器中的disrto位可以用于屏蔽這種功能。disrto位的默認(rèn)狀態(tài),是復(fù)位高電平輸出功能使能。3 ale/prog 地址鎖存允許信號(hào)。在存取外部存儲(chǔ)器時(shí),這個(gè)輸出信號(hào)用于鎖存低字節(jié)地址。在對(duì)flash存儲(chǔ)器編程時(shí),這條引腳用于輸入編程脈沖prog。一般情況下,ale是振蕩器頻率的6分頻

10、信號(hào),可用于外部定時(shí)或時(shí)鐘。但是,在對(duì)外部數(shù)據(jù)存儲(chǔ)器每次存取中,會(huì)跳過一個(gè)ale脈沖。在需要時(shí),可以把地址8eh中的sfr寄存器的0位置為“1”,從而屏蔽ale的工作;而只有在movx或movc指令執(zhí)行時(shí)ale才被激活。在單片機(jī)處于外部執(zhí)行方式時(shí),對(duì)ale屏蔽位置“1”并不起作用。4 psen 程序存儲(chǔ)器允許信號(hào)。它用于讀外部程序存儲(chǔ)器。當(dāng)at89s52在執(zhí)行來自外部存儲(chǔ)器的指令時(shí),每一個(gè)機(jī)器周期psen被激活2次。在對(duì)外部數(shù)據(jù)存儲(chǔ)器的每次存取中,psen的2次激活會(huì)被跳過。5 ea/vpp 外部存取允許信號(hào)。為了確保單片機(jī)從地址為0000hffffh的外部程序存儲(chǔ)器中讀取代碼,故要把ea接到

11、gnd端,即地端。但是,如果鎖定位1被編程,則ea在復(fù)位時(shí)被鎖存。當(dāng)執(zhí)行內(nèi)部程序時(shí),ea應(yīng)接到vcc。在對(duì)flash存儲(chǔ)器編程時(shí),這條引腳接收12v編程電壓vpp。6 xtal1 振蕩器的反相放大器輸入,內(nèi)部時(shí)鐘工作電路的輸入。7 xtal2 振蕩器的反相放大器輸出。14 存儲(chǔ)器組織所有的atmel flash單片機(jī)都將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分為不同的存儲(chǔ)空間。89系列單片機(jī)的典型存儲(chǔ)器的結(jié)構(gòu)如圖1-4所示。圖1-4 存儲(chǔ)器結(jié)構(gòu)程序和數(shù)據(jù)存儲(chǔ)器分為不同的邏輯空間,使得可用8位地址來訪問數(shù)據(jù)存儲(chǔ)器。這樣可提高8位cpu的存儲(chǔ)和處理速度。盡管如此,也可通過數(shù)據(jù)指針(dptr)寄存器來產(chǎn)生16位的數(shù)

12、據(jù)存儲(chǔ)器地址。程序存儲(chǔ)器只可讀不可寫,用于存放編好的程序和表格常數(shù)。89系列單片機(jī)可尋址的程序存儲(chǔ)器總空間為64kb。外部程序存儲(chǔ)器的讀選通脈沖為psen(程序存儲(chǔ)允許信號(hào))。數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間:一個(gè)內(nèi)部和一個(gè)外部數(shù)據(jù)存儲(chǔ)器空間。外部數(shù)據(jù)存儲(chǔ)器的尋址空間可達(dá)64kb。訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),cpu發(fā)出讀和寫的信號(hào)rd和wr。將rd和psen兩個(gè)信號(hào)加到一個(gè)與門的輸入端,然后用與門的輸出作為外部程序/數(shù)據(jù)存儲(chǔ)器的讀選通脈沖。這樣就可將外部程序存儲(chǔ)器空間和外部數(shù)據(jù)存儲(chǔ)器空間合并在一起。141 程序存儲(chǔ)器89系列單片機(jī)可尋址的內(nèi)部和外部程序存儲(chǔ)器總空間為64kb。每個(gè)外部程序

13、和數(shù)據(jù)存儲(chǔ)器的可尋址范圍高達(dá)64kb。它沒有采用程序存儲(chǔ)器分區(qū)的方法,64kb的地址空間是統(tǒng)一的。ea引腳接低電平時(shí),單片機(jī)就從外部程序存儲(chǔ)器中取指。對(duì)于at89s52,ea引腳接高電平時(shí),程序直接從單片機(jī)內(nèi)部存儲(chǔ)器中的0000h到1fffh單元執(zhí)行,2000h到ffffh單元到外部存儲(chǔ)器中執(zhí)行。程序存儲(chǔ)器中有幾個(gè)單元專門用來存放特定的程序。這幾個(gè)單元的配置情況如圖1-5所示。圖1-5 程序存儲(chǔ)器的中斷入口配置由圖1-5可知,0000h0002h單元用于初始化程序。單片機(jī)復(fù)位后,cpu總是從0000h單元開始執(zhí)行程序。另外,每個(gè)中斷在程序存儲(chǔ)器中都分配有一個(gè)固定的入口地址。中斷響應(yīng)后,cpu便

14、跳到該單元,在這里開始執(zhí)行中斷服務(wù)子程序。例如,外部中斷0的入口地址被放在0003h單元,如果使用外部中斷0,則它的中斷服務(wù)子程序必須從0003h單元開始。如果中斷沒有使用,那么它的服務(wù)單元也可作一般用途的程序存儲(chǔ)器用。每個(gè)中斷入口地址的間隔為8個(gè)單元;外部中斷0的入口地址為0003h;定時(shí)器0的入口地址為000bh;外部中斷1的入口地址為0013h;定時(shí)器1的入口地址為001bh;以此類推。如果一個(gè)中斷服務(wù)子程序足夠短的話,則可全部存放在這8個(gè)單元中。對(duì)較長的服務(wù)子程序,則可利用一條跳轉(zhuǎn)指令跳過后續(xù)的中斷入口地址。程序存儲(chǔ)器最低端的地址可以在片內(nèi)flash中,或在外部存儲(chǔ)器中。將外部存取(e

15、a)引腳接vcc或接地,就可進(jìn)行這種選擇。例如,在帶有4kb片內(nèi)flash的at89c51中,如果把ea引腳連到vcc,當(dāng)?shù)刂窞?000h0fffh時(shí),則訪問內(nèi)部flash;當(dāng)?shù)刂窞?000hffffh時(shí),則訪問外部程序存儲(chǔ)器。在at89c52(8kb flash)中,當(dāng)ea端保持高電平時(shí),如果地址不超過1fffh,則訪問內(nèi)部flash;地址超過1fffh(即為2000hffffh)時(shí),將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。如果ea端接地,則只訪問外部程序存儲(chǔ)器,不管是否有內(nèi)部flash存儲(chǔ)器。外部程序存儲(chǔ)器讀選通信號(hào)psen用于讀取所以的外部程序;讀取內(nèi)部程序時(shí),不產(chǎn)生psen信號(hào)。執(zhí)行外部程序是的硬件

16、連接方法如圖1-6所示。圖1-6 訪問外部程序存儲(chǔ)器的連接注意,在訪問外部程序存儲(chǔ)器時(shí),16條i/o線(p0和p2)作為總線使用。p0端口作為地址/數(shù)據(jù)總線使用。它先輸出16位地址的低8位pcl,然后進(jìn)入懸浮狀態(tài),等待程序存儲(chǔ)器送出的指令字節(jié)。當(dāng)有效地址pcl出現(xiàn)在p0總線上時(shí),ale(允許地址鎖存)把這個(gè)地址鎖存到地址鎖存器中。同時(shí),p2端口輸出地址的高8外pch。然后psen選通外部程序存儲(chǔ)器,使指令送到p0總線上,由cpu取入。即使所用的程序存儲(chǔ)器的實(shí)際空間可能小于64kb,程序存儲(chǔ)器的地址總是為16位的。在訪問外部程序存儲(chǔ)器時(shí),要用到兩個(gè)8位端口p0和p2來產(chǎn)生程序存儲(chǔ)器的地址。142

17、 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器在物理上邏輯上都分為兩個(gè)地址空間:一個(gè)為內(nèi)部數(shù)據(jù)存儲(chǔ)器空間;一個(gè)為外部數(shù)據(jù)存儲(chǔ)器空間。數(shù)據(jù)存儲(chǔ)器的配置如圖1-7所示。圖1-7 訪問外部數(shù)據(jù)存儲(chǔ)器的連接圖1-7是訪問8kb外部ram時(shí)的硬件連接圖。在這種情況下,cpu執(zhí)行內(nèi)部flash中的指令(ea接vcc)。p0端口作用ram的地址/數(shù)據(jù)總線,p2端口中的3位也作為ram的頁地址。訪問外部ram期間,cpu根據(jù)需要發(fā)送rd和wr信號(hào)。外部數(shù)據(jù)存儲(chǔ)器的尋址空間可達(dá)64kb。外部數(shù)據(jù)存儲(chǔ)器的地址可以是8位或16位的。使用8位地址時(shí),要連同另外一條或幾條i/o線作為ram的頁地址,如圖1-7所示。這時(shí)p2的部分引線可作為為通

18、用的i/o線。若采用16位地址,則由p2端口傳送高8位地址。內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址是8位的,也就是說其地址空間只有256字節(jié),但內(nèi)部ram的尋址方式實(shí)際上可提供384字節(jié)。高于7fh的直接地址訪問同一個(gè)存儲(chǔ)空間,高于7fh的間接地址訪問另一個(gè)存儲(chǔ)空間。這樣,在圖1-8中,雖然高128字節(jié)區(qū)與專用寄存器,即特殊功能寄存器(sfr)區(qū)的地址是重合的(80hffh),但實(shí)際上它們是分開的。究竟訪問哪一區(qū),是通過不同的尋址方式加以區(qū)分的。訪問高128字節(jié)區(qū)時(shí),采用間接尋址方式;訪問sfr區(qū)時(shí),采用直接尋址方式;訪問低128字節(jié)區(qū)時(shí),兩種尋址方式都可采用。圖1-8 內(nèi)部數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)低128字節(jié)區(qū)的分配

19、情況如圖1-9所示。最低32個(gè)單元(00h1fh)是4個(gè)通用工作寄存器組。每個(gè)寄存器組含有8個(gè)8為寄存器,編號(hào)為r0r7。專用寄存器psw(程序狀態(tài)字)中有2位(ps0,rs1)用來確定采用哪一個(gè)工作寄存器組。這種結(jié)構(gòu)能夠更有效地使用指令空間,因?yàn)榧拇嫫髦噶畋戎苯訉ぶ分噶罡?。圖1-9 內(nèi)部ram的低128字節(jié)區(qū)工作寄存器組上面的16個(gè)單元(20h2fh)構(gòu)成了布爾處理機(jī)的存儲(chǔ)器空間。這16個(gè)單元的128位各自都有專門的位地址,如圖1-10所示,它們可以被直接尋址,這些位地址是00h7fh。在89系列單片機(jī)的指令系統(tǒng)中,還包括了許多位操作指令,這些位操作指令可直接對(duì)這128位尋址。圖1-10 內(nèi)部ram中可尋址位的地址低128字節(jié)區(qū)中的所以單元都既可通過直接尋址方式訪問,又可通過間接尋址方式訪問,又可通過間接尋址方式訪問。而高128字節(jié)區(qū)則只能通過間接尋址方式來訪問。僅在帶有256字節(jié)ram的單片機(jī)中才有高128字節(jié)區(qū)。專用寄存器即特殊功能寄存器(sfr)區(qū)的分配情況如圖1-11所示。這些專用寄存器包括端口鎖存器(p0/p1/p2/p3)、程序狀態(tài)字(psw)、定時(shí)/計(jì)數(shù)器方式控制(tmod)、定時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論