freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微型計算機輸入輸出接口-文庫吧

2024-12-22 03:50 本頁面


【正文】 接口的組成 1. 端口 ? 端口 :接口內(nèi)的寄存器 , 用來暫存 CPU和外設(shè)之間傳輸?shù)臄?shù)據(jù) 、 狀態(tài)和命令 。 ? 端口地址 :每一個端口有一個獨立的地址 。 ? 外部設(shè)備地址 :設(shè)備接口內(nèi)各端口的地址 , 一臺外部設(shè)備可以擁有幾個通常是相鄰的端口地址 。 ? 端口種類: 數(shù)據(jù)端口 、 命令端口 ( 控制端口 ) 和狀態(tài)端口 。 ? 如果外部設(shè)備的信息 ( 數(shù)據(jù) /狀態(tài) ) 已經(jīng)鎖存 , 端口也可以由三態(tài)緩沖電路組成 。 2. 地址譯碼電路 地址譯碼是接口的基本功能之一 。 ? 一個接口上的幾個端口地址通常是連續(xù)排列的, 可以把 16位地址碼分解為二個部分: ? 高位地址碼用作對接口的選擇; ? 低位地址碼用來選擇接口內(nèi)不同的端口。 ? 例如:某接口占有地址 330H~333H: ? 高 8位地址為 11001100B時,本接口被選中; ? 低 2位地址為 00, 01, 10, 11時,選擇接口內(nèi)的不同端口。 圖 51 端口的地址譯碼電路和跳線器 ? 為了避免地址沖突,許多接口電路允許用“跳線器( JUMPER) ”改變端口地址。上頁圖 31( b) ? 將異或門的輸出代替圖 31( a) 中的 A8, A9引腳: ? 二個跳線引腳均接地時,上面譯碼電路仍然產(chǎn)生330H~333H的端口譯碼信號; ? 當(dāng)二個跳線引腳均接“ 1”時,上面譯碼電路會產(chǎn)生030H~033H的端口譯碼信號 ? 同理還可以產(chǎn)生 130H~133H, 230H~233H的譯碼信號。 ? 8086工作于最大模式時 , 上面的 M/IO、 WR、 RD信號由 8288總線控制器發(fā)出的 IORC、 IOWC代替 。 ? 由于讀 、 寫操作不會同時進行 , 一個輸入端口和另一個輸出端口可以使用同一個地址編碼 。 ? 例如 , 可安排數(shù)據(jù)輸入端口 、 數(shù)據(jù)輸出端口使用同一個地址 330H, 命令端口和狀態(tài)端口共同使用地址 331H。 ? 需要注意的是 , 數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口雖然使用相同的地址 , 但卻是二個各自獨立的不同的端口 。 3. 數(shù)據(jù)鎖存器與緩沖器 數(shù)據(jù) (狀態(tài) )輸入端口: ? 必須通過三態(tài)緩沖器與系統(tǒng)總線相連 , 保證數(shù)據(jù)總線能夠正常地進行數(shù)據(jù)傳送 。 ? 輸入設(shè)備在完成一次輸入操作后 , 在輸出數(shù)據(jù)的同時 ,產(chǎn)生數(shù)據(jù)選通信號 , 把數(shù)據(jù)打入八位鎖存器 74LS273 ? 鎖存器的輸出信號通過三態(tài)八位緩沖器 74LS244連接到系統(tǒng)數(shù)據(jù)總線 。 ? 數(shù)據(jù)端口讀信號 由地址譯碼電路產(chǎn)生 。 ? 高電平(無效):緩沖器輸出端呈高阻態(tài)。 ? 低電平(有效,端口被選中 ):已鎖存的數(shù)據(jù)通過74LS244送往系統(tǒng)數(shù)據(jù)總線,被 CPU所接收。 圖 53 輸入設(shè)備接口的數(shù)據(jù)鎖存和緩沖電路 數(shù)據(jù) ( 命令 ) 輸出端口: ? CPU送往外設(shè)的數(shù)據(jù)或命令 , 應(yīng)由接口進行鎖存 ,以便使外設(shè)有充分的時間接收和處理 。 ? 八位輸出鎖存電路例 ( 圖 54) 。 圖 54 輸出鎖存電路 簡單的輸入/輸出接口 ( 圖 55) ? 把地址譯碼 、 數(shù)據(jù)鎖存與緩沖 、 狀態(tài)寄存器 、 命令寄存器各個電路組合起來 , 構(gòu)成簡單輸入/輸出接口 ? 接口連接的信號: – 與系統(tǒng)總線連接: ? 地址總線 A0~ A15 ? 數(shù)據(jù)總線 D0~D7 ? 控制總線 M/IO、 RD 、 WR ( 最小模式時 ) 或IOWC、 IORC( 最大模式時 ) 相連接 – 與外部設(shè)備相連:數(shù)據(jù) 、 狀態(tài) 、 命令 。 圖 55 簡單接口的組成 輸入輸出數(shù)據(jù)傳輸?shù)目刂品绞? 程序方式 中斷方式 直接存儲器存取 (DMA)方式 程序方式 ? 在程序控制下進行信息傳送 ? 分為 無條件傳送 和 條件傳送 二種 1. 無條件傳送方式 ? 對于簡單的外部設(shè)備的 I/ O操作可以隨時進行; ? 例如 , 開關(guān) 、 發(fā)光二極管 ? 這些簡單設(shè)備的輸入信號一般不需要鎖存,可以通過三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線直接相連。 ? 簡單輸出設(shè)備的信號一般需要由鎖存器鎖存 圖 56 無條件輸入/輸出傳送接口 2. 條件傳送方式 ? 條件傳送也稱為 查詢式傳送 、 異步傳送 ; ? 接口電路除了有傳送數(shù)據(jù)的端口以外 , 還應(yīng)有儲存和傳送狀態(tài)的端口 。 ? 對于輸入過程: ? 外設(shè)將數(shù)據(jù)準(zhǔn)備好 , “ 準(zhǔn)備好 ( READY) ”標(biāo)志位置 1。 ? CPU將數(shù)據(jù)取走 , READY=0 ? 對于輸出過程 : ? 外設(shè)接收到數(shù)據(jù) , 將 “ 忙 ( BUSY) ”標(biāo)志位置 1 ? 數(shù)據(jù)輸出完成 , 將 “ BUSY”清零 。 一個數(shù)據(jù)的 “ 條件傳送 ” 過程 : ? CPU從接口中讀取狀態(tài)字; ? CPU檢測狀態(tài)字的對應(yīng)位是否滿足 “ 就緒 ” 條件 , 如果不滿足 , 則回到前一步重新讀取狀態(tài)字; ? 如狀態(tài)字表明外設(shè)已處于 “ 就緒 ” 狀態(tài) , 則傳送數(shù)據(jù) 。 圖 59 查詢式輸入流程 查詢方式輸入接口電路 ( 圖 57) ? 接口內(nèi)有兩個端口: ? 數(shù)據(jù)端口( 8位,輸入) ? 狀態(tài)端口( 1位,輸入,連接在 D7上, =1表示有數(shù)據(jù)) ? 選通信號有 二個作用 : ? 將外設(shè)的數(shù)據(jù)送到接口的鎖存器中; ? 使接口中的 D觸發(fā)器置“ l”( READY=1) ? 數(shù)據(jù)信息和狀態(tài)信息從不同端口經(jīng)過數(shù)據(jù)總線送到 CPU。 圖 57 查詢式輸入接口電路 匯編語言程序 : AGAIN: IN AL, STAT_PORT。 讀狀態(tài)端口, D7=1表示“數(shù)據(jù)就緒” TEST AL, 80H 。 測試“數(shù)據(jù)就緒”位 JZ AGAIN 。 未就緒,繼續(xù)讀狀態(tài)端口 IN AL, DATA_PORT 。 已就緒,從數(shù)據(jù)端口讀取數(shù)據(jù) …… C語言程序 : do stat = inportb( stat_port )。 while (stat amp。amp。 0x80 = = 0)。 /* 數(shù)據(jù)未準(zhǔn)備好反復(fù)讀狀態(tài) */ data = inportb( data_port )。 /* 數(shù)據(jù)已準(zhǔn)備好則讀取數(shù)據(jù) */ 查詢方式輸出接口電路 (圖 58) ? 接口內(nèi)有兩個端口: ? 數(shù)據(jù)端口 ( 8位 , 輸出 ) ? 狀態(tài)端口 ( 1位 , 輸入 , 連接在 D7上 , =1表示正在輸出 , “ BUSY”) ? CPU讀取接口中的狀態(tài): ?
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1