微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章-計(jì)算機(jī)接口技術(shù)_第1頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章-計(jì)算機(jī)接口技術(shù)_第2頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章-計(jì)算機(jī)接口技術(shù)_第3頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章-計(jì)算機(jī)接口技術(shù)_第4頁(yè)
微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章-計(jì)算機(jī)接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)-第六章_計(jì)算機(jī)接口技術(shù)第一頁(yè),共66頁(yè)。第六章

(6)

輸入輸出接口6.1輸入/輸出接口基礎(chǔ)(掌握)

輸入/輸出接口功能與結(jié)構(gòu)輸入/輸出端口編址6.2接口地址譯碼(掌握)

6.3接口信息傳輸方式(掌握)程序查詢傳輸方式程序中斷傳輸方式直接存儲(chǔ)器訪問(wèn)(DMA)方式通道方式6.4并行接口(掌握)無(wú)握手信號(hào)并行接口帶握手信號(hào)的并行接口可編程并行接口6.5串行接口(理解)同步串行接口

異步串行接口

第二頁(yè),共66頁(yè)。6.1輸入/輸出接口基礎(chǔ)接口的概念:計(jì)算機(jī)外部設(shè)備與計(jì)算機(jī)主機(jī)之間的硬件電路和驅(qū)動(dòng)程序3作用:信息存儲(chǔ)操作模式:字節(jié)的整數(shù)倍器件種類:少速度時(shí)序:CPU相當(dāng)、匹配存儲(chǔ)器作用:與外設(shè)間的信息交換操作模式:位、字節(jié)、多字節(jié)器件種類:多速度時(shí)序:差異很大、時(shí)序不同…接口第三頁(yè),共66頁(yè)。簡(jiǎn)單I/O接口框圖與CPU相關(guān)的:數(shù)據(jù)口線、I/O選擇(地址線)、I/O讀寫(xiě)與外設(shè)相關(guān)的:數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器----端口4數(shù)據(jù)緩存寄存器端口A寄存器端口B寄存器控制寄存器狀態(tài)寄存器CSRS1RS0RDWR時(shí)序控制電路數(shù)據(jù)總線I/O數(shù)據(jù)控制I/O數(shù)據(jù)狀態(tài)I/O選擇寄存器選擇I/O讀I/O寫(xiě)第四頁(yè),共66頁(yè)。接口分類5并行接口:一次傳輸多個(gè)數(shù)據(jù)位串行接口:一次只有一位數(shù)據(jù)傳輸方式同步接口:總線相連,并同步傳輸異步接口:無(wú)共同的基準(zhǔn)時(shí)鐘時(shí)序控制方式程序查詢方式:程序的執(zhí)行實(shí)現(xiàn)程序中斷方式:傳輸時(shí)由中斷請(qǐng)求信號(hào)觸發(fā)存儲(chǔ)器直接存取訪問(wèn)方式(DMA)通道控制器,I/O處理機(jī)傳輸控制方式外圍接口:與外設(shè)無(wú)關(guān),是系統(tǒng)的一部分外設(shè)接口:用于連接外設(shè)的接口工作對(duì)象第五頁(yè),共66頁(yè)。接口功能設(shè)備選擇:譯碼選擇設(shè)備、端口數(shù)據(jù)收發(fā)和格式轉(zhuǎn)換:讀/寫(xiě),串/并、并/串接收解釋執(zhí)行CPU的命令:控制信號(hào)的實(shí)現(xiàn)外設(shè)狀態(tài)接收并轉(zhuǎn)發(fā)給CPU:狀態(tài)端口支持查詢、中斷、DMA等多種傳輸控制方式提供緩沖、暫存、驅(qū)動(dòng)能力:信號(hào)驅(qū)動(dòng)錯(cuò)誤檢測(cè)功能:奇偶校驗(yàn)復(fù)位6第六頁(yè),共66頁(yè)。7歸納:接口結(jié)構(gòu)接口主要功能設(shè)備選擇、數(shù)據(jù)緩沖信號(hào)轉(zhuǎn)換、聯(lián)絡(luò)控制可編程/可配置/可重構(gòu)接口硬件結(jié)構(gòu)存儲(chǔ)器接口、外設(shè)接口接口技術(shù)組成硬件:地址譯碼、讀寫(xiě)控制、總線緩沖軟件:驅(qū)動(dòng)程序(初始化、傳送控制、結(jié)束控制等)第七頁(yè),共66頁(yè)。86.1.2端口編址存儲(chǔ)單元地址00000H00001H……FF0FFHFF100HFF101H……FFFFFH0000H0001H……FF00HI/O端口地址……FFFFH特點(diǎn):系統(tǒng)視端口和存儲(chǔ)單元為不同的對(duì)象。優(yōu)點(diǎn):系統(tǒng)中存儲(chǔ)單元和I/O端口的數(shù)量可達(dá)到最大。缺點(diǎn):需專門(mén)信號(hào)來(lái)指示系統(tǒng)地址線上出現(xiàn)的是存儲(chǔ)單元地址還是端口地址;專用的端口操作指令比較單一;獨(dú)立編址(INTEL)第八頁(yè),共66頁(yè)。9獨(dú)立端口編址總線結(jié)構(gòu)第九頁(yè),共66頁(yè)。10I/O地址映射方式2:存儲(chǔ)器映像編址

(如Freescale的系列芯片)存儲(chǔ)單元地址00000H00001H……FF0FFHI/O端口地址FF100HFF101H……FFFFFH

特點(diǎn):將端口看作存儲(chǔ)單元,僅以地址范圍的不同來(lái)區(qū)分兩者。優(yōu)點(diǎn):對(duì)端口的操作和對(duì)存儲(chǔ)單元的操作完全一樣,因此系統(tǒng)簡(jiǎn)單,并且對(duì)端口操作的指令種類較多缺點(diǎn):CPU對(duì)存儲(chǔ)單元和I/O端口的實(shí)際尋址空間都小于其最大尋址空間2023/4/1810/100第十頁(yè),共66頁(yè)。11統(tǒng)一編址總線結(jié)構(gòu)第十一頁(yè),共66頁(yè)。126.2接口地址譯碼全譯碼全部高位地址線都參與譯碼形成片選信號(hào)部分譯碼只有部分高位地址線參與譯碼形成片選信號(hào)線譯碼每組芯片使用一根地址線作片選固定譯碼,可變譯碼地址信號(hào)不完全確定,所以存在地址重疊問(wèn)題,浪費(fèi)尋址空間,并可能導(dǎo)致誤操作;第十二頁(yè),共66頁(yè)。136.3接口信息傳輸方式外設(shè)數(shù)據(jù)變化緩慢,始終處于就緒狀態(tài),如開(kāi)關(guān)或LED接口結(jié)構(gòu)簡(jiǎn)單(通常只需要數(shù)據(jù)端口),適用面較窄6.3.1程序控制傳輸方式第十三頁(yè),共66頁(yè)。14條件程序控制(程序查詢)接口輸入設(shè)備數(shù)據(jù)端口讀選通狀態(tài)端口讀選通輸入選通輸入數(shù)據(jù)RQD+5VDB(數(shù)據(jù)、狀態(tài))READY(1bit)數(shù)據(jù)鎖存器(輸出端口)狀態(tài)緩沖器(輸入端口)輸出設(shè)備輸出選通RQD+5VDB(數(shù)據(jù)、狀態(tài))BUSY(1bit)①④ACK③狀態(tài)端口讀選通數(shù)據(jù)端口寫(xiě)選通②⑤⑥①②③④

接口避免了對(duì)端口的“盲讀”、“盲寫(xiě)”,數(shù)據(jù)傳送的可靠性高,且硬件接口相對(duì)簡(jiǎn)單。

外設(shè)應(yīng)具有必要的聯(lián)絡(luò)(握手)信號(hào)如READY、ACK等;

缺點(diǎn)是CPU工作效率低,I/O響應(yīng)速度慢;在有多個(gè)外設(shè)的系統(tǒng)中,CPU的查詢順序由外設(shè)的優(yōu)先級(jí)確定,實(shí)時(shí)性差。第十四頁(yè),共66頁(yè)。15程序查詢方式的打印機(jī)接口狀態(tài)位為0,則表明先前送出的數(shù)據(jù)已被打印,可以再送下一個(gè)數(shù)據(jù);若狀態(tài)位為1,則表明先前送出的數(shù)據(jù)還沒(méi)打印,就不能再送數(shù)據(jù)出去第十五頁(yè),共66頁(yè)。16并行接口握手時(shí)序圖BUSY數(shù)據(jù)有效DATA數(shù)據(jù)有效ACK5μsSTROB5μs1.發(fā)送方查詢BUSY狀態(tài)信號(hào)2.當(dāng)BUSY=“0”時(shí),發(fā)送方發(fā)送數(shù)據(jù)3.發(fā)送方用控制信號(hào)/STROB鎖存數(shù)據(jù),該信號(hào)至少維持5μs4./STROB信號(hào)導(dǎo)致BUSY信號(hào)變?yōu)楦唠娖?.接收方用/ACK狀態(tài)信號(hào)表示數(shù)據(jù)收到,該信號(hào)至少維持5μs6./ACK信號(hào)導(dǎo)致BUSY信號(hào)變?yōu)榈碗娖降谑?yè),共66頁(yè)。176.3.2程序中斷控制接口中斷請(qǐng)求觸發(fā)器QRD數(shù)據(jù)緩沖控制端口中斷屏蔽觸發(fā)器QD+5VWR外設(shè)READYDBABDBINTRINTA接口避免了CPU反復(fù)低效率的查詢,適用于CPU任務(wù)繁忙、而數(shù)據(jù)傳送不太頻繁的系統(tǒng)中。外設(shè)應(yīng)具有必要的聯(lián)絡(luò)握手信號(hào)(如READY)作為中斷請(qǐng)求信號(hào);中斷可被響應(yīng)的條件:中斷請(qǐng)求觸發(fā)器置位;中斷屏蔽觸發(fā)器清零;CPU內(nèi)部開(kāi)放中斷;CPU未處理更高級(jí)中斷;CPU現(xiàn)行指令執(zhí)行完;優(yōu)先級(jí)排隊(duì)why?第十七頁(yè),共66頁(yè)。18什么是中斷“中斷”是外設(shè)給出的信號(hào),它告訴微處理器已發(fā)生了某種需要特別處理的事件,需要去處理或?yàn)槠浞?wù)--硬件層面中斷,是指CPU在執(zhí)行正常程序時(shí),為處理一些緊急發(fā)生的情況,暫時(shí)中止當(dāng)前程序,轉(zhuǎn)而對(duì)該緊急事件進(jìn)行處理,并在處理完后返回正常程序的過(guò)程--軟件層面中斷服務(wù)程序1中斷服務(wù)程序2非預(yù)料事件1非預(yù)料事件2第十八頁(yè),共66頁(yè)。19非預(yù)料事件是指事件發(fā)生的時(shí)間無(wú)法預(yù)知,即中斷源何時(shí)產(chǎn)生中斷不確定,是隨機(jī)的。中斷源產(chǎn)生中斷的隨機(jī)性,使中斷服務(wù)程序的執(zhí)行也具有隨機(jī)性,即何時(shí)執(zhí)行中斷服務(wù)程序不是在程序中安排好的。中斷的隨機(jī)性、不可預(yù)料性中斷系統(tǒng)是微機(jī)中實(shí)現(xiàn)中斷功能的各種軟、硬件的總稱中斷系統(tǒng)一般包括CPU內(nèi)部相應(yīng)的中斷邏輯、接口中的中斷控制電路及各類中斷服務(wù)子程序第十九頁(yè),共66頁(yè)。20中斷的相關(guān)概念中斷源:引起中斷的原因,或能夠發(fā)出中斷請(qǐng)求信號(hào)的外設(shè)第二十頁(yè),共66頁(yè)。21中斷向量:中斷向量即中斷服務(wù)子程序的入口地址,也就是中斷服務(wù)子程序的第一條指令的地址在存儲(chǔ)器中的存放位置中斷優(yōu)先級(jí):在系統(tǒng)中多個(gè)中斷源可能同時(shí)提出中斷請(qǐng)求時(shí),需要按中斷的輕重緩急給每個(gè)中斷源指定一個(gè)優(yōu)先級(jí)別斷點(diǎn):是指CPU執(zhí)行的現(xiàn)行程序被中斷時(shí)的下一條指令的地址,又稱斷點(diǎn)地址中斷的相關(guān)概念第二十一頁(yè),共66頁(yè)。1000:150H

、、、、、、、、、、MOVAX,0ADDAX,DXMOV[DI],AX、、、、、、、、、、

PUSHAX

、、

、、

IRETCPU在執(zhí)行此指令時(shí),某中斷源發(fā)申請(qǐng)中斷;CPU在執(zhí)行完該指令后,轉(zhuǎn)去執(zhí)行中斷子程地址1000:150H為斷點(diǎn)斷點(diǎn)概念第二十二頁(yè),共66頁(yè)。中斷系統(tǒng)相關(guān)概念中斷現(xiàn)場(chǎng):是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運(yùn)行狀態(tài),包括CPU內(nèi)部各寄存器、斷點(diǎn)地址等。中斷嵌套:當(dāng)CPU正在進(jìn)行某一級(jí)別中斷源的中斷處理時(shí),若有更高級(jí)別的新中斷源發(fā)出請(qǐng)求,且新中斷源滿足響應(yīng)條件,則CPU應(yīng)中止當(dāng)前的中斷服務(wù)程序,保護(hù)此程序的斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)而響應(yīng)高級(jí)中斷。這種多級(jí)(重)中斷的處理方式稱為“嵌套”。第二十三頁(yè),共66頁(yè)。非預(yù)料事件1非預(yù)料事件2中斷嵌套過(guò)程示意圖第二十四頁(yè),共66頁(yè)。中斷嵌套必須具備的幾個(gè)條件正處于響應(yīng)狀態(tài)的中斷服務(wù)程序中,應(yīng)開(kāi)放總中斷(IF位置1)新中斷應(yīng)具有比原中斷有高的優(yōu)先級(jí);同級(jí)或低級(jí)均不能嵌套為保護(hù)各級(jí)中斷服務(wù)程序的數(shù)據(jù)不被破壞,所有服務(wù)程序中均應(yīng)有保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)的指令每個(gè)中斷服務(wù)程序末尾必須有IRET指令以示結(jié)束,從而返回被中斷的程序地址處第二十五頁(yè),共66頁(yè)。中斷系統(tǒng)相關(guān)概念中斷屏蔽:在某些情況下,CPU可能不對(duì)中斷請(qǐng)求信號(hào)作出響應(yīng)或處理,這就是中斷屏蔽。屏蔽情況中斷屏蔽標(biāo)志IF接口電路中的中斷屏蔽寄存器系統(tǒng)在處理優(yōu)先級(jí)別較高的中斷請(qǐng)求時(shí),不會(huì)理睬后來(lái)的級(jí)別較低的中斷請(qǐng)求。第二十六頁(yè),共66頁(yè)。中斷處理過(guò)程中斷檢測(cè)CPU內(nèi)部硬件自動(dòng)完成中斷判優(yōu)是否已有中斷,哪個(gè)優(yōu)先級(jí)更高中斷響應(yīng)CPU內(nèi)部硬件自動(dòng)完成中斷處理服務(wù)中斷服務(wù)是根據(jù)用戶自行編制的指令順序完成各項(xiàng)操作的。中斷返回第二十七頁(yè),共66頁(yè)。中斷系統(tǒng)的功能一、實(shí)現(xiàn)中斷及返回中斷源發(fā)出中斷請(qǐng)求,CPU決定是否響應(yīng),若響應(yīng),則保護(hù)斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束后,恢復(fù)現(xiàn)場(chǎng)和斷點(diǎn),繼續(xù)執(zhí)行原程序。CPU執(zhí)行流程中斷服務(wù)程序1非預(yù)料事件1第二十八頁(yè),共66頁(yè)。中斷系統(tǒng)的功能二、能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)按各中斷請(qǐng)求的重要程度排列CPU響應(yīng)的次序稱為中斷優(yōu)先級(jí)。即同時(shí)有多個(gè)中斷請(qǐng)求到來(lái)時(shí),CPU會(huì)首先響應(yīng)和處理優(yōu)先級(jí)別最高的中斷請(qǐng)求。中斷優(yōu)先級(jí)的實(shí)現(xiàn)可以用軟件或硬件設(shè)置第二十九頁(yè),共66頁(yè)。30簡(jiǎn)單中斷接口中的軟硬件功能SRCPDQ外設(shè)發(fā)出的中斷請(qǐng)求信號(hào)CPU中斷請(qǐng)求復(fù)位信號(hào)+5V送至總線的中斷請(qǐng)求引腳CPU中斷請(qǐng)求允許信號(hào)硬件需完成的功能:可產(chǎn)生穩(wěn)定的中斷請(qǐng)求信號(hào)可屏蔽該中斷請(qǐng)求信號(hào)可清除該中斷請(qǐng)求信號(hào)軟件需完成的功能:產(chǎn)生中斷請(qǐng)求允許信號(hào)產(chǎn)生中斷請(qǐng)求復(fù)位信號(hào)裝載中斷服務(wù)子程序?qū)⒂脩糁袛喾?wù)子程序的入口地址放入中斷向量表第三十頁(yè),共66頁(yè)。31中斷的軟件判優(yōu)法………至CPU的INTR引腳+由外設(shè)設(shè)置的中斷請(qǐng)求寄存器可由程序設(shè)置的中斷允許寄存器設(shè)備優(yōu)先級(jí)由軟件查詢流程確定。試畫(huà)出工作流程;考慮如何得到中斷類型號(hào);第三十一頁(yè),共66頁(yè)。32中斷優(yōu)先權(quán)編碼電路

8-3編碼器A2A1A0B2B1B0比較器A>B…12中斷請(qǐng)求信號(hào)+至CPU的INTR引腳優(yōu)先權(quán)失效信號(hào)+優(yōu)先權(quán)寄存器CPU1234567 8可由程序設(shè)置的中斷允許寄存器由外設(shè)設(shè)置的中斷請(qǐng)求寄存器……1234567 8設(shè)備優(yōu)先級(jí)由編碼器連接方式確定。第三十二頁(yè),共66頁(yè)。33

設(shè)備優(yōu)先級(jí)由鏈?zhǔn)诫娐愤B接順序確定。菊花鏈?zhǔn)脚抨?duì)電路B1B2…H1H2G1G2…CPU的中斷響應(yīng)信號(hào)INTA到設(shè)備1的中斷響應(yīng)信號(hào)輸出到設(shè)備2的中斷響應(yīng)信號(hào)輸出到設(shè)備7的中斷響應(yīng)信號(hào)輸出到設(shè)備8的中斷響應(yīng)信號(hào)輸出1234567 8可由程序設(shè)置的中斷允許寄存器由外設(shè)設(shè)置的中斷請(qǐng)求寄存器……至CPU的INTR引腳+1234567 8A1A2第三十三頁(yè),共66頁(yè)。34接口的程序中斷方式第三十四頁(yè),共66頁(yè)。6.3.3直接存儲(chǔ)器訪問(wèn)(DMA)方式程序查詢傳送方式的特點(diǎn)電路簡(jiǎn)單不能實(shí)時(shí)響應(yīng)適用于簡(jiǎn)單的無(wú)實(shí)時(shí)性要求的場(chǎng)合需要CPU參與程序中斷傳送方式的特點(diǎn)實(shí)時(shí)響應(yīng),需要中斷控制電路適用于傳輸數(shù)據(jù)量較少,而要求實(shí)時(shí)性較高的場(chǎng)合需要CPU參與DMA方式解決一次性傳輸大量數(shù)據(jù)一般用于存儲(chǔ)器與I/O之間,CPU不參與傳輸而運(yùn)行其他程序35第三十五頁(yè),共66頁(yè)。36數(shù)據(jù)緩沖器地址緩沖器數(shù)據(jù)總線地址總線時(shí)序控制邏輯IORMEMRMEMW片選IOWCLK計(jì)數(shù)指示總線請(qǐng)求復(fù)位總線仲裁邏輯DMA控制邏輯地址寄存器計(jì)數(shù)寄存器狀態(tài)寄存器總線響應(yīng)DMA響應(yīng)DMA應(yīng)答DMA控制器結(jié)構(gòu)外設(shè)申請(qǐng)DMA操作總線響應(yīng)DMADMAC初始化DMAC傳輸?shù)谌?yè),共66頁(yè)。DMAC具備的功能向CPU發(fā)出總線請(qǐng)求信號(hào)HOLD。當(dāng)CPU允許出讓總線控制權(quán)時(shí),能夠接收CPU發(fā)出的總線應(yīng)答信號(hào)HLDA,并接管總線進(jìn)入DMA方式。具有尋址功能,對(duì)存儲(chǔ)器及I/O尋址并修改地址指針。具有控制邏輯,能發(fā)出讀/寫(xiě)控制信號(hào)。決定傳輸?shù)淖止?jié)數(shù),并判斷DMA是否結(jié)束。發(fā)出DMA結(jié)束信號(hào),交出總線權(quán),使CPU恢復(fù)正常工作狀態(tài)37第三十七頁(yè),共66頁(yè)。38存儲(chǔ)器CPUDMACI/O地址總線AB總線請(qǐng)求總線響應(yīng)DMA請(qǐng)求DMA響應(yīng)數(shù)據(jù)總線DB控制總線CBDMA傳送過(guò)程I/ODMA請(qǐng)求DMAC總線請(qǐng)求CPU總線響應(yīng)DMA響應(yīng)可在I/O設(shè)備和存儲(chǔ)器之間直接傳送數(shù)據(jù)。傳送時(shí),源和目的均直接由硬件指定。傳輸?shù)臄?shù)據(jù)塊長(zhǎng)度需要指定,計(jì)數(shù)由硬件自動(dòng)進(jìn)行。在一批數(shù)據(jù)傳輸完成后,一般通過(guò)中斷方式通知CPU進(jìn)行后續(xù)處理。CPU和I/O設(shè)備能在一定程度上并行工作,效率高。一般用于高速批量數(shù)據(jù)的傳輸

第三十八頁(yè),共66頁(yè)。396.4并行接口無(wú)握手并行接口最簡(jiǎn)單的直接數(shù)據(jù)輸出或輸入第三十九頁(yè),共66頁(yè)。40

按鍵接口線性鍵盤(pán)每一個(gè)按鍵需要占用I/O端口的一根口線矩陣鍵盤(pán)所有按鍵按行、列排列,較節(jié)約I/O口線非編碼鍵盤(pán):主CPU處理按鍵的操作,降低了主CPU的效率編碼鍵盤(pán):使用專用的CPU(單片機(jī))處理按鍵操作,緩減主CPU的負(fù)擔(dān)并行端口VCC第四十頁(yè),共66頁(yè)。41矩陣鍵盤(pán)結(jié)構(gòu)8位并行輸入端口8位并行輸出端口+5V10kΩ10kΩ10kΩ10kΩ第0行第1行第2行……第7行第0列第1列第2列第3列……第7列第四十一頁(yè),共66頁(yè)。42行掃描法(一)

第一步:判斷是否有鍵按下輸出端口的各位都為低電平,即各列都為0

讀取輸入端口數(shù)據(jù),如果輸入不等于FFH,則有鍵被按下MOV AL,00H;MOV DX,OUTPORT;OUT DX,ALMOV DX,INPORT;INAL,DX;CMP AL,0FFH第四十二頁(yè),共66頁(yè)。43行掃描法(二)第二步:確定按鍵號(hào)確定按鍵的列數(shù):輸出掃描值,使某一列為低電平,其它列為高電平;讀取行值,看是否有行線處于低電平

確定按鍵的行數(shù):循環(huán)右移行值,直到為0第四十三頁(yè),共66頁(yè)。44行掃描法程序流程是否有一行接地?鍵盤(pán)命令處理是進(jìn)位位為0?否掃描值循環(huán)左移一位,使下一列為低電平鍵號(hào)+8,計(jì)數(shù)值-1否讀進(jìn)行值行值循環(huán)右移一位是結(jié)束是全部掃描完?否設(shè)鍵號(hào)=0,計(jì)數(shù)器=列數(shù)行掃描初值=11111110B輸出掃描值,使某一行為低電平MOV BL,0MOV DL,8MOV CL,0FEHMOVAL,CLOUTOUTPORT,ALINAL,INPORTCMP AL,0FFHROL AL,1MOV CL,AL RCRAL,1JNCPROCINCBL鍵值+1第四十四頁(yè),共66頁(yè)。45數(shù)碼管結(jié)構(gòu)共陰結(jié)構(gòu):輸入控制端為高電平時(shí),對(duì)應(yīng)的LED亮共陽(yáng)結(jié)構(gòu):輸入控制端為低電平時(shí),對(duì)應(yīng)的LED亮多位數(shù)碼管組成的數(shù)碼顯示屏可以有動(dòng)態(tài)和靜態(tài)兩種顯示方式第四十五頁(yè),共66頁(yè)。46數(shù)碼屏顯示方式靜態(tài)顯示:顯示位數(shù)少時(shí)使用各位(8段)輸入控制端分別與接口電路的輸出端相連;各段(LED)恒定地導(dǎo)通或截止;占用I/O口:8*N動(dòng)態(tài)顯示:顯示位數(shù)多時(shí)使用各位共享輸入控制端;需同時(shí)進(jìn)行位選(選中被點(diǎn)亮的位)和段選(輸入控制端確定各LED的發(fā)光情況)各位輪流顯示一遍的總時(shí)間不能過(guò)長(zhǎng)(不大于20ms占用I/O口:8+N第四十六頁(yè),共66頁(yè)。476×8數(shù)碼顯示屏靜態(tài)顯示接口第四十七頁(yè),共66頁(yè)。48并行輸出端口(帶鎖存功能)并行輸出端口(帶鎖存功能)D0~D7D7D6D5D4D3D2D1D0D5D4D3D2D1D0位0位1位2位3位4位5D0~D7段選位選圖6個(gè)數(shù)碼管的顯示接口電路OUTSEGPORT,AL;AL=76H“H”MOVAL,0DFH;CL=1101,111176HOUTBITPORT,AL;AL=CL=1101,1111011111INCDIMOVAL,[DI];AL=79HH79E101111EOUTSEGPORT,AL;AL=79H

“E”RORCL;CL=1110,1111OUTBITPORT,AL;AL=CL=1110,1111第四十八頁(yè),共66頁(yè)。6.4.2帶握手信號(hào)的并行接口輸入設(shè)備發(fā)出的選通信號(hào)CPU讀接口中的狀態(tài)緩沖寄存器,以確定外設(shè)是否準(zhǔn)備好若READY=1,說(shuō)明外設(shè)已將數(shù)據(jù)送到接口,CPU讀數(shù)據(jù)端口,同時(shí)數(shù)據(jù)端口的讀信號(hào)將接口中的D觸發(fā)器清零,完成本次數(shù)據(jù)傳送。49第四十九頁(yè),共66頁(yè)。6.4.2帶握手信號(hào)的并行接口若BUSY=0,CPU向數(shù)據(jù)端口寫(xiě)入需發(fā)送的數(shù)據(jù),同時(shí)將接口中的D觸發(fā)器置1,即令BUSY=1輸出設(shè)備從接口的數(shù)據(jù)鎖存器中讀出數(shù)據(jù);輸出設(shè)備發(fā)出響應(yīng)信號(hào)ACK將接口中的D觸發(fā)器清零,即令BUSY=0,完成本次數(shù)據(jù)傳送。50CPU讀接口中的狀態(tài)緩沖寄存器,并檢查狀態(tài)信息以確定外設(shè)是否可以接收數(shù)據(jù);第五十頁(yè),共66頁(yè)。雙向傳輸接口51第五十一頁(yè),共66頁(yè)。6.4.3可編程并行接口允許用戶通過(guò)寫(xiě)入不同的控制字改變其工作方式工作模式選擇寄存器、中斷允許寄存器、上拉使能寄存器、三態(tài)使能寄存器和多功能選擇寄存器52I/O引腳上拉控制位三態(tài)輸出控制位I/O數(shù)據(jù)輸出復(fù)用信號(hào)輸出多功能復(fù)用選擇位毛刺濾除毛刺濾除控制位邊沿檢測(cè)中斷允許位其他I/O中斷請(qǐng)求信號(hào)PIO中斷請(qǐng)求信號(hào)I/O數(shù)據(jù)輸入I/O中斷狀態(tài)電源第五十二頁(yè),共66頁(yè)。可編程并行接口數(shù)據(jù)總線緩沖器、讀/寫(xiě)控制邏輯、輸入/輸出端口(A、B和C)、可編程控制寄存器等53第五十三頁(yè),共66頁(yè)。54工作方式控制字1D7D6D5D4D3D2D1D00輸出1輸入PC3~PC0B口0輸出1輸入0方式01方式1B口工作方式PC7~PC40輸出1輸入A口0輸出1輸入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式2第五十四頁(yè),共66頁(yè)。方式1聯(lián)絡(luò)信號(hào)A、B端口均可工作于方式1,C口線需要作為A/B的聯(lián)絡(luò)信號(hào)未使用的C口線,可作為普通I/O使用55第五十五頁(yè),共66頁(yè)。方式2聯(lián)絡(luò)信號(hào)只有A端口可工作于方式2,C口線需要作為其聯(lián)絡(luò)信號(hào)A/B工作方式可獨(dú)立設(shè)置,不相關(guān)聯(lián)56第五十六頁(yè),共66頁(yè)。570D7D6D5D4D3D2D1D00復(fù)位1置位設(shè)置內(nèi)容特征位,D7=0表示是C口按位置位/復(fù)位控制字無(wú)意義選擇操作位C口置/復(fù)位控制字D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7第五十七頁(yè),共66頁(yè)。6.5串行接口實(shí)現(xiàn)數(shù)據(jù)的串/并、并/串轉(zhuǎn)換實(shí)現(xiàn)串行數(shù)據(jù)的格式化(如自動(dòng)加入起始位、校驗(yàn)位或同步字符等實(shí)現(xiàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論