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

正文內(nèi)容

[工學]第9章應用系統(tǒng)配置及接口技術(已修改)

2025-01-31 12:08 本頁面
 

【正文】 第九章 應用系統(tǒng)配置及接口技術 應用系統(tǒng)配置及接口 系統(tǒng)前向通道 : 數(shù)字量、開關量、模擬量輸入 (A/D ) 系統(tǒng)后向通道 : 數(shù)字量、開關量、模擬量輸出 (D/A ) 人機通道 :鍵盤、顯示器、打印機等 人機通道配置與接口技術 ? 進行人機對話。包括人對系統(tǒng)的狀態(tài)干預與數(shù) 據(jù)輸入 ,還有系統(tǒng)顯示運行狀態(tài)與運行結果等。 ? 鍵盤、 顯示器用來完成人機對話的人機通道。 鍵盤接口及處理程序 ?鍵盤分 編碼鍵盤 和 非編碼鍵盤 。 ?鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編號或鍵值的稱為 編碼鍵盤 ,如 BCD碼鍵盤、 ASCII碼鍵盤等; ?靠軟件識別的稱為 非編碼鍵盤 。 ?鍵盤中的 按鍵 : 都是一個常開開關電路。 ?當按鍵 K未被按下 時, 高電平 ; 當按鍵 K閉合 時, 低電平 。 圖 92 按鍵電路 ? 通常按鍵在閉合及斷開的瞬間均伴有一連串的 抖動 。如圖所示。抖動時間一般為 5~ 10 ms。 ? 鍵抖動會引起一次按鍵被誤讀多次,必須去除鍵抖動??捎?硬件 或 軟件 兩種方法消除。 ? 軟件方法去抖動 ,即檢測出鍵閉合后執(zhí)行一個 5~ 10 ms延時程序,再一次檢測,如果仍保持閉合,則確認為真正按下。當檢測到按鍵釋放后,也要給 5~ 10 ms的延時,待后沿抖動消失后,才能轉入該鍵的處理程序。 ?鍵的消抖 1) 獨立式非編碼鍵盤接口及處理程序 ?各按鍵相互獨立地接通一條輸入數(shù)據(jù)線,如圖所示。 ?當一個鍵 按下 時,與之相連的輸入數(shù)據(jù)線即 清 0(低電平 ),平時該線為 1(高電平 )。要判別是否有鍵按下,用單片機的位處理指令十分方便。 ?優(yōu)點 :電路簡單; ?缺點 :占用I/O線多。 圖 94 獨立連接式非編碼鍵盤 鍵盤結構 查詢方式鍵盤的處理程序 程序清單 (設I/O為 P1口 ): START: MOV A, 0FFH ;輸入時先置 P1口為全 1 MOV P1,A MOV A, P1 ;鍵狀態(tài)輸入 PL1: JNB ,P0F ; 0號鍵按下轉 P0F標號地址 JNB , P1F; 1號鍵按下轉 P1F標號地址 JNB , P2F; 2號鍵按下轉 P2F標號地址 JNB , P3F; 3號鍵按下轉 P3F標號地址 JNB , P4F; 4號鍵按下轉 P4F標號地址 JNB , P5F; 5號鍵按下轉 P5F標號地址 JNB , P6F; 6號鍵按下轉 P6F標號地址 JNB , P7F; 7號鍵按下轉 P7F標號地址 LJMP START;無鍵按下返回 P0F: LJMP PROM0 P1F: LJMP PROM1 ;入口地址表 ┊ ┊ P7F : LJMP PROM7 PROM0: ? ; 0號鍵功能程序 LJMP START ; 0號鍵執(zhí)行完返回 PROM1: ? LJMP START ┊ PROM7: ? LJMP START 由程序可以看出,各按鍵由軟件設置了優(yōu)先級, 優(yōu)先級順序依次為 0~ 7。 2) 行列式鍵盤接口及工作原理 圖 96 4 4矩陣鍵盤接口圖 為了減少鍵盤與單片機接口時所占用I/O線的數(shù)目,在鍵數(shù)較多時,通常都將鍵盤排列成行列矩陣形式 ? 按鍵掃描的工作過程如下: ① 判斷鍵盤中是否有鍵按下; ② 進行行掃描,判斷是哪一個鍵按下,若有鍵按下,則調用延時子程序去抖動; ③ 讀取按鍵的位置碼; ④ 將按鍵的位置碼轉換為鍵值(鍵的順序號) 0、 2… 、F。 ?1)判別鍵盤中有無鍵按下: 由 I/O 口向鍵盤送 (輸出 )全掃描字,然后讀入 (輸入 )列線狀態(tài)來判斷。 方法: 向行線 (水平線 )輸出全掃描字 00H,把全部行線置為“ 0”,然后將列線的狀態(tài)讀入累加器 A中。如果有按鍵按下,總有一根列線電平被拉至低電平,使列輸入不全為 1。 ?2)判斷鍵盤中哪一個鍵被按下: 通過將行線逐行置低電平后,檢查列輸入狀態(tài)實現(xiàn)的。 方法: 依次給行線送“ 0”,然后查所有列線狀態(tài),稱行掃描。如果全為 1,則所按下的鍵不在此行;如果不全為 1,則所按下的鍵必在此行,而且是在與“ 0”列線相交交點上的那鍵。 ?3)行掃描法識別鍵號的工作原理 : ? 將第 0行輸出低電平,其余行高電平時,輸出編碼為 1110。然后讀取列,判別第 0行是否有鍵按下。若有一鍵按下,則相應列被拉到低電平,則表示第 0行和此列相交位置上有按鍵按下。若沒有任一條列線為低電平,則說明 0行上無鍵按下。 ? 將第 1行變?yōu)榈碗娖?,其余行高電平時,輸出編碼為 1101。讀取各列 ,判別是有哪一列鍵按下方法同上。 ? 將第 2行變?yōu)榈碗娖?,其余行為高電平時,輸出編碼為 1011。判別是否有哪一列鍵按下的方法同上。 ? 將第 3行變?yōu)榈碗娖?,其余行為高電平時,輸出編碼為 0111。判別是否有哪一列鍵按下的方法同上。 根據(jù)行線掃描值(行碼)與列線輸入值(列碼)可唯一確定按下的鍵并獲得該鍵的位置碼(鍵碼) 例如 :行碼= 1011B;列碼= 1101B則:鍵碼 =10111101B ?4)鍵的位置碼及鍵值的譯碼過程 : ? 掃描過程后得到的行號存放在 R0,列號存放在 R2中。 ? 鍵值(號)的獲得(譯碼)通常采用計數(shù)譯碼法。 根據(jù)矩陣的結構,每個按鍵值 =行號 每行按鍵數(shù) +列號 鍵號(值) =行首鍵號 +列號 第 0行的鍵值為: 0行 4+列號( 0~ 3)為 0、 3; 第 1行的鍵值為: 1行 4+列號( 0~ 3)為 7; 第 2行的鍵值為: 2行 4+列號( 0~ 3)為 A、 B; 第 3行的鍵值為: 3行 4+列號( 0~ 3)為 C、 D、 E、 F。 4 4鍵盤行首鍵號為 0、 C,列號為 0, 1, 2, 3。 圖 97 4 4鍵盤掃描流程圖 ( 3) 鍵盤掃描子程序 ? 出口: 鍵值(鍵號)在 A中 KEY: MOV P1 , 0F0H ;令所有行為低電平 KEY1: MOV R7 , 0FFH ;設置計數(shù)常數(shù) DJNZ R7, KEY1 ;延時 MOV A , P1 ;讀取 P1口的列值 ANL A, 0F0H ;判別有鍵值按下嗎? CPL A ;求反后,有高電平就有鍵按下 JZ EKEY ;無鍵按下時退出 LCALL DEL20 ms ;延時 20 ms去抖動 SKEY: MOV A, 00 ;下面進行行掃描, 1行 1行掃 MOV R0, A ; R0作為行計數(shù)器,開始為 0 MOV R1, A ; R1作為列計數(shù)器,開始為 0 MOV R3 0FEH ; R3暫存行掃描字 ,低 4位為行掃描字 SKEY2: MOV A, R3 MOV P1, A ;輸出行掃描字,高 4位全 1 NOP NOP NOP ; 3個 NOP操作使 P1口輸出穩(wěn)定 MOV A, P1 ;讀列值 MOV R1,A ;暫存列值 ANL A, 0F0H ;取列值 CPL A ;高電平則有鍵閉合 S123: JNZ SKEY3 ;有鍵按下轉 SKEY3 INC R0 ;行計數(shù)器加 1 SETB C ;準備將行掃描左移 1位, ;形成下一行掃描字 ,C=1保證輸出行掃描字中高 4位全為 1, ;為列輸入作準備,低 4位中只有 1位為 0 MOV A, R3 ; R3帶進位 C左移 1位 RLC A MOV R3, A ;形成下一行掃描字 → R3 MOV A, R0 CJNE A, 04H, SKEY1 ;最后一行掃( 4次)完了嗎? EKEY: RET ;列號譯碼 SKEY3: MOV A, R1 JNB , SKEY5 JNB , SKEY6 JNB , SKEY7 JNB , SKEY8 AJMP EKEY SKEY5: MOV A, 00H MOV R2,A ;存 0列號 AJMP DKEY SKEY6: MOV A, 01H MOV R2, A ;存 1列號 AJMP DKEY SKEY7: MOV A, 02H MOV R2, A ;存 2列號 AJMP DKEY SKEY8: MOV A, 03H MOV R2, A ;存 3列號 AJMP DKEY ;鍵位置譯碼 DKEY: MOV A, R0;取行號 ACALL DECODE AJMP EKEY ;鍵值(鍵號)譯碼 DECODE: MOV A, R0 ;取行號送 A MOV B, 04H ;每一行按鍵個數(shù) MUL AB ;行號 按鍵數(shù) ADD A, R2 ;行號 按鍵數(shù) +列號 =鍵值 RET 中斷掃描方式 中斷掃描工作方式,即只有在鍵盤有鍵按下時才產(chǎn)生中斷申請; CPU響應中斷,進入中斷服務程序進行鍵盤掃描,并做相應處理 :鍵識別、鍵功能處理、消除鍵抖動 。 3 . 鍵處理 ?求出鍵號后,按不同類型進行處理。 ?數(shù)字鍵:存貯、顯示等 ?功能鍵:轉向相應的 功能處理程序 功能鍵地址轉移程序: BUFF EQU 30H KEYADR: MOV A,BUFF ;鍵號 → A CJNE A,# 0FH, KYARD1 AJMP DIGPRO ;等于 F,轉數(shù)字鍵處理 KYARD1: J
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1