




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 第第9章章 AT89S51單片機(jī)的并行單片機(jī)的并行 擴(kuò)展技術(shù)擴(kuò)展技術(shù)1 AT89S51AT89S51單片機(jī)片內(nèi)存儲器和單片機(jī)片內(nèi)存儲器和I/OI/O資源還不能滿足需要,需外資源還不能滿足需要,需外擴(kuò)存儲器芯片和擴(kuò)存儲器芯片和I/OI/O接口芯片,即單片機(jī)的系統(tǒng)擴(kuò)展。接口芯片,即單片機(jī)的系統(tǒng)擴(kuò)展。 系統(tǒng)擴(kuò)展分為系統(tǒng)擴(kuò)展分為并行擴(kuò)展并行擴(kuò)展和和串行擴(kuò)展串行擴(kuò)展,本章介紹應(yīng)用系統(tǒng)的并,本章介紹應(yīng)用系統(tǒng)的并行擴(kuò)展,第行擴(kuò)展,第1212章介紹串行擴(kuò)展。章介紹串行擴(kuò)展。 首先介紹首先介紹AT89S51AT89S51片外兩個存儲器空間地址分配,然后介紹如片外兩個存儲器空間地址分配,然后介紹如何擴(kuò)展外部數(shù)據(jù)
2、存儲器和外部程序存儲器以及擴(kuò)展何擴(kuò)展外部數(shù)據(jù)存儲器和外部程序存儲器以及擴(kuò)展I/OI/O接口芯片接口芯片具體設(shè)計。具體設(shè)計。29.1 系統(tǒng)并行擴(kuò)展概述系統(tǒng)并行擴(kuò)展概述9.1.1 系統(tǒng)并行擴(kuò)展結(jié)構(gòu)系統(tǒng)并行擴(kuò)展結(jié)構(gòu)單片機(jī)系統(tǒng)并行擴(kuò)展結(jié)構(gòu)見單片機(jī)系統(tǒng)并行擴(kuò)展結(jié)構(gòu)見圖圖9-1。圖圖9-1 單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu)單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu) 由圖由圖9-1可看出,系統(tǒng)并行擴(kuò)展主要包括數(shù)據(jù)存儲器擴(kuò)展可看出,系統(tǒng)并行擴(kuò)展主要包括數(shù)據(jù)存儲器擴(kuò)展、程序存儲器擴(kuò)展和、程序存儲器擴(kuò)展和I/O接口擴(kuò)展。接口擴(kuò)展。AT89S51采用程序存儲采用程序存儲器空間和數(shù)據(jù)存儲器空間然分開的器空間和數(shù)據(jù)存儲器空間然分開的哈佛結(jié)構(gòu)哈佛結(jié)構(gòu),因此形
3、成兩個,因此形成兩個并行外部存儲器空間。在并行外部存儲器空間。在AT89S51系統(tǒng)中,系統(tǒng)中,I/O接口與數(shù)據(jù)接口與數(shù)據(jù)存儲器采用統(tǒng)一編址方式,即接口芯片的每一端口寄存器就存儲器采用統(tǒng)一編址方式,即接口芯片的每一端口寄存器就相當(dāng)于一個相當(dāng)于一個RAM存儲單元。存儲單元。 由于單片機(jī)采用并行總線結(jié)構(gòu),各擴(kuò)展部件只要符合總由于單片機(jī)采用并行總線結(jié)構(gòu),各擴(kuò)展部件只要符合總線規(guī)范,就可方便地接入系統(tǒng)。并行擴(kuò)展是通過總線把線規(guī)范,就可方便地接入系統(tǒng)。并行擴(kuò)展是通過總線把AT89S51單片機(jī)與各擴(kuò)展部件連接起來。因此,要進(jìn)行并行單片機(jī)與各擴(kuò)展部件連接起來。因此,要進(jìn)行并行擴(kuò)展首先要構(gòu)造系統(tǒng)總線。擴(kuò)展首先要
4、構(gòu)造系統(tǒng)總線。 系統(tǒng)總線按功能通常分為系統(tǒng)總線按功能通常分為3組組,見,見圖圖9-1。4(1)地址總線()地址總線(Address Bus,AB): 傳送傳送單片機(jī)單向單片機(jī)單向發(fā)出的地址信號發(fā)出的地址信號,以便進(jìn)行存儲單元和,以便進(jìn)行存儲單元和I/O接口芯片中的寄接口芯片中的寄存器單元選擇。存器單元選擇。(2)數(shù)據(jù)總線()數(shù)據(jù)總線(Data Bus,DB):用于單片機(jī)與外部存:用于單片機(jī)與外部存儲器之間或與儲器之間或與I/O接口之間雙向傳送數(shù)據(jù)。接口之間雙向傳送數(shù)據(jù)。(3)控制總線()控制總線(Control Bus,CB):是單片機(jī)發(fā)出的各:是單片機(jī)發(fā)出的各種控制信號線。種控制信號線。 下
5、面介紹如何構(gòu)造系統(tǒng)的三總線。下面介紹如何構(gòu)造系統(tǒng)的三總線。1P0口作為低口作為低8位地址位地址/數(shù)據(jù)總線數(shù)據(jù)總線AT89S51受引腳數(shù)目限制,受引腳數(shù)目限制,P0口既用作低口既用作低8位地址總線位地址總線,又用作數(shù)據(jù)總線(分時復(fù)用),因此需增加,又用作數(shù)據(jù)總線(分時復(fù)用),因此需增加1個個8位地址鎖位地址鎖存器。存器。AT89S51單片機(jī)對外部擴(kuò)展的存儲器單元或單片機(jī)對外部擴(kuò)展的存儲器單元或I/O接口寄接口寄存器進(jìn)行訪問時,先發(fā)出低存器進(jìn)行訪問時,先發(fā)出低8位地址送地址鎖存器鎖存,鎖存位地址送地址鎖存器鎖存,鎖存器輸出作為系統(tǒng)的低器輸出作為系統(tǒng)的低8位地址(位地址(A7A0)。隨后,)。隨后,
6、P0口又作口又作為數(shù)據(jù)總線口(為數(shù)據(jù)總線口(D7D0),見圖),見圖9-2。6圖圖9-2 AT89C51單片機(jī)擴(kuò)展的片外三總線單片機(jī)擴(kuò)展的片外三總線2 2P2P2口的口線作為高位地址口的口線作為高位地址P2P2口的全部口的全部8 8位口線用作系統(tǒng)高位口線用作系統(tǒng)高8 8位地址線,再加上地址位地址線,再加上地址鎖存器輸出提供的低鎖存器輸出提供的低8 8位地址,便形成了系統(tǒng)的位地址,便形成了系統(tǒng)的1616位地址總線位地址總線(見圖(見圖9-29-2),從而使單片機(jī)系統(tǒng)的尋址范圍達(dá)到),從而使單片機(jī)系統(tǒng)的尋址范圍達(dá)到64KB64KB。3 3控制信號線控制信號線除了地址線和數(shù)據(jù)線外,還要有控制總線。這
7、些信號有除了地址線和數(shù)據(jù)線外,還要有控制總線。這些信號有的就是的就是單片機(jī)引腳的第一功能信號,有的則是單片機(jī)引腳的第一功能信號,有的則是P3P3口第二功能口第二功能信號。其中包括:信號。其中包括:8 (1 1)PSENPSEN* *信號作為外部擴(kuò)展的程序存儲器的讀選通控制信號作為外部擴(kuò)展的程序存儲器的讀選通控制信號;信號; (2 2)RDRD* *和和WRWR* *信號作為外部擴(kuò)展的數(shù)據(jù)存儲器和信號作為外部擴(kuò)展的數(shù)據(jù)存儲器和I/OI/O接口接口寄存器的讀、寫選通控制信號;寄存器的讀、寫選通控制信號; (3 3)ALEALE信號作為信號作為P0P0口發(fā)出的低口發(fā)出的低8 8位地址的鎖存控制信號。
8、位地址的鎖存控制信號。 (4 4)EAEA* *信號為片內(nèi)、片外程序存儲器訪問允許控制端。信號為片內(nèi)、片外程序存儲器訪問允許控制端。 由上看出,盡管由上看出,盡管AT89S51AT89S51有有4 4個并行個并行I/OI/O口,共口,共3232條口線,條口線,但由于系統(tǒng)擴(kuò)展的需要,真正給用戶作為通用但由于系統(tǒng)擴(kuò)展的需要,真正給用戶作為通用I/OI/O使用,就剩使用,就剩下下P1P1口和口和P3P3口的部分口線了??诘牟糠挚诰€了。9109.1.2 9.1.2 地址空間分配地址空間分配如何把片外兩個如何把片外兩個64KB64KB地址空間分配給各個存儲器與地址空間分配給各個存儲器與I/OI/O接接口
9、芯片,使一個存儲單元只對應(yīng)一個地址,避免單片機(jī)對一個口芯片,使一個存儲單元只對應(yīng)一個地址,避免單片機(jī)對一個地址單元訪問時,發(fā)生數(shù)據(jù)沖突。這就是存儲器地址空間的分地址單元訪問時,發(fā)生數(shù)據(jù)沖突。這就是存儲器地址空間的分配問題。配問題。AT89S51AT89S51發(fā)出的地址信號用于選擇某存儲器單元,在外擴(kuò)發(fā)出的地址信號用于選擇某存儲器單元,在外擴(kuò)多片存儲器芯片中,要完成這種功能,必須進(jìn)行多片存儲器芯片中,要完成這種功能,必須進(jìn)行兩種選擇兩種選擇:一:一是必須選中該存儲器芯片,這稱為是必須選中該存儲器芯片,這稱為“片選片選”,只有被只有被“選中選中”的存儲器芯片才能被單片機(jī)訪問,未被選中的芯片不能被訪
10、問的存儲器芯片才能被單片機(jī)訪問,未被選中的芯片不能被訪問;二是在;二是在“片選片選”的基礎(chǔ)上還同時的基礎(chǔ)上還同時“選中選中”芯片的某一單元對芯片的某一單元對其進(jìn)行讀寫,這稱為其進(jìn)行讀寫,這稱為“單元選擇單元選擇”。每個擴(kuò)展的芯片都有每個擴(kuò)展的芯片都有“片選片選”引腳,引腳,同時每個芯片也都有多條地址引腳,以便對其同時每個芯片也都有多條地址引腳,以便對其進(jìn)行單元選擇。需要注意的是進(jìn)行單元選擇。需要注意的是,“片選片選”和和“單元選擇單元選擇”都是都是單片機(jī)單片機(jī)通過地址線一次發(fā)出的地址信號來通過地址線一次發(fā)出的地址信號來完成選擇的。完成選擇的。常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱
11、常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法),下面分別介紹。線選法)和地址譯碼法(簡稱譯碼法),下面分別介紹。1線選法線選法直接利用單片機(jī)某一高位地址線作為存儲器芯片(或直接利用單片機(jī)某一高位地址線作為存儲器芯片(或I/O接口接口芯片)的芯片)的“片選片選”控制信號。為此,只要用某一高位地址線與控制信號。為此,只要用某一高位地址線與存儲器芯片的存儲器芯片的“片選片選”端直接連接即可。端直接連接即可。 優(yōu)點:優(yōu)點:電路簡單,不需另外增加地址譯碼器硬件電路,體電路簡單,不需另外增加地址譯碼器硬件電路,體積小,成本低。積小,成本低。 缺點:缺點:可尋址芯片數(shù)
12、目受限制。另外,地址空間不連續(xù),可尋址芯片數(shù)目受限制。另外,地址空間不連續(xù),存儲單元地址不唯一,這會給程序設(shè)計帶來一些不便。線選法存儲單元地址不唯一,這會給程序設(shè)計帶來一些不便。線選法適用于外擴(kuò)芯片數(shù)目不多的單片機(jī)系統(tǒng)的系統(tǒng)擴(kuò)展。適用于外擴(kuò)芯片數(shù)目不多的單片機(jī)系統(tǒng)的系統(tǒng)擴(kuò)展。 2 2譯碼法譯碼法使用譯碼器對使用譯碼器對AT89S51AT89S51單片機(jī)的高位地址進(jìn)行譯碼,將譯碼單片機(jī)的高位地址進(jìn)行譯碼,將譯碼器的譯碼輸出作為存儲器芯片的片選信號。本法能有效地利用器的譯碼輸出作為存儲器芯片的片選信號。本法能有效地利用存儲器空間,適于多芯片的存儲器擴(kuò)展。存儲器空間,適于多芯片的存儲器擴(kuò)展。12 常
13、見有常見有74LS13874LS138(3-83-8譯碼器)、譯碼器)、74LS13974LS139(雙(雙2-42-4譯碼器)與譯碼器)與74LS15474LS154(4-164-16譯碼器)。下面介紹譯碼器)。下面介紹74LS13874LS138和和74LS13974LS139譯碼器譯碼器芯片。芯片。 (1 1)74LS13874LS138是是3-83-8譯碼器,有譯碼器,有3 3個數(shù)據(jù)輸入端,經(jīng)譯碼后產(chǎn)個數(shù)據(jù)輸入端,經(jīng)譯碼后產(chǎn)生生8 8種狀態(tài),其引腳見圖種狀態(tài),其引腳見圖9-39-3,真值表見,真值表見表表9-19-1。13圖圖9-3 74LS138 8引腳圖引腳圖由表由表9-19-1可
14、見,當(dāng)譯碼器輸入為某一固定編碼時,其可見,當(dāng)譯碼器輸入為某一固定編碼時,其8 8個輸出個輸出引腳引腳Y0Y0* *Y7Y7* *中僅有中僅有1 1個引腳輸出為低,其余全為高。而輸出個引腳輸出為低,其余全為高。而輸出低電平的引腳恰好作為片選信號。低電平的引腳恰好作為片選信號。(2)74LS139 雙雙2-4譯碼器。譯碼器。兩個譯碼器完全獨立,分兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端,其引腳如端,其引腳如圖圖9-4所示,其中所示,其中1組的真值表見組的真值表見表表9-2。圖圖9-49-4 74LS139 74
15、LS139引腳圖引腳圖表表9-29-2 74LS13974LS139真值表真值表以以74LS138為例,介紹如何進(jìn)行空間地址分配。例如,要擴(kuò)為例,介紹如何進(jìn)行空間地址分配。例如,要擴(kuò)8片片8KB的的RAM 6264,如何通過,如何通過74LS138把把64KB空間分配給空間分配給各個芯片?由各個芯片?由74LS138真值表可知,把真值表可知,把G1接到接到+5V,該,該G2A*、G2B* 接地,接地,P2.7P2.7、P2.6P2.6、P2.5P2.5(高(高3位地址線)分別接到位地址線)分別接到74LS138的的C、B、A端,由于對高端,由于對高3位地址譯碼,這樣譯碼器位地址譯碼,這樣譯碼器
16、有有8個輸出個輸出Y0*Y7*,分別接到,分別接到8片片6264的的 “片選片選”端,實現(xiàn)端,實現(xiàn)8選選1片選片選。而而低低1313位地址(位地址(P2.4P2.4P2.0P2.0,P0.7P0.7P0.0P0.0)完成對完成對選中的選中的62646264芯片中的各個存儲單元的芯片中的各個存儲單元的“單元選擇單元選擇”。這樣就把這樣就把64KB64KB存儲器空間分成存儲器空間分成8 8個個8KB8KB空間了??臻g了。64KB64KB地址空間的分配見地址空間的分配見圖圖9-59-5。17 圖圖9-59-5 64KB空間劃分成空間劃分成8個個8KB空間空間當(dāng)當(dāng)AT89S51單片機(jī)發(fā)出單片機(jī)發(fā)出16
17、位地址碼時,每次只能選中一片位地址碼時,每次只能選中一片芯片以及該芯片的唯一存儲單元。芯片以及該芯片的唯一存儲單元。采用譯碼器劃分的地址空間塊相等,如將地址空間塊劃分為采用譯碼器劃分的地址空間塊相等,如將地址空間塊劃分為不等的塊,可用不等的塊,可用FPGA實現(xiàn)非線性譯碼邏輯來代替譯碼器。實現(xiàn)非線性譯碼邏輯來代替譯碼器。 9.1.3 外部地址鎖存器外部地址鎖存器AT89S51單片機(jī)受引腳數(shù)的限制,單片機(jī)受引腳數(shù)的限制,P0口兼用數(shù)據(jù)線和低口兼用數(shù)據(jù)線和低8位位地址,為了將它們分離出來,需要在地址,為了將它們分離出來,需要在單片機(jī)外部單片機(jī)外部增加地址鎖存增加地址鎖存器器。目前,常用的地址鎖存器芯
18、片有。目前,常用的地址鎖存器芯片有74LS373、74LS573等。等。19201 1鎖存器鎖存器74LS37374LS373帶有三態(tài)門的帶有三態(tài)門的8D D鎖存器,其引腳見鎖存器,其引腳見圖圖9-6,內(nèi)部結(jié)構(gòu)如,內(nèi)部結(jié)構(gòu)如圖圖9-7所示。所示。 圖圖9-6 6 鎖存器鎖存器74LS373的引腳的引腳圖圖9-7 7 74LS373的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)74LS37374LS373引腳說明引腳說明: D7D7D08D08位數(shù)據(jù)輸入線。位數(shù)據(jù)輸入線。 Q7Q7Q08Q08位數(shù)據(jù)輸出線。位數(shù)據(jù)輸出線。 GG數(shù)據(jù)輸入鎖存選通信號。當(dāng)加到該引腳的信號為高電數(shù)據(jù)輸入鎖存選通信號。當(dāng)加到該引腳的信號為高電平時
19、,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時,數(shù)據(jù)鎖存到鎖平時,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時,數(shù)據(jù)鎖存到鎖存器中。存器中。OEOE* *數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸出線為高阻態(tài)。號為高電平時,輸出線為高阻態(tài)。74LS37374LS373鎖存器功能見鎖存器功能見表表9-39-3。21表表9-374LS373功能表功能表22AT89S51單片機(jī)與單片機(jī)與74LS373鎖存器的連接如鎖存器的連接如圖圖9-8所示。所示。圖
20、圖9-8 AT89S51單片機(jī)單片機(jī)P0口與口與74LS373的連接的連接2鎖存器鎖存器74LS573帶三態(tài)門的帶三態(tài)門的8D鎖存器,功能及內(nèi)部結(jié)構(gòu)與鎖存器,功能及內(nèi)部結(jié)構(gòu)與74LS373完全完全一樣,只是其引腳排列與一樣,只是其引腳排列與74LS373不同,不同,圖圖9-9為為74LS573引引腳圖。腳圖。由圖由圖9-9,與,與74LS373相比,相比,74LS573輸入輸入D端和輸出的端和輸出的Q端依次排列在芯片兩側(cè)端依次排列在芯片兩側(cè),為繪制印制電路板提供較大方便。,為繪制印制電路板提供較大方便。74LS573引腳說明如下。引腳說明如下。23圖圖9-9 9 鎖存器鎖存器74LS5 573
21、的引腳的引腳D7D7D08D08位數(shù)據(jù)輸入線。位數(shù)據(jù)輸入線。Q7Q7Q08Q08位數(shù)據(jù)輸出線。位數(shù)據(jù)輸出線。GG數(shù)據(jù)輸入鎖存選通,該引腳與數(shù)據(jù)輸入鎖存選通,該引腳與74LS37374LS373的的G G端功能相同。端功能相同。OEOE* *數(shù)據(jù)輸出允許,低電平有效。當(dāng)?shù)碗娖綍r,三態(tài)門打開數(shù)據(jù)輸出允許,低電平有效。當(dāng)?shù)碗娖綍r,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸出線為高阻態(tài)。出線為高阻態(tài)。9.2 9.2 外部程序存儲器外部程序存儲器EPROMEPROM的并行擴(kuò)展的并行擴(kuò)展程序存儲器具有非易失性,在電源關(guān)斷后,存儲器
22、仍能保程序存儲器具有非易失性,在電源關(guān)斷后,存儲器仍能保存程序,在系統(tǒng)上電后,存程序,在系統(tǒng)上電后,CPUCPU可取出這些指令重新執(zhí)行??扇〕鲞@些指令重新執(zhí)行。25程序存儲器采用只讀存儲器程序存儲器采用只讀存儲器ROMROM(Read Only MemoryRead Only Memory)。)。ROMROM中的信息一旦寫入,就不能隨意更改,特別是不能在程序中的信息一旦寫入,就不能隨意更改,特別是不能在程序運行過程中寫入新的內(nèi)容,故稱為只讀存儲器。運行過程中寫入新的內(nèi)容,故稱為只讀存儲器。 目前許多公司生產(chǎn)的目前許多公司生產(chǎn)的8051內(nèi)核單片機(jī),在芯片內(nèi)部大多集內(nèi)核單片機(jī),在芯片內(nèi)部大多集成了
23、數(shù)量不等的成了數(shù)量不等的Flash ROM。例如,美國。例如,美國ATMEL公司生產(chǎn)的公司生產(chǎn)的AT89C2051、AT89S51、AT89S51、89C52、89S52、89C55,片內(nèi)分別有不同容量的,片內(nèi)分別有不同容量的Flash ROM,作為片內(nèi)程序存儲器使,作為片內(nèi)程序存儲器使用。選擇的單片機(jī)在片內(nèi)用。選擇的單片機(jī)在片內(nèi)Flash ROM滿足要求的情況下,外部滿足要求的情況下,外部程序存儲器的擴(kuò)展工作就可省去。程序存儲器的擴(kuò)展工作就可省去。向向ROM中寫入信息稱為中寫入信息稱為ROM編程編程。根據(jù)編程方式不同。根據(jù)編程方式不同,可分為以下幾種。,可分為以下幾種。 (1)掩膜)掩膜RO
24、M:在制造過程中編程,編程是以掩膜工藝:在制造過程中編程,編程是以掩膜工藝實現(xiàn)的。這種芯片存儲結(jié)構(gòu)簡單,集成度高,但由于掩膜工實現(xiàn)的。這種芯片存儲結(jié)構(gòu)簡單,集成度高,但由于掩膜工藝成本較高,因此只適合于大批量生產(chǎn)。藝成本較高,因此只適合于大批量生產(chǎn)。 (2)可編程)可編程PROM(可編程只讀存儲器):(可編程只讀存儲器):芯片出廠時無芯片出廠時無任何程序信息,用戶用編程器寫入。但寫入一次內(nèi)容后,就任何程序信息,用戶用編程器寫入。但寫入一次內(nèi)容后,就不能再修改。不能再修改。(3)EPROM:用電信號編程,紫外線擦除的只讀存儲器芯用電信號編程,紫外線擦除的只讀存儲器芯片。在芯片外殼中間有一圓形窗口
25、,通過該窗口照射紫外線片。在芯片外殼中間有一圓形窗口,通過該窗口照射紫外線就可擦除原有的信息。用編程器可將調(diào)試完畢的程序?qū)懭?。就可擦除原有的信息。用編程器可將調(diào)試完畢的程序?qū)懭搿?7(4)E2PROM(EEPROM):):用電信號編程與擦除的用電信號編程與擦除的ROM芯片。對芯片。對E2PROM的讀寫操作與的讀寫操作與RAM存儲器幾乎沒差別,只存儲器幾乎沒差別,只是寫入速度慢一些,但斷電后仍能保存信息。是寫入速度慢一些,但斷電后仍能保存信息。(5)Flash ROM又稱閃爍存儲器(簡稱閃存):是在又稱閃爍存儲器(簡稱閃存):是在EPROM、E2PROM基礎(chǔ)上發(fā)展起來的一種電擦除型只讀存基礎(chǔ)上發(fā)
26、展起來的一種電擦除型只讀存儲器,可快速在線修改存儲單元中的數(shù)據(jù),改寫次數(shù)可達(dá)儲器,可快速在線修改存儲單元中的數(shù)據(jù),改寫次數(shù)可達(dá)1萬次,其讀寫速度很快,存取時間可達(dá)萬次,其讀寫速度很快,存取時間可達(dá)70ns,成本卻比普通,成本卻比普通E2PROM低得多,大有取代低得多,大有取代E2PROM之勢。之勢。289.2.1 常用的常用的EPROM芯片芯片擴(kuò)展并行接口程序存儲器,使用較多的是擴(kuò)展并行接口程序存儲器,使用較多的是27系列產(chǎn)品系列產(chǎn)品。例如,例如,2764(8KB)、)、27128(16KB)、)、27256(32KB)、27512(64KB),型號名稱),型號名稱“27”后面的數(shù)字表示其位的
27、后面的數(shù)字表示其位的存儲容量。如果換算成字節(jié)容量,只需將該數(shù)字除以存儲容量。如果換算成字節(jié)容量,只需將該數(shù)字除以8即可即可。例如,。例如,“27128”中的中的“27”后面的數(shù)字為后面的數(shù)字為“128”,1288 = 16KB。隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片產(chǎn)隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片產(chǎn)量劇增,售價不斷下降。小容量芯片的生產(chǎn)已停止。所以,量劇增,售價不斷下降。小容量芯片的生產(chǎn)已停止。所以,在擴(kuò)展程序存儲器設(shè)計時,應(yīng)盡量采用大容量芯片。在擴(kuò)展程序存儲器設(shè)計時,應(yīng)盡量采用大容量芯片。291常用的常用的EPROM芯片的引腳芯片的引腳27系列系列EPROM芯片引腳見
28、圖芯片引腳見圖9-10,各引腳功能如下。,各引腳功能如下。 A0A15地址線引腳。它的數(shù)目由芯片的存儲容量決地址線引腳。它的數(shù)目由芯片的存儲容量決定,用于進(jìn)行單元選擇。定,用于進(jìn)行單元選擇。 D7D0數(shù)據(jù)線引腳。數(shù)據(jù)線引腳。 CE*片選控制端。片選控制端。 OE* 輸出允許控制端。輸出允許控制端。 PGM*編程時,編程脈沖的輸入端。編程時,編程脈沖的輸入端。 Vpp編程時,編程電壓(編程時,編程電壓(+12V或或+25V)輸入端。)輸入端。 VCC +5V,芯片的工作電壓。,芯片的工作電壓。 GND數(shù)字地。數(shù)字地。 NC無用端。無用端。3132圖圖9-10 常用常用EPROM芯片引腳圖芯片引腳
29、圖2EPROM芯片的工作方式芯片的工作方式一般有一般有5種工作方式,由種工作方式,由CE* 、OE* 、PGM各信號狀態(tài)組合各信號狀態(tài)組合確定。確定。5種工作方式見表種工作方式見表9-4。 (1)讀出方式)讀出方式。片選控制線。片選控制線 CE*和和OE* 為低,為低,Vpp為為+5V,就可將,就可將EPROM中的指定地址單元的內(nèi)容從數(shù)據(jù)引腳中的指定地址單元的內(nèi)容從數(shù)據(jù)引腳D7D0上讀出。上讀出。 (2)未選中方式。)未選中方式。 CE* 此時為高,數(shù)據(jù)輸出為高阻懸浮狀此時為高,數(shù)據(jù)輸出為高阻懸浮狀態(tài),不占用數(shù)據(jù)總線。態(tài),不占用數(shù)據(jù)總線。EPROM處于低功耗的維持狀態(tài)。處于低功耗的維持狀態(tài)。(
30、3)編程方式。)編程方式。在在Vpp端加上規(guī)定高壓,端加上規(guī)定高壓,CE*和和OE*端加上合端加上合適電平(不同芯片要求不同),就能將數(shù)據(jù)寫入到指定的地址適電平(不同芯片要求不同),就能將數(shù)據(jù)寫入到指定的地址33表表9-4EPROMEPROM的的5種工作方式種工作方式單元。此時,編程地址和編程數(shù)據(jù)分別由單片機(jī)的單元。此時,編程地址和編程數(shù)據(jù)分別由單片機(jī)的A15A0和和D7D0提供。提供。(4)編程校驗方式)編程校驗方式。在。在Vpp端保持相應(yīng)的編程電壓(高壓),端保持相應(yīng)的編程電壓(高壓),再按讀出方式操作,讀出編程固化好的內(nèi)容,以校驗寫入內(nèi)容再按讀出方式操作,讀出編程固化好的內(nèi)容,以校驗寫入
31、內(nèi)容是否正確。是否正確。(5)編程禁止方式。)編程禁止方式。編程禁止方式輸出呈高阻狀態(tài),不寫入編程禁止方式輸出呈高阻狀態(tài),不寫入程序。程序。 9.2.2 AT89S51擴(kuò)展擴(kuò)展EPROM的接口設(shè)計的接口設(shè)計1訪問程序存儲器的控制信號訪問程序存儲器的控制信號AT89S51訪問片外程序存儲器時,控制信號有以下訪問片外程序存儲器時,控制信號有以下3個。個。35(1)ALE用于低用于低8位地址鎖存控制。位地址鎖存控制。(2)PSEN*片外程序存儲器片外程序存儲器“讀選通讀選通”控制信號。它接外控制信號。它接外擴(kuò)擴(kuò)EPROM的的OE*腳。腳。(3)EA*片內(nèi)、片外程序存儲器訪問的控制信號。片內(nèi)、片外程序
32、存儲器訪問的控制信號。EA*=1時時,在單片機(jī)發(fā)出地址小于片內(nèi)程序存儲器最大地址時,訪問片,在單片機(jī)發(fā)出地址小于片內(nèi)程序存儲器最大地址時,訪問片內(nèi)程序存儲器;當(dāng)內(nèi)程序存儲器;當(dāng)EA*= 0時,只訪問片外程序存儲器。時,只訪問片外程序存儲器。 如果指令是從片外如果指令是從片外EPROM中讀取的,除了中讀取的,除了ALE用于低用于低8位位地址鎖存信號之外,控制信號還有地址鎖存信號之外,控制信號還有PSEN*, PSEN*接外擴(kuò)接外擴(kuò)EPROM的的OE*腳。此外,還要用腳。此外,還要用P0口分時作低口分時作低8位地址總線和位地址總線和數(shù)據(jù)總線,數(shù)據(jù)總線,P2口用作高口用作高8位地址線。位地址線。由于
33、目前各種單片機(jī)片內(nèi)都集成不同容量由于目前各種單片機(jī)片內(nèi)都集成不同容量Flash ROM,擴(kuò)展,擴(kuò)展外部程序存儲器的工作可省略。但是作為外部程序存儲器的并外部程序存儲器的工作可省略。但是作為外部程序存儲器的并行擴(kuò)展基本方法,讀者還是需要了解。行擴(kuò)展基本方法,讀者還是需要了解。1AT89S51單片機(jī)與單片單片機(jī)與單片EPROM的硬件接口電路的硬件接口電路由于外擴(kuò)的由于外擴(kuò)的EPROM在正常使用中只讀不寫,故在正常使用中只讀不寫,故EPROM芯片芯片沒有寫入控制引腳,只有讀出控制引腳沒有寫入控制引腳,只有讀出控制引腳PSEN* ,該腳與,該腳與AT89S51的相連,地址線、數(shù)據(jù)線分別與的相連,地址線
34、、數(shù)據(jù)線分別與AT89S51地址線、數(shù)地址線、數(shù)據(jù)線相連,可采用線選法或譯碼法對片選端進(jìn)行控制。據(jù)線相連,可采用線選法或譯碼法對片選端進(jìn)行控制。 37 下面僅介紹下面僅介紹27128芯片與芯片與AT89S51單片機(jī)的接口。至于更大單片機(jī)的接口。至于更大容量的容量的27256、27512與單片機(jī)連接,差別只是與與單片機(jī)連接,差別只是與AT89S51連連接的地址線數(shù)目不同。接的地址線數(shù)目不同。 圖圖9-11為為AT89S51外擴(kuò)外擴(kuò)16KB的的EPROM 27128的電路,與的電路,與地址無關(guān)的電路部分未畫出。由于只擴(kuò)展一片地址無關(guān)的電路部分未畫出。由于只擴(kuò)展一片EPROM,片選,片選端端CE*可
35、直接接地,也可接到某一高位地址線上(可直接接地,也可接到某一高位地址線上(A15或或A14)進(jìn)行線選控制。當(dāng)然也可采用譯碼器法,進(jìn)行線選控制。當(dāng)然也可采用譯碼器法,CE*接到某一地址譯接到某一地址譯碼器的輸出端。碼器的輸出端。3839圖圖9-11 AT89S51單片機(jī)與單片機(jī)與27128的接口電路的接口電路2擴(kuò)展多片擴(kuò)展多片EPROM的接口電路的接口電路擴(kuò)展多片擴(kuò)展多片EPROM除片選端需區(qū)分外,其他均與單片擴(kuò)展電除片選端需區(qū)分外,其他均與單片擴(kuò)展電路相同。路相同。圖圖9-12為單片機(jī)擴(kuò)展為單片機(jī)擴(kuò)展4片片27128(共(共64KB)程序存儲)程序存儲器。片選控制信號器。片選控制信號CE*由譯
36、碼器產(chǎn)生。由譯碼器產(chǎn)生。4片片27128各自所占的地各自所占的地址空間,讀者自己分析。址空間,讀者自己分析。9.2.3 片內(nèi)片內(nèi)Flash存儲器的編程存儲器的編程如何把已調(diào)試完畢的程序代碼寫入單片機(jī)片內(nèi)如何把已調(diào)試完畢的程序代碼寫入單片機(jī)片內(nèi)Flash存儲器存儲器,即如何對,即如何對AT89S51的的Flash存儲器編程。存儲器編程。1. 片內(nèi)片內(nèi)Flash存儲器的基本特性存儲器的基本特性AT89S51單片機(jī)片內(nèi)單片機(jī)片內(nèi)4KB Flash存儲器基本性能:存儲器基本性能:40圖圖9-12 AT89S51單片機(jī)與單片機(jī)與4片片27128 EPROM128 EPROM的接口電路的接口電路(1)可循
37、環(huán)寫入)可循環(huán)寫入/擦除擦除1 000次;次;(2)存儲器數(shù)據(jù)保存時間為)存儲器數(shù)據(jù)保存時間為10年;年;(3)具有)具有3級加密保護(hù)。級加密保護(hù)。單片機(jī)芯片出廠時,單片機(jī)芯片出廠時,F(xiàn)lash存儲器為存儲器為全空白狀態(tài)(各單元均全空白狀態(tài)(各單元均為為0 xff),),可直接進(jìn)行編程。若可直接進(jìn)行編程。若Flash不全為空白狀態(tài)(單元中不全為空白狀態(tài)(單元中有不是有不是0 xff的),應(yīng)首先將芯片擦除(即各單元均為的),應(yīng)首先將芯片擦除(即各單元均為0 xff)后)后,方可向其寫入調(diào)試通過的程序代碼。,方可向其寫入調(diào)試通過的程序代碼。 AT89S51片內(nèi)片內(nèi)Flash存儲器有存儲器有3個可編
38、程加密位,定義了個可編程加密位,定義了3個加密級別,用戶只要對個加密級別,用戶只要對3個加密位:個加密位:LB1、LB2、LB3進(jìn)行編進(jìn)行編程即可實現(xiàn)程即可實現(xiàn)3個不同級別的加密。經(jīng)上述加密處理,使解密個不同級別的加密。經(jīng)上述加密處理,使解密42難度加大,但還是可以解密。現(xiàn)在還有一種非恢復(fù)性加密(難度加大,但還是可以解密?,F(xiàn)在還有一種非恢復(fù)性加密(OTP加密)方法,就是將加密)方法,就是將AT89S51的第的第31腳(腳(EA*腳)燒斷或腳)燒斷或某些數(shù)據(jù)線燒斷,經(jīng)上述處理后芯片仍正常工作,但不再具有讀某些數(shù)據(jù)線燒斷,經(jīng)上述處理后芯片仍正常工作,但不再具有讀取、擦除、重復(fù)燒寫等功能。這是一種較
39、強(qiáng)的加密手段。國內(nèi)某取、擦除、重復(fù)燒寫等功能。這是一種較強(qiáng)的加密手段。國內(nèi)某些廠家生產(chǎn)的編程器直接具有此功能(例如些廠家生產(chǎn)的編程器直接具有此功能(例如RF-1800編程器)。編程器)。如何將調(diào)試好程序?qū)懭氲狡瑑?nèi)如何將調(diào)試好程序?qū)懭氲狡瑑?nèi)Flash中,即中,即AT89S51片內(nèi)片內(nèi)Flash存儲器編程問題。存儲器編程問題。AT89S51片內(nèi)片內(nèi)Flash存儲器有低電壓編存儲器有低電壓編程(程(Vpp=5V)和高電壓編程()和高電壓編程(Vpp=12V)兩類芯片。低電壓編)兩類芯片。低電壓編程可用于在線編程,高電壓編程與一般常用的程可用于在線編程,高電壓編程與一般常用的EPROM編程器兼編程器兼
40、容。在容。在AT89S51芯片的封裝面上都標(biāo)有低電壓編程還是高電壓芯片的封裝面上都標(biāo)有低電壓編程還是高電壓編程的標(biāo)識。編程的標(biāo)識。432. Flash存儲器的編程存儲器的編程 目前常用編程方法主要兩種:使用通用編程器編程;另一是目前常用編程方法主要兩種:使用通用編程器編程;另一是使用下載型編程器編程。使用下載型編程器編程。(1)通用編程器編程)通用編程器編程 下載程序時,編程器只是將下載程序時,編程器只是將AT89S51看作看作1個待寫入程序的個待寫入程序的外部程序存儲器芯片。外部程序存儲器芯片。PC中程序代碼通過串口或中程序代碼通過串口或USB口與口與PC連接,并有相應(yīng)服務(wù)程序。在編程器與連
41、接,并有相應(yīng)服務(wù)程序。在編程器與PC連接好后,運行連接好后,運行44服務(wù)程序,在服務(wù)程序中先選擇所要編程的單片機(jī)型號,再調(diào)服務(wù)程序,在服務(wù)程序中先選擇所要編程的單片機(jī)型號,再調(diào)入程序代碼文件,就將調(diào)試通過的程序代碼燒錄到片內(nèi)入程序代碼文件,就將調(diào)試通過的程序代碼燒錄到片內(nèi)Flash中。用戶只需在市場上購買現(xiàn)編程器即可完成上述工作。以常中。用戶只需在市場上購買現(xiàn)編程器即可完成上述工作。以常見燒錄見燒錄Atmel公司的單片機(jī)芯片的公司的單片機(jī)芯片的A51編程器為例,介紹編程編程器為例,介紹編程器基本功能。器基本功能。 AT89S51程序代碼(程序代碼(.hex目標(biāo)文件)在目標(biāo)文件)在PC中與在線仿
42、真器中與在線仿真器以及用戶目標(biāo)板一起調(diào)試通過后,必須寫入到以及用戶目標(biāo)板一起調(diào)試通過后,必須寫入到AT89S51片內(nèi)的片內(nèi)的閃爍存儲器中。閃爍存儲器中。 (a)支持燒錄的芯片型號)支持燒錄的芯片型號 A51編程器可燒錄編程器可燒錄Atmel公司系列單片機(jī)芯片,性能穩(wěn)定,公司系列單片機(jī)芯片,性能穩(wěn)定,燒錄速度快。可燒錄的芯片型號有:燒錄速度快??蔁浀男酒吞栍校?Atmel(40 PIN) 89C51、89C52、89C55、89S51、89S52、87F51(OTP)、)、89LV52; Atmel(20 PIN) 89C1051、89C2051、89C4051; 華邦華邦8051芯片芯片
43、W78E51、W78E52。(b)A51編程器特性編程器特性 編程器通過串口與編程器通過串口與PC機(jī)通訊,芯片型號自動判別,編程過機(jī)通訊,芯片型號自動判別,編程過程中的擦除、燒寫、校驗等操作完全由編程器上的監(jiān)控芯片程中的擦除、燒寫、校驗等操作完全由編程器上的監(jiān)控芯片89C51控制,不受控制,不受PC機(jī)影響,燒寫速度很快且與機(jī)影響,燒寫速度很快且與PC機(jī)檔次無機(jī)檔次無關(guān),燒寫成功率高。關(guān),燒寫成功率高。46 編程器與編程器與PC機(jī)采用機(jī)采用57600高速波特率進(jìn)行串行數(shù)據(jù)傳送高速波特率進(jìn)行串行數(shù)據(jù)傳送, 燒寫燒寫速度很快,穩(wěn)定,編程速度可與一般并行編程器相媲美,經(jīng)測試速度很快,穩(wěn)定,編程速度可與
44、一般并行編程器相媲美,經(jīng)測試,燒寫一片,燒寫一片4K字節(jié)的字節(jié)的Flash ROM的的AT89C51僅需要僅需要9.5S,而讀,而讀取和校驗僅需要取和校驗僅需要3.5S。 A51編程器供電部分是采用編程器供電部分是采用USB線直接與線直接與PC機(jī)相連,使用機(jī)相連,使用USB端口端口5V電源,并加入電源,并加入USB接口保護(hù)電路,即自恢復(fù)保險絲,不怕接口保護(hù)電路,即自恢復(fù)保險絲,不怕操作短路。操作短路。 軟件界面友好,全中文操作,提供加密功能。軟件界面友好,全中文操作,提供加密功能。 功能完善,具有編程、讀取、校驗、空檢查、擦除、加密等功能完善,具有編程、讀取、校驗、空檢查、擦除、加密等系列功能
45、系列功能; A51編程器外形見編程器外形見圖圖9-13,采用,采用40腳和腳和20腳鎖緊插座,可燒腳鎖緊插座,可燒寫寫40腳和腳和20腳單片機(jī)芯片。所有器件全部以第腳單片機(jī)芯片。所有器件全部以第1腳對齊。可自動腳對齊??勺詣铀阉鞑⒆R別插座上的器件型號。采用優(yōu)質(zhì)的萬用鎖緊插座,克服搜索并識別插座上的器件型號。采用優(yōu)質(zhì)的萬用鎖緊插座,克服接觸不良等問題。接觸不良等問題。 內(nèi)部有自升壓電路,產(chǎn)生精確的內(nèi)部有自升壓電路,產(chǎn)生精確的12V編程電壓;改進(jìn)燒寫深度編程電壓;改進(jìn)燒寫深度確保每一單片機(jī)芯片反復(fù)燒寫達(dá)確保每一單片機(jī)芯片反復(fù)燒寫達(dá)1000次以上,內(nèi)部數(shù)據(jù)至少保次以上,內(nèi)部數(shù)據(jù)至少保存存10年。年。
46、4849圖圖9-13 A51編程器的外形編程器的外形(c)A51編程器的使用編程器的使用 安裝軟件,把相關(guān)軟件拷貝到硬盤中。安裝軟件,把相關(guān)軟件拷貝到硬盤中。 使用串口通訊電纜見使用串口通訊電纜見圖圖9-14(a),),將將PC機(jī)與編程器的串口機(jī)與編程器的串口通訊插座連接好;使用通訊插座連接好;使用USB電纜見電纜見圖圖9-14(b),),把把PC機(jī)機(jī)USB口與編程器口與編程器USB口連好,口連好,50 (a)串口通訊電纜)串口通訊電纜 (b)USB電源線電源線圖圖9-14 編程器與編程器與PC機(jī)連接電纜機(jī)連接電纜編程器直接使用編程器直接使用PC機(jī)機(jī)USB口提供的電源。此時編程器上口提供的電源
47、。此時編程器上LED燈亮,表明電源接通。燈亮,表明電源接通。 運行軟件啟動后,會自動檢測硬件及連接,狀態(tài)框中顯示運行軟件啟動后,會自動檢測硬件及連接,狀態(tài)框中顯示“就緒就緒” ,表示編程器連接及設(shè)置均正常,否則應(yīng)檢查硬件連接,表示編程器連接及設(shè)置均正常,否則應(yīng)檢查硬件連接及其端口設(shè)置。把單片機(jī)芯片正確地插在編程器相應(yīng)插座上,及其端口設(shè)置。把單片機(jī)芯片正確地插在編程器相應(yīng)插座上,芯片缺口要朝把手方向。然后就可進(jìn)行編程操作了,芯片編程芯片缺口要朝把手方向。然后就可進(jìn)行編程操作了,芯片編程操作界面見操作界面見圖圖9-15。51圖圖9-15 編程操作界面編程操作界面編程按以下步驟進(jìn)行:編程按以下步驟進(jìn)
48、行: 程序運行,先選擇器件(點擊下選框選擇);程序運行,先選擇器件(點擊下選框選擇); 用用“打開文件打開文件”,選擇打開要寫入的,選擇打開要寫入的.hex文件和文件和.BIN文件;文件; 用用“保存文件保存文件”,可以保存讀出來的文件;,可以保存讀出來的文件; 用用“擦除器件擦除器件”,擦除芯片;,擦除芯片; 用用“寫器件寫器件”對芯片編程;對芯片編程; 用用“讀器件讀器件”讀取芯片中的程序,加密的讀不出來;讀取芯片中的程序,加密的讀不出來; 用用“校驗數(shù)據(jù)校驗數(shù)據(jù)”檢查編程正確與否;檢查編程正確與否; 用用“自動完成自動完成”自動執(zhí)行以上各步驟;自動執(zhí)行以上各步驟; 用用“加密加密”選擇加
49、密的級別;選擇加密的級別;(2)ISP編程編程AT89S5x系列支持對片內(nèi)系列支持對片內(nèi)Flash存儲器存儲器在線編程(在線編程(ISP)。)。即即在電路板上的被編程的空白器件可直接寫入程序代碼,已編程在電路板上的被編程的空白器件可直接寫入程序代碼,已編程器件也可用器件也可用ISP方式擦除或再編程。方式擦除或再編程。ISP下載編程器可自行制作,也可在電子市場購買。下載編程器可自行制作,也可在電子市場購買。ISP下載編程器與單片機(jī)一端連接的端口通常采用下載編程器與單片機(jī)一端連接的端口通常采用ATMEL公公司提供的接口標(biāo)準(zhǔn),即司提供的接口標(biāo)準(zhǔn),即10引腳的引腳的IDC端口。端口。圖圖9-16為為I
50、DC端口端口實物圖及端口定義。實物圖及端口定義。 ISP下載程序時,用戶板須裝有下載程序時,用戶板須裝有IDC端口,端口中的信號線必端口,端口中的信號線必須與目標(biāo)板上須與目標(biāo)板上AT89S51的對應(yīng)引腳連接。注意,圖中的的對應(yīng)引腳連接。注意,圖中的8腳腳P1.4(SS*)端只對)端只對AT89LP系列單片機(jī)有效,對系列單片機(jī)有效,對AT89S5x54圖圖9-16 IDC端口的實物圖及端口定義端口的實物圖及端口定義系列無效,不用連接即可。系列無效,不用連接即可。 ISP下載編程器,可自行制作,只需幾個簡單元件及連線即下載編程器,可自行制作,只需幾個簡單元件及連線即可。也可采用市售的可。也可采用市
51、售的ISP下載型編程器下載型編程器ISPro,購買,購買ISPro時,時,會隨機(jī)贈送安裝光盤。用戶運行安裝程序會隨機(jī)贈送安裝光盤。用戶運行安裝程序SETUP.exe即可即可,在在桌面上建立一個桌面上建立一個“ISPro.exe下載型編程器下載型編程器”圖標(biāo),雙擊該圖圖標(biāo),雙擊該圖標(biāo),即可啟動編程軟件。標(biāo),即可啟動編程軟件。ISPro下載型編程器參照使用說明書下載型編程器參照使用說明書操作即可。操作即可。上面介紹兩種程序下載方法,就單片機(jī)發(fā)展方向而言,已趨上面介紹兩種程序下載方法,就單片機(jī)發(fā)展方向而言,已趨向于向于ISP程序下載方式,一方面由于原有不支持程序下載方式,一方面由于原有不支持ISP下
52、載的芯片下載的芯片逐漸被淘汰(大部分已經(jīng)停產(chǎn)),另一方面逐漸被淘汰(大部分已經(jīng)停產(chǎn)),另一方面ISP使用起來十分使用起來十分方便,而不用增加太多成本就可實現(xiàn)程序下載,所以方便,而不用增加太多成本就可實現(xiàn)程序下載,所以ISP下載下載方式已經(jīng)逐步成為主流。方式已經(jīng)逐步成為主流。569.3 外部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器RAM的并行擴(kuò)展的并行擴(kuò)展AT89S51片內(nèi)有片內(nèi)有128B RAM,如不能滿足需要,須擴(kuò)展外部,如不能滿足需要,須擴(kuò)展外部數(shù)據(jù)存儲器。在單片機(jī)系統(tǒng)中,外擴(kuò)的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器。在單片機(jī)系統(tǒng)中,外擴(kuò)的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器數(shù)據(jù)存儲器SRAM。AT89S51對外部數(shù)據(jù)
53、存儲器訪問,由對外部數(shù)據(jù)存儲器訪問,由P2口提供高口提供高8位地址,位地址,P0口分時提供低口分時提供低8位地址和位地址和8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM的讀和寫由的讀和寫由AT89S51的的 RD*(P3.7)和)和WR*(P3.6)信)信號控制,而片外程序存儲器號控制,而片外程序存儲器EPROM的輸出端允許(的輸出端允許(OE*)由)由AT89S51單片機(jī)的讀選通信號單片機(jī)的讀選通信號PSEN*控制。盡管與控制。盡管與EPROM地地址空間范圍都相同,但由于是兩個不同空間,控制信號不同,址空間范圍都相同,但由于是兩個不同空間,控制信號不同,故不會發(fā)生數(shù)據(jù)沖
54、突。故不會發(fā)生數(shù)據(jù)沖突。579.3.1 常用的靜態(tài)常用的靜態(tài)RAM(SRAM)芯片)芯片單片機(jī)系統(tǒng)中常用單片機(jī)系統(tǒng)中常用RAM典型芯片有典型芯片有6116(2KB)、)、6264(8KB)、)、62128(16KB)、)、62256(32KB)。)。 都單一都單一+5V電源供電,雙列直插,電源供電,雙列直插,6116為為24引腳,引腳,6264、62128、62256為為28引腳。引腳。RAM芯片引腳見圖芯片引腳見圖9-17。各引腳功能如下。各引腳功能如下。A0A14地址輸入線。地址輸入線。D0D7雙向三態(tài)數(shù)據(jù)線。雙向三態(tài)數(shù)據(jù)線。CE*片選信號輸入線,低電平有效。對于片選信號輸入線,低電平有效
55、。對于6264芯片,當(dāng)芯片,當(dāng)24腳(腳(CS)為高電平且為低電平時才選中該片。)為高電平且為低電平時才選中該片。 OE*讀選通信號輸入線,低電平有效。讀選通信號輸入線,低電平有效。 WE*寫允許信號輸入線,低電平有效。寫允許信號輸入線,低電平有效。 VCC工作電源工作電源+5V。 GND地地5960圖圖9-17 常用常用RAM引腳引腳9.3.2 并行擴(kuò)展并行擴(kuò)展RAM的擴(kuò)展接口的擴(kuò)展接口訪問外擴(kuò)數(shù)據(jù)存儲器,要由訪問外擴(kuò)數(shù)據(jù)存儲器,要由P2口提供高口提供高8位地址,位地址,P0口提口提供低供低8位地址和位地址和8位雙向數(shù)據(jù)總線。位雙向數(shù)據(jù)總線。AT89S51對片外對片外RAM的讀的讀和寫由和寫
56、由AT89S51的的RD* 和和WR*信號控制,片選端信號控制,片選端CE*由地由地址譯碼器譯碼輸出控制。因此,接口設(shè)計主要解決地址址譯碼器譯碼輸出控制。因此,接口設(shè)計主要解決地址RAM存儲器有讀出、寫入、維持存儲器有讀出、寫入、維持3種工作方式,見表種工作方式,見表9-5。61分配、數(shù)據(jù)線和控制信號線的連接。如讀分配、數(shù)據(jù)線和控制信號線的連接。如讀/寫速度要求較高,寫速度要求較高,還要考慮單片機(jī)與還要考慮單片機(jī)與RAM的讀的讀/寫速度匹配問題。寫速度匹配問題。 圖圖9-18為線選法擴(kuò)展外部為線選法擴(kuò)展外部RAM的電路。的電路。 RAM選用選用6264,地,地址線為址線為A0A12,故,故AT
57、89S51剩余地址線為剩余地址線為3條。用線選法可條。用線選法可擴(kuò)展擴(kuò)展3片片6264,3片片6264的存儲器空間如表的存儲器空間如表9-6所示。所示。62圖圖9-18 線選法擴(kuò)展外部數(shù)據(jù)存儲器電路圖線選法擴(kuò)展外部數(shù)據(jù)存儲器電路圖64用譯碼法擴(kuò)展外部用譯碼法擴(kuò)展外部RAMRAM接口電路見接口電路見圖圖9-19。圖中。圖中RAM選用選用62128,該芯片地址線為,該芯片地址線為A0 0A13,這樣,這樣,AT89S51剩余地址線剩余地址線為兩條,采用為兩條,采用2- -4譯碼器可擴(kuò)展譯碼器可擴(kuò)展4片片62128。各。各62128芯片地址范圍芯片地址范圍見表見表9-7。圖圖9-19 譯碼法擴(kuò)展外部
58、數(shù)據(jù)存儲器電路圖譯碼法擴(kuò)展外部數(shù)據(jù)存儲器電路圖66表表9-7各各62128芯片的地址空間分配芯片的地址空間分配【例例9-1】編寫程序?qū)⑵鈹?shù)據(jù)存儲器中的編寫程序?qū)⑵鈹?shù)據(jù)存儲器中的0 x50000 x50000 x50FF0 x50FF的的256個單元全部清個單元全部清“0”。參考程序:。參考程序:xdata unsigned char databuf256 _at_0 x5000;void main(void) unsigned char i;for(i=0;i256;i+) databufi=0 9.4 AT89S51擴(kuò)展并行擴(kuò)展并行I/O芯片芯片82C55的設(shè)計的設(shè)計 AT89S51本身
59、有本身有4個通用的并行個通用的并行I/O口口P0P3,但真正用作,但真正用作通用通用I/O口線的只有口線的只有P1口和口和P3口某些位線。當(dāng)口某些位線。當(dāng)AT89S51本身本身4個并行個并行I/O口不夠用時,需進(jìn)行外部口不夠用時,需進(jìn)行外部I/O接口擴(kuò)展。本節(jié)介紹接口擴(kuò)展。本節(jié)介紹AT89S51單片機(jī)擴(kuò)展可編程并行單片機(jī)擴(kuò)展可編程并行I/O接口芯片接口芯片82C55的設(shè)計。此的設(shè)計。此外還介紹使用廉價的外還介紹使用廉價的74LSTTL芯片擴(kuò)展并行芯片擴(kuò)展并行I/O接口以及使用接口以及使用AT89S51串行口來擴(kuò)展并行串行口來擴(kuò)展并行I/O口的設(shè)計??诘脑O(shè)計。9.4.1 I/O接口擴(kuò)展概述接口擴(kuò)
60、展概述 由本章前面介紹可知,擴(kuò)展由本章前面介紹可知,擴(kuò)展I/O接口與擴(kuò)展存儲器一樣,都接口與擴(kuò)展存儲器一樣,都屬于系統(tǒng)擴(kuò)展屬于系統(tǒng)擴(kuò)展67的內(nèi)容。擴(kuò)展的的內(nèi)容。擴(kuò)展的I/O接口作為單片機(jī)與外設(shè)交換信息的橋梁,應(yīng)接口作為單片機(jī)與外設(shè)交換信息的橋梁,應(yīng)滿足以下功能要求。滿足以下功能要求。(1)實現(xiàn)和不同外設(shè)的速度匹配)實現(xiàn)和不同外設(shè)的速度匹配 多數(shù)外設(shè)速度慢,無法和多數(shù)外設(shè)速度慢,無法和s級單片機(jī)比。單片機(jī)只有在確認(rèn)級單片機(jī)比。單片機(jī)只有在確認(rèn)外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備前提下才進(jìn)行數(shù)據(jù)傳送。要知道外外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備前提下才進(jìn)行數(shù)據(jù)傳送。要知道外設(shè)是否準(zhǔn)備好,就需設(shè)是否準(zhǔn)備好,就需I/O接口電
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端智能車庫所有權(quán)轉(zhuǎn)讓合同模板
- 車庫租賃及新能源汽車充電設(shè)備租賃合同范本
- 拆遷補(bǔ)償居間代理合同范本
- 車輛購置獎勵及售后服務(wù)保障合同
- 股權(quán)激勵方案T公司部分股權(quán)轉(zhuǎn)讓合同
- 文化創(chuàng)意園區(qū)場地合作經(jīng)營合同
- 拆遷安置補(bǔ)償與新建住宅買賣合同
- 離婚協(xié)議中成年子女撫養(yǎng)權(quán)分配及財產(chǎn)分割合同
- 特種車輛租賃與安全服務(wù)管理協(xié)議
- 高端商務(wù)寫字樓租賃安全協(xié)議書
- 2025年上半年高級軟件水平考試系統(tǒng)架構(gòu)設(shè)計師(案例分析)真題及解析
- 保潔協(xié)議書合同范本
- 2025餐飲服務(wù)員勞動合同模板
- GB/T 45576-2025網(wǎng)絡(luò)安全技術(shù)網(wǎng)絡(luò)安全保險應(yīng)用指南
- 2025屆高三高考押題預(yù)測卷 物理(黑吉遼蒙卷03) 含解析
- 2025部編版語文二年級下冊第八單元測試卷(含答案)
- 天津2025年中國醫(yī)學(xué)科學(xué)院放射醫(yī)學(xué)研究所第一批招聘筆試歷年參考題庫附帶答案詳解
- 教育咨詢保密協(xié)議書
- 2025年黃山旅游發(fā)展股份有限公司春季招聘75人筆試參考題庫附帶答案詳解
- 2025年安全知識競賽題庫及答案(共200題)
- 哈爾濱歷史文化課件
評論
0/150
提交評論