并行IO口擴(kuò)展控制講義課件_第1頁(yè)
并行IO口擴(kuò)展控制講義課件_第2頁(yè)
并行IO口擴(kuò)展控制講義課件_第3頁(yè)
并行IO口擴(kuò)展控制講義課件_第4頁(yè)
并行IO口擴(kuò)展控制講義課件_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

并行IO口擴(kuò)展控制講義課件1項(xiàng)目8并行I/O口擴(kuò)展控制知識(shí)與能力目標(biāo)理解單片機(jī)三總線(xiàn)結(jié)構(gòu)及其擴(kuò)展使用方法1理解并掌握單片機(jī)外部擴(kuò)展單元地址的分析與確定2學(xué)會(huì)I/O口擴(kuò)展控制程序的分析與設(shè)計(jì)3掌握串口與PC通信的接口電路及程序的分析與設(shè)計(jì)4熟練使用Proteus進(jìn)行單片機(jī)應(yīng)用程序開(kāi)發(fā)與調(diào)試5項(xiàng)目8并行I/O口擴(kuò)展控制知識(shí)與能力目標(biāo)理解單片機(jī)三總2項(xiàng)目8并行I/O口擴(kuò)展控制8.1.151單片機(jī)三總線(xiàn)分析8.1.2并行I/O接口擴(kuò)展認(rèn)知8.2.2硬件系統(tǒng)與控制流程分析8.2.1控制要求與功能展示8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)8.2.4C語(yǔ)言程序分析與設(shè)計(jì)2任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.5基于Proteus的調(diào)試與仿真任務(wù)8.1單片機(jī)并行擴(kuò)展分析項(xiàng)目8并行I/O口擴(kuò)展控制8.1.151單片機(jī)三總38.1.151單片機(jī)三總線(xiàn)分析總線(xiàn)就是連接系統(tǒng)中各擴(kuò)展部件的一組公共信號(hào)線(xiàn)。按照功能可分為地址總線(xiàn)AB、數(shù)據(jù)總線(xiàn)DB和控制總線(xiàn)CB。

1、51單片機(jī)的三總線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析總線(xiàn)就是連接系統(tǒng)48.1.151單片機(jī)三總線(xiàn)分析

整個(gè)擴(kuò)展系統(tǒng)以單片機(jī)為核心,因?yàn)閿U(kuò)展部件是在單片機(jī)芯片之外進(jìn)行的,通常稱(chēng)擴(kuò)展的ROM為外部ROM,稱(chēng)擴(kuò)展RAM為外部RAM。注意:MCS-51系列單片機(jī)外部擴(kuò)展I/O接口時(shí),其地址與外部RAM統(tǒng)一編址的。換句話(huà)說(shuō),外部擴(kuò)展的I/O接口要占用外部RAM的地址。1、51單片機(jī)的三總線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析整個(gè)擴(kuò)展系統(tǒng)以單58.1.151單片機(jī)三總線(xiàn)分析◆地址總線(xiàn)的數(shù)目決定著可以直接訪(fǎng)問(wèn)的存儲(chǔ)單元的數(shù)目。N位地址可以產(chǎn)生2個(gè)連續(xù)地址編碼,可訪(fǎng)問(wèn)2個(gè)存儲(chǔ)單元。◆MCS-51單元有16根地址線(xiàn),存儲(chǔ)器或I/O接口擴(kuò)展最多可達(dá)64KB,即2個(gè)地址單元?!舻刂房偩€(xiàn)用于傳送單片機(jī)送出的地址信號(hào),以便進(jìn)行存儲(chǔ)單元和I/O端口的選擇?!舻刂房偩€(xiàn)是單向的,只能由單片機(jī)向外發(fā)出。(1)地址總線(xiàn)AB(AddressBus)8.1.151單片機(jī)三總線(xiàn)分析◆地址總線(xiàn)的數(shù)目決定著可68.1.151單片機(jī)三總線(xiàn)分析◆數(shù)據(jù)總線(xiàn)用于在單片機(jī)與存儲(chǔ)器之間或單片機(jī)與I/O端口之間傳送數(shù)據(jù)?!魯?shù)據(jù)總線(xiàn)是雙向的,可以進(jìn)行兩個(gè)方向的數(shù)據(jù)傳送?!魯?shù)據(jù)總線(xiàn)的位數(shù)與單片機(jī)處理數(shù)據(jù)的字長(zhǎng)一致。MCS-51單片機(jī)字長(zhǎng)8位,所以它的數(shù)據(jù)總線(xiàn)位數(shù)也是8位。(2)數(shù)據(jù)總線(xiàn)DB(DataBus)

8.1.151單片機(jī)三總線(xiàn)分析◆數(shù)據(jù)總線(xiàn)用于在單片機(jī)與78.1.151單片機(jī)三總線(xiàn)分析◆控制總線(xiàn)實(shí)際上就是一組控制信號(hào)線(xiàn),包括由單片機(jī)發(fā)出的控制信號(hào)以及從其他部件送給單片機(jī)的請(qǐng)求信號(hào)和狀態(tài)信號(hào)?!裘恳粭l控制信號(hào)線(xiàn)的傳送方向是單向的固定的,但由不同方向的控制信號(hào)線(xiàn)組合的控制總線(xiàn)則表示為雙向。(3)控制總線(xiàn)CB(ControlBus)8.1.151單片機(jī)三總線(xiàn)分析◆控制總線(xiàn)實(shí)際上就是一組88.1.151單片機(jī)三總線(xiàn)分析2、MCS-51系列單片機(jī)三總線(xiàn)的形成8.1.151單片機(jī)三總線(xiàn)分析2、MCS-51系列單片98.1.151單片機(jī)三總線(xiàn)分析

P0口線(xiàn)的第二功能是地址線(xiàn)/數(shù)據(jù)線(xiàn)分時(shí)復(fù)用功能。在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置。在一個(gè)片外存儲(chǔ)器讀寫(xiě)周期中,首先P0口輸出低8位地址,然后以ALE為所鎖存控制信號(hào),確保低8位地址信息在消失前被送入鎖存器暫存起來(lái)并輸出,作為地址總線(xiàn)的低8位,直到訪(fǎng)問(wèn)周期結(jié)束。地址信號(hào)被鎖存之后,P0口轉(zhuǎn)換為數(shù)據(jù)線(xiàn),以便傳輸數(shù)據(jù),直到訪(fǎng)問(wèn)周期結(jié)束。從而實(shí)現(xiàn)了對(duì)地址和數(shù)據(jù)的分離。

(1)P0口線(xiàn)用作數(shù)據(jù)線(xiàn)/低8位地址線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析P0口線(xiàn)的第二功108.1.151單片機(jī)三總線(xiàn)分析◆在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置?!粼谝粋€(gè)片外存儲(chǔ)器讀寫(xiě)周期中,P2口線(xiàn)始終輸出地址總線(xiàn)的高8位,可直接與存儲(chǔ)器或接口芯片的地址線(xiàn)相連,無(wú)需鎖存?!鬚2與P0共同提供了16根地址線(xiàn),實(shí)現(xiàn)了MCS-51單片機(jī)系統(tǒng)64KB的尋址范圍。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0(2)P2口線(xiàn)第二功能用于進(jìn)行高8位地址線(xiàn)的擴(kuò)展8.1.151單片機(jī)三總線(xiàn)分析◆在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自118.1.151單片機(jī)三總線(xiàn)分析構(gòu)成系統(tǒng)的控制總線(xiàn)的控制信號(hào)包括:1)ALE(30)是鎖存信號(hào),用于進(jìn)行P0口地址線(xiàn)和數(shù)據(jù)線(xiàn)的分離。2)(29)是程序存儲(chǔ)器讀選通控制信號(hào)。3)(17)、(16)分別是外部數(shù)據(jù)存儲(chǔ)器的讀、寫(xiě)選通控制信號(hào)。4)(31)是程序存儲(chǔ)器訪(fǎng)問(wèn)控制信號(hào)。(3)控制信號(hào)8.1.151單片機(jī)三總線(xiàn)分析構(gòu)成系統(tǒng)的控制總線(xiàn)的控制128.1.2并行I/O接口擴(kuò)展認(rèn)知所有擴(kuò)展的I/O口或相當(dāng)于I/O口的外設(shè)以及通過(guò)I/O口連接的外設(shè),均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,訪(fǎng)問(wèn)I/O口的指令就是訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令(MOVX)。

對(duì)于數(shù)據(jù)存儲(chǔ)器來(lái)說(shuō),或者是單片機(jī)讀取存儲(chǔ)器的數(shù)據(jù),或者是單片機(jī)將數(shù)據(jù)寫(xiě)入存儲(chǔ)器,而單片機(jī)與外設(shè)所能進(jìn)行的無(wú)非是數(shù)據(jù)的輸入或輸出,也就是說(shuō),單片機(jī)與外設(shè)進(jìn)行的只是數(shù)據(jù)的傳輸,所以,外設(shè)或I/O口可當(dāng)作數(shù)據(jù)存儲(chǔ)器進(jìn)行擴(kuò)展。8.1.2并行I/O接口擴(kuò)展認(rèn)知所有擴(kuò)展的I/O138.1.2并行I/O接口擴(kuò)展認(rèn)知(1)總線(xiàn)擴(kuò)展方法總線(xiàn)擴(kuò)展的方法是將擴(kuò)展的并行I/O口芯片連接到MCS-51單片機(jī)的總線(xiàn)上,即數(shù)據(jù)總線(xiàn)使用P0口,地址總線(xiàn)使用P2和P0口,控制總線(xiàn)使用部分P3口。這種擴(kuò)展方法基本上不影響總線(xiàn)上其他擴(kuò)展芯片的連接,在MCS-51系列單片機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中被廣泛應(yīng)用。1、單片機(jī)I/O口擴(kuò)展方法8.1.2并行I/O接口擴(kuò)展認(rèn)知(1)總線(xiàn)擴(kuò)展方法1、單14

8.1.2并行I/O接口擴(kuò)展認(rèn)知MCS-51單片機(jī)串行口工作方式0時(shí),提供一種I/O擴(kuò)展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器擴(kuò)展并行輸出口,也可通過(guò)外接并入串出的移位寄存器擴(kuò)展并行輸入口。由于采用串行輸入輸出的方法,所以數(shù)據(jù)傳輸速度較慢。1、單片機(jī)I/O口擴(kuò)展方法(2)串行口擴(kuò)展方法8.1.2并行I/O接口擴(kuò)展認(rèn)知158.1.2并行I/O接口擴(kuò)展認(rèn)知2、并行I/O擴(kuò)展常用芯片123TTL/CMOS鎖存器/緩沖器芯片:如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等。通用可編程I/O接口芯片:如8255、8279等??删幊剃嚵校喝鏕AL16V8、GAL20V8等。8.1.2并行I/O接口擴(kuò)展認(rèn)知2、并行I/O擴(kuò)展常用芯168.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的幾個(gè)問(wèn)題擴(kuò)展的I/O與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,分配給I/O端口的地址不能再分配給片外數(shù)據(jù)存儲(chǔ)單元,且與程序存儲(chǔ)器無(wú)關(guān)。訪(fǎng)問(wèn)擴(kuò)展I/O的方法與訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器完全相同,使用相同的指令。12展多片I/O芯片或多個(gè)I/O設(shè)備時(shí),注意總線(xiàn)驅(qū)動(dòng)器的能力問(wèn)題。38.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的178.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的幾個(gè)問(wèn)題

在軟件設(shè)計(jì)時(shí),I/O口對(duì)應(yīng)初始狀態(tài)設(shè)置、工作方式選擇要與外接設(shè)備相匹配。I/O擴(kuò)展時(shí)必須考慮與之相連的外設(shè)硬件特性,如驅(qū)動(dòng)器功率、電平、干擾抑制及隔離等。458.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的18任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要求與功能展示實(shí)物運(yùn)行視頻74HC32芯片74LS374芯片按鍵指示燈

按鍵

單片機(jī)74LS245芯片

任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要19簡(jiǎn)單并行I/O口擴(kuò)展控制電路原理圖任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要求與功能展示簡(jiǎn)單并行I/O口擴(kuò)展控制電路原理圖任務(wù)8.2簡(jiǎn)單并行I208.2.2硬件系統(tǒng)與控制流程分析

1、任務(wù)硬件系統(tǒng)分析

如電路原理圖所示,該電路實(shí)際上是通過(guò)單片機(jī)的三總線(xiàn)結(jié)構(gòu),外擴(kuò)單片機(jī)的輸入輸出接口電路。輸入采用三態(tài)門(mén)74LS245,輸出采用8D觸發(fā)器(鎖存器)74LS374,因此,要分析理解以上的電路設(shè)計(jì),必須先學(xué)習(xí)74LS245與74LS374芯片的部分知識(shí)。8.2.2硬件系統(tǒng)與控制流程分析1、任務(wù)硬件系統(tǒng)分析218.2.2硬件系統(tǒng)與控制流程分析

(1)74LS245擴(kuò)展芯片的介紹表8-274LS245功能特性輸入功能DIR00B端數(shù)據(jù)→A端數(shù)據(jù)01A端數(shù)據(jù)→B端數(shù)據(jù)1×高阻8.2.2硬件系統(tǒng)與控制流程分析(1)74LS245擴(kuò)228.2.2硬件系統(tǒng)與控制流程分析表8-374LS374功能特性DnCLKQnHLHLLL××HZ

(1)74LS245擴(kuò)展芯片的介紹8.2.2硬件系統(tǒng)與控制流程分析表8-374LS37238.2.2硬件系統(tǒng)與控制流程分析保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器芯片或I/O接口芯片。片選方法線(xiàn)選法地址譯碼法常用

(3)單片機(jī)的片選方法

8.2.2硬件系統(tǒng)與控制流程分析保證每次讀或?qū)憰r(shí),只選中248.2.2硬件系統(tǒng)與控制流程分析◆線(xiàn)選法

(3)單片機(jī)的片選方法

一般是利用單片機(jī)的最高幾位空余的地址線(xiàn)中一根作為某一片存儲(chǔ)器芯片或I/O接口芯片的“片選”控制線(xiàn)。線(xiàn)選法常用于應(yīng)用系統(tǒng)中擴(kuò)展芯片較少的場(chǎng)合。8.2.2硬件系統(tǒng)與控制流程分析◆線(xiàn)選法(3)單片機(jī)258.2.2硬件系統(tǒng)與控制流程分析◆譯碼法當(dāng)應(yīng)用系統(tǒng)中擴(kuò)展芯片較多時(shí),單片機(jī)空余的高位地址線(xiàn)不夠用。這時(shí)常用譯碼器對(duì)空余的高位地址線(xiàn)進(jìn)行譯碼,而譯碼器的輸出作為“片選”控制線(xiàn)。常用的譯碼器有3/8譯碼器74LS138、4/16譯碼器74LS154等。

(3)單片機(jī)的片選方法

8.2.2硬件系統(tǒng)與控制流程分析◆譯碼法(3)單片機(jī)268.2.2硬件系統(tǒng)與控制流程分析

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用◆擴(kuò)展芯片地址的確定

如圖8-4所示為單片機(jī)與74LS245、74LS374接口電路,該電路采用線(xiàn)選法進(jìn)行I/O口擴(kuò)展。表8-474LS245與74LS374的片地址芯片型號(hào)P2.7~P2.2P2.1P2.0P0.7~P0.074LS245X0XX74LS374XX0X其中“X”表示與芯片地址無(wú)關(guān)的地址位,簡(jiǎn)稱(chēng)無(wú)關(guān)位,取0或1都可以。8.2.2硬件系統(tǒng)與控制流程分析(4)并行擴(kuò)展輸入/輸278.2.2硬件系統(tǒng)與控制流程分析

如果與芯片地址無(wú)關(guān)的地址線(xiàn)引腳都取0,那么74LS245與74LS374的地址都是0000H。如果與芯片地址無(wú)關(guān)的地址線(xiàn)引腳都取1,那么74LS245與74LS374的地址分別是FDFFH、FEFFH。

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用8.2.2硬件系統(tǒng)與控制流程分析如果與芯片地址無(wú)288.2.2硬件系統(tǒng)與控制流程分析◆擴(kuò)展芯片地址的使用在確定好每片芯片的地址后,單片機(jī)就可對(duì)其進(jìn)行讀寫(xiě)操作,讀寫(xiě)時(shí)先發(fā)送芯片地址,選通芯片,接著進(jìn)行讀寫(xiě)數(shù)據(jù)。

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用8.2.2硬件系統(tǒng)與控制流程分析◆擴(kuò)展芯片地址的使用298.2.2硬件系統(tǒng)與控制流程分析圖8-7簡(jiǎn)單并行I/O口擴(kuò)展控制流程2、任務(wù)控制流程分析8.2.2硬件系統(tǒng)與控制流程分析圖8-7簡(jiǎn)單并行I308.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)使用說(shuō)明:MOVX是CPU與外部數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)傳送操作指令,其中x為external(外部)的第二字母。這組指令的功能是外部數(shù)據(jù)存儲(chǔ)器或擴(kuò)展I/O口與累加器A之間的數(shù)據(jù)傳送。

累加器A與外部RAM(或外部接口)數(shù)據(jù)傳送指令:MOVX使用格式:MOVXA,@DPTR或MOVX@DPTR,AMOVXA,@Ri或MOVX@Ri,A1、任務(wù)相關(guān)匯編指令8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)使用說(shuō)明:MOVX是318.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令(2)由于MOVX類(lèi)指令是專(zhuān)訪(fǎng)外部數(shù)據(jù)存儲(chǔ)器和外部接口的指令,因此它的操作數(shù)地址(DPTR或Ri的值),即外部數(shù)據(jù)存儲(chǔ)器16位地址是由P0口和P2口向外部地址總線(xiàn)發(fā)出的。(1)在以上4條格式指令中,DPTR的取值范圍是:0000H~0FFFFH;Ri的取值范圍是XX00H~XXFFH。8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令32(4)當(dāng)執(zhí)行指令MOVXA,@Ri和MOVX@Ri,A時(shí),寄存器Ri的內(nèi)容操作數(shù)地址的低8位,將自動(dòng)寫(xiě)入P0口并鎖存,操作數(shù)地址的高8位必須事先通過(guò)MOVP2,#data指令寫(xiě)入P2口。(3)當(dāng)執(zhí)行指令MOVXA,@DPTR和MOVX@DPTR,A時(shí),寄存器DPH(DPTR的高8位)的內(nèi)容自動(dòng)寫(xiě)入P2口,寄存器DPL(DPTR的低8位)的內(nèi)容自動(dòng)寫(xiě)入P0口并鎖存。8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令(4)當(dāng)執(zhí)行指令MOVXA,@Ri和MOVX@Ri,338.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)方法一MOVDPTR,#7E02H;建立外部地址指針7E02HMOVXA,@DPTR;外存7E02H單元內(nèi)容送AMOV35H,A;A內(nèi)容送內(nèi)部存儲(chǔ)單元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,@R1MOV35H,A使用示例:用兩種方法將外部數(shù)據(jù)寄存器7E02H單元的內(nèi)容送入內(nèi)部數(shù)據(jù)存儲(chǔ)器35H單元。1、任務(wù)相關(guān)匯編指令8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)方法一MOVDP348.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)

匯編程序程序初始部分

匯編程序主程序MAIN8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)匯編程序程序358.2.4C語(yǔ)言程序分析與設(shè)計(jì)例如:XBYTE[0XFD3F]XBYTE是一個(gè)地址指針,它在文件absacc.h中由系統(tǒng)定義,指向外部RAM的0000H單元,XBYTE后面中括號(hào)[]中的數(shù)值是指偏離0000H的偏移量,例中XBYTE[0XFD3F]表明訪(fǎng)問(wèn)外部地址為0XFD3F的外部RAM。1.絕對(duì)地址訪(fǎng)問(wèn)宏定義頭文件absacc.h

8.2.4C語(yǔ)言程序分析與設(shè)計(jì)例如:XBYTE[0368.2.4C語(yǔ)言程序分析與設(shè)計(jì)1.絕對(duì)地址訪(fǎng)問(wèn)宏定義頭文件absacc.h

例如:XBYTE[0XFD3F]XBYTE是一個(gè)地址指針,它在文件absacc.h中由系統(tǒng)定義,指向外部RAM的0000H單元,XBYTE后面中括號(hào)[]中的數(shù)值是指偏離0000H的偏移量,例中XBYTE[0XFD3F]表明訪(fǎng)問(wèn)外部地址為0XFD3F的外部RAM。

8.2.4C語(yǔ)言程序分析與設(shè)計(jì)1.絕對(duì)地址訪(fǎng)問(wèn)宏定義378.2.4C語(yǔ)言程序分析與設(shè)計(jì)當(dāng)執(zhí)行XBYTE[0X0400]=0X77時(shí),將0X77寫(xiě)入外部RAM的0X0400單元中。事實(shí)上“XBYTE[0X0400]=0X77”等價(jià)于匯編語(yǔ)言“MOVDPTR,#0400H,MOVX@DPTR,#77H”。當(dāng)XBYTE[0XFD3F]應(yīng)用于P0、P2口做外部擴(kuò)展時(shí),P2對(duì)應(yīng)高8位地址,P0對(duì)應(yīng)低8位地址。XBYTE[0X0400],其中除了P2.2為高電平其余全為低電平。例如:1.絕對(duì)地址訪(fǎng)問(wèn)宏定義頭文件absacc.h

8.2.4C語(yǔ)言程序分析與設(shè)計(jì)當(dāng)執(zhí)行XBYTE[0X0388.2.4C語(yǔ)言程序分析與設(shè)計(jì)C程序程序初始部分C語(yǔ)言程序主函數(shù)main()2、C語(yǔ)言程序設(shè)計(jì)8.2.4C語(yǔ)言程序分析與設(shè)計(jì)C程序程序初始部分C語(yǔ)言391、創(chuàng)建Proteus仿真電路圖

(1)列出元器件表;(2)繪制仿真電路圖8.2.5基于Proteus的調(diào)試與仿真1、創(chuàng)建Proteus仿真電路圖8.2.5基于Prote408.2.5基于Proteus的調(diào)試與仿真)(1)(2)(3)安裝插件vdmagdi.exe(注意:應(yīng)把插件安裝在Keil3的安裝目錄下)。將Keil安裝目錄\C51\BIN中的VDM51.dll文件復(fù)制到Proteus軟件的安裝目錄Proteus\MODELS目錄下。

修改Keil安裝目錄下的Tools.ini文件,在C51字段中加入TDRV11=BIN\VDM51.DLL(“PROTEUS6EMULATOR”)并保存。2、Proteus與Keil聯(lián)調(diào)8.2.5基于Proteus的調(diào)試與仿真)(1)(2)(418.2.5基于Proteus的調(diào)試與仿真)(4)(5)(6)打開(kāi)“簡(jiǎn)單并行I/O口擴(kuò)展控制.DSN”文件,在Proteus的“Debug”菜單中選中“UseRemoteDebugMonitor(遠(yuǎn)程監(jiān)控)”。右鍵選中STC89C51單片機(jī),在彈出的對(duì)話(huà)框“ProgramFile”項(xiàng)中,導(dǎo)入在Keil中生成的HEX文件。Keil打開(kāi)“簡(jiǎn)單并行I/O口擴(kuò)展控制.UV2”,打開(kāi)窗口“OptionforTarget‘工程名’”。在Debug選項(xiàng)中右欄上部的下拉菜單選中ProteusVSMSimulator。點(diǎn)擊進(jìn)入Settings窗口,設(shè)置IP為127.0.0.1,端口號(hào)為8000。在Keil中點(diǎn)擊,使用單步執(zhí)行來(lái)調(diào)試程序,同時(shí)在Proteus中查看直觀的仿真結(jié)果。8.2.5基于Proteus的調(diào)試與仿真)(4)(5)(428.2.5基于Proteus的調(diào)試與仿真擴(kuò)展口輸入狀態(tài)A=0xfd2、Proteus與Keil聯(lián)調(diào)8.2.5基于Proteus的調(diào)試與仿真擴(kuò)展口輸入狀態(tài)438.2.5基于Proteus的調(diào)試與仿真擴(kuò)展口輸出狀態(tài)

輸出0xfd,點(diǎn)亮對(duì)應(yīng)LED2、Proteus與Keil聯(lián)調(diào)8.2.5基于Proteus的調(diào)試與仿真擴(kuò)展口輸出狀態(tài)448.2.5基于Proteus的調(diào)試與仿真仿真運(yùn)行視頻3、Proteus仿真運(yùn)行

8.2.5基于Proteus的調(diào)試與仿真仿真運(yùn)行視頻3、45技能訓(xùn)練1:簡(jiǎn)單I/O口擴(kuò)展控制進(jìn)一步理解單片機(jī)三總線(xiàn)結(jié)構(gòu)及其擴(kuò)展使用方法1進(jìn)一步掌握單片機(jī)外部擴(kuò)展單元地址的分析與確定2學(xué)會(huì)單片機(jī)簡(jiǎn)單I/O口擴(kuò)展應(yīng)用電路分析與設(shè)計(jì)3學(xué)會(huì)進(jìn)行單片機(jī)簡(jiǎn)單I/O口擴(kuò)展應(yīng)用程序分析與編寫(xiě)4熟練使用Proteus進(jìn)行單片機(jī)應(yīng)用程序開(kāi)發(fā)與調(diào)試5訓(xùn)練目的技能訓(xùn)練1:簡(jiǎn)單I/O口擴(kuò)展控制進(jìn)一步理解單片機(jī)三總線(xiàn)結(jié)構(gòu)46運(yùn)行視頻技能訓(xùn)練1:簡(jiǎn)易I/O口擴(kuò)展控制運(yùn)行視頻技能訓(xùn)練1:簡(jiǎn)易I/O口擴(kuò)展控制47并行IO口擴(kuò)展控制講義課件48項(xiàng)目8并行I/O口擴(kuò)展控制知識(shí)與能力目標(biāo)理解單片機(jī)三總線(xiàn)結(jié)構(gòu)及其擴(kuò)展使用方法1理解并掌握單片機(jī)外部擴(kuò)展單元地址的分析與確定2學(xué)會(huì)I/O口擴(kuò)展控制程序的分析與設(shè)計(jì)3掌握串口與PC通信的接口電路及程序的分析與設(shè)計(jì)4熟練使用Proteus進(jìn)行單片機(jī)應(yīng)用程序開(kāi)發(fā)與調(diào)試5項(xiàng)目8并行I/O口擴(kuò)展控制知識(shí)與能力目標(biāo)理解單片機(jī)三總49項(xiàng)目8并行I/O口擴(kuò)展控制8.1.151單片機(jī)三總線(xiàn)分析8.1.2并行I/O接口擴(kuò)展認(rèn)知8.2.2硬件系統(tǒng)與控制流程分析8.2.1控制要求與功能展示8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)8.2.4C語(yǔ)言程序分析與設(shè)計(jì)2任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.5基于Proteus的調(diào)試與仿真任務(wù)8.1單片機(jī)并行擴(kuò)展分析項(xiàng)目8并行I/O口擴(kuò)展控制8.1.151單片機(jī)三總508.1.151單片機(jī)三總線(xiàn)分析總線(xiàn)就是連接系統(tǒng)中各擴(kuò)展部件的一組公共信號(hào)線(xiàn)。按照功能可分為地址總線(xiàn)AB、數(shù)據(jù)總線(xiàn)DB和控制總線(xiàn)CB。

1、51單片機(jī)的三總線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析總線(xiàn)就是連接系統(tǒng)518.1.151單片機(jī)三總線(xiàn)分析

整個(gè)擴(kuò)展系統(tǒng)以單片機(jī)為核心,因?yàn)閿U(kuò)展部件是在單片機(jī)芯片之外進(jìn)行的,通常稱(chēng)擴(kuò)展的ROM為外部ROM,稱(chēng)擴(kuò)展RAM為外部RAM。注意:MCS-51系列單片機(jī)外部擴(kuò)展I/O接口時(shí),其地址與外部RAM統(tǒng)一編址的。換句話(huà)說(shuō),外部擴(kuò)展的I/O接口要占用外部RAM的地址。1、51單片機(jī)的三總線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析整個(gè)擴(kuò)展系統(tǒng)以單528.1.151單片機(jī)三總線(xiàn)分析◆地址總線(xiàn)的數(shù)目決定著可以直接訪(fǎng)問(wèn)的存儲(chǔ)單元的數(shù)目。N位地址可以產(chǎn)生2個(gè)連續(xù)地址編碼,可訪(fǎng)問(wèn)2個(gè)存儲(chǔ)單元?!鬗CS-51單元有16根地址線(xiàn),存儲(chǔ)器或I/O接口擴(kuò)展最多可達(dá)64KB,即2個(gè)地址單元。◆地址總線(xiàn)用于傳送單片機(jī)送出的地址信號(hào),以便進(jìn)行存儲(chǔ)單元和I/O端口的選擇。◆地址總線(xiàn)是單向的,只能由單片機(jī)向外發(fā)出。(1)地址總線(xiàn)AB(AddressBus)8.1.151單片機(jī)三總線(xiàn)分析◆地址總線(xiàn)的數(shù)目決定著可538.1.151單片機(jī)三總線(xiàn)分析◆數(shù)據(jù)總線(xiàn)用于在單片機(jī)與存儲(chǔ)器之間或單片機(jī)與I/O端口之間傳送數(shù)據(jù)。◆數(shù)據(jù)總線(xiàn)是雙向的,可以進(jìn)行兩個(gè)方向的數(shù)據(jù)傳送。◆數(shù)據(jù)總線(xiàn)的位數(shù)與單片機(jī)處理數(shù)據(jù)的字長(zhǎng)一致。MCS-51單片機(jī)字長(zhǎng)8位,所以它的數(shù)據(jù)總線(xiàn)位數(shù)也是8位。(2)數(shù)據(jù)總線(xiàn)DB(DataBus)

8.1.151單片機(jī)三總線(xiàn)分析◆數(shù)據(jù)總線(xiàn)用于在單片機(jī)與548.1.151單片機(jī)三總線(xiàn)分析◆控制總線(xiàn)實(shí)際上就是一組控制信號(hào)線(xiàn),包括由單片機(jī)發(fā)出的控制信號(hào)以及從其他部件送給單片機(jī)的請(qǐng)求信號(hào)和狀態(tài)信號(hào)。◆每一條控制信號(hào)線(xiàn)的傳送方向是單向的固定的,但由不同方向的控制信號(hào)線(xiàn)組合的控制總線(xiàn)則表示為雙向。(3)控制總線(xiàn)CB(ControlBus)8.1.151單片機(jī)三總線(xiàn)分析◆控制總線(xiàn)實(shí)際上就是一組558.1.151單片機(jī)三總線(xiàn)分析2、MCS-51系列單片機(jī)三總線(xiàn)的形成8.1.151單片機(jī)三總線(xiàn)分析2、MCS-51系列單片568.1.151單片機(jī)三總線(xiàn)分析

P0口線(xiàn)的第二功能是地址線(xiàn)/數(shù)據(jù)線(xiàn)分時(shí)復(fù)用功能。在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置。在一個(gè)片外存儲(chǔ)器讀寫(xiě)周期中,首先P0口輸出低8位地址,然后以ALE為所鎖存控制信號(hào),確保低8位地址信息在消失前被送入鎖存器暫存起來(lái)并輸出,作為地址總線(xiàn)的低8位,直到訪(fǎng)問(wèn)周期結(jié)束。地址信號(hào)被鎖存之后,P0口轉(zhuǎn)換為數(shù)據(jù)線(xiàn),以便傳輸數(shù)據(jù),直到訪(fǎng)問(wèn)周期結(jié)束。從而實(shí)現(xiàn)了對(duì)地址和數(shù)據(jù)的分離。

(1)P0口線(xiàn)用作數(shù)據(jù)線(xiàn)/低8位地址線(xiàn)8.1.151單片機(jī)三總線(xiàn)分析P0口線(xiàn)的第二功578.1.151單片機(jī)三總線(xiàn)分析◆在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自動(dòng)進(jìn)入第二功能,不需要進(jìn)行設(shè)置?!粼谝粋€(gè)片外存儲(chǔ)器讀寫(xiě)周期中,P2口線(xiàn)始終輸出地址總線(xiàn)的高8位,可直接與存儲(chǔ)器或接口芯片的地址線(xiàn)相連,無(wú)需鎖存?!鬚2與P0共同提供了16根地址線(xiàn),實(shí)現(xiàn)了MCS-51單片機(jī)系統(tǒng)64KB的尋址范圍。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0(2)P2口線(xiàn)第二功能用于進(jìn)行高8位地址線(xiàn)的擴(kuò)展8.1.151單片機(jī)三總線(xiàn)分析◆在訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),自588.1.151單片機(jī)三總線(xiàn)分析構(gòu)成系統(tǒng)的控制總線(xiàn)的控制信號(hào)包括:1)ALE(30)是鎖存信號(hào),用于進(jìn)行P0口地址線(xiàn)和數(shù)據(jù)線(xiàn)的分離。2)(29)是程序存儲(chǔ)器讀選通控制信號(hào)。3)(17)、(16)分別是外部數(shù)據(jù)存儲(chǔ)器的讀、寫(xiě)選通控制信號(hào)。4)(31)是程序存儲(chǔ)器訪(fǎng)問(wèn)控制信號(hào)。(3)控制信號(hào)8.1.151單片機(jī)三總線(xiàn)分析構(gòu)成系統(tǒng)的控制總線(xiàn)的控制598.1.2并行I/O接口擴(kuò)展認(rèn)知所有擴(kuò)展的I/O口或相當(dāng)于I/O口的外設(shè)以及通過(guò)I/O口連接的外設(shè),均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,訪(fǎng)問(wèn)I/O口的指令就是訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令(MOVX)。

對(duì)于數(shù)據(jù)存儲(chǔ)器來(lái)說(shuō),或者是單片機(jī)讀取存儲(chǔ)器的數(shù)據(jù),或者是單片機(jī)將數(shù)據(jù)寫(xiě)入存儲(chǔ)器,而單片機(jī)與外設(shè)所能進(jìn)行的無(wú)非是數(shù)據(jù)的輸入或輸出,也就是說(shuō),單片機(jī)與外設(shè)進(jìn)行的只是數(shù)據(jù)的傳輸,所以,外設(shè)或I/O口可當(dāng)作數(shù)據(jù)存儲(chǔ)器進(jìn)行擴(kuò)展。8.1.2并行I/O接口擴(kuò)展認(rèn)知所有擴(kuò)展的I/O608.1.2并行I/O接口擴(kuò)展認(rèn)知(1)總線(xiàn)擴(kuò)展方法總線(xiàn)擴(kuò)展的方法是將擴(kuò)展的并行I/O口芯片連接到MCS-51單片機(jī)的總線(xiàn)上,即數(shù)據(jù)總線(xiàn)使用P0口,地址總線(xiàn)使用P2和P0口,控制總線(xiàn)使用部分P3口。這種擴(kuò)展方法基本上不影響總線(xiàn)上其他擴(kuò)展芯片的連接,在MCS-51系列單片機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中被廣泛應(yīng)用。1、單片機(jī)I/O口擴(kuò)展方法8.1.2并行I/O接口擴(kuò)展認(rèn)知(1)總線(xiàn)擴(kuò)展方法1、單61

8.1.2并行I/O接口擴(kuò)展認(rèn)知MCS-51單片機(jī)串行口工作方式0時(shí),提供一種I/O擴(kuò)展方法。串行口方式0是移位寄存器工作方式,可借助外接串入并出的移位寄存器擴(kuò)展并行輸出口,也可通過(guò)外接并入串出的移位寄存器擴(kuò)展并行輸入口。由于采用串行輸入輸出的方法,所以數(shù)據(jù)傳輸速度較慢。1、單片機(jī)I/O口擴(kuò)展方法(2)串行口擴(kuò)展方法8.1.2并行I/O接口擴(kuò)展認(rèn)知628.1.2并行I/O接口擴(kuò)展認(rèn)知2、并行I/O擴(kuò)展常用芯片123TTL/CMOS鎖存器/緩沖器芯片:如74LS377、74LS374、74LS373、74LS273、74LS244、74LS245等。通用可編程I/O接口芯片:如8255、8279等??删幊剃嚵校喝鏕AL16V8、GAL20V8等。8.1.2并行I/O接口擴(kuò)展認(rèn)知2、并行I/O擴(kuò)展常用芯638.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的幾個(gè)問(wèn)題擴(kuò)展的I/O與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,分配給I/O端口的地址不能再分配給片外數(shù)據(jù)存儲(chǔ)單元,且與程序存儲(chǔ)器無(wú)關(guān)。訪(fǎng)問(wèn)擴(kuò)展I/O的方法與訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器完全相同,使用相同的指令。12展多片I/O芯片或多個(gè)I/O設(shè)備時(shí),注意總線(xiàn)驅(qū)動(dòng)器的能力問(wèn)題。38.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的648.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的幾個(gè)問(wèn)題

在軟件設(shè)計(jì)時(shí),I/O口對(duì)應(yīng)初始狀態(tài)設(shè)置、工作方式選擇要與外接設(shè)備相匹配。I/O擴(kuò)展時(shí)必須考慮與之相連的外設(shè)硬件特性,如驅(qū)動(dòng)器功率、電平、干擾抑制及隔離等。458.1.2并行I/O接口擴(kuò)展認(rèn)知3、I/O擴(kuò)展中應(yīng)注意的65任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要求與功能展示實(shí)物運(yùn)行視頻74HC32芯片74LS374芯片按鍵指示燈

按鍵

單片機(jī)74LS245芯片

任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要66簡(jiǎn)單并行I/O口擴(kuò)展控制電路原理圖任務(wù)8.2簡(jiǎn)單并行I/O口擴(kuò)展控制8.2.1控制要求與功能展示簡(jiǎn)單并行I/O口擴(kuò)展控制電路原理圖任務(wù)8.2簡(jiǎn)單并行I678.2.2硬件系統(tǒng)與控制流程分析

1、任務(wù)硬件系統(tǒng)分析

如電路原理圖所示,該電路實(shí)際上是通過(guò)單片機(jī)的三總線(xiàn)結(jié)構(gòu),外擴(kuò)單片機(jī)的輸入輸出接口電路。輸入采用三態(tài)門(mén)74LS245,輸出采用8D觸發(fā)器(鎖存器)74LS374,因此,要分析理解以上的電路設(shè)計(jì),必須先學(xué)習(xí)74LS245與74LS374芯片的部分知識(shí)。8.2.2硬件系統(tǒng)與控制流程分析1、任務(wù)硬件系統(tǒng)分析688.2.2硬件系統(tǒng)與控制流程分析

(1)74LS245擴(kuò)展芯片的介紹表8-274LS245功能特性輸入功能DIR00B端數(shù)據(jù)→A端數(shù)據(jù)01A端數(shù)據(jù)→B端數(shù)據(jù)1×高阻8.2.2硬件系統(tǒng)與控制流程分析(1)74LS245擴(kuò)698.2.2硬件系統(tǒng)與控制流程分析表8-374LS374功能特性DnCLKQnHLHLLL××HZ

(1)74LS245擴(kuò)展芯片的介紹8.2.2硬件系統(tǒng)與控制流程分析表8-374LS37708.2.2硬件系統(tǒng)與控制流程分析保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器芯片或I/O接口芯片。片選方法線(xiàn)選法地址譯碼法常用

(3)單片機(jī)的片選方法

8.2.2硬件系統(tǒng)與控制流程分析保證每次讀或?qū)憰r(shí),只選中718.2.2硬件系統(tǒng)與控制流程分析◆線(xiàn)選法

(3)單片機(jī)的片選方法

一般是利用單片機(jī)的最高幾位空余的地址線(xiàn)中一根作為某一片存儲(chǔ)器芯片或I/O接口芯片的“片選”控制線(xiàn)。線(xiàn)選法常用于應(yīng)用系統(tǒng)中擴(kuò)展芯片較少的場(chǎng)合。8.2.2硬件系統(tǒng)與控制流程分析◆線(xiàn)選法(3)單片機(jī)728.2.2硬件系統(tǒng)與控制流程分析◆譯碼法當(dāng)應(yīng)用系統(tǒng)中擴(kuò)展芯片較多時(shí),單片機(jī)空余的高位地址線(xiàn)不夠用。這時(shí)常用譯碼器對(duì)空余的高位地址線(xiàn)進(jìn)行譯碼,而譯碼器的輸出作為“片選”控制線(xiàn)。常用的譯碼器有3/8譯碼器74LS138、4/16譯碼器74LS154等。

(3)單片機(jī)的片選方法

8.2.2硬件系統(tǒng)與控制流程分析◆譯碼法(3)單片機(jī)738.2.2硬件系統(tǒng)與控制流程分析

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用◆擴(kuò)展芯片地址的確定

如圖8-4所示為單片機(jī)與74LS245、74LS374接口電路,該電路采用線(xiàn)選法進(jìn)行I/O口擴(kuò)展。表8-474LS245與74LS374的片地址芯片型號(hào)P2.7~P2.2P2.1P2.0P0.7~P0.074LS245X0XX74LS374XX0X其中“X”表示與芯片地址無(wú)關(guān)的地址位,簡(jiǎn)稱(chēng)無(wú)關(guān)位,取0或1都可以。8.2.2硬件系統(tǒng)與控制流程分析(4)并行擴(kuò)展輸入/輸748.2.2硬件系統(tǒng)與控制流程分析

如果與芯片地址無(wú)關(guān)的地址線(xiàn)引腳都取0,那么74LS245與74LS374的地址都是0000H。如果與芯片地址無(wú)關(guān)的地址線(xiàn)引腳都取1,那么74LS245與74LS374的地址分別是FDFFH、FEFFH。

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用8.2.2硬件系統(tǒng)與控制流程分析如果與芯片地址無(wú)758.2.2硬件系統(tǒng)與控制流程分析◆擴(kuò)展芯片地址的使用在確定好每片芯片的地址后,單片機(jī)就可對(duì)其進(jìn)行讀寫(xiě)操作,讀寫(xiě)時(shí)先發(fā)送芯片地址,選通芯片,接著進(jìn)行讀寫(xiě)數(shù)據(jù)。

(4)并行擴(kuò)展輸入/輸出口電路地址的確定及使用8.2.2硬件系統(tǒng)與控制流程分析◆擴(kuò)展芯片地址的使用768.2.2硬件系統(tǒng)與控制流程分析圖8-7簡(jiǎn)單并行I/O口擴(kuò)展控制流程2、任務(wù)控制流程分析8.2.2硬件系統(tǒng)與控制流程分析圖8-7簡(jiǎn)單并行I778.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)使用說(shuō)明:MOVX是CPU與外部數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)傳送操作指令,其中x為external(外部)的第二字母。這組指令的功能是外部數(shù)據(jù)存儲(chǔ)器或擴(kuò)展I/O口與累加器A之間的數(shù)據(jù)傳送。

累加器A與外部RAM(或外部接口)數(shù)據(jù)傳送指令:MOVX使用格式:MOVXA,@DPTR或MOVX@DPTR,AMOVXA,@Ri或MOVX@Ri,A1、任務(wù)相關(guān)匯編指令8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)使用說(shuō)明:MOVX是788.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令(2)由于MOVX類(lèi)指令是專(zhuān)訪(fǎng)外部數(shù)據(jù)存儲(chǔ)器和外部接口的指令,因此它的操作數(shù)地址(DPTR或Ri的值),即外部數(shù)據(jù)存儲(chǔ)器16位地址是由P0口和P2口向外部地址總線(xiàn)發(fā)出的。(1)在以上4條格式指令中,DPTR的取值范圍是:0000H~0FFFFH;Ri的取值范圍是XX00H~XXFFH。8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令79(4)當(dāng)執(zhí)行指令MOVXA,@Ri和MOVX@Ri,A時(shí),寄存器Ri的內(nèi)容操作數(shù)地址的低8位,將自動(dòng)寫(xiě)入P0口并鎖存,操作數(shù)地址的高8位必須事先通過(guò)MOVP2,#data指令寫(xiě)入P2口。(3)當(dāng)執(zhí)行指令MOVXA,@DPTR和MOVX@DPTR,A時(shí),寄存器DPH(DPTR的高8位)的內(nèi)容自動(dòng)寫(xiě)入P2口,寄存器DPL(DPTR的低8位)的內(nèi)容自動(dòng)寫(xiě)入P0口并鎖存。8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)1、任務(wù)相關(guān)匯編指令(4)當(dāng)執(zhí)行指令MOVXA,@Ri和MOVX@Ri,808.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)方法一MOVDPTR,#7E02H;建立外部地址指針7E02HMOVXA,@DPTR;外存7E02H單元內(nèi)容送AMOV35H,A;A內(nèi)容送內(nèi)部存儲(chǔ)單元35H方法二:MOVP2,#7EHMOVR1,#02HMOVXA,@R1MOV35H,A使用示例:用兩種方法將外部數(shù)據(jù)寄存器7E02H單元的內(nèi)容送入內(nèi)部數(shù)據(jù)存儲(chǔ)器35H單元。1、任務(wù)相關(guān)匯編指令8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)方法一MOVDP818.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)

匯編程序程序初始部分

匯編程序主程序MAIN8.2.3匯編語(yǔ)言程序分析與設(shè)計(jì)匯編程序程序828.2.4C語(yǔ)言程序分析與設(shè)計(jì)例如:XBYTE[0XFD3F]XBYTE是一個(gè)地址指針,它在文件absacc.h中由系統(tǒng)定義,指向外部RAM的0000H單元,XBYTE后面中括號(hào)[]中的數(shù)值是指偏離0000H的偏移量,例中XBYTE[0XFD3F]表明訪(fǎng)問(wèn)外部地址為0XFD3F的外部RAM。1.絕對(duì)地址訪(fǎng)問(wèn)宏定義頭文件absacc.h

8.2.4C語(yǔ)言程序分析與設(shè)計(jì)例如:XBYTE[0838.2.4C語(yǔ)言程序分析與設(shè)計(jì)1.絕對(duì)地址訪(fǎng)問(wèn)宏定義頭文件absacc.h

例如:XBYTE[0XFD3F]XBYTE是一個(gè)地址指針,它在文件absacc.h中由系統(tǒng)定義,指向外部RAM的0000H單元,XBYTE后面中括號(hào)[]中的數(shù)值是指偏離0000H的偏移量,例中XBYTE[0XFD3F]表明訪(fǎng)問(wèn)外部地址為0XFD

溫馨提示

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

評(píng)論

0/150

提交評(píng)論