項(xiàng)目6點(diǎn)陣式廣告屏課件_第1頁
項(xiàng)目6點(diǎn)陣式廣告屏課件_第2頁
項(xiàng)目6點(diǎn)陣式廣告屏課件_第3頁
項(xiàng)目6點(diǎn)陣式廣告屏課件_第4頁
項(xiàng)目6點(diǎn)陣式廣告屏課件_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

“十二五”職業(yè)教育國家規(guī)劃教材單片機(jī)原理與接口技術(shù)(第五版)DANPIANJIYUANLIYUJIEKOUJISHU單片機(jī)系統(tǒng)擴(kuò)展大連理工大學(xué)出版社李明畢萬新主編“十二五”職業(yè)教育國家規(guī)劃教材單片機(jī)原理與接口技術(shù)(第五版項(xiàng)目規(guī)劃12認(rèn)識(shí)單片機(jī)的三總線345利用三總線擴(kuò)展程序存儲(chǔ)器利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器簡單并行I/O接口的擴(kuò)展6可編程并行I/O口的擴(kuò)展首前后項(xiàng)目規(guī)劃12認(rèn)識(shí)單片機(jī)的三總線345利用三總線擴(kuò)展程序存儲(chǔ)器點(diǎn)陣式廣告屏的制作調(diào)試和改進(jìn)7910利用其他串行總線擴(kuò)展單片機(jī)點(diǎn)陣式LED廣告屏的電路設(shè)計(jì)點(diǎn)陣式廣告屏的程序設(shè)計(jì)8首前后點(diǎn)陣式廣告屏的制作調(diào)試和改進(jìn)7910利用其他串行總線擴(kuò)展單片利用單片機(jī)控制點(diǎn)陣式廣告屏。顯示數(shù)字、字符和漢字,可以根據(jù)需要改變顯示內(nèi)容。項(xiàng)目規(guī)劃利用單片機(jī)控制點(diǎn)陣式廣告屏。顯示數(shù)字、字符和漢字,可以根項(xiàng)目規(guī)劃實(shí)施方案利用單片機(jī)的三總線對單片機(jī)擴(kuò)展存儲(chǔ)器和并行口,驅(qū)動(dòng)LED點(diǎn)陣發(fā)光以顯示各種字符和圖形。還要利用串行口與PC機(jī)(上位機(jī))聯(lián)系,以便改變顯示內(nèi)容。項(xiàng)目規(guī)劃實(shí)施方案利用單片機(jī)的三總線對單片機(jī)擴(kuò)展存儲(chǔ)器和并1.三總線的形成,擴(kuò)展方法,具體擴(kuò)展電路2.LED點(diǎn)陣以及驅(qū)動(dòng)3.系統(tǒng)其它擴(kuò)展方法及應(yīng)用舉例項(xiàng)目規(guī)劃1.三總線的形成,擴(kuò)展方法,具體擴(kuò)展電路項(xiàng)目規(guī)劃

1.使用軟件設(shè)計(jì)電路圖、編寫并調(diào)試程序2.使用工具制作電路板并測試其正確性3.軟硬件聯(lián)調(diào),完成要求功能項(xiàng)目規(guī)劃1.使用軟件設(shè)計(jì)電路圖、編寫并調(diào)試程序項(xiàng)目規(guī)劃說明靜態(tài)文字和圖形顯示(或緩慢變化)。不涉及視頻和彩色顯示。參考樣本:光盤仿真文件:點(diǎn)陣16X16X3.DSN項(xiàng)目規(guī)劃首前后說明靜態(tài)文字和圖形顯示(或緩慢變化)。不涉及視頻和彩色顯

看了圖片,對LED點(diǎn)陣式顯示屏有了回憶吧,幾乎到處都是。他的內(nèi)部什么樣子?工作原理如何?我能制作出這種東西嗎?相信完成本項(xiàng)目以后就會(huì)有明確答案。其實(shí),現(xiàn)在就可以告訴你,LED屏內(nèi)部控制器就是單片機(jī)。只不過,需要擴(kuò)展大量的I/O接口。項(xiàng)目規(guī)劃首前后看了圖片,對LED點(diǎn)陣式顯示屏有了回憶吧,幾乎到處都是。項(xiàng)目規(guī)劃單片機(jī)總是需要和外部設(shè)備配合來完成各種任務(wù),單片機(jī)和各種外設(shè)之間的電路,就稱之為接口電路。本書名《單片機(jī)原理與接口技術(shù)》,就是要在介紹單片機(jī)之后,要進(jìn)入接口技術(shù)的廣闊天地。要不然,學(xué)了單片機(jī)也沒什么用。以前的項(xiàng)目多少用了一點(diǎn)接口技術(shù)的知識(shí),現(xiàn)在開始,就要化主要精力來研究接口技術(shù)啦!首先介紹三總線,利用三總線擴(kuò)展各種并行接口的器件,這時(shí)就可以看懂前面的電路圖了。還要介紹一些串行接口的器件及其與51單片機(jī)的接口方法,然后就可以設(shè)計(jì)我們自己的LED屏控制器了。首前后項(xiàng)目規(guī)劃單片機(jī)總是需要和外部設(shè)備配合來完成各種任務(wù),單片機(jī)和認(rèn)識(shí)單片機(jī)的三總線任務(wù)6.1

認(rèn)識(shí)單片機(jī)的三總線任務(wù)6.1單片機(jī)應(yīng)用范圍極其廣泛,需求五花八門。應(yīng)對的方法,除了選用和研制新的單片機(jī),就是對現(xiàn)有的單片機(jī)進(jìn)行擴(kuò)展。MCS-51系列單片機(jī)的擴(kuò)展主要提供了傳統(tǒng)的三總線并行擴(kuò)展的能力,此外還有串行口也可用來擴(kuò)展。首前后單片機(jī)應(yīng)用范圍極其廣泛,需求五花八門。應(yīng)對的方法總線就是連接系統(tǒng)中各擴(kuò)展部件的一組公共信號線。按照功能可分為地址總線AB、數(shù)據(jù)總線DB和控制總線CB。整個(gè)擴(kuò)展系統(tǒng)以單片機(jī)為核心,通過總線把各擴(kuò)展部件連接起來,各擴(kuò)展部件“掛”在總線之上。擴(kuò)展內(nèi)容包括ROM、RAM、和I/O接口電路等。因?yàn)閿U(kuò)展是在單片機(jī)芯片之外進(jìn)行的,通常稱擴(kuò)展的ROM為外部ROM,稱擴(kuò)展的RAM為外部RAM。必須指出:MCS-51系列單片機(jī)外部擴(kuò)展I/O接口時(shí),其地址是與外部RAM統(tǒng)一編址的。換句話說,外部擴(kuò)展的I/O接口要占用外部RAM的地址。典型的單片機(jī)擴(kuò)展系統(tǒng)結(jié)構(gòu)見圖6-3。●認(rèn)識(shí)單片機(jī)的三總線6.1.1MCS-51系列單片機(jī)的三總線概述首前后總線就是連接系統(tǒng)中各擴(kuò)展部件的一組公共信號線。典型的單片機(jī)擴(kuò)展系統(tǒng)結(jié)構(gòu)圖6.1.1MCS-51系列單片機(jī)的三總線概述●認(rèn)識(shí)單片機(jī)的三總線首前后典型的單片機(jī)擴(kuò)展系統(tǒng)結(jié)構(gòu)圖6.1.1MCS-51系列單片機(jī)地址總線(AddressBus,AB)地址總線用于傳送單片機(jī)送出的地址信號,以便進(jìn)行存儲(chǔ)單元和I/O端口的選擇。地址總線是單向的,只能由單片機(jī)向外發(fā)出。地址總線的數(shù)目決定著可以直接訪問的存儲(chǔ)單元的數(shù)目。N位地址可以產(chǎn)生2N個(gè)連續(xù)地址編碼,可訪問2N個(gè)存儲(chǔ)單元。通常也說尋址范圍為2N個(gè)地址單元。MCS-51單片機(jī)有16根地址線,存儲(chǔ)器或I/O接口擴(kuò)展最多可達(dá)64KB,即216個(gè)地址單元。6.1.1MCS-51系列單片機(jī)的三總線概述●認(rèn)識(shí)單片機(jī)的三總線地址總線(AddressBus,AB)6.1.1MCS-數(shù)據(jù)總線(DataBus,DB)數(shù)據(jù)總線用于在單片機(jī)與存儲(chǔ)器之間或單片機(jī)與I/O端口之間傳送數(shù)據(jù)。數(shù)據(jù)總線是雙向的,可以進(jìn)行兩個(gè)方向的數(shù)據(jù)傳送。單片機(jī)系統(tǒng)數(shù)據(jù)總線的位數(shù)與單片機(jī)處理數(shù)據(jù)的字長一致。MCS-51單片機(jī)字長為8位,所以它的數(shù)據(jù)總線位數(shù)也是8位。6.1.1MCS-51系列單片機(jī)的三總線概述●認(rèn)識(shí)單片機(jī)的三總線首前后數(shù)據(jù)總線(DataBus,DB)6.1.1MCS-51系控制總線(ControlBus,CB)控制總線實(shí)際上就是一組控制信號線,包括由單片機(jī)發(fā)出的控制信號,以及從其他部件送給單片機(jī)的請求信號和狀態(tài)信號。每一條控制信號線的傳送方向經(jīng)常是單向的,是固定的,但由不同方向的控制信號線組合的控制總線則表示為雙向。總線結(jié)構(gòu)形式大大減少了單片機(jī)系統(tǒng)中傳輸線的數(shù)目,提高了系統(tǒng)的可靠性,增加了系統(tǒng)的靈活性。另外,總線結(jié)構(gòu)也使擴(kuò)展易于實(shí)現(xiàn),只要符合總線規(guī)范的各功能部件都可以很方便地接入系統(tǒng),實(shí)現(xiàn)單片機(jī)的擴(kuò)展。6.1.1MCS-51系列單片機(jī)的三總線概述●認(rèn)識(shí)單片機(jī)的三總線首前后控制總線(ControlBus,CB)6.1.1MCS-MCS-51系列單片機(jī)可以利用P0口、P2口和P3口的部分口線的第二功能形成三總線。如圖6-4所示。6.1.2MCS-51系列單片機(jī)的三總線形成●認(rèn)識(shí)單片機(jī)的三總線首前后MCS-51系列單片機(jī)可以利用P0口、P2MCS-51系列單片機(jī)可以利用P0口、P2口和P3口的部分口線的第二功能形成三總線。這是項(xiàng)目1的時(shí)候介紹三總線的圖形●認(rèn)識(shí)單片機(jī)的三總線圖1-22三總線構(gòu)成示意圖6.1.2MCS-51系列單片機(jī)的三總線形成首前后MCS-51系列單片機(jī)可以利用P0口、P2口和P3口的部分口

P0口線用作數(shù)據(jù)線/低8位地址線P0口線的第二功能具有地址線/數(shù)據(jù)線分時(shí)復(fù)用功能。在訪問片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置。在一個(gè)片外存儲(chǔ)器讀寫周期中,首先P0口輸出低8位地址(A0—A7),然后以ALE為鎖存控制信號,選擇高電平或下降沿觸發(fā)的8D觸發(fā)器作地址鎖存器(通常使用鎖存器是74LS373或INTEL的8282),確保低8位地址信息在消失前被送入鎖存器暫存起來并輸出,作為地址總線的低8位(A7~A0),直到訪問周期結(jié)束。地址信號被鎖存之后,P0口轉(zhuǎn)換為數(shù)據(jù)線,以便傳輸數(shù)據(jù),直到訪問周期結(jié)束。從而實(shí)現(xiàn)了對地址和數(shù)據(jù)的分離?!裾J(rèn)識(shí)單片機(jī)的三總線6.1.2MCS-51系列單片機(jī)的三總線形成首前后P0口線用作數(shù)據(jù)線/低8位地址線●認(rèn)識(shí)單片機(jī)的三總線6.P2口線用作高8位地址線P2口線第二功能用于高8位地址線的擴(kuò)展。在訪問片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置。由于P2口的第二功能只具有地址線擴(kuò)展的功能,在一個(gè)片外存儲(chǔ)器讀寫周期中,P2口線始終輸出地址總線的高8位,可直接與存儲(chǔ)器或接口芯片的地址線相連,無需鎖存。P2與P0共同提供了16根地址線,實(shí)現(xiàn)了MCS-51單片機(jī)系統(tǒng)64KB(216)的尋址范圍。表6-1所示為P2和P0口線與地址線的對應(yīng)關(guān)系?!裾J(rèn)識(shí)單片機(jī)的三總線6.1.2MCS-51系列單片機(jī)的三總線形成A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P2口線用作高8位地址線●認(rèn)識(shí)單片機(jī)的三總線6.1.2M控制信號構(gòu)成系統(tǒng)的控制總線的控制信號包括:ALE(30)是鎖存信號,用于進(jìn)行P0口地址線和數(shù)據(jù)線的分離。PSEN(29)是片外程序存儲(chǔ)器讀選通控制信號。RD(17)、WR(16)分別是外部數(shù)據(jù)存儲(chǔ)器的讀、寫選通控制信號。EA(31)是程序存儲(chǔ)器訪問控制信號。當(dāng)它為低電平時(shí),對程序存儲(chǔ)器的訪問僅限于外部存儲(chǔ)器;為高電平時(shí),對程序存儲(chǔ)器的訪問從單片機(jī)的內(nèi)部存儲(chǔ)器開始,超過片內(nèi)存儲(chǔ)器地址時(shí)自動(dòng)轉(zhuǎn)向外部存儲(chǔ)器?!裾J(rèn)識(shí)單片機(jī)的三總線6.1.2MCS-51系列單片機(jī)的三總線形成首前后控制信號●認(rèn)識(shí)單片機(jī)的三總線6.1.2MCS-51系列單●認(rèn)識(shí)單片機(jī)的三總線6.1.3利用三總線擴(kuò)展單片機(jī)系統(tǒng)的方法用于對單片機(jī)擴(kuò)展的器件一般都具有能夠與單片機(jī)相適應(yīng)的三總線接口,即數(shù)據(jù)線、地址線和控制線。一般在使用時(shí)將接口器件的三總線與單片機(jī)的三總線相連即可。在具體器件連接時(shí),可能還需一點(diǎn)輔助電路來配合工作,比如譯碼器等。后續(xù)內(nèi)容會(huì)根據(jù)實(shí)際需要來介紹具體的連接方法。首前后●認(rèn)識(shí)單片機(jī)的三總線6.1.3利用三總線擴(kuò)展單片機(jī)系統(tǒng)的利用三總線擴(kuò)展程序存儲(chǔ)器(只讀存儲(chǔ)器)任務(wù)6.2

利用三總線擴(kuò)展程序存儲(chǔ)器(只讀存儲(chǔ)器)任務(wù)6.2半導(dǎo)體存儲(chǔ)器可以分為只讀存儲(chǔ)器ROM和隨機(jī)存儲(chǔ)器RAM2大類。只讀存儲(chǔ)器內(nèi)容掉電不丟,在工作時(shí)不能改寫,在單片機(jī)中用于存儲(chǔ)程序和常數(shù),8051片內(nèi)就有4K字節(jié)的ROM。隨機(jī)存儲(chǔ)器的內(nèi)容可以在工作時(shí)隨機(jī)改寫,但是掉電就丟,8051內(nèi)部有128字節(jié)的RAM,(其他寄存器不算在內(nèi))。單片機(jī)的這些存儲(chǔ)器如果不夠用,就需要外部擴(kuò)展。將只讀存儲(chǔ)芯片連接到構(gòu)造好的系統(tǒng)總線上,就完成了程序存儲(chǔ)器的擴(kuò)展。下面以8031單片機(jī)擴(kuò)展1片2764為例,說明程序存儲(chǔ)器擴(kuò)展。任何器件在使用之前,都要對其特性了解清楚。先看看2764的特性,然后連接。半導(dǎo)體存儲(chǔ)器可以分為只讀存儲(chǔ)器ROM和隨機(jī)存儲(chǔ)器RAM2大●利用三總線擴(kuò)展程序存儲(chǔ)器

6.2.1典型的只讀存儲(chǔ)器芯片Intel2764Intel2764是一種+5V的8K字節(jié)UVEPROM存儲(chǔ)器芯片(光擦除電改寫)。其中,27是系列號,64與它的存儲(chǔ)容量有關(guān)(64K位,8K字節(jié))。這個(gè)系列的產(chǎn)品與存儲(chǔ)容量的對關(guān)系如表6-2所示,此處只對Intel2764進(jìn)行介紹●利用三總線擴(kuò)展程序存儲(chǔ)器6.2.1典型的只讀存儲(chǔ)器芯片Intel2764是一種+5V的8K字節(jié)UVEPROM存儲(chǔ)器芯片(光擦除電改寫)。其中,27是系列號,64與它的存儲(chǔ)容量有關(guān)(64K位,8K字節(jié))。這個(gè)系列的產(chǎn)品與存儲(chǔ)容量的對關(guān)系如表6-2所示,此處只對Intel2764進(jìn)行介紹。●利用三總線擴(kuò)展程序存儲(chǔ)器

6.2.1典型的只讀存儲(chǔ)器芯片Intel2764首前后Intel2764是一種+5V的8K字節(jié)UVEPROM存1.引腳功能2764是28引腳的UVEPROM,存儲(chǔ)容量為8KB,其引腳如圖6-5所示。2764的第26腳為NC,表示不用。A0~A12是13根地址線O7~O0是2764的8條數(shù)據(jù)線,也有標(biāo)志為D7~D0的。OE是輸出允許信號,用戶控制。高電平時(shí),使數(shù)據(jù)線處于高阻態(tài);低電平時(shí),數(shù)據(jù)線處于讀出狀態(tài)。CE是片選信號,用于控制本芯片是否工作。高電平時(shí),本片不工作;低電平時(shí),選中本片工作。圖6-52764引腳圖PGM是編程脈沖輸入線。用于控制本片處于正常工作狀態(tài)還是編程狀態(tài)。高電平時(shí),本片處于正常工作狀態(tài)。若給它輸入一個(gè)50ms的負(fù)脈沖,則它與Vpp引腳上的21V高壓配合使芯片處于編程狀態(tài)?!窭萌偩€擴(kuò)展程序存儲(chǔ)器

6.2.1典型的只讀存儲(chǔ)器芯片Intel2764首前后1.引腳功能●利用三總線擴(kuò)展程序存儲(chǔ)器6.2.1典型的只

2.工作方式2764共有五種工作方式,表6-3列出了2764的工作狀態(tài)和相應(yīng)引腳線上電平的關(guān)系。●利用三總線擴(kuò)展程序存儲(chǔ)器

6.2.1典型的只讀存儲(chǔ)器芯片Intel2764首前后2.工作方式●利用三總線擴(kuò)展程序存儲(chǔ)器6.2.1典型(1)8031的引腳P0.7~P0.0不經(jīng)過鎖存器與2764的數(shù)據(jù)線D7~D0相連,完成數(shù)據(jù)線擴(kuò)展。(2)8031的引腳P0.7~P0.0經(jīng)過鎖存器與2764的地址線A7~A0相連,P2.4~P0.0直接與2764的地址線A12~A8相連,完成地址線擴(kuò)展。(3)8031的程序存儲(chǔ)器訪問控制端PSEN與2764的輸出允許端OE相連完成控制線的擴(kuò)展。(4)8031的引腳P2.6經(jīng)非門與2764片選端CE相連,進(jìn)行芯片選擇控制。這種接法可以稱為線選法。(5)8031沒有片內(nèi)程序存儲(chǔ)器,對程序的訪問完全在片外進(jìn)行,因此將其EA端接地。擴(kuò)展后的邏輯結(jié)構(gòu)如圖6-6所示。6.2.2單片機(jī)與2764的連線●利用三總線擴(kuò)展程序存儲(chǔ)器

首前后(1)8031的引腳P0.7~P0.0不經(jīng)過鎖存器與2764擴(kuò)展后的邏輯結(jié)構(gòu)如圖6-6所示●利用三總線擴(kuò)展程序存儲(chǔ)器

6.2.2單片機(jī)與2764的連線首前后擴(kuò)展后的邏輯結(jié)構(gòu)如圖6-6所示●利用三總線擴(kuò)展程序存儲(chǔ)根據(jù)圖6-6的電路接法,P2.7、P2.5與尋址無關(guān),均設(shè)為“1”。P2.6經(jīng)非門與片選端相連,當(dāng)它為“1”時(shí),可使片選端有效。這種利用一根地址線與存儲(chǔ)器的片選端相連的方法稱為線選法。根據(jù)圖中的接線分析,此片2764地址范圍是0E000H~0FFFFH。地址范圍的分析參見表6-4。6.2.3確定存儲(chǔ)器的地址范圍●利用三總線擴(kuò)展程序存儲(chǔ)器

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0NCENA12A11A10A9A8A7A6A5A4A3A2A1A011100000000000001111111111111111表中第一行是單片機(jī)的地址信號端口引腳,其中P0的地址信號要經(jīng)過鎖存器鎖存輸出表中第二行代表單片機(jī)的地址線(三總線之一)表中第三行代表EPROM2764的引腳與單片機(jī)地址線對應(yīng)引腳相連,N代表無關(guān),不連。表中第四行代表EPROM2764工作時(shí)單片機(jī)應(yīng)該輸出電平,對應(yīng)最小地址E000H表中第五行代表EPROM2764工作時(shí)單片機(jī)應(yīng)該輸出電平,對應(yīng)最大地址FFFFH其余在最小地址與最大地址之間的地址(E001H~FFFEH),變化的只是A0~A12地址線的數(shù)值。首前后根據(jù)圖6-6的電路接法,P2.7、P2.5與尋址無關(guān),均設(shè)為在確定芯片的地址范圍時(shí),對未使用的P2口線可以任意設(shè)置,這就出現(xiàn)了多個(gè)地址對應(yīng)同一個(gè)存儲(chǔ)單元的情況,稱為地址重復(fù)。比如將P2.5和P2.7設(shè)為0,則第三行的最小地址為4000H,第四行的最大地址為5FFFH,這時(shí)EPROM2764地址范圍是4000H~5FFFH。在只有一片2764的情況下,用哪個(gè)地址都是一樣的?!窭萌偩€擴(kuò)展程序存儲(chǔ)器

6.2.3確定存儲(chǔ)器的地址范圍在確定芯片的地址范圍時(shí),對未使用的P2口線可以任意設(shè)置,這就●利用三總線擴(kuò)展程序存儲(chǔ)器

如果改變EPROM2764的片選信號線的接法,則需要重新分析地址范圍。比如,在圖6-6中,單片機(jī)的P2.6不經(jīng)過反相器,也就是P2.6直接連接到2764的片選信號CE端,且不用的2個(gè)引腳P2.7和P2.5都設(shè)置為0,則這個(gè)2764的地址范圍就是0000H~1FFFH。其他芯片地址范圍的確定,可以參照以上的這種分析方法。對于擴(kuò)展多片程序存儲(chǔ)器的情況,可以考慮使用線選法或譯碼法,此處暫不介紹,因?yàn)檫x用一片27512就可以達(dá)到64KB,滿足一般需求。6.2.3確定存儲(chǔ)器的地址范圍●利用三總線擴(kuò)展程序存儲(chǔ)器如果改變EPROM2764的片目的:擴(kuò)展程序存儲(chǔ)器內(nèi)容:仿照圖6-6的接法,將CE直接接地,外部擴(kuò)展一片EPROM2764,其地址范圍在0000-1FFFH之間,實(shí)驗(yàn)查表指令的執(zhí)行。讀取2764中從地址1000H單元開始的30個(gè)字節(jié)的數(shù)據(jù),存放入片內(nèi)RAM中,從地址40H開始存放,然后轉(zhuǎn)入片外2764中地址1000H地址執(zhí)行程序。2764中程序的功能是,在P1口輸出0—F不斷變化的數(shù)據(jù),用數(shù)碼管顯示這個(gè)數(shù)據(jù)。操作步驟:利用proteus軟件設(shè)計(jì)擴(kuò)展2764的電路圖。編寫程序如下:●利用三總線擴(kuò)展程序存儲(chǔ)器

程序訪問目的:擴(kuò)展程序存儲(chǔ)器●利用三總線擴(kuò)展程序存儲(chǔ)器程序訪●利用三總線擴(kuò)展程序存儲(chǔ)器

程序訪問;擴(kuò)2764A.ASM,這個(gè)程序裝入AT89C51.ORG0000HMOVR7,#30MOVR0,#40HMOVA,#0MOVDPTR,#01000HLP:MOVCA,@A+DPTRMOV@R0,AINCR0INCDPTRMOVA,#0DJNZR7,LPLJMP1000HEND●利用三總線擴(kuò)展程序存儲(chǔ)器程序訪問;擴(kuò)2764A.A●利用三總線擴(kuò)展程序存儲(chǔ)器

程序訪問;擴(kuò)2764B.ASM,裝入2764;程序的功能是,;在P1口輸出0—F不斷變化的數(shù)據(jù),;用數(shù)碼管顯示這個(gè)數(shù)據(jù)。

ORG1000HMOVR2,#0MOVA,R2STAR:MOVP1,AINCR2MOVA,R2ANLA,#0FHSJMPSTAREND仿真文件:擴(kuò)2764.DSN,利用此文件還可以觀察單片機(jī)的三總線時(shí)序。注意:對于具有片內(nèi)程序存儲(chǔ)器的單片機(jī)芯片,EA的連接因應(yīng)用的需要而定?!窭萌偩€擴(kuò)展程序存儲(chǔ)器程序訪問;擴(kuò)2764B.A利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器任務(wù)6.3

利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器任務(wù)6.3●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展也可以利用MCS-51系列單片機(jī)的三總線來擴(kuò)展。這里以8051擴(kuò)展一片Intel6264為例來介紹擴(kuò)展方法?!窭萌偩€擴(kuò)展數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展也可以利用M6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264Intel6264是一種靜態(tài)RAM芯片。其中,62是系列號,64與它的存儲(chǔ)容量有關(guān),是說明其中有64K位的存儲(chǔ)容量。8位作為一個(gè)存儲(chǔ)單元(字節(jié)),共有8K字節(jié)。這個(gè)系列的產(chǎn)品有62128是16K字節(jié),62256是32K字節(jié)等。此處著重對Intel6264進(jìn)行介紹?!窭萌偩€擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264In1.引腳功能6264、62128、62256都是28引腳的靜態(tài)RAM,其引腳如圖6-7所示。6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

首前后1.引腳功能6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264的存儲(chǔ)容量為8KB,有13根地址線A12~A0。62128的存儲(chǔ)容量為16KB,是6264的2倍,比6264多1條地址線,因此62128的第26腳為A13。62256的存儲(chǔ)量為32KB,是6264的4倍,比6264多2條地址線,因此62256的第26腳為A13、第1腳為A14。D7~D0是6264的8條數(shù)據(jù)線。OE是輸出允許信號,控制從6264中讀出數(shù)據(jù)是否送到數(shù)據(jù)線上,低電平有效。WE是寫選通信號,控制6264是否處于寫入狀態(tài),低電平寫有效。CS1和CS1是片選信號,用于控制本芯片是否工作。CS1為高電平、CS1為低電平時(shí),選中本片工作;否則本片不工作。6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

首前后6264的存儲(chǔ)容量為8KB,有13根地址線A12~A0。622.工作方式6264共有五種工作方式,表6-5列出了6264的工作狀態(tài)和相應(yīng)引腳線上電平的關(guān)系。6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel6264●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

首前后2.工作方式6.3.1典型的隨機(jī)存取存儲(chǔ)器芯片Intel下面以8051單片機(jī)擴(kuò)展1片6264為例,說明數(shù)據(jù)存儲(chǔ)器擴(kuò)展。見圖6-86.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

首前后下面以8051單片機(jī)擴(kuò)展1片6264為例,說明數(shù)據(jù)存儲(chǔ)器擴(kuò)展1.邏輯連線①數(shù)據(jù)線擴(kuò)展,同程序存儲(chǔ)器。②地址線擴(kuò)展,同程序存儲(chǔ)器。③8051的數(shù)據(jù)存儲(chǔ)器讀訪問控制端RD與6264的輸出允許端OE相連,數(shù)據(jù)存儲(chǔ)器寫訪問控制端WR與6264寫選通信號端WE相連完成控制線的擴(kuò)展。④片選信號,直接連接固定電平。2.地址范圍P2.7~P2.5與尋址無關(guān),均設(shè)為“1”。因此,此片6264的地址范圍是0E000H~0FFFFH。如果把P2.6設(shè)為1,P2.5設(shè)為0,P2.7設(shè)為0,則其地址為04000H~05FFFH。這3位還可以設(shè)為另外的值,地址就不同了。這就出現(xiàn)了重復(fù)地址,使用那一個(gè)都可以,效果相同。見圖6-86.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

首前后1.邏輯連線6.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展●利用目的:擴(kuò)展數(shù)據(jù)存儲(chǔ)器內(nèi)容:單片機(jī)片外擴(kuò)展一片6264,其地址范圍是:4000H--5FFFH。首先向6264的4100H開始的10個(gè)字節(jié)寫入數(shù)據(jù),;然后把寫入的數(shù)據(jù)讀出來,寫入片內(nèi)RAM10H開始的地址。此實(shí)驗(yàn)也可以觀察單片機(jī)訪問片外數(shù)據(jù)存儲(chǔ)器的時(shí)序操作步驟:1、畫圖2、編程●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展目的:擴(kuò)展數(shù)據(jù)存儲(chǔ)器●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器擴(kuò)展數(shù)據(jù)存儲(chǔ)●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

擴(kuò)展數(shù)據(jù)存儲(chǔ)器;擴(kuò)6264.ASM,此程序裝入單片機(jī)(1)

ORG0000hMAIN:MOVA,#0A1H;準(zhǔn)備寫入的數(shù)據(jù)

MOVR7,#10;字節(jié)數(shù)

MOVDPTR,#4100H;寫入6264的地址L1:MOVX@DPTR,A;寫入數(shù)據(jù)

INCA;數(shù)據(jù)加1INCDPTR;地址加1DJNZR7,L1;循環(huán)10次6.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器擴(kuò)展數(shù)據(jù)存儲(chǔ)器;擴(kuò)6264.AS●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

擴(kuò)展數(shù)據(jù)存儲(chǔ)器;擴(kuò)6264.ASM,此程序裝入單片機(jī)(2)MOVR7,#10;準(zhǔn)備讀10次

MOVR1,#10H;準(zhǔn)備保存地址

MOVDPTR,#4100H;讀6264地址L2:MOVXA,@DPTR;讀出數(shù)據(jù)

MOV@R1,A;保存

INCR1;INCDPTR;DJNZR7,L2;循環(huán)10次

SJMPMAIN;從頭開始

END參看光盤仿真文件:擴(kuò)6264.DSN。也可以在偉福軟件里查看XDATA窗口和DATA窗口的內(nèi)容。6.3.2數(shù)據(jù)存儲(chǔ)器(隨機(jī)存儲(chǔ)器)擴(kuò)展首前后●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器擴(kuò)展數(shù)據(jù)存儲(chǔ)器;擴(kuò)6264.ASMCS-51單片機(jī)對ROM的訪問指令是MOVC,對外部ROM的控制信號是PSEN。MCS-51單片機(jī)對外部RAM的訪問指令是MOVX,對外部RAM的控制信號是WR、RD。因?yàn)閱纹瑱C(jī)的所有工作都是在控制信號的作用下完成的,不同的控制信號意味著不同的操作,所以外部ROM和外部RAM不存在“爭地址”的問題,即二者的地址范圍可以重疊?!窭萌偩€擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器注意:控制信號相同的芯片爭地址,控制信號不同的芯片不爭地址。爭地址的芯片需要進(jìn)行片選控制,不爭地址的芯片可以不進(jìn)行片選控制。MCS-51單片機(jī)對ROM的訪問指令是MOVC,對外部ROM目的:練習(xí)三總線使用內(nèi)容:8051單片機(jī)同時(shí)擴(kuò)展一片2764和一片6264。操作步驟:1.畫出擴(kuò)展的邏輯連線,如圖6-9所示。2.地址范圍分析:具體方法可以參照表6-4.(1)外部ROM和RAM之間不爭地址。(2)只有一片2764,沒有控制信號相同的同類芯片與它爭地址。2764的8條數(shù)據(jù)線連接到單片機(jī)P0口。2764存儲(chǔ)容量為8KB,地址線13根。地址線A0~A12連接到單片機(jī)擴(kuò)展的地址線,片選直接接地,于是2764的地址范圍可以認(rèn)為是在0000H~1FFFH;如果將不用的地址線A13~A15看成111,則2764的地址范圍可以是E000H~FFFFH??刂瓶偩€只有OE,連接到單片機(jī)的PSEN?!窭萌偩€擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后目的:練習(xí)三總線使用●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和目的:練習(xí)三總線使用內(nèi)容:8051單片機(jī)同時(shí)擴(kuò)展一片2764和一片6264。操作步驟:1.畫出擴(kuò)展的邏輯連線,如圖6-9所示。2.地址范圍分析:具體方法可以參照表6-4.(3)只有一片6264,沒有同類芯片與它爭地址。6264有地址線13根。6264芯片按照圖中電路接法:單片機(jī)地址線A0-A12與6264地址線對應(yīng)相連。單片機(jī)地址線A13與6264的CE相連,必須低電平;單片機(jī)地址線A14與6264的CS相連,必須高電平,于是6264的地址范圍是4000H--5FFFH(或者是C000H-DFFFH)。地址總線采用了線選法。數(shù)據(jù)總線由P0口到D0--D7??刂瓶偩€有RD和WR?!窭萌偩€擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后目的:練習(xí)三總線使用●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3操作步驟:3.編程訪問:本程序首先向6264的4100H開始的10個(gè)字節(jié)寫入數(shù)據(jù),然后把寫入的數(shù)據(jù)讀出來,寫入片內(nèi)RAM10H開始的地址。再然后調(diào)用一段放在片外程序存儲(chǔ)器2764中的子程序(擴(kuò)2764C.ASM),其功能是使P1.0到P1.3輸出二進(jìn)制數(shù)0到F。在P1.0--P1.3接一個(gè)帶譯碼器的數(shù)碼管顯示0到F,以判斷是否執(zhí)行了子程序。這個(gè)子程序帶有返回功能,執(zhí)行完會(huì)返回主程序。主程序重新執(zhí)行一次后,又調(diào)用子程序,又可以看到數(shù)碼管從0變化到F。如此循環(huán)不已。目的是觀察單片機(jī)訪問片外存儲(chǔ)器的時(shí)序●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后操作步驟:●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3同時(shí)擴(kuò)展程操作步驟:;擴(kuò)622764.ASM,本程序裝入單片機(jī)(1)ORG0000HMAIN:MOVA,#0A1H;準(zhǔn)備寫入的數(shù)據(jù)

MOVR7,#10;字節(jié)數(shù)

MOVDPTR,#4100H;寫入6264的地址L1:MOVX@DPTR,A;寫入數(shù)據(jù)

INCA;數(shù)據(jù)加1INCDPTR;地址加1DJNZR7,L1;循環(huán)10次●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后操作步驟:●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3同時(shí)擴(kuò)展程操作步驟:;擴(kuò)622764.ASM,本程序裝入單片機(jī)(2)MOVR7,#10;準(zhǔn)備讀10次

MOVR1,#10H;準(zhǔn)備保存地址

MOVDPTR,#4100H;讀6264地址L2:MOVXA,@DPTR;讀出數(shù)據(jù)

MOV@R1,A;保存

INCR1;下次保存地址

INCDPTR;下次讀數(shù)地址

DJNZR7,L2;循環(huán)10次

LCALL1000H;調(diào)用2764中的子程序,P1口從0到F循環(huán)變化顯示

SJMPMAIN;從頭開始

END●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后操作步驟:●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器6.3.3同時(shí)擴(kuò)展程【技能訓(xùn)練6-3】同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器下面的程序是存儲(chǔ)在2764中的子程序,;其功能是使P1.0到P1.3輸出二進(jìn)制數(shù)0到F。在P1.0--P1.3接一個(gè)帶譯碼器的數(shù)碼管顯示0到F,以判斷是否執(zhí)行了子程序。;擴(kuò)2764C.ASM,本程序裝入2764;可以在此期間觀察觀察單片機(jī)訪問片外程序存儲(chǔ)器的時(shí)序。

ORG1000H;此地址超出單片機(jī)片內(nèi)4KB范圍

MOVR2,#0;準(zhǔn)備從P1口輸出的數(shù)據(jù)

MOVA,R2;送給AccMOVR6,#16;循環(huán)16次STAR:MOVP1,A;從P1口輸出

INCR2;數(shù)據(jù)加1MOVA,R2;送給AccANLA,#0FH;高位清零

DJNZR6,STAR;判斷次數(shù),不到繼續(xù)

RET;次數(shù)到,返回

END●利用三總線擴(kuò)展數(shù)據(jù)存儲(chǔ)器

6.3.3同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器首前后【技能訓(xùn)練6-3】同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器●利用三總簡單并行I/O接口的擴(kuò)展任務(wù)6.4

簡單并行I/O接口的擴(kuò)展任務(wù)6.4LED屏控制器的程序比較長,數(shù)據(jù)比較多,所以要擴(kuò)展存儲(chǔ)器。除了存儲(chǔ)器之外,需要的I/O口也很多,所以還需要I/O口的擴(kuò)展。MCS-51系列單片機(jī)共有4個(gè)8位并行的I/O口,但這些I/O口有時(shí)候不能完全提供給用戶。只有片內(nèi)資源夠用,不需要使用這4個(gè)并行口的第二功能時(shí),才允許全部使用這4個(gè)I/O口。然而對于需要外部擴(kuò)展存儲(chǔ)器的用戶來說,能夠使用的I/O口只有P1口和部分P3口線。或者需要使用特別多的I/O口線時(shí),都需要進(jìn)行I/O口的擴(kuò)展?!窈唵尾⑿蠭/O接口的擴(kuò)展

LED屏控制器的程序比較長,數(shù)據(jù)比較多,所以要擴(kuò)展存儲(chǔ)器所有擴(kuò)展的I/O口或相當(dāng)于I/O的外設(shè)以及通過I/O口連接的外設(shè),均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,訪問I/O口的指令就是訪問外部數(shù)據(jù)存儲(chǔ)器的指令(MOVX)。對于數(shù)據(jù)存儲(chǔ)器來說,或者是單片機(jī)讀取存儲(chǔ)器的數(shù)據(jù),或者是單片機(jī)將數(shù)據(jù)寫入存儲(chǔ)器,而單片機(jī)與外設(shè)所能進(jìn)行的無非是數(shù)據(jù)的輸入或輸出,也就是單片機(jī)與外設(shè)進(jìn)行的只是數(shù)據(jù)的傳輸,所以,外設(shè)或I/O口可當(dāng)作數(shù)據(jù)存儲(chǔ)器一樣進(jìn)行擴(kuò)展。●簡單并行I/O接口的擴(kuò)展

所有擴(kuò)展的I/O口或相當(dāng)于I/O的外設(shè)以及通過I/O口連接的1.單片機(jī)I/O口擴(kuò)展方法單片機(jī)應(yīng)用系統(tǒng)中,擴(kuò)展并行I/O的方法主要有以下兩種:

(1)三總線擴(kuò)展方法也就是利用三總線來擴(kuò)展I/O口。采用總線擴(kuò)展的方法是將擴(kuò)展的并行I/0口芯片連接到MCS-51單片機(jī)的三總線上,也即數(shù)據(jù)總線使用P0口,地址總線使用P2和P0口,控制總線使用部分P3口。這種擴(kuò)展方法基本上不影響總線上其他擴(kuò)展芯片的連接,在MCS-51系列單片機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中被廣泛采用。6.4.1I/O接口擴(kuò)展概述●簡單并行I/O接口的擴(kuò)展

1.單片機(jī)I/O口擴(kuò)展方法6.4.1I/O接口擴(kuò)展概述●1.單片機(jī)I/O口擴(kuò)展方法單片機(jī)應(yīng)用系統(tǒng)中,擴(kuò)展并行I/O的方法主要有以下兩種:

(2)串行口擴(kuò)展方法MCS-51單片機(jī)串行口工作在方式0時(shí),提供一種I/O擴(kuò)展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器擴(kuò)展并行輸出口,也可通過外接并入串出的移位寄存器擴(kuò)展并行輸入口。這種擴(kuò)展方法不占用并行總線且可以通過擴(kuò)展多個(gè)并行I/O。由于采用串行輸入輸出的方法,所以數(shù)據(jù)傳輸速度相對較慢。這在項(xiàng)目5中有詳細(xì)介紹。6.4.1I/O接口擴(kuò)展概述●簡單并行I/O接口的擴(kuò)展

1.單片機(jī)I/O口擴(kuò)展方法6.4.1I/O接口擴(kuò)展概述●2.并行I/O擴(kuò)展常用芯片MCS-51單片機(jī)應(yīng)用系統(tǒng)中I/O擴(kuò)展芯片主要有TTL/CMOS鎖存器/緩沖器芯片、通用可編程I/O接口芯片和可編程門陣列等。(1)TTL/CMOS鎖存器/緩沖器芯片:如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等;(2)通用可編程I/O接口芯片:如8255、8155、8279等;(3)可編程陣列:如GALl6V8、GAL20V8等。6.4.1I/O接口擴(kuò)展概述●簡單并行I/O接口的擴(kuò)展

2.并行I/O擴(kuò)展常用芯片6.4.1I/O接口擴(kuò)展概述●3.I/O擴(kuò)展中應(yīng)注意的幾個(gè)問題(1)訪問擴(kuò)展I/O的方法與訪問外部數(shù)據(jù)存儲(chǔ)器完全相同,使用相同的指令。所有擴(kuò)展的I/O與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,分配給I/O端口的地址不能再分配給片外數(shù)據(jù)存儲(chǔ)單元,且與程序存儲(chǔ)器無關(guān);(2)擴(kuò)展多片I/O芯片或多個(gè)I/O設(shè)備時(shí),注意總線的驅(qū)動(dòng)器能力問題;(3)擴(kuò)展I/O口的目的是為了單片機(jī)與外部設(shè)備進(jìn)行信息交換而設(shè)置的一個(gè)輸入輸出通道,I/O口最終與外設(shè)相連,I/O擴(kuò)展時(shí)必須考慮與之相連的外設(shè)硬件特性,如驅(qū)動(dòng)器功率、電平、干擾抑制及隔離等;(4)在軟件設(shè)計(jì)時(shí),I/O口對應(yīng)初始狀態(tài)設(shè)置、工作方式選擇要與外接設(shè)備相匹配。6.4.1I/O接口擴(kuò)展概述●簡單并行I/O接口的擴(kuò)展

3.I/O擴(kuò)展中應(yīng)注意的幾個(gè)問題6.4.1I/O接口擴(kuò)展概采用TTL或CMOS電路的鎖存器、緩沖器、三態(tài)門通過P0口可構(gòu)成各種類型的輸入輸出口。這類I/O接口具有電路簡單,成本低,配置靈活方便等特點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中被廣泛地應(yīng)用。1.擴(kuò)展并行輸出口通過P0口擴(kuò)展輸出口時(shí),鎖存器的端口地址被視做外部RAM的地址單元,輸出控制信號為WR,使用MOVX@DPTR,A指令輸出數(shù)據(jù)。為防止單片機(jī)在對外部RAM及其他外圍設(shè)備輸出數(shù)據(jù)時(shí)對它的影響,應(yīng)選擇帶有使能控制的鎖存器。6.4.2擴(kuò)展簡單并行接口●簡單并行I/O接口的擴(kuò)展

采用TTL或CMOS電路的鎖存器、緩沖器、三態(tài)門通過P01.擴(kuò)展并行輸出口(1)用74LS374擴(kuò)展并行輸出口首先弄清芯片的特性。74LS374是帶有輸出允許端的8D鎖存器,有8個(gè)輸入端口、8個(gè)輸出端口、1個(gè)時(shí)鐘輸入端CLK(上升沿有效)和1個(gè)輸出允許控制端OE。其功能如表6-6所示,在OE=0時(shí),通過CLK端上升沿信號將數(shù)據(jù)從輸入端D打入鎖存器,Q端保持D端的8位數(shù)據(jù)。應(yīng)注意74LS374具有三態(tài)輸出,當(dāng)控制端OE為高電平時(shí),輸出為高阻態(tài),將失去鎖存器中緩存的數(shù)據(jù)。所以在與單片機(jī)相連時(shí),D端與P0相連,WR與CLK相連,OE輸出允許端作為片選控制與地相連,始終允許。如圖6-10所示,由于沒有使用一根地址線,則其地址為任意?!窈唵尾⑿蠭/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口1.擴(kuò)展并行輸出口●簡單并行I/O接口的擴(kuò)展6.4.2擴(kuò)其功能如表6-6所示,在OE=0時(shí),通過CLK端上升沿信號將數(shù)據(jù)從輸入端D打入鎖存器,Q端保持D端的8位數(shù)據(jù)。表6-674LS374●簡單并行I/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口輸入輸出OECLKDQLHHLLLLLXQ0HXXZ首前后其功能如表6-6所示,在OE=0時(shí),通過CLK端上升1.擴(kuò)展并行輸出口

(1)用74LS374擴(kuò)展并行輸出口注意74LS374具有三態(tài)輸出,當(dāng)控制端OE為高電平時(shí),輸出為高阻態(tài),將失去鎖存器中緩存數(shù)據(jù)。所以在與單片機(jī)相連時(shí),D端與P0連,WR與CLK相連,OE輸出允許端作為片選控制與地相連,始終允許。

如圖6-10所示,由于沒有使用一根地址線,則其地址為任意?!窈唵尾⑿蠭/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口首前后1.擴(kuò)展并行輸出口●簡單并行I/O接口的擴(kuò)展6.4.2擴(kuò)●簡單并行I/O接口的擴(kuò)展

1.擴(kuò)展并行輸出口(1)用74LS374擴(kuò)展并行輸出口若以圖6-10為接口電路,將片內(nèi)RAM地址為50H單元的數(shù)據(jù)通過該電路輸出,程序清單如下:MOVDPTR,#0000H;數(shù)據(jù)指針指向74LS374地址,其值任意MOVA,50H;輸出的50H單元數(shù)據(jù)送累加器AMOVX@DPTR,A;PO口將數(shù)據(jù)通過74LS377輸出74LS377也是8D邊沿觸發(fā)器,其功能與74LS374相似,但是沒有三態(tài)輸出功能,其輸出驅(qū)動(dòng)能力也比74LS374差。其實(shí),8D觸發(fā)器還有許多,實(shí)際工作可以根據(jù)需要選用最合適的產(chǎn)品作為并行口擴(kuò)展器件。6.4.2擴(kuò)展簡單并行接口首前后●簡單并行I/O接口的擴(kuò)展1.擴(kuò)展并行輸出口6.4.2擴(kuò)2.擴(kuò)展并行輸入口并行輸入擴(kuò)展口比較簡單,只需采用8位緩沖器即可。常用的緩沖器有74LS245,其功能如表6-7所示。74LS245為雙向總線緩沖器,有一個(gè)控制端AB/BA選擇數(shù)據(jù)傳送方向,當(dāng)AB/BA=1時(shí),從A到B,當(dāng)AB/BA=0時(shí),數(shù)據(jù)從B到A傳送?!窈唵尾⑿蠭/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口

輸入

輸出CEAB/BA

方向LH從A到BLL從B到AHX

高阻首前后2.擴(kuò)展并行輸入口●簡單并行I/O接口的擴(kuò)展6.4.2擴(kuò)2.擴(kuò)展并行輸入口74LS245為雙向總線緩沖器,有一個(gè)控制端AB/BA選擇數(shù)據(jù)傳送方向,當(dāng)AB/BA=1時(shí),從A到B,當(dāng)AB/BA=0時(shí),數(shù)據(jù)從B到A傳送。并行輸入接口與單片機(jī)連接如圖6-11示。圖中P3.7引腳RD控制74LS245的CE端,讀的時(shí)候才允許工作,否則高阻。地址任意?!窈唵尾⑿蠭/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口首前后2.擴(kuò)展并行輸入口●簡單并行I/O接口的擴(kuò)展6.4.2擴(kuò)2.擴(kuò)展并行輸入口如圖6-11所示,擴(kuò)展并行輸入口,將輸入口中的8位數(shù)據(jù)送片內(nèi)51H單元,程序清單如下:MOVDPTR,#7FFFH;數(shù)據(jù)指針指向74LS245,地址任意MOVXA,@DPTR;外部數(shù)據(jù)經(jīng)過74LS245送入累加器AMOV51H,A;數(shù)據(jù)送51H單元保存●簡單并行I/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口2.擴(kuò)展并行輸入口●簡單并行I/O接口的擴(kuò)展6.4.2擴(kuò)3.同時(shí)擴(kuò)展輸入輸出接口將74LS374和74LS245同時(shí)連接單片機(jī),電路如圖6-12所示●簡單并行I/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口首前后3.同時(shí)擴(kuò)展輸入輸出接口●簡單并行I/O接口的擴(kuò)展6.4.3.同時(shí)擴(kuò)展輸入輸出接口圖6-12的輸入輸出接口電路,這里輸入采用三態(tài)門74LS245,輸出采用8D觸發(fā)器(鎖存器)74HC374,P0口為雙向數(shù)據(jù)線,既能從74LS245輸入數(shù)據(jù),又能將數(shù)據(jù)通過74LS374輸出。輸出控制信號WR為0電平時(shí),將P0口數(shù)據(jù)鎖存到74LS374,其輸出控制著發(fā)光二極管LED,當(dāng)某線輸出為0時(shí),該線上的LED發(fā)光。輸入控制信號RD為0電平時(shí),選通74LS245,將外部信息輸入到總線。與245相連的按鍵開關(guān)沒有按下時(shí),輸入全為1;若按下某鍵則所在的線輸入為0??梢?,輸入輸出都是任意地址。但是由于分別用RD和WR信號控制,因此不會(huì)發(fā)生沖突?!窈唵尾⑿蠭/O接口的擴(kuò)展

注意:系統(tǒng)中若有其它擴(kuò)展的RAM或I/O口,則可用線選法或地址譯碼法將地址空間分開。6.4.2擴(kuò)展簡單并行接口首前后3.同時(shí)擴(kuò)展輸入輸出接口●簡單并行I/O接口的擴(kuò)展3.同時(shí)擴(kuò)展輸入輸出接口圖6-12的輸入輸出接口電路正如前面所提到的,擴(kuò)展I/O口是和擴(kuò)展外部RAM一樣,因此訪問外部I/O口就像訪問外部RAM一樣,用的是MOVX類指令。對于圖6-12,如果需要實(shí)現(xiàn)的功能是按下任意一個(gè)按鍵,對應(yīng)的LED發(fā)光,則程序如下:LOOP:MOVDPTR,#0FEFFH;數(shù)據(jù)指針指向擴(kuò)展I/O地址任意

MOVXA,@DPTR;從245讀入數(shù)據(jù),檢測按鍵

MOVX@DPTR,A;向374輸出數(shù)據(jù),驅(qū)動(dòng)LEDSJMPLOOP;循環(huán)

參看仿真項(xiàng)目:簡單I/O口擴(kuò)展.DSN

●簡單并行I/O接口的擴(kuò)展

6.4.2擴(kuò)展簡單并行接口首前后3.同時(shí)擴(kuò)展輸入輸出接口●簡單并行I/O接口的擴(kuò)展6.4.項(xiàng)目1的節(jié)日彩燈控制器,每個(gè)輸出口線串聯(lián)了5個(gè)LED,這5個(gè)燈要亮一起亮,要滅一起滅,控制性能不理想。這里來個(gè)80路LED,每一路都單獨(dú)控制。我們經(jīng)??吹接械拇笮湍藓鐭簦泻芏酂?,每一只燈都是單獨(dú)控制,可以設(shè)計(jì)出非常漂亮的效果?,F(xiàn)在,我們設(shè)計(jì)一個(gè)80路的霓虹燈控制電路。用單片機(jī)來實(shí)現(xiàn)這個(gè)要求是很容易的,只要擴(kuò)展10個(gè)8位并行口,控制80只燈亮滅就可以了。電路原理圖如圖6-14所示。6.4.3使用地址譯碼器擴(kuò)展I/O接口●簡單并行I/O接口的擴(kuò)展

首前后項(xiàng)目1的節(jié)日彩燈控制器,每個(gè)輸出口線串聯(lián)了5個(gè)LED●簡單并行I/O接口的擴(kuò)展

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后●簡單并行I/O接口的擴(kuò)展6.4.3使用地址譯碼器擴(kuò)展I電路中使用了地址譯碼器74154,它是個(gè)4線—16線譯碼器,輸入4位二進(jìn)制數(shù),輸出的16條線中只有與二進(jìn)制數(shù)對應(yīng)的一條是低電平,其余都是高電平。圖6-13是引腳排列圖,表6-8是其真值表。E1和E2是控制信號輸入端,低電平有效。當(dāng)E1E2不全低電平,輸出為全1。●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后電路中使用了地址譯碼器74154,它是個(gè)4線—16線6-8真值表●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后6-8真值表●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用地址譯按照圖6-14中電路,所有并行口的數(shù)據(jù)線并聯(lián)在P0口上,地址線只使用了A8、A9、A10、A11,接在譯碼器的輸入端A、B、C、D,所以與其他地址線無關(guān),可以取任意值。以未用地址設(shè)為0,則有:第一個(gè)并行口的地址為0000H,第二個(gè)并行口的地址為0100H第三個(gè)并行口的地址為0200H,其余以此類推圖6-1374154的引腳圖在執(zhí)行MOVX@DPTR,A指令時(shí),寫(WR)信號有效(低電平接在譯碼器的控制端E1)使得譯碼器工作,根據(jù)輸入的地址ABCD的值確定輸出端Y0~Y15的某個(gè)輸出低電平,控制對應(yīng)輸出并行口器件74LS374工作,將數(shù)據(jù)線送來的數(shù)據(jù)信號鎖存并輸出,控制對應(yīng)的LED亮滅?!襁h(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后按照圖6-14中電路,所有并行口的數(shù)據(jù)線并聯(lián)在P0口上,地址在只使用一個(gè)4-16位譯碼器的情況下,最多可以擴(kuò)展到16個(gè)并行口,共有128路。如果使用多個(gè)4-16位譯碼器,則可以擴(kuò)展很多的路數(shù)。由于地址線A0~A7沒有使用,故圖6-14中省略了地址鎖存器74LS373。如用了地址鎖存器74LS373來將地址A0~A7線引出,譯碼器74LS154的輸入信號A、B、C、D分別連接到A0~A3上,那就改變了這些擴(kuò)展的并行口的地址。如果將未用地址設(shè)為0,這時(shí)第一個(gè)并行口的地址就是0000H,第二個(gè)并行口的地址就是0001H,第三個(gè)并行口的地址就是0002H,依此類推,第九個(gè)并行口的地址就是0009H,第十個(gè)并行口的地址就是000AH。這樣做的結(jié)果是多用了一個(gè)芯片74LS373,節(jié)省了單片機(jī)的P2口的4個(gè)口線,可以根據(jù)實(shí)際情況選擇一個(gè)最好的方案應(yīng)用?!襁h(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后在只使用一個(gè)4-16位譯碼器的情況下,最多可以擴(kuò)展到16個(gè)并在圖6-14電路的基礎(chǔ)之上,可編寫控制程序如下:模擬霓虹燈程序本程序作為上述電路的測試程序,只有幾個(gè)簡單花樣。如果測試成功,可以編寫更多更好的花樣?!襁h(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后在圖6-14電路的基礎(chǔ)之上,可編寫控制程序如下:●遠(yuǎn)程控制在圖6-14電路的基礎(chǔ)之上,可編寫控制程序如下:模擬霓虹燈程序本程序作為上述電路的測試程序,只有幾個(gè)簡單花樣。如果測試成功,可以編寫更多更好的花樣?!襁h(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后在圖6-14電路的基礎(chǔ)之上,可編寫控制程序如下:●遠(yuǎn)程控制模擬霓虹燈程序(1)MAIN:NOPLCALLHY1;間隔亮10次

LCALLHY3;全滅

LCALLDELAY400MS;延時(shí)

LCALLHY4;全亮

LCALLDELAY400MS;延時(shí)

LCALLHY3;全滅

LCALLDELAY400MS;延時(shí)

LCALLHY4;全亮

LCALLDELAY400MSLCALLHY3;全滅

LCALLDELAY400MSLCALLHY2;從左到右亮,然后從右到左滅

LCALLHY2LJMPMAIN;無限循環(huán)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(1)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(2)HY4:MOVA,#0FFH;花樣4:全亮

MOVR6,#10HY41:MOVDPTR,#0000HHY4LP:MOVX@DPTR,AINCDPHDJNZR6,HY4LPRET;-------------------------------------------------------HY3:MOVA,#00H;花樣3:全滅

MOVR6,#10HY31:MOVDPTR,#0000HHY3LP:MOVX@DPTR,AINCDPHDJNZR6,HY3LPRET●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(2)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(3)HY2:MOVA,#01H;花樣2:從左到右亮,然后從右到左滅

MOVR6,#10HY21:MOVDPTR,#0000HHY22:MOVR7,#8HY2LP:MOVX@DPTR,ASETBCRLCALCALLDELAY5MSDJNZR7,HY2LPINCDPHDJNZR6,HY22LCALLDELAY400MS●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(3)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(4);花樣2:從左到右亮,然后從右到左滅

MOVA,#01HMOVR6,#10HY21A:DECDPHHY22A:MOVR7,#8HY2LPA:MOVX@DPTR,ACLRCRRCALCALLDELAY5MSDJNZR7,HY2LPADECDPHDJNZR6,HY22ALCALLDELAY400MSRET;---------------------------------------------------------●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(4)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(5);--------------------------------------------------------------------HY1:MOVR6,#10;花樣1:間隔亮變換

MOVA,#55HHY11:MOVDPTR,#0000HMOVR7,#10HY1LP:MOVX@DPTR,AINCDPHDJNZR7,HY1LPLCALLDELAY400MSCPLADJNZR6,HY11RET;--------------------------------------------------------END●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(5)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(6);--------------------------------------------------------DELAY5MS:MOVR3,#25;延時(shí)子程序(5MS)DL5_PA:MOVR2,#100DJNZR2,$DJNZR3,DL5_PARETDELAY400MS:MOVR4,#20;延時(shí)子程序(400MS)DL4_PA:MOVR3,#100DL4_PB:MOVR2,#100DJNZR2,$DJNZR3,DL4_PBDJNZR4,DL4_PARETEND●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(6)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用模擬霓虹燈程序(6);--------------------------------------------------------DELAY5MS:MOVR3,#25;延時(shí)子程序(5MS)DL5_PA:MOVR2,#100DJNZR2,$DJNZR3,DL5_PARETDELAY400MS:MOVR4,#20;延時(shí)子程序(400MS)DL4_PA:MOVR3,#100DL4_PB:MOVR2,#100DJNZR2,$DJNZR3,DL4_PBDJNZR4,DL4_PARETEND●遠(yuǎn)程控制電子鐘的設(shè)計(jì)

6.4.3使用地址譯碼器擴(kuò)展I/O接口首前后模擬霓虹燈程序(6)●遠(yuǎn)程控制電子鐘的設(shè)計(jì)6.4.3使用●遠(yuǎn)程控制電子鐘的仿真調(diào)試

6-4擴(kuò)展10個(gè)并行口目的:使用譯碼器擴(kuò)展I/O口內(nèi)容:擴(kuò)展10個(gè)并行口,共80根口線,每根口線接一個(gè)LED,作為模擬霓虹燈操作步驟:1、按照圖6-14設(shè)計(jì)電路圖2、編輯并編譯通過以上程序3、仿真,體會(huì)MOVX@DPTR,A指令4、討論交流學(xué)習(xí)心得5、有問題可以使用“求助3+1”6、填寫技能訓(xùn)練記錄單7、完成老板交代的其他任務(wù)重要提示:以上設(shè)計(jì)可以參看仿真文件:擴(kuò)128.DSN,請安排時(shí)間模仿此項(xiàng)目進(jìn)行一次技能訓(xùn)練。重要提示:這個(gè)電路,將來要用到LED點(diǎn)陣屏控制器上去。

首前后●遠(yuǎn)程控制電子鐘的仿真調(diào)試6-4擴(kuò)展10個(gè)并行口目的:使可編程并行I/O口的擴(kuò)展任務(wù)6.5

可編程并行I/O口的擴(kuò)展任務(wù)6.5●可編程并行I/O口的擴(kuò)展

Intel公司為微處理器設(shè)計(jì)了許多接口芯片,這些大多是大規(guī)模集成電路,一般都具有可編程功能,就是在不改變硬件的情況下,可以用指令控制使其功能發(fā)生一些改變。這些器件一般在工作之前需要進(jìn)行初始化,由CPU設(shè)定其工作方式。首前后●可編程并行I/O口的擴(kuò)展Intel公司為微處理器設(shè)計(jì)了8155芯片除具有2個(gè)8位可編程并行I/O口PA、PB,1個(gè)6位可編程并行I/O口PC之外,片內(nèi)還有256個(gè)字節(jié)的靜態(tài)RAM,1個(gè)14位減法計(jì)數(shù)器。8155具有與MCS-51單片機(jī)接口簡單,內(nèi)部資源豐富等優(yōu)點(diǎn),是單片機(jī)應(yīng)用系統(tǒng)中傳統(tǒng)芯片。6.5.1RAM/IO擴(kuò)展芯片81558155的引腳如圖6-15(a)所示,邏輯框圖如圖6-15(b)所示?!窨删幊滩⑿蠭/O口的擴(kuò)展

首前后8155芯片除具有2個(gè)8位可編程并行I/O口PA、P1.8155的結(jié)構(gòu)及引腳功能(2)圖6-15中涉及的引腳符號的含義和功能如下:TI:計(jì)數(shù)器計(jì)數(shù)脈沖輸入線;TO:計(jì)數(shù)器的輸出信號線,輸出波形由內(nèi)部定時(shí)工作方式?jīng)Q定;PA0~PA7:8位并行I/O口;PB0~PB7:8位并行I/O口;PC0~PC5:6位并行I/O口;AIE:地址鎖存信號輸入線,其下降沿時(shí),鎖存AD0~AD7上的地址。當(dāng)IO/M=1時(shí),該地址為端口地址;當(dāng)IO/M=0時(shí),該地址為片內(nèi)RAM地址;RESET:復(fù)位輸入引腳,高電平復(fù)位。復(fù)位結(jié)束后,PA、PB、PC口的初始狀態(tài)均為輸入口;VCC:電源+5V;VSS:接地。6.5.1RAM/IO擴(kuò)展芯片8155●可編程并行I/O口的擴(kuò)展

首前后1.8155的結(jié)構(gòu)及引腳功能(2)6.5.1RAM/2.8155的RAM和I/O地址編碼8155的I/O端口及RAM地址在單片機(jī)應(yīng)用系統(tǒng)中與外部數(shù)據(jù)存儲(chǔ)器是統(tǒng)一編址的,其控制操作如表6-9所示,對應(yīng)I/O口寄存器的地址編碼如表6-10所示;6.5.1RAM/IO擴(kuò)展芯片8155●可編程并行I/O口的擴(kuò)展

控制信號操作CEIO

溫馨提示

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

評論

0/150

提交評論