版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本章重點(diǎn)鍵盤的基本工作原理,包括矩陣結(jié)構(gòu)、行掃描法和行反轉(zhuǎn)法識別原理解決抖動(dòng)和重鍵的連鎖法和巡回法的原理LED顯示原理和多位顯示原理微型機(jī)系統(tǒng)中鍵盤子系統(tǒng)的工作原理擴(kuò)展鍵盤掃描電路的工作原理主機(jī)鍵盤接口的功能和構(gòu)成09H鍵盤中斷處理程序?qū)Ω黝愭I的處理16H鍵盤中斷處理程序的功能鍵盤緩沖區(qū)的工作機(jī)制27011.1鍵盤的基本工作原理370鍵盤矩陣鍵的識別抖動(dòng)和重鍵問題的解決11.1.1鍵盤矩陣最簡單的鍵盤結(jié)構(gòu)470鍵盤的矩陣式結(jié)構(gòu)57067011.1.2
鍵的識別識別閉合鍵的方法行掃描法行反轉(zhuǎn)法7701.行掃描法的原理基本原理:分行掃描檢查是否有鍵按下若有,確定哪個(gè)鍵被按下行線與列線分別接到兩個(gè)并行端口的示意圖870判斷是否有按鍵WAIT:列值MOV
AL,00HMOV
DX,OUTPORTOUT
DX,AL;往所有行線上輸出低電平MOV
DX,INPORTINANDCMPJZAL,DX
;AL,0FFHAL,0FFHWAIT;是否有列線為低電平;否,則循環(huán)等待;是,則延遲去抖動(dòng)DONE:CALL
DELAY…970判斷哪一個(gè)鍵被按下的流程10701170掃描法判斷閉合鍵的程序:;鍵號初值為00FEH
;送掃描初值8
;計(jì)數(shù)值為行數(shù)AL,
CLROWPORT,AL;掃描一行1AL;修改掃描值COLPORT0FFH
;讀進(jìn)列值,并判別是否有哪條列線接地;有列線接地,則轉(zhuǎn)FCOLPROG:
MOV
BL,0MOV
CL,MOV
DL,FROW:
MOVOUTROL
AL,MOV
CL,IN
AL,CMP
AL,JNZ
FCOLMOV
AL,ADD
AL,MOV
BL,DEC
DLJNZ
FROWJMP
DONEAL,1PROCEBL8;如沒有列線接地,則使鍵號=鍵號+列數(shù)/行AL;是否各行都掃完;未掃完,則掃下一行;已掃完,則轉(zhuǎn)DONE;如此列接地,則轉(zhuǎn)PROCEBLFCOL:
RCRJNCINCJMPPROCE:DONE:FCOL;如未找到接地的列線,則轉(zhuǎn)FCOL繼續(xù)尋找;鍵命令處理程序;后續(xù)處理程序12701.行線、列線分別接并行口行線輸出0,列線輸入x列線輸出讀得的值x,行線輸入yyx組合代表按下的鍵查表法識別按鍵重鍵問題2.行反轉(zhuǎn)法的原理行反轉(zhuǎn)法的工作示意圖(a)行線輸出,列線輸入(b)列線輸出,行13線輸入70行反轉(zhuǎn)法的鍵盤連接1470行反轉(zhuǎn)法的流程15701670ST:
MOV
AL,82HOUT
PORT1,AL;PORT1是8255A的控制口地址,設(shè)控制字,A口為輸出,B為輸入WAIT1:MOVAL,0OUTPORTA,AL;往端口A輸出全0INAL,PORTB;輸入列值A(chǔ)NDAL,0FFHCMPAL,0FFH;看是否有鍵閉合JZWAIT1;如無閉合鍵,則等待PUSHAXPUSHAX;保留列值CALLDELAY;延遲20msMOVAL,90HOUTPORT1,AL;將8255A的A口設(shè)置為輸入,B口設(shè)置為輸出POPAXOUTPORTB,AL;將讀得的列值輸出到端口BINAL,PORTA
;讀進(jìn)行值POPBXMOVAH,BL
;使AH中為列值,而AL中為行值MOVSI,TABLE+3FH;取鍵碼表末地址MOVCX,40H
;CX作為鍵計(jì)數(shù)器LOOP1:CMPAX,〔SI+0〕;行值列值與鍵碼表比較JZKEYPRO;如相等,則轉(zhuǎn)鍵命令處理DECSIDECSI;修改表指針和鍵計(jì)數(shù)器DECCXJNZLOOP1;未比較完,則再比JMPKEYPRO:ST…;如已比較完,但沒有在鍵碼表中找到相同碼,則重新開始找;鍵命令處理TABLE:DW0FEFEH
;鍵碼表開始,K0鍵DW0FEFDH;K1鍵DW0FEFBH;K2鍵DW0FEF7H;K3鍵7011.1.3抖動(dòng)和重鍵問題的解決抖動(dòng):用延遲來解決重鍵:A鍵先按后放,B鍵后按先放A鍵先按先放,B鍵后按后放A鍵、B鍵同時(shí)按下,但A鍵先放1870重鍵識別方法連鎖法巡回法連鎖法在所有的鍵后,只承認(rèn)此后閉合的第一個(gè)鍵,此鍵閉合時(shí)按下的其他鍵均不作識別一個(gè)鍵按下,識別A識別A舍棄1970連鎖法程序流程圖在所有的鍵后,只承認(rèn)此后閉合的第一個(gè)鍵2070巡回法后,等前面所識別的鍵就可對其他鍵識別檢測一個(gè)鍵按下,識別a.
識別A鍵b1.
A,B同一行,識別Ab2.A,B不 ,識別A,Bc1.B處于小行號,識別Bc2.B初始大行號,識別A,B2170巡回法的流程圖后,等前面所識別的鍵就可對其他鍵識別2270237011.2
LED數(shù)字顯示LED的工作原理
多位顯示問題11.2.1
LED的工作原理七段式LED顯示部件(a)典型的七段式LED器件
(b)共陽極LED
(c)共陰極LED24702570共陽級結(jié)構(gòu):數(shù)碼顯示端低電平有效共陰極結(jié)構(gòu):數(shù)碼顯示端高電平有效LED的外部連接電路(共陰極)2670數(shù)據(jù)用LED顯示的譯碼方法:譯碼譯碼2770用完成段譯碼的示意(共陽極)2870譯碼舉例(顯示1位數(shù)字)LEDADD:DB40H;0的顯示代碼DB79H;1的顯示代碼DB…24H;2的顯示代碼DISP:MOV BX,OFFSETDATAMOV
AL,[BX]
;要顯示的數(shù)字MOV BX,OFFSET
LEDADD;代碼表首址XLAT
;將數(shù)字轉(zhuǎn)換成顯示代碼MOV
ORTOUT
DX,AL
;將顯示代碼送顯示,…297011.2.2多位顯示問題的解決硬件:公用的驅(qū)動(dòng)電路:掃描方法3070多位顯示的掃描和驅(qū)動(dòng)電路3170LED32708位顯示的流程圖337011.3鍵盤和LED設(shè)計(jì)實(shí)例設(shè)計(jì)要求:連接7×8=56鍵的鍵盤連接6個(gè)LED設(shè)計(jì)1個(gè)定時(shí)裝置,顯示分和秒按下某些特定鍵時(shí),實(shí)現(xiàn)指定的功能計(jì)時(shí)器的顯示部分3470計(jì)時(shí)器的鍵盤部分35703670本系統(tǒng)直接使用的端口地址計(jì)數(shù)器8253:控制口地址
計(jì)數(shù)器0的地址計(jì)數(shù)器1的地址計(jì)數(shù)器2的地址00D6H00D0H00D2H00D4H3770中斷控制器8259A:ICW1、OCW2、OCW3寫入地址ICW2、ICW3、ICW4、OCW1寫入地址OCW1的讀出地址并行接口8255A:控制口地址
A端口地址
B端口地址
C端口地址00C0H00C2H00C2H00E6H00E0H00E2H00E4H計(jì)時(shí)器
的兩個(gè)主要部分:顯示程序鍵盤掃描程序38703970設(shè)計(jì)方案將鍵盤掃描程序、鍵命令的識別和處理程序作為主程序?qū)⒂?jì)時(shí)程序和顯示程序作為中斷服務(wù)程序計(jì)時(shí)器主程序的流程圖4070計(jì)時(shí)器中斷處理程序的流程圖417011.4微型機(jī)的鍵盤子系統(tǒng)兩部分:鍵盤本身主機(jī)的鍵盤接口鍵盤子系統(tǒng)的示意圖4270437011.4.1擴(kuò)展鍵盤和鍵盤控制器擴(kuò)展鍵盤、鍵盤掃描碼和系統(tǒng)掃描碼
擴(kuò)展鍵盤的工作原理擴(kuò)展鍵盤的連接信號1.擴(kuò)展鍵盤、鍵盤掃描碼和系統(tǒng)掃描碼擴(kuò)展鍵盤(
有單片機(jī))鍵盤掃描碼(簡稱“掃描碼”)接通掃描碼斷開掃描碼83鍵盤接通掃描碼=位置碼斷開掃描碼=接通掃描碼+80H84/101/102/104接通掃描碼與位置碼不同,另一種編碼斷開掃描碼,兩字節(jié),前一個(gè):F0H,后一個(gè):接通掃描碼掃描碼送給計(jì)算機(jī):先接通后斷開掃描碼(3)系統(tǒng)掃描碼(鍵盤掃描碼轉(zhuǎn)換為系統(tǒng)掃描碼,以兼容)83鍵盤已有的鍵,相同83鍵盤擴(kuò)展的鍵,擴(kuò)展編碼44702.擴(kuò)展鍵盤的工作原理×7016行8列的鍵盤掃描電路46703.擴(kuò)展鍵盤的連接信號鍵盤通過五芯插頭和主機(jī)板上的鍵盤接口相連鍵盤和主機(jī)串行傳輸鍵盤不直接接電源477011.4.2主機(jī)的鍵盤接口電路主機(jī)鍵盤接口電路的功能:接收鍵盤的串行掃描碼將串行掃描碼轉(zhuǎn)為并行掃描碼,再轉(zhuǎn)為系統(tǒng)掃描碼向CPU發(fā)中斷請求接收CPU的鍵盤自檢命令或復(fù)位命令,并傳輸?shù)芥I盤4870主機(jī)的鍵盤接口(早期)鍵盤接口串并轉(zhuǎn)換74LS322825580868259主機(jī)的鍵盤接口497011.5鍵盤中斷處理程序09H鍵盤中斷處理程序有鍵按下時(shí),發(fā)生中斷,執(zhí)行09H中斷服務(wù)處理程序,處理按鍵,把鍵碼
到鍵盤緩沖區(qū)中16H鍵盤中斷處理程序應(yīng)用程序或操作系統(tǒng)調(diào)用int
16h507009H鍵盤中斷處理程序鍵的分類及 和處理->detailed特殊鍵設(shè)置標(biāo)志位(右shift,左shift…)->第一類ASCII碼鍵0-127,低ASCII,高系統(tǒng)掃描碼第二類ASCII碼鍵128-255,低ASCII,高0不能用ASCII碼表示的組合鍵和功能鍵組合/功能鍵,低0,高擴(kuò)展碼特殊命令鍵(ctrl+a
el…)執(zhí)行命令517052701.對特殊鍵設(shè)置標(biāo)志位09H中斷處理程序?qū)μ厥怄I(在系統(tǒng)RAM中的標(biāo)志單元)設(shè)置如下:D0右Shift鍵按下為1,否則為0D1左Shift鍵按下為1,否則為0D2Ctrl鍵按下為1,否則為0D3Alt鍵按下為1,否則為0D4ScrollLock鍵按奇數(shù)次為1,否則為0D5Num
Lock鍵按奇數(shù)次為1,否則為0D6Caps
Lock鍵按奇數(shù)次為1,否則為0D7Ins鍵按奇數(shù)次為1,否則為02.對第一類ASCII碼鍵第一類鍵——ASCII碼0~127處理方法:將系統(tǒng)掃描碼轉(zhuǎn)換為ASCII碼低位字節(jié)為ASCII碼,
字節(jié)為系統(tǒng)掃描碼53703.對第二類ASCII碼鍵第二類鍵——對應(yīng)ASCII碼128~255處理方法:直接將數(shù)字作為ASCII碼低位字節(jié)為ASCII碼,
字節(jié)為054704.對于不能用ASCII碼表示的組合鍵和功能鍵第三類鍵——組合鍵和功能鍵處理方法:用0作為低位字節(jié),擴(kuò)展碼作為字節(jié)ctrl+home,
(上、下、左、右)箭頭,Del55705.對于特殊命令鍵(1)第四類鍵——特殊命令鍵ctrl+a
elctrl+breakPause,
ctrl+numlockprint
screen(2)處理方法:不形成代碼,而直接完成相應(yīng)操作567016H鍵盤中斷處理程序16H中斷處理程序的功能調(diào)用5770例1:
鍵mov
ah,0int
16h…;處理AH(系統(tǒng)掃描碼或擴(kuò)展碼),AL(ASCII碼)5870,則例2:檢查是否有鍵按下,處理按下的鍵mov
ah,1int
16hjzkey_pressed;…;沒有鍵按下key_pressed:mov
ah,0int
16h…;處理AH(系統(tǒng)掃描碼或擴(kuò)展碼),AL(ASCII碼)597011.6鍵盤緩沖區(qū)32字節(jié)的鍵盤緩沖區(qū)及指針6070首指針尾指針I(yè)NT09HINT
16H鍵盤緩沖區(qū)主機(jī)的鍵盤接口應(yīng)用程序6170627011.8.1
鼠標(biāo)的工作原理按鼠標(biāo)鍵分類雙鍵式三鍵式按照工作原理機(jī)械式光電式光機(jī)式637011.8.1
鼠標(biāo)的工作原理鼠標(biāo)與主機(jī)的連接方式有三種:用RS-232-C串行接口用USB接口用PS/2接口11.8.1
鼠標(biāo)的工作原理鼠標(biāo)的性能指標(biāo)和數(shù)據(jù)格式圖11.15
鼠標(biāo)3字節(jié)數(shù)據(jù)組的格式6470鼠標(biāo)功能中斷INT
33H,不同的功能號對應(yīng)不同功能。00H—初始化鼠標(biāo)01H—顯示鼠標(biāo)指針02H—隱藏鼠標(biāo)指針03H—
鼠標(biāo)位置及其按鈕狀態(tài)04H—設(shè)置鼠標(biāo)指針位置05H—
鼠標(biāo)按鍵信息06H
—
鼠標(biāo)按鈕 信息07H—設(shè)置鼠標(biāo)水平邊界08H—設(shè)置鼠標(biāo)垂直邊界09H—設(shè)置圖形鼠標(biāo)形狀0AH—設(shè)置本文鼠標(biāo)形狀0BH—
鼠標(biāo)移動(dòng)計(jì)數(shù)0CH—為鼠標(biāo)事件設(shè)置處理程序0DH—允許光筆仿真0EH—關(guān)閉光筆仿真0FH—設(shè)置鼠標(biāo)計(jì)數(shù)與象素比10H—設(shè)置鼠標(biāo)指針隱
域13H—設(shè)置倍速的閾值14H—替換鼠標(biāo)事件中斷15H—
鼠標(biāo)驅(qū)動(dòng)器狀態(tài)的緩沖區(qū)大小16H—
鼠標(biāo)驅(qū)動(dòng)器狀態(tài)17H—重裝鼠標(biāo)驅(qū)動(dòng)器狀態(tài)18H—為鼠標(biāo)事件設(shè)置替換處理程序19H—
替換處理程序的地址1AH—設(shè)置鼠標(biāo)的靈敏度1BH
—鼠標(biāo)的靈敏度1CH—設(shè)置鼠標(biāo)中斷速率1DH—為鼠標(biāo)指針選擇顯示頁1EH
—鼠標(biāo)指針的顯示頁1FH—
鼠標(biāo)驅(qū)動(dòng)程序20H—啟動(dòng)鼠標(biāo)驅(qū)動(dòng)程序21H—鼠標(biāo)驅(qū)動(dòng)程序復(fù)位22H—設(shè)置鼠標(biāo)驅(qū)動(dòng)程序信息語言23H
—24H
—25H
—26H
—語種鼠標(biāo)信息鼠標(biāo)驅(qū)動(dòng)程序信息最大有效坐標(biāo)6570667011.8.2
鼠標(biāo)的驅(qū)動(dòng)程序及其功能調(diào)用例1
AX=00,鼠標(biāo)檢測和初始化如下指令MOV
AX,00INT
33H677011.8.2
鼠標(biāo)的驅(qū)動(dòng)程序及其功能調(diào)用例2
AX=01,打開鼠標(biāo)光標(biāo)如下指令MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版城市照明電氣設(shè)備采購及運(yùn)維合同
- 二零二五年度米面糧油倉儲(chǔ)物流服務(wù)采購合同2篇
- 2025年度水泥產(chǎn)品銷售渠道建設(shè)承包合同3篇
- 2025殘疾人冰雪項(xiàng)目財(cái)務(wù)管理與審計(jì)合同3篇
- 2025年度木門銷售合同書標(biāo)準(zhǔn)版4篇
- 二零二五版牛只運(yùn)輸途中疫病防控與應(yīng)急處理合同4篇
- 2025年度美容美發(fā)行業(yè)技師技能認(rèn)證合同3篇
- 2025年度二零二五年度民辦學(xué)校教師心理健康輔導(dǎo)合同4篇
- 承包宅基地合同(2篇)
- 2025年度農(nóng)產(chǎn)品電商平臺傭金結(jié)算合同4篇
- 【京東倉庫出庫作業(yè)優(yōu)化設(shè)計(jì)13000字(論文)】
- 保安春節(jié)安全生產(chǎn)培訓(xùn)
- 初一語文上冊基礎(chǔ)知識訓(xùn)練及答案(5篇)
- 初中班級成績分析課件
- 勞務(wù)合同樣本下載
- 血液透析水處理系統(tǒng)演示
- GB/T 27030-2006合格評定第三方符合性標(biāo)志的通用要求
- GB/T 13663.2-2018給水用聚乙烯(PE)管道系統(tǒng)第2部分:管材
- 同角三角函數(shù)的基本關(guān)系式同步練習(xí)
- 固定污染源自動(dòng)監(jiān)控監(jiān)測系統(tǒng)現(xiàn)場端建設(shè)技術(shù)規(guī)范
- 教科版六年級科學(xué)下冊第一單元《小小工程師》背背默默知識點(diǎn)
評論
0/150
提交評論