




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第九章并行通信接口與8255A【回顧】微機系統結構及控制信號的名稱和作用。【本講重點】I/O接口概述,CPU與I/O接口,I/O接口與系統的連接。8255A芯片的使用CPU與外設之間的數據傳輸一.CPU與I/O接口接口電路按功能可分為兩類:使微處理器正常工作所需要的輔助電路:時鐘信號或中斷請求等;輸入/輸出接口電路:CPU與外部設備信息的傳送(接收、發送)。最常用的外部設備:如鍵盤、顯示裝置、打印機、磁盤機等都是通過輸入/輸出接口和總線相連的,完成檢測和控制的儀表裝置也屬于外部設備之列,也是通過接口電路和主機相連。.為什么要用接口電路:需要分析一下外部設備的輸入/輸出操作和存儲器讀/寫操作的不
2、同之處:存儲器都是用來保存信息的,功能單一,傳送方式單一(一次必定是傳送1個字節或者1個字),品種很有限(只有只讀類型和可讀/可寫類型),存取速度基本上和CPU的工作速度匹配.。外部設備的功能多種多樣的(輸入設備,輸出設備,輸入設備/輸出設備),信息多樣(數字式的,模擬式的),信息傳輸的方式(并行的,串行的),外設的工作速度通常比CPU的速度低得多,而且各種外設的工作速度互不相同,這也要求通過接口電路對輸入/輸出過程起一個緩沖和聯絡的作用。注:接口電路完成相應的信號轉換、速度匹配、數據緩沖等功能.接口的功能(8種):尋址能力:對送來的片選信號進行識別。輸入/輸出功能:根據讀/寫信號決定當前進行
3、的是輸入操作還是輸出操作。數據轉換功能:并行數據向串行數據的轉換或串行數據向并行數據的轉換。聯絡功能:就緒信號,忙信號等。中斷管理:發出中斯請求信號、接收中斷響應信號、發送中斷類型碼的功能。并具有優先級管理功能。復位:接收復位信號,從而使接口本身以及所連的外設進行重新啟動。可編程:用軟件來決定其工作方式,用軟件來設置有關的控制信號。錯誤檢測:一類是傳輸錯誤。另一類是覆蓋錯誤注:一些接口還可根據具體情況設置其它的檢測信息I/O接口與系統的連接1.CPU與I/O設備之間的信號(三類)(1)數據信息包括三種形式:數字量、模擬量、開關量(2)狀態信息是外設通過接口往CPU傳送的如:“準備好(READY
4、)信號、“忙(BUSY)信號(3)控制信息是CPU通過接口傳送給外設的如:外設的啟動信號、停止信號就是常見的控制信息.接口部件的I/O端口:數據端口、控制端口、狀態端口CPU和外設進行數據傳輸時,各類信息在接口中進入不同的寄存器,一般稱這些寄存器為I/O端口,每個端口有一個端口地址。用于對來自CPU和內存的數據或者送往CPU和內存的數據起緩沖作用的,這些端口叫數據端口。用來存放外部設備或者接口部件本身的狀態,稱為狀態端口。用來存放CPU發出的命令,以便控制接口和設備的動作,這類端口叫控制端口。如下圖入輸設 外輸或出備注:輸入還是輸出,所用到的地址總是對端口而言的,不是對接口部件而言的。為了節省
5、地址空間,將數據輸入端口和數據輸出端口對應同一個端口地址。同樣,狀態端口和控制端口也常用同一個端口地址。CPU對外設的輸入/輸出操作就歸結為對接口芯片各端口的讀/寫操作。.接口與系統的連接.接口電路位于CPU與外設之間,從結構上看,可以把一個接口分為兩個部分,用來和I/O設備相連;用來和系統總線相連,這部分接口電路結構類似,連在同一總線上下圖是一個典型的I/O接口和外部電路的連接圖:地 址 總 燃數據,狀態DMA控制器數據總線控制總線聯絡信號:讀/寫信號,以便決定數據傳輸方向。地址譯碼器,片選信號:地址譯碼器除了接收地址信號外,還用來區分I/0地址空間和內存地址空間的信號(M/iO)用于譯碼過
6、程。注:一個接口通常有若干個寄存器可讀/寫,一般用1-2位低位地址結合讀/寫信號來實現對接口內部寄存器的尋址。.輸入輸出的尋址方式CPU對外設的尋址方式通常有兩種:(1)存儲器對應輸入輸出方式每一個外設端口占有存儲器的一個地址。優點:CPU對外設的操作可使用全部的存儲器操作指令,尋址方式多,使用方便靈活,且可尋址的外設數量多。缺點:由于外設占用了存儲單元的地址,使內存的容量減小,同時,程序的可讀性下降。(2)端口尋址的輸入輸出方式CPU有專門的輸入輸出指令(IN,OUT),通過這些指令中的地址來區分不同的外設。優點:容易掌握,編出的程序可讀性好。缺點:可尋址的范圍較小,還必須有相應的控制線(M
7、/IO)來區分是尋址內存還是外9.2可編程并行接口芯片8255A一.并行通信與接口并行通信就是把一個字符的各位同時用幾根線進行傳輸。傳輸速度快,信息率高。電纜要多,隨著傳輸距離的增加,電纜的開銷會成為突出的問題,所以,并行通信用在傳輸速率要求較高,而傳輸距離較短的場合。Intel8255A是一個通用的可編程的并行接口芯片,它有三個并行I/O口,又可通過編程設置多種工作方式,價格低廉,使用方便,可以直接與Intel系列的芯片連接使用,在中小系統中有著廣泛的應用。8255A的編程結構8255A由以下幾部分組成:見圖9-1CPU接口內部邏輯外部接口控制A犯 端口 AIJOFA? * PfijjDE數
8、據 產人總線 緩沖 里日位內部數據總線A蛆 端口 C 上半部B蛆 端口 (; 下半部UOPC PCiIaPCa PCo而取AA1理SETcs控制控制=蹲4UOPBt P&邏輯圖9-18255A的編程結構.三個數據端口A,B,C這三個端口均可看作是I/O口,但它們的結構和功能也稍有不同。A口:是一個獨立的8位I/O口,它的內部有對數據輸入/輸出的鎖存功能。B口:也是一個獨立的8位I/O口,僅對輸出數據的鎖存功能。C口:可以看作是一個獨立的8位I/O口;也可以看作是兩個獨立的4位I/O口。也是僅對輸出數據進行鎖存.A組和B組的控制電路這是兩組根據CPU命令才S制8255A工作方式的電路,這些控制電
9、路內部設有控制寄存器,可以根據CPU送來的編程命令來控制8255A的工作方式,也可以根據編程命令來對C口的指定位進行置/復位的操作。A組控制電路用來控制A口及C口的高4位;B組控制電路用來控制B口及C口的低4位。.數據總線緩沖器8位的雙向的三態緩沖器。作為8255A與系統總線連接的界面,輸入/輸出的數據,CPU的編程命令以及外設通過8255A傳送的工作狀態等信息,都是通過它來傳輸的。.讀/寫控制邏輯讀/寫控制邏輯電路負責管理8255A的數據傳輸過程。它接收片選信號CS及系統讀信號RD、寫信號WR、復位信號RESET,還有來自系統地址總線的口地址選擇信號A0和Ai。三.8255A的引腳功能825
10、5A的引腳信號可以分為兩組:一組是面向CPU的信號,一組是面向外設的信號。.面向CPU的引腳信號及功能D0-D7:8位,雙向,三態數據線,用來與系統數據總線相連;RESET:復位信號,高電平有效,輸入,用來清除8255A的內部寄存器,并置A口,B口,C口均為輸入方式;CS:片選,輸入,用來決定芯片是否被選中;RD:讀信號,輸入,控制8255A將數據或狀態信息送給CPU;WR:寫信號,輸入,控制CPU將數據或控制信息送到8255A;Ai,Ao:內部口地址的選擇,輸入。這兩個引腳上的信號組合決定對8255A內部的哪一個口或寄存器進行操作。8255A內部共有4個端口:A口,B口,C口和控制口,兩個引
11、腳的信號組合選中端口見下表。CS,RD,WR,Ai,A。這幾個信號的組合決定了8255A的所有具體操作,表7-18255A的操作功能表CSRDWRAiA0操作數據傳送方式00100讀A口A口數據一數據總線00101讀B口B口數據一數據總7線00110讀C口C口數據一數據總:線01000寫A口數據總線數據一A口01001寫B口數據總線數據一B口01010寫C口數據總線數據一C口01011寫空帶I口數據總線數據一控制口.面向外設的引腳信號及功能?PAoPA7:A組數據信號,用來連接外設;?PBoPB7:B組數據信號,用來連接外設;?PCoPC7:C組數據信號,用來連接外設或者作為控制信號四.825
12、5A的工作方式8255A有三種工作方式,用戶可以通過編程來設置。方式0簡單輸入/輸出一一查詢方式;A,B,C三個端口均可方式1選通輸入/輸出一一中斷方式;A,B,兩個端口均可。方式2雙向輸入/輸出一一中斷方式。只有A端口才有。方式1FBl PBftPCj- PC(j PC7-PC4PA7-物地址總線控制總線數據總線PBxPB(控制或控制或PAlF&I/O1/0B1久4nonPB(工/口|1PA7-*PAfl控制工作方式的選擇可通過向控制端口寫入控制字來實現。在不同的工作方式下,8255A三個輸入/輸出端口的排列示意圖如上圖所示.方式0方式0是一種簡單的輸入/輸出方式,沒有規定固定白應答聯絡信號
13、,可用A,B,C三個口的任一位充當查詢信號,其余I/O口仍可作為獨立的端口和外設相連。方式0的應用場合有兩種:一種是同步傳送;一種是查詢傳送。.方式1方式1是一種選通I/O方式,A口和B口仍作為兩個獨立的8位I/O數據通道,可單獨連接外設,通過編程分別設置它們為輸入或輸出。而C口則要有6位(分成兩個3位)分別作為A口和B口的應答聯絡線,其余2位仍可工作在方式0,可通過編程設置為輸入或輸出。(1)方式1的輸入組態和應答信號的功能圖9-2給出了8255A的A口和B口方式1的輸入組態。方式1端口 B)STBb 叫-INTRe圖9-2方式1輸入組態C口的PC3-PC5用作A口的應答聯絡線,PC0-PC
14、2則作用B口的應答聯絡線,余下的PC6PC7則可作為方式0使用。STB:選通輸入。用來將外設輸入的數據打入8255A的輸入緩沖器。IBF:輸入緩沖器滿。作為STB的回答信號,。INTR:中斷請求信號。INTR置位的條件是STB為高且舊F為高且INTE為高。INTE:中斷允許。對A口來講,是由PC4置位來實現,對B口來講,則是由PCo置位來實現。事先將其置位。A口B口STBPC4PC2IBF:PC5INTR:PC3INTE:PC4 置 1(2)方式1的輸出組態和應答信號功能PC1PC0PC2 置 1方式1輸出端口氐方式I輸出端口B圖9-3方式1的輸出組態C口的PC3、PC6、PC7用作A口的應答
15、聯絡線,PC0-PC2則作用B口的應答聯絡線,余下的PC4PC5則可作為方式0使用。應答聯絡線的功能如下:Obf:輸出緩沖器滿。當CPU已將要輸出的數據送入8255A時有效,用來通知外設可以從8255A取數。ACK:響應信號。作為對OBF的響應信號,表示外設已將數據從8255A的輸出緩沖器中取走。INTR:中斷請求信號。INTR置位的條件是ACK為高且OBF為高且INTE為高。INTE:中斷允許。對A口來講,由PC6的置位來實現,對B口仍是由PC2的置位來實現。A口B口 TOC o 1-5 h z OBF:PC6PC2ACK:PC7PC1INTR:PC3PC0INTE:PC6置1PC2置1.方
16、式2方式2為雙向選通I/O方式,只有A口才有此方式。這時,C口有5根線用作A口的應答聯絡信號,其余3M線可用作方式0,也可用作B口方式1的應答聯絡線。方式2:就是方式1的輸入與輸出方式的組合,各應答信號的功能也相同。而C口余下的PC0PC2正好可以充當B口方式1的應答線,若B口不用或工作于方式0,則這三條線也可工作于方式0方式2的組態 TOC o 1-5 h z STB:PC4IBF:PC5OBF:PC6ACK:PC7INTR:PC3_ QBFaACKkSTBaIBFa4 I/O(2)方式2的應用場合又可以作為方式2是一種雙向工作方式,如果一個并行外部設備既可以作為輸入設備,輸出設備,并且輸入
17、輸出動作不會同時進行。(3)方式2和其它方式的組合方式2和方式0輸入的組合:控制字:11XXX01T方式2和方式0輸出的組合:控制字:11XXX00T方式2和方式1輸入的組合:控制字:11XXX11X方式2和方式1輸出的組合:控制字:11XXX10X其中X表示與其取值無關,而T表示視情況可取1或0。五.8255A的編程及應用1.8255A的編程對8255A的編程涉及到兩個內容:寫控制字設置工作方式等信息,使C口的指定位置位/復位的功能注:均寫入控制端口(1)控制字格式控制字要寫入8255A的控制口,寫入控制字之后,8255A才能按指定的工作方式工作8255A的控制字格式與各位的功能如圖9-4所
18、示。O輸出1 輸入O輸出1 輸入 O 方式O1 方式1O輸出1 輸入O輸出1 輸入1 X 方式2O 1 方式1 o O 方式O 1控制字標志A 口方式、I/OCHC 口局 B 口低4位方式、I/O4位圖9-4 8255A 的控制字格式【例U某系統要求使用8255A的A 口方式0輸入,B 口方式0輸出,C 口高4位方式0DD6DD4D3DDiDo輸出,C口低4位方式0輸入。則控制字為:10010001B即91H初始化程序為:MOVAL,91HOUTCTRL_PORT,AL(2)C口的置位/復位功能只有C口才有,它是通過向控制口寫入按指定位置位/復位的控制字來實現的。C口的這個功能可用于設置方式1
19、的中斷允許,可以設置外設的啟/停等。按位置位/復位的控制字6D6D5D4D3D1DoO 控制字標志000-PC0001-PC110置復110-PC6位位111-PC7圖9-58255A的復位/置位控制字格式格式如圖9-5所示。【例2】A口方式2,要求發兩個中斷允許,即PC4和PC6均需置位。B口方式1要求使PC2置位來開放中斷。初始化程序可補充完整如下。MOV AL , 0C4HOUT CTRL_PORT, ALMOV AL, 09HOUT CTRL_PORT, ALMOV AL , ODHOUT CTRL_PORT, ALMOV AL , 05HOUT CTRL_PORT, AL;設置工作方
20、式;PC4置位,A 口輸入允許中斷;PC6置位,A 口輸出允許中斷;PC2置位; B 口輸出允許中斷2.接口應用率洌【例3】利用8255A的A口方式0與微型打印機相連,將內存緩沖區BUFF中的字符打印輸出。試完成相應的軟硬件設計。(CPU為8088)首先我們分析一下打印機的工作。微型打印機和主機之間的接口采用并行接口。圖9-6打印機數據傳輸時序它的工作流程:主機將要打印的數據送上數據線,然后發選通信號。打印機將數據讀入,同時使BUSY線為高,通知主機停止送數。這時,打印機內部對讀入的數據進行處理。處理完以后使ACK有效,同時使BUSY失效,通知主機可以發下一個數據。硬件連線如下圖:表7-2Ce
21、ntronics標準引腳信號引腳名稱方向功能1STROBE入數據選通,有效時接收數據2-9DATA1-DATA8入數據線10ACKNLG出響應信號,有效時準備接收數據11BUSY出忙信號,有效時不能接收數據12PE出紙用完13SLCT出選擇聯機,指出打印機不能工作14AUTOLF入自動換行31INIT入打印機復位32ERROR出出錯36SLCTIN入有效時打印機不能工作說明:由PCo充當打印機的選通信號,通過對PCo的置位/復位來產生選通。同時,由PC7來接收打印機發出的“BUSY”信號作為能否輸出的查詢。8255A的控制字為:10001000即88HA口方式0,輸出;C口高位方式0輸入,低位
22、方式0輸出PC0置位:00000001即01HPC。復位:00000000即00H8255A的4個口地址分別為:00H,01H,02H,03H。編制程序如下:DADASEGMENTBUFFDBThisisaprintprogram!,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFFMOVAL,88H;8255A初始化,A口方式0,輸出OUT03H,AL;C口高位方式0輸入,低位方式0輸出MOVAL,01H;OUT03H,AL;使PC0置位,即使選通無效WAIT : IN AL ,
23、02H TEST AL, 80H JNZ WAIT MOV AL, SI CMP AL , $ JZ DONE OUT 00H, AL MOV AL, 00H OUT 03H, AL MOV AL, 01H OUT 03H, AL INC SI JMP WAIT;檢測PC7是否為1即是否忙;為忙則等待;是否結束符;是則輸出回車;不是結束符,則從A 口輸出;產生選通信號;修改指針,指向下一個字符DONE : MOV AL , 0DH OUT 00H, AL MOV AL, 00H OUT 03H, AL MOV AL, 01H OUT 03H, ALWAIT1 : IN AL, 02H TEST
24、 AL, 80H JNZ WAIT 1 MOV AL, 0AH OUT 00H, AL MOV AL, 00H OUT 03H, AL;輸出回車符;產生選通;檢測PC7是否為1即是否忙;為忙則等待;輸出換行符MOVAL,01HOUT03H,AL;產生選通MOVAH,4CHINT21HCODEENDSENDSTART【例4】將上例中8255A的工作方式改為方式1,采用中斷方式將BUFF開始的緩沖區中的100個字符從打印機輸出。(假設打印機接口仍采用Centronics標準)。分析:仍用PC0作為打印機的選通,打印機的ack作為8255A的A口,ack8255A的中斷請求信號(PC3)接至系統中斷
25、控制器8259A的IR3,其它硬件連線同上例,如圖7-15所示3259A圖9-6中斷方式硬件連線8255A的控制字為:1010XXX0PC0置位:00000001即01HPC0復位:00000000即00HPC6置位:00001101即0DH,允許8255A的A口輸出中斷由硬件連線可以分析出,8255A的4個口地址分別為:00H,01H,02H,03H。假設8259A初始化時送ICW2為08H,則8255AA口的中斷類型碼是0BH,此中斷類型碼對應的中斷向量應放到中斷向量表從2CH開始的4個單元中。主程序:MAIN :MOVAL,0A0HOUT03H,AL;設置8255A的控制字MOVAL,0
26、1H;使選通無效OUT03H,ALXORAX,AXMOVDS,AXMOVAX,OFFSETROUTINTRMOVWORDPTR002CH,AX;送中斷向量;使8255A A 口輸出允許中斷;設置地址指針;設置計數器初值;輸出一個字符MOVAX,SEGROUTINTRMOVWORDPTR002EH,AXMOVAL,0DHOUT03H,ALMOVDI,OFFSETBUFFMOVCX,99MOVAL,DIOUT00H,ALINC DI MOV AL, 00H OUT 03H, ALINC AL OUT 03H, AL STINEXT: HLT LOOP NEXT HLT中斷服務子程序如下:;產生選通
27、;撤消選通;開中斷;等待中斷;修改計數器的值,指向下一個要輸出的字符ROUTINTR:MOVAL,DIOUT00H,ALMOVAL,00HOUT03H,ALINCALMOV03H,ALINCDIIRET:從A 口輸出一個字符:產生選通;撤消選通:修改地址指針:中斷返回【思考】是否可以采用A口的OBF作為打印機的選通信號?如可以的話,軟件該如何修改?是否可用打印機的BUSY作為8255的A口ACK?【習題與思考】1.試分析8255A方式0、方式1和方式2的主要區別,并分別說明它們適合于什么應用場合。.當8255A的A口工作在方式2時,其端口B適合于什么樣的功能?寫出此時各種不同組合情況的控制字。
28、.若8255A的端口A定義為方式0,輸入;端口B定義為方式1,輸出;端口C的上半部定義為方式0,輸出。試編寫初始化程序。(口地址為80H83H).假設一片8255A的使用情況如下:A口為方式0輸入,B口為方式0輸出。此時連接的CPU為8086,地址線的Ai、A2分別接至8255A的A。、Ai,而芯片的CS來自A3A4A5A6A7=00101,試完成8255A的端口地址和初始化程序。9.3微機與鍵盤的接口、矩陣式鍵盤的結構在微型機系統中,鍵盤是一種最常用的外設,它由多個開關組合而成??梢杂脕碇圃戽I盤的按鍵開關有好多種,最常用的有機械式、薄膜式、電容式和霍爾效應式等4種。機械式開關較便宜,但壓鍵時
29、會產生觸點抖動,即在觸點可靠地接通前會通斷多次,而且長期使用后可靠性會降低。薄膜式開關可做成很薄的密封單元,不易受外界潮氣或環境污染,常用于微波爐、醫療儀器或電子秤等設備的按鍵。電容式開關沒有抖動問題,但需要特制電路來測電容的變化?;魻栃存I是另一種無機械觸點的開關,具有很好的密封性,平均壽命高達1億次甚至更高,但開關機制復雜,價格很貴。計算機上用的鍵盤一般都用機械式開關。對于大多數的鍵盤,按鍵被排成行和列的矩陣。下面以機械式開關構成的16個鍵的鍵盤為例,來討論鍵盤接口的工作原理,這種原理對采用其它類型的開關的鍵盤也是適用的。設16個鍵分別為16進制數字09和AF,鍵盤排列、連線及接口電路如
30、下圖所示。16個鍵排成4行必列的矩陣,接到微型機的一對端口上。端口由8255A構成,其中端口A作輸出,端口B作輸入。矩陣的4條行線接到輸出端口A的PA3PA0,用程序能改變這4條行線上的電平。4條列線連到輸人端口B的PB3PB0,4條行線還同時接到輸人端口B的PB7PB4上。這樣,用輸入指令讀取B口狀態時,可同時讀取鍵盤的行列信號。在無鍵壓下時,由于接到+5V上的上拉電阻的作用,列線被置成高電平。壓下某一鍵后,該鍵所在的行線和列線接通。這時,如果向被壓下鍵所在的行線上輸出一個低電平信號,則對應的列線也呈現低電平。當從B口讀取列線信號時,便能檢測到該列線上的低電平。讀取B口的狀態時,還能讀到行線
31、上的低電平信號。這樣,根據讀入的行和列狀態中低電平的位置,便能確定哪個鍵被壓下了。、鍵盤與微機的接口及處理方式行掃描方式識別鍵盤上哪個鍵被壓下的過程稱為鍵盤掃描,上述鍵盤的掃描包含以下幾步:檢測是否所有鍵都松開了,若沒有則反復檢測。當所有鍵都松開了,再檢測是否有鍵壓下,若無鍵壓下則反復檢測。若有鍵壓下,要消除鍵抖動,確認有鍵壓下。對壓下的鍵進行編碼,將該鍵的行列信號轉換成16進制碼,由此確定哪個鍵被壓下了。如出現多鍵重接的情況,只有在其它鍵均釋放后,僅剩一個鍵閉合時,才把此鍵當作本次壓下的鍵。該鍵釋放后,再回到(2)。檢測矩陣中是否有鍵壓下的一種簡單方法是,自輸出口A向所有行線輸出0電平,再通
32、過B口的低4位讀取列值,若其中有0值,便是有鍵壓下了。在開始一次掃描時,先應確認上一次壓下的鍵是否已松開。即先向所有行線輸出低電平,再讀人各列線值,只有當所有的行線和列線均為高電平,表示以前壓下的鍵部已釋放了,才開始檢測是否有鍵壓下。當檢測到有鍵壓下后,必須消除鍵抖動(Debance)。消除鍵抖動的常用方法是在檢測到有鍵壓下后,延長一定時間(通常為20ms),再檢查該鍵是否仍被壓著。若是,才認定該鍵確實被接下了,而不是干擾。確認有鍵壓下后,再確定被壓下鍵所在的行列號。為獲取行列信息,先從A口輸出一個低電平到一行線上,再從B口讀人各列的值,若沒有一列為低電平,說明壓下的鍵不在此行。于是,再向下一
33、行輸出一個低電平,再檢測各列線上是否有低電平。依次對每一行重復這個過程,直至查到某一列線上出現低電平為止。被置成低電平的行和讀到低電平的列,便是被壓下鍵所在的行列值。已知被壓下的鍵所在的行號(03)和列號門3)后,就能得到該鍵的掃描碼。例如,對于數字0,它位于3行、3列,壓下0”鍵時,從B口可讀得D7位和D3位為0,其余位為1,所以數字0的編碼為01110111B,即77H;對于數字6,處于2行1歹1,壓下6鍵時,D6位和Di位0以其余位為1,所以數字6的編碼為10111101B=BDH。類似地,其余各鍵的編碼也可一求得。將這些編碼值列成表,放在數據段中,用查表程序來查對,便能確定壓下的是什么
34、鍵。程序實現下面是鍵盤檢測、去抖動、鍵值編碼和確定鍵名的匯編語言程序。程序運行后,若返回值AH=0,表示已讀到有效的鍵值,并在AL中存有0F鍵的16進制代碼;若AH=l,則表示出錯。PORT-AEQU0FF9H;8255A口地址PORT-BEQU0FFBH;8255B口地址PORT-CTLEQU0FFFH;8255控制口地址;數據段,鍵盤掃描碼表DATASEGMENT;01234567TABLEDB77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH;89ABCDEFDB0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEHDATAENDS;堆棧段STA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 審計師的職場試題及答案
- 專注備考2024年民用航空器維修人員執照考試試題及答案
- 火災調查取證知識試題及答案
- 2025年中級會計成本管理試題及答案
- 護師職業發展機會試題及答案
- 審計師考試成功的秘訣試題及答案
- 2024年高級審計師在項目評估中的作用試題及答案
- 外語知識運用能力的試題及答案
- 學員反饋無人機駕駛員考試試題及答案
- 2025年團員健康心態入團考試試題及答案
- 建筑史智慧樹知到期末考試答案2024年
- Unit8GreenLiving單元教學設計高中英語北師大版
- 籃球競賽組織編排
- 超聲危急值課件
- 米家智能家居設計方案
- 蘋果產業的財務分析報告
- 數獨題目大全與答案
- 2024年安徽合肥通航控股有限公司招聘筆試參考題庫含答案解析
- 刑事案件模擬法庭劇本完整版五篇
- 東風EQ1092F型汽車分動器的設計
- 小主持人社團教案
評論
0/150
提交評論