《片機(jī)的并行擴(kuò)展》教學(xué)課件_第1頁
《片機(jī)的并行擴(kuò)展》教學(xué)課件_第2頁
《片機(jī)的并行擴(kuò)展》教學(xué)課件_第3頁
《片機(jī)的并行擴(kuò)展》教學(xué)課件_第4頁
《片機(jī)的并行擴(kuò)展》教學(xué)課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、5-2 程序存儲(chǔ)器的擴(kuò)展5-3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展5-4 簡單IO口的擴(kuò)展 第5章 單片機(jī)的并行擴(kuò)展5-5 擴(kuò)展可編程IO口8255A5-6 小結(jié)5-1 并行三總線的產(chǎn)生第1頁,共62頁。5-1 并行三總線的產(chǎn)生外擴(kuò)展是構(gòu)建單片機(jī)系統(tǒng)的重要內(nèi)容, 有兩類外擴(kuò)展: 存儲(chǔ)器擴(kuò)展和I/O擴(kuò)展;有兩種外擴(kuò)展方法: 并行擴(kuò)展和串行擴(kuò)展。單片機(jī)芯片內(nèi)具有CPU、ROM、RAM、定時(shí)器/ 計(jì)數(shù)器及I / O口。但在實(shí)際應(yīng)用中、大多數(shù)情況下僅靠片內(nèi)資源是不夠的。 資源性擴(kuò)展: 包括存儲(chǔ)器擴(kuò)展和IO擴(kuò)展。如何擴(kuò)展?擴(kuò)展功能如何實(shí)現(xiàn)?擴(kuò)展部件如何連接?第2頁,共62頁。5-1-1 片外三總線結(jié)構(gòu)圖1 單片機(jī)并行擴(kuò)展

2、系統(tǒng)結(jié)構(gòu)圖第3頁,共62頁。圖2、89C51擴(kuò)展的三總線結(jié)構(gòu) 1.地址總線:地址總線(Address Bus,AB用于傳送單片機(jī)送出的地址信號(hào),以便進(jìn)行存儲(chǔ)器單元和I/O端口的選擇。地址總線是單向的,只能由單片機(jī)向外發(fā)送信息。地址總線的數(shù)目決定了可直接訪問的存儲(chǔ)單元的數(shù)目。 2.數(shù)據(jù)總線:數(shù)據(jù)總線(Data Bus,DB)用于單片機(jī)與存儲(chǔ)器或I/O端口之間的數(shù)據(jù)傳送。一般數(shù)據(jù)總線的位數(shù)與CPU的字長一致,MCS-51單片機(jī)的數(shù)據(jù)總線是8位的。數(shù)據(jù)總線是雙向的,可以進(jìn)行兩個(gè)方向的數(shù)據(jù)傳送。第4頁,共62頁。3.控制總線:控制總線(Control Bus,CB)是單片機(jī)發(fā)出的以控制片外ROM、RA

3、M和I/O口讀/寫操作的一組控制線。5-1-2 系統(tǒng)擴(kuò)展的實(shí)現(xiàn)1. 以P0口作低8位地址及8位數(shù)據(jù)的復(fù)用總線復(fù)用,即一段時(shí)間內(nèi)作兩種或兩種以上用途。 在這里指P0口在每個(gè)CPU的機(jī)器周期的前半個(gè)周期輸出低8位地址,由地址鎖存器鎖存,然后由地址鎖存器代替P0口輸出低8位地址。后半個(gè)機(jī)器周期進(jìn)行8位數(shù)據(jù)的輸入輸出。第5頁,共62頁。2. 以P2口作為高8位的地址總線 P0口的低8位地址加上P2的高8位地址就可以形成16位的地址總線,達(dá)到64KB的尋址能力。 但實(shí)際應(yīng)用中,往往不需要擴(kuò)展那么多地址,擴(kuò)展多少用多少根線,P2口高位剩余的口線仍可作一般I/O口來使用。3. 控制信號(hào)線ALE:地址鎖存信號(hào)

4、,用以實(shí)現(xiàn)對(duì)低8位地址的鎖存。 PSEN:片外程序存儲(chǔ)器讀選通信號(hào)。EA:程序存儲(chǔ)器選擇信號(hào)。為低電平時(shí),訪問外部程序存儲(chǔ)器;為高電平時(shí),訪問內(nèi)外程序存儲(chǔ)器(CPU復(fù)位先訪問內(nèi)部0號(hào)地址單元,然后根據(jù)PC指針的值訪問內(nèi)或外部程序存儲(chǔ)器)。WR:片外數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)。RD:片外數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)。第6頁,共62頁。5-2 程序存儲(chǔ)器的擴(kuò)展1. 存儲(chǔ)器與微型機(jī)三總線的連接(1) 存儲(chǔ)器數(shù)據(jù)線D0n連接CPU數(shù)據(jù)總線DB0n (2) 存儲(chǔ)器地址線A0N連接CPU地址總線低位AB0N。(3) 存儲(chǔ)器片選線CS連接CPU地址總線高位ABN+1。(4) 存儲(chǔ)器讀寫線OE、WE(R/ W) 連接CPU

5、讀寫控制線RD、WR。5-2-1 存儲(chǔ)器的連接圖3、微機(jī)與存儲(chǔ)器連接 第7頁,共62頁。2. 存儲(chǔ)器與單片機(jī)的連接單片機(jī)采用復(fù)用總線結(jié)構(gòu):數(shù)據(jù)與地址分時(shí)共用一組總線。當(dāng)?shù)刂烦霈F(xiàn)時(shí)需要鎖存器鎖存地址。 圖4、單片機(jī)與存儲(chǔ)器連接 圖5、單片機(jī)訪問存儲(chǔ)器時(shí)序 第8頁,共62頁。地址鎖存器:74LS373、828274LS373和Intel的8282具有相同的鎖存功能 圖6、 74LS373、8282的引腳第9頁,共62頁。5-2-2 擴(kuò)展存儲(chǔ)器概念 1. 地址線的譯碼1)線選法 直接以系統(tǒng)的地址線作為存儲(chǔ)器芯片的片選信號(hào),為此只需把用到的地址線與存儲(chǔ)器芯片的片選端直接相連即可。2)譯碼法 使用地址譯

6、碼器對(duì)系統(tǒng)的片外地址進(jìn)行譯碼,以其譯碼輸出作為存儲(chǔ)器芯片的片選信號(hào)。 譯碼法又分為完全譯碼和部分譯碼兩種。 第10頁,共62頁。2. 擴(kuò)展存儲(chǔ)器所需芯片數(shù)目的確定若所選存儲(chǔ)器芯片字長與單片機(jī)字長一致,則只需擴(kuò)展容量。 芯片數(shù)目=系統(tǒng)擴(kuò)展容量/存儲(chǔ)器芯片容量若所選存儲(chǔ)器芯片字長與單片機(jī)字長不一致,則不僅需擴(kuò)展容量,還需字?jǐn)U展。 芯片數(shù)目=系統(tǒng)擴(kuò)展容量/存儲(chǔ)器芯片容量 系統(tǒng)字長/存儲(chǔ)器芯片字長第11頁,共62頁。5-2-4 存儲(chǔ)器擴(kuò)展的編址技術(shù)所謂存儲(chǔ)器編址,就是使用系統(tǒng)提供的地址線,通過適當(dāng)?shù)倪B接,最終達(dá)到一個(gè)編址唯一地對(duì)應(yīng)存儲(chǔ)器中一個(gè)存儲(chǔ)單元的目的。1.存儲(chǔ)器編址分兩個(gè)層次(1) 存儲(chǔ)芯片的選

7、擇; (2) 芯片內(nèi)部存儲(chǔ)單元的選擇。2. 存儲(chǔ)器映像(1) 線選法第12頁,共62頁。 (2) 譯碼法:對(duì)系統(tǒng)剩余的高位地址進(jìn)行譯碼,以其譯碼輸出作為片選信號(hào)。高效率地利用存儲(chǔ)空間,適用于大容量多芯片擴(kuò)展。常用的譯碼芯片有:74LS139(雙2-4譯碼器)、74LS138(3-8譯碼器)和74LS154(4-16譯碼器)等。3. 74LS138(38譯碼器) 第13頁,共62頁。3-8 地址譯碼器:74LS138的Y0、Y1、Y2分別連接三片存儲(chǔ)器的片選端CE1、CE2、CE3各片存儲(chǔ)器芯片分配地址:0000H1FFFH;:2000H3FFFH;:4000H5FFFH。ABi: 151413

8、12 111098 7 6 5 4 3 2 1 015141312 11109 8 7 6 5 4 3 2 1 0: 0000 0000 0000 0000 0001 1111 1111 1111 : 0010 0000 0000 0000 0011 1111 1111 1111 : 0100 0000 0000 0000 0101 1111 1111 1111第14頁,共62頁。5-2-5 EEPROM的擴(kuò)展 常用EPROM芯片:Intel 2716 (2KB=2K8位)、2732 (4KB)、2764 (8KB)、27128(16KB)、 27256(32KB)、27512(64KB) E

9、EPROM是電可擦除PROM,既可全片擦除也可字節(jié)擦除,可在線擦除信息,又能失電保存信息 第15頁,共62頁。擴(kuò)展程序存儲(chǔ)器2716電路 第16頁,共62頁。5-2-6 8031單片機(jī)外接EEPROM EEPROM 既能作為程序存儲(chǔ)器又能作數(shù)據(jù)存儲(chǔ)器。 片外存儲(chǔ)器讀信號(hào)= PSEN RD 第17頁,共62頁。5-3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器即隨機(jī)存取存儲(chǔ)器(RAM),用于存放可隨時(shí)修改的數(shù)據(jù)信息。單片機(jī)使用的主要是靜態(tài)RAM。MCS-51系列單片機(jī)片外數(shù)據(jù)存儲(chǔ)器的空間可達(dá)64KB,而片內(nèi)數(shù)據(jù)存儲(chǔ)器的空間只有128B或256B。 5-3-1 數(shù)據(jù)存儲(chǔ)器芯片 1. 常用靜態(tài)RAM芯片常見的靜態(tài)R

10、AM芯片有6264(8K8位)、62256(32K8位)、628128(128K8位)等。第18頁,共62頁。2. 靜態(tài)RAM(SRAM)芯片引腳功能第19頁,共62頁。3. EEPROM芯片常用的EEPROM有2816、2864A等 5-3-2 訪問片外RAM的操作時(shí)序 1)讀片外RAM操作時(shí)序第20頁,共62頁。2) 寫片外RAM操作時(shí)序第21頁,共62頁。5-3-3 89C51擴(kuò)展2KB RAM 第22頁,共62頁。5-3-4 多片存儲(chǔ)器芯片的擴(kuò)展 1) 線選法尋址 用線選法外擴(kuò)3片6264 第23頁,共62頁。2)譯碼法尋址用譯碼法擴(kuò)展4片8K8位存儲(chǔ)器芯片連線 第24頁,共62頁。第

11、25頁,共62頁。5-4 簡單I/O口的擴(kuò)展二、I/O接口的功能1、速度協(xié)調(diào): 鎖存數(shù)據(jù)、傳送聯(lián)絡(luò)信號(hào)。2、數(shù)據(jù)格式轉(zhuǎn)換: 并-串轉(zhuǎn)換、A/D、D/A轉(zhuǎn)換。3、電平轉(zhuǎn)換: 電平幅值或正/負(fù)邏輯轉(zhuǎn)換。4、輸入三態(tài)緩沖隔離: 多個(gè)設(shè)備信號(hào)通過接口三態(tài)門隔離干擾信號(hào)。5、輸出鎖存驅(qū)動(dòng):驅(qū)動(dòng)多個(gè)邏輯部件或大功率執(zhí)行部件。微型機(jī)I/O接口I/O接口I/O設(shè)備I/O設(shè)備一、 擴(kuò)展I/O口原因: 1、單片機(jī)本身接口功能有限; 2、控制應(yīng)用中的復(fù)雜接口要求:速度差異大、 設(shè)備種類繁多、數(shù)據(jù)信號(hào)形式多種多樣。因此,I/O設(shè)備必須通過I/O接口電路與計(jì)算機(jī)連接。第26頁,共62頁。5-4-1 I/O口的直接輸入輸

12、出 1.有關(guān)I/O口基礎(chǔ)知識(shí)1) 接口與接口電路“接口” (Interface),具有界面、相互聯(lián)系等含義,通過接口能使兩個(gè)被連接的器件協(xié)同工作。單片機(jī)接口,則是研究單片機(jī)與外部設(shè)備之間的連接問題。單片機(jī)與外部設(shè)備之間接口界面的硬件電路稱為接口電路 2) 口或端口把接口電路中這些已編址并能進(jìn)行讀或(和)寫操作的寄存器稱為端口或簡稱口(Port)。第27頁,共62頁。3) I/O接口的特點(diǎn) 異步性 實(shí)時(shí)性 與設(shè)備無關(guān)性 4) 并行接口與串行接口按數(shù)據(jù)傳輸方式的不同,接口有并行與串行之分,即并行接口與串行接口。5)I/O口的編址方式在MCS-51單片機(jī)系統(tǒng)中, I/O口地址采用統(tǒng)一編址方式。所謂統(tǒng)

13、一編址方式,就是把I/O接口中的寄存器與外擴(kuò)展的數(shù)據(jù)存儲(chǔ)器中的存儲(chǔ)單元同等對(duì)待,合在一起使用同一個(gè)64 KB的外擴(kuò)展地址空間。 第28頁,共62頁。一、I/O接口信號(hào)及編址技術(shù) (1)數(shù)據(jù)信息:微型機(jī)與外設(shè)交換的數(shù)據(jù),經(jīng)接口數(shù)據(jù)緩沖器傳送。(2)狀態(tài)信息:反映外設(shè)工作狀態(tài)的信號(hào)。(3)控制信息:設(shè)定I/O電路工作方式的信號(hào)。數(shù)據(jù)總線傳遞三種信息,用不同I/O地址區(qū)別:輸入/輸出數(shù)據(jù)緩沖器共用一個(gè)I/O地址:數(shù)據(jù)端口。狀態(tài)/控制寄存器共用一個(gè)I/O地址:控制/狀態(tài)端口。 DB AB RD WR INT微型機(jī)DIO D AIO SRDIO CWR INTI/O接口DReadySTBI/O設(shè)備CPU

14、與I/O之間接口信號(hào):(每個(gè)I/O接口分配有對(duì)應(yīng)的I/O地址)第29頁,共62頁。二、I/O編址方式:需要編址的子系統(tǒng):存儲(chǔ)器和接口電路。1、存儲(chǔ)器地址方式:統(tǒng)一編址 I/O接口共用存儲(chǔ)器的地址空間,每個(gè)I/O端口視為一個(gè)存儲(chǔ)單元。2、專用I/O地址方式:獨(dú)立編址 有專用I/O控制信號(hào)和I/O指令。I/O接口獨(dú)立編址,不占用存儲(chǔ)器的地址空間。如的Z80。 MCS-51、96為存儲(chǔ)器地址方式(統(tǒng)一編址)。 MCS-51單片機(jī)有片內(nèi)I/O接口和擴(kuò)展I/O接口。 片內(nèi)I/O接口寄存器在SFR中,使用片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,擴(kuò)展I/O接口使用片外數(shù)據(jù)存儲(chǔ)器地址空間: 輸出指令:輸入指令:片內(nèi)尋址:MOV

15、P1,A MOV A,P1片外尋址:MOVX DPTR,AMOVX A,DPTR MOVX R0,AMOVX A,R0第30頁,共62頁。三、 I/O控制方式(二)查詢方式: (有條件傳送方式)先查詢I/O設(shè)備當(dāng)前狀態(tài),若準(zhǔn)備就緒,則交換數(shù)據(jù),否則循環(huán)查詢狀態(tài)。1.硬件查詢電路:設(shè)置狀態(tài)鎖存和數(shù)據(jù)鎖存電路。DBAB微型機(jī)AB數(shù)據(jù)端口狀態(tài)端口外部設(shè)備I/O接口D6(一)無條件傳送(同步程序傳送)方式:已知I/O設(shè)備準(zhǔn)備就緒,可直接進(jìn)行數(shù)據(jù)傳送。適用:1、具有常駐的或變化緩慢的數(shù)據(jù)信號(hào)的設(shè)備。 如:指示燈、數(shù)碼管等; 2、工作速度快,足以和單片機(jī)同步工作的設(shè)備。 如:DAC等。第31頁,共62頁。

16、 2.軟件查詢程序:INPUT:MOV DPTR,#SATUS ;狀態(tài)口地址 WAIT:MOVX A,DPTR JBACC.6,WAIT MOV DPTR,#DATA ;數(shù)據(jù)口地址 MOVX A,DPTR查詢狀態(tài)輸入/ 輸出數(shù)據(jù)準(zhǔn)備就緒?YN查詢方式只適用:單道作業(yè)、規(guī)模比較小的單片機(jī)系統(tǒng)。先輸入狀態(tài),決定是否進(jìn)行數(shù)據(jù)傳送。第32頁,共62頁。(三)中斷方式(程序中斷方式): 大多數(shù)時(shí)間計(jì)算機(jī)與外設(shè)并行工作,計(jì)算機(jī)不必因等待而浪費(fèi)資源。當(dāng)外設(shè)準(zhǔn)備就緒,向CPU發(fā)出中斷請求信號(hào)。CPU暫停當(dāng)前程序,執(zhí)行I/O操作。當(dāng)I/O操作結(jié)束,CPU仍繼續(xù)被中斷的工作。(四)直接存儲(chǔ)器訪問方式: (DMAD

17、irect Memory Access) 用于計(jì)算機(jī)與高速外設(shè)進(jìn)行大批量數(shù)據(jù)交換,由DMA控制器接管總線控制權(quán),RAM與外設(shè)之間直接數(shù)據(jù)傳輸,不需CPU的介入。第33頁,共62頁。四、 單片機(jī)并行接口并行I/O接口:用于微型機(jī)與外部設(shè)備之間并行傳送數(shù)據(jù)。 五、 MCS-51的并行接口4個(gè)8位雙向并行I/O接口:P0.0 P0.7、P1.0 P1.7、P2.0 P2.7、P3.0P3.7。均為多功能I/O接口,CPU按當(dāng)前操作自動(dòng)進(jìn)行功能切換。片內(nèi)接口寄存器在SFR中的映象地址:1、I/O數(shù)據(jù)鎖存器: P0、P1、P2、P3、SBUF。2、I/O控制/狀態(tài)寄存器: IE、IP、TCON、TMOD

18、 、SCON、PCON。第34頁,共62頁。3.讀-修改-寫: 修改輸出鎖存器的內(nèi)容。鎖存器中的數(shù)據(jù)通過 上三態(tài)門進(jìn)入內(nèi)部總線,修改后再寫入到鎖存 器中。 讀-修改-寫指令:并行口為目的操作數(shù)的指令: 如:ANL P1,A1.輸出鎖存:輸出將使數(shù)據(jù)寫入輸出鎖存器。 輸出指令:MOVP1,A ;按字節(jié)操作 MOVP1.0,C ;按位操作2.輸入三態(tài):輸入從I/O引腳上輸入信號(hào),讀信號(hào)打開,引腳 信號(hào)通過下三態(tài)門進(jìn)入內(nèi)部總線。為保證可靠 輸入,先寫入“1”。MOVP1,#0FFH;使輸出驅(qū)動(dòng)器截止MOVA,P1;輸入 P0P3的復(fù)位狀態(tài)均為FFH,自動(dòng)處于輸入狀態(tài)。(一)并行接口的三種操作:第35

19、頁,共62頁。(二)并行口的使用:(三)接口負(fù)載能力: P0驅(qū)動(dòng)8個(gè)TTL電路,P1,P2,P3可驅(qū)動(dòng)4個(gè)TTL電路。3. P2口:雙向I/O接口或高8位地址總線AB815。 對(duì)讀寫片外存儲(chǔ)器后,引腳仍恢復(fù)輸出鎖存器的內(nèi)容。 可用于讀寫片外數(shù)據(jù)存儲(chǔ)器:MOV P2,#20HMOV R0,#00MOVX A,R04. P3口:雙向并行接口和第二功能:串行接口引腳:TXD、RXD中斷輸入引腳:INT0、INT1定時(shí)器輸入引腳:T0、T1讀寫控制線:RD、WR 1. P0口:并行雙向接口或系統(tǒng)總線DB07/AB07。 P1、P2和P3為準(zhǔn)雙向口。2.P1口:稱為用戶I/O接口。對(duì)片內(nèi)EPROM編程時(shí)

20、,用作 EPROM低8位地址信號(hào)線。第36頁,共62頁。四、 應(yīng)用舉例:MCS-51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01.無條件傳送方式:(見P166) 指示燈立即反映開關(guān)狀態(tài)。 ORG 0000H AJMP MAIN ORG 0100HMAIN:MOV A,#0FFH MOV P1,A ;熄發(fā)光二極管 MOV A,P1 ;輸入開關(guān)狀態(tài) SWAP A MOV P1,A ;開關(guān)狀態(tài)輸出 SJMP MAIN例:用4個(gè)發(fā)光二極管對(duì)應(yīng)顯示4個(gè)開關(guān)的開合狀態(tài)。 如P1.0合則P1.4亮,其余依此類推。第37頁,共62頁。2.中斷傳送方式: (見P167)+5VP1.7P1.

21、6P1.5P1.4P1.3P1.2P1.1P1.0INT0MCS-51K先設(shè)好開關(guān)狀態(tài),然后發(fā)出中斷請求信號(hào),改變指示燈亮滅狀態(tài)。ORG 0000HAJMP MAINORG 0003HAJMP IOINTORG 0100HMAIN:SETB IT0 ;脈沖邊沿觸發(fā)SETB EX0 ;外部中斷0允許SETB EA ;總中斷允許HERE:SJMP HERE ;等待中斷 ORG 0500HIOINT:MOV A,#0FFH ;中斷程序 MOV P1,A ;熄發(fā)光二極管MOV A,P1 ;輸入開關(guān)狀態(tài)SWAP AMOV P1,A ;開關(guān)狀態(tài)輸出RETI ;中斷返回第38頁,共62頁。5-4-2 簡單I

22、/O口的擴(kuò)展方法1. I/O口擴(kuò)展概述1)單片機(jī)擴(kuò)展方法(1)總線擴(kuò)展方法(2)串行口擴(kuò)展方法2) I/O擴(kuò)展常用芯片(1)TTL/CMOS鎖存器/緩沖器芯片: 如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等;(2)通用可編程I/O接口芯片: 如8255、8155、8729等;(3)可編程陣列: 如GAL16V8、GAL20V8等。第39頁,共62頁。2. 擴(kuò)展簡單并行接口1) 擴(kuò)展并行輸出口(1)用74LS377擴(kuò)展并行輸出口第40頁,共62頁。(2)用74LS374擴(kuò)展并行輸出口 第41頁,共62頁。2) 擴(kuò)展并行輸入口第42頁,共62頁

23、。3)合并輸入輸出口 第43頁,共62頁。5-5擴(kuò)展可編程I/O口8255A5-5-1 8255A可編程外圍并行接口的結(jié)構(gòu) 1. 8255A的內(nèi)部結(jié)構(gòu)(1)3個(gè)8位并行I/O 接口PA、PB和PC (2)2組控制:A組:PA和PC47 B組:PB和PC03 第44頁,共62頁。2. 8255A的引腳功能 數(shù)據(jù)線(8條):D0D7 并行I/O總線(24條) 地址線:CS:片選線;A1、A0:口選線 讀寫控制線:RD、WR 復(fù)位線:RESET 第45頁,共62頁。3. 8255A方式控制字和狀態(tài)字8255A有兩個(gè)控制字:方式控制字和C口置位/復(fù)位控制字。 方式選擇控制字第46頁,共62頁。(2)

24、C口置位/復(fù)位控制字第47頁,共62頁。4. 8255A的3種工作方式方式0(基本I/O方式)A口、B口、C口設(shè)置為方式0:是基本輸入/輸出方式。 PC口分成兩部分:上半口(PC4PC7)、下半口(PC0PC3),兩部分可分別設(shè)置傳送方向 方式1(選通I/O方式)方式1下A口、B口用于數(shù)據(jù)輸入/輸出,C口作為數(shù)據(jù)傳送聯(lián)絡(luò)信號(hào)。 第48頁,共62頁。(1)方式1輸入 (2)方式1輸出第49頁,共62頁。方式2(雙向數(shù)據(jù)傳送方式)工作方式2下外設(shè)在單一的8位總線上既能發(fā)送數(shù)據(jù),也能接收數(shù)據(jù)(雙向總線I/O),其輸入和輸出都鎖存。 C口位線方式1方式2輸入輸出輸入輸出PC7I/O/OBFA/OBFA

25、PC6 I/O/ACKA/ACKAPC5IBFAI/OIBFAPC4/STBA I/O/STBAPC3INTRAINTRAINTRAINTRAPC2/STBB/ACKB 由端口B決定PC1IBFB/OBFB 由端口B決定PC0INTRBINTRB 由端口B決定第50頁,共62頁。方式2下的輸入輸出操作時(shí)序 (1)輸入操作選通信號(hào)將數(shù)據(jù)鎖存到8255A的輸入鎖存器中,從而使輸入緩沖器滿,信號(hào)IBFA成為高電平(有效),通知外設(shè)A口已收到數(shù)據(jù) (2)輸出操作 CPU響應(yīng)中斷,當(dāng)用輸出指令向8255A的A端口中寫入一個(gè)數(shù)據(jù)時(shí),會(huì)發(fā)出寫脈沖信號(hào)WR 第51頁,共62頁。5-5-2 8255A應(yīng)用實(shí)例

26、89C51單片機(jī)8255A能夠簡單地連接而不需其他電路 第52頁,共62頁?!纠?-1】按照圖5-31對(duì)8255A初始化編程。要求:(1)A、B、C口均為基本I/O輸出方式。(2)A口與上C口為基本I/O輸出方式,B口與下C口為基本I/O輸入方式。(3)A口為應(yīng)答I/O輸入方式,B口為應(yīng)答I/O輸出方式。解:(1)A、B、C口均為基本I/O輸出方式。define COM8255 XBYTE0 xE003*定義 8255A控制寄存器地址*void init8255(void)COM8255=0 x80;/*工作方式選擇字送入 8255A控制寄存器,設(shè)置A、B、C口為基本I/O輸出方式*第53頁,

27、共62頁。(2)A口與上C口為基本I/O輸出方式,B口與下C口為基本IO輸入方式。define COM8255 0 xE003*定義8255A控制寄存器地址*void init8255(void)XBYTECOM8255=0 x83;*工作方式選擇字送入8255A控制寄存器,A口與上C 口為基本I/O輸出方式,B口與下C口為基本I/O輸入方式*第54頁,共62頁。(3)A口為應(yīng)答I/O輸入方式,B口為應(yīng)答I/O輸出方式。uchar xdata COM8255 _at_ 0 xE003;*定義8255A控制寄存器地址*void init8255(void) COM8255=0 xb4;*工作方式

28、選擇字送入8255A控制寄存器,設(shè)置A 口為應(yīng)答I/O輸入方式 (PAPC4PC7),B口為應(yīng)答I/O輸出方式(PBPC0PC3)*第55頁,共62頁?!纠?-2】如圖5-32所示8255A與89C51的連接圖,用8255A端口C的PC3引腳向外輸出連續(xù)的正弦波信號(hào),頻率為500Hz。程序運(yùn)行仿真如圖5-33所示。第56頁,共62頁。分析:可用兩種方法,即軟件延時(shí)方式和定時(shí)器1工作方式1中斷實(shí)現(xiàn)延時(shí)。(1)軟件延時(shí)方式實(shí)現(xiàn)。將C口設(shè)置為基本I/O輸出方式,先從PC3引腳輸出高電平,間隔1ms后向PC3輸出低電平,再間隔1ms后向PC3輸出高電平,周而復(fù)始,則可實(shí)現(xiàn)從PC3輸出頻率為500Hz正

29、方波。(2)定時(shí)器1工作方式1中斷實(shí)現(xiàn),可提高CPU的工作效率。將C口設(shè)置為基本I/O輸出方式,12MHz晶振,定時(shí)器初值設(shè)為64536即可,每次中斷PC3引腳翻轉(zhuǎn),周而復(fù)始,則可實(shí)現(xiàn)從PC3輸出頻率為500Hz正方波的目的。第57頁,共62頁。解:(1)軟件延時(shí)方式程序如下。#include #include / 絕對(duì)地址定義bit bitFF;/*位計(jì)數(shù)器*/ #define PA8255 XBYTE0 xE000 /*定義8255A A口地址*#define PB8255 XBYTE0 xE001 /*定義8255A B口地址*#define PC8255 XBYTE0 xE002 /*定義8255A C口地址*#define COM8255 XBYTE0 xE003 /*定義8255A 控制寄存器地址* void init8255(void) /*初始化8255*/ COM8255=0 x80;void delay(unsigned char i)

溫馨提示

  • 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)論