版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、接口與通訊技術(shù)武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,第13章 基本人機(jī)交互設(shè)備接口,本章內(nèi)容13.1 鍵盤(pán)接口13.2 LED數(shù)碼顯示器接口13.3 可編程鍵盤(pán)/LED接口芯片82C79A13.4 打印機(jī)接口,13.1 鍵盤(pán)接口,13.1.1 鍵盤(pán)的類(lèi)型1. 按鍵的種類(lèi)——機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式2. 鍵盤(pán)的結(jié)構(gòu)線性鍵盤(pán):每個(gè)按鍵直接與微機(jī)接口相連;按鍵少時(shí)適用矩陣鍵盤(pán):可減少與微機(jī)接口的連線數(shù)目矩
2、陣鍵盤(pán)的識(shí)鍵和譯鍵方法——非編碼鍵盤(pán)、編碼鍵盤(pán)編碼鍵盤(pán):內(nèi)部設(shè)有鍵盤(pán)編碼器,能識(shí)鍵、生成鍵碼、去抖動(dòng)、防串鍵;硬件電路復(fù)雜非編碼鍵盤(pán):只提供鍵盤(pán)矩陣,按鍵的識(shí)別、鍵碼的提供都由軟件來(lái)完成;結(jié)構(gòu)簡(jiǎn)單,成本低,13.1.2 鍵盤(pán)的結(jié)構(gòu)與工作原理——非編碼鍵盤(pán),1. 線性鍵盤(pán)的結(jié)構(gòu)與工作原理硬件接口:,13.1.2 鍵盤(pán)的結(jié)構(gòu)與工作原理——非編碼鍵盤(pán),1. 線性鍵盤(pán)的結(jié)構(gòu)與工作原理軟件編程:①查詢是否有鍵按下②確定按下的鍵,執(zhí)行服務(wù)
3、例如:按下S0報(bào)警;按下S1解除報(bào)警;按下S2退出,線性鍵盤(pán)的匯編語(yǔ)言程序,MOV DX,303HMOV AL,90HOUT DX,AL;82C55A初始化KB:MOV DX,300HIN AL,DXAND AL,07HJZ KB;檢查3個(gè)鍵是否有鍵按下CALL DELAY;延時(shí)去抖動(dòng)MOV DX,300HIN AL,DXAND AL,07HJZ KB;再次檢查是否按鍵
4、CMP AL,01HJZ BJ;按下S0CMP AL,02HJZ JBJ;按下S1CMP AL,04HJZ STP;按下S2JMP KBDELAY:延時(shí)子程序(略)BJ:報(bào)警處理(略)JBJ:解除報(bào)警處理(略)STP:MOV AX,4C00HINT 21H,13.1.2 鍵盤(pán)的結(jié)構(gòu)與工作原理——非編碼鍵盤(pán),2. 矩陣鍵盤(pán)的結(jié)構(gòu)與工作原理行掃描方式:列線一端接輸入端口,另一端
5、接高電平;行線接輸出端口;輪流對(duì)行線輸出低電平,從列線讀掃描結(jié)果列掃描方式:行線一端接輸入端口,另一端接高電平;列線接輸出端口;輪流對(duì)列線輸出低電平,從行線讀掃描結(jié)果工作原理(以列掃描為例):,13.1.3 鍵盤(pán)接口設(shè)計(jì),例13.1 設(shè)計(jì)一個(gè)采用行掃描方式的3?4非編碼鍵盤(pán)接口硬件設(shè)計(jì):采用82C55A作為接口芯片,PA輸出,PB輸入,行掃描方式3?4非 編碼鍵盤(pán)的軟件設(shè)計(jì),行掃描方式識(shí)鍵和譯鍵的步驟:①判斷是否有鍵按下②去抖
6、動(dòng)——延時(shí)10?20ms③找到被按下的鍵④根據(jù)鍵號(hào)進(jìn)行處理,行掃描方式3?4非 編碼鍵盤(pán)查找按鍵的匯編程序,MOV DX,303HMOV AL,82HOUT DX,AL;82C55A初始化;檢查是否有鍵按下BEGIN:MOV DX,300HMOV AL,00HOUT DX,AL;令所有行線為0WAIT1:MOV DX,301HIN AL,DXAND AL,0FHCMP AL,0FH;讀
7、列線,判斷是否按鍵JZ WAIT1;無(wú)按鍵,等待MOV CX,7FFHL0:LOOP L0;延時(shí)去抖動(dòng);識(shí)別哪一個(gè)鍵被按下ST:MOV BL,3;設(shè)置行數(shù)MOV AH,4;設(shè)置列數(shù)MOV AL,0FEH;起始行掃描碼(0行開(kāi)始)MOV CL,0FH;列線屏蔽碼(只查低4位)MOV CH,0FFH;起始鍵號(hào)(-1的補(bǔ)碼),L1:MOV DX,300HOUT DX,AL;掃描
8、一行ROL AL,1MOV AH,ALMOV DX,301HIN AL,DXAND AL,CLCMP AL,CL;是否有列線為0JNZ L2ADD CH,BH;無(wú),修改鍵號(hào)指向改行末列鍵號(hào)MOV AL,AHDEC BL;行數(shù)減1JNZ L1JMP BEGINL2:INC CH;鍵號(hào)加1,指向本行首列鍵號(hào)RCR AL,1;右移1位,檢測(cè)一列JC L2MOV
9、 AL,CH;該列為0,鍵號(hào)送ALJMP KeyTable;轉(zhuǎn)去查找鍵盤(pán)編碼表,獲取鍵碼;或者直接轉(zhuǎn)向按鍵相應(yīng)的子程序去執(zhí)行相關(guān)操作,13.2 LED數(shù)碼顯示器接口,13.2.1 LED顯示器的結(jié)構(gòu)與工作原理,13.2 LED數(shù)碼顯示器接口,13.2.2 LED顯示器的字形碼(段碼)——采用不同的段進(jìn)行組合來(lái)表示字符形狀的數(shù)據(jù),13.2.3 LED顯示器的顯示方式靜態(tài)顯示: 構(gòu)成字符的發(fā)光二極管總處于點(diǎn)亮狀態(tài)動(dòng)態(tài)
10、顯示:用掃描方式使多位顯示器逐位輪流循環(huán)顯示,13.3 可編程鍵盤(pán)/LED接口芯片82C79A,輸入:掃描鍵盤(pán)、掃描傳感器、選通輸入方式輸出:8段LED顯示器接口,8個(gè)或16個(gè),左(右)入口13.3.1 82C79A的外部特性(40腳)1. 面向CPU的信號(hào)線(15)D0~7、CS、RD、WRCLK:系統(tǒng)時(shí)鐘,為82C79A提供內(nèi)部定時(shí)RESET:復(fù)位,高有效;復(fù)位后為16個(gè)字符顯示(左進(jìn)方式),編碼掃描鍵盤(pán)(雙鍵鎖定)
11、,時(shí)鐘設(shè)置為31A0:端口選擇;A0=0數(shù)據(jù)寄存器,A0=1命令/狀態(tài)寄存器IRQ:中斷申請(qǐng),高有效;通常鍵盤(pán)有數(shù)據(jù)輸入時(shí)有效,,,,13.3 可編程鍵盤(pán)/LED接口芯片82C79A,13.3.1 82C79A的外部特性(40腳)2. 面向鍵盤(pán)的信號(hào)線(14)SL0~SL3:矩陣鍵盤(pán)的行掃描線,可編程為編碼輸出/譯碼輸出RL0~RL7:返回線,用作鍵盤(pán)矩陣的列線值返回SHIFT:移位信號(hào),高有效,用于擴(kuò)充鍵功能,上/下檔
12、鍵CNTL/STB:控制線,高有效;用于擴(kuò)充鍵的控制功能,功能鍵3. 面向顯示器的信號(hào)線(9)SL0~SL3(與鍵盤(pán)共用):字符顯示器的位掃描線,可編程為左進(jìn)/右進(jìn)OUTA0~OUTA3、OUTB0~OUTB3、A、B組顯示輸出線,兩組可獨(dú)立或合并使用;輸出與SL0~3同步,實(shí)現(xiàn)按位分時(shí)顯示BD:顯示消隱,低有效;顯示切換或執(zhí)行消隱命令時(shí)有效,,13.3.2 82C79A的內(nèi)部寄存器,,13.3.2 82C79A的內(nèi)部寄存
13、器,1. 顯示器/鍵盤(pán)共享的模塊(1)掃描計(jì)數(shù)器:4位的計(jì)數(shù)器,可編程為譯碼/編碼方式譯碼掃描:最低兩位經(jīng)譯碼,由SL0~3輸出,作為鍵盤(pán)及顯示器的掃描信號(hào)(任何時(shí)刻SL0~3只有一個(gè)有效,實(shí)現(xiàn)4選1)編碼掃描:計(jì)數(shù)器的狀態(tài)由SL0~3直接輸出,再經(jīng)外部譯碼,才能作為掃描信號(hào)(實(shí)現(xiàn)16選1)(2)定時(shí)控制:將外部時(shí)鐘CLK分頻為內(nèi)部要求的100KHz2. LED顯示器接口模塊(1)顯示存儲(chǔ)器RAM:16×8位,存儲(chǔ)
14、16個(gè)數(shù)碼顯示器的數(shù)據(jù)(2)顯示字符寄存器:存放要顯示的字符,顯示過(guò)程中與顯示掃描配合,輪流從顯示RAM中讀出顯示信息輸出(3)顯示地址寄存器:讀/寫(xiě)顯示RAM的地址指針;可由命令直接設(shè)定,或設(shè)置為每次讀/寫(xiě)后自動(dòng)加1,13.3.2 82C79A的內(nèi)部寄存器,3. 鍵盤(pán)接口模塊(1)返回緩沖器:緩沖并鎖存回復(fù)信號(hào)RL0~7的狀態(tài);與CNTL、SHIFT一起構(gòu)成完整的鍵盤(pán)按鍵數(shù)據(jù)(2)鍵盤(pán)去抖動(dòng):實(shí)現(xiàn)對(duì)鍵盤(pán)輸入的去抖動(dòng)
15、(3)FIFO RAM及狀態(tài)寄存器FIFO RAM:8×8位,鍵盤(pán)輸入方式暫存鍵盤(pán)輸入數(shù)據(jù)FIFO RAM狀態(tài)寄存器:寄存FIFO RAM的工作狀態(tài),F(xiàn)IFO RAM不空時(shí),會(huì)使IRQ變高,82C79A的數(shù)據(jù)輸入/輸出方式,輸入方式鍵盤(pán)輸入(鍵掃描)、傳感器掃描、選通輸入鍵掃描:按下一個(gè)鍵時(shí)形成鍵盤(pán)數(shù)據(jù),送入FIFO RAM并產(chǎn)生IRQ(數(shù)據(jù)讀出后撤除) 傳感器掃描:FIFO RAM中8個(gè)單元用于寄存?zhèn)鞲衅鞯默F(xiàn)時(shí)狀態(tài)
16、,地址編號(hào)與掃描線順序一致,傳感器陣列(最多為8×8位)中某一位狀態(tài)發(fā)生變化時(shí),產(chǎn)生IRQ選通輸入:與82C55A選通輸入端口功能相同,CNTL/STB作為選通信號(hào),上升沿將RL0~7鎖存到FIFO RAM輸出方式8字符左入口、16字符左入口、8字符右入口、16字符右入口左入口:顯示器位置編號(hào)與顯示RAM地址一一對(duì)應(yīng)(0號(hào)單元顯示在0號(hào)顯示器上),顯示時(shí)從最左位開(kāi)始右入口(計(jì)算機(jī)顯示方式):最高位從最右邊顯示器進(jìn)入,
17、以后逐次左移,13.3.3 82C79A的編程模型,數(shù)據(jù)端口30CH ,命令/狀態(tài)端口30DH1. 命令字——8個(gè),最高3位為特征位,0?2、4號(hào)命令使用最多,13.3.3 82C79A的編程模型,1. 命令字(1)0號(hào)命令 :設(shè)置鍵盤(pán)及顯示方式K0:設(shè)置掃描方式;K0=0編碼掃描,K0=1譯碼掃描K2K1 :設(shè)置輸入方式(其中4種為鍵盤(pán)輸入)DD :設(shè)置顯示輸出方式,13.3.3 82C79A的編程模型,1. 命令
18、字(2)1號(hào)命令 :設(shè)置掃描頻率PPPPP:設(shè)置對(duì)外部輸入CLK的分頻系數(shù)N(2?31)以獲得100KHz(3)2號(hào)命令 :讀FIFO RAM的設(shè)置A2?A0 :指定讀取鍵盤(pán)FIFO RAM中字符的起始地址AI :地址自動(dòng)增量標(biāo)志;AI=1每次讀出后地址自動(dòng)加1,13.3.3 82C79A的編程模型,1. 命令字(4)4號(hào)命令 :寫(xiě)顯示RAM的設(shè)置A3?A0 :指定寫(xiě)顯示RAM中字符的起始地址AI :
19、地址自動(dòng)增量標(biāo)志;AI=1每次寫(xiě)入后地址自動(dòng)加1,13.3.3 82C79A的編程模型,2. 狀態(tài)字——指示FIFO RAM中待取走的字符數(shù)和有無(wú)錯(cuò)誤發(fā)生DU:顯示無(wú)效標(biāo)志,執(zhí)行顯示RAM清除命令時(shí)為1S/E:傳感信號(hào)結(jié)束/特殊錯(cuò)誤方式標(biāo)志;鍵盤(pán)輸入方式下作特殊錯(cuò)誤標(biāo)志,S/E=1:多鍵同時(shí)按下O:超出標(biāo)志,向已滿的FIFO RAM寫(xiě)入時(shí)置1U:“空”標(biāo)志,從已空的FIFO RAM讀出時(shí)置1F:“滿”標(biāo)志,F(xiàn)IFO
20、RAM中的字符數(shù)為8時(shí)置1N2N1N0:FIFO RAM中待取走的字符個(gè)數(shù),13.3.4 鍵盤(pán)/數(shù)碼顯示器接口設(shè)計(jì),例13.2 設(shè)計(jì)一個(gè)8位LED顯示器接口,要求從0位開(kāi)始顯示13579H六個(gè)字符,顯示方式為左進(jìn),采用編碼掃描硬件設(shè)計(jì):接口由82C79A芯片、掃描譯碼器7445和段驅(qū)動(dòng)器7406組成82C79A:核心,負(fù)責(zé)LED與CPU的連接、執(zhí)行控制命令7445:負(fù)責(zé)LED顯示器的動(dòng)態(tài)掃描,產(chǎn)生位控信號(hào)7406:為L(zhǎng)ED
21、的8段字形碼提供電流驅(qū)動(dòng),13.3.4 鍵盤(pán)/數(shù)碼顯示器接口設(shè)計(jì),例13.2 軟件設(shè)計(jì)——從0位開(kāi)始顯示13579H六個(gè)字符,六個(gè)字符的共陰極字形碼存于BUF存儲(chǔ)區(qū)CODESEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN:JMP START BUF DB 06H,4FH,6DH,07H,67H,76HSTART:MOV AX,CODEMOV DS,AX
22、;82C79A初始化MOV DX,30DHMOV AL,00H;方式命令字OUT DX,ALMOV AL,39H;設(shè)置分頻系數(shù)OUT DX,ALMOV AL,90H;設(shè)置寫(xiě)顯示RAM地址OUT DX,AL,MOV SI,OFFSET BUFMOV CX,6;顯示器顯示字符L:MOV DX,30CHMOV AL,[SI]OUT DX,ALINC SIDEC CX
23、JNZ LMOV AX,4C00HINT 21HCODEENDSEND BEGIN,,13.3.4 鍵盤(pán)/數(shù)碼顯示器接口設(shè)計(jì),例13.3 設(shè)計(jì)一個(gè)鍵盤(pán)及LED雙功能接口,連接24鍵的鍵盤(pán)和8個(gè)共陽(yáng)極數(shù)碼顯示器。鍵盤(pán)采用編碼掃描、雙鍵鎖定;顯示器采用編碼掃描、右進(jìn)方式。外部時(shí)鐘CLK=2.5MHz。要求從鍵盤(pán)讀取10個(gè)字符代碼;在顯示器上從0位開(kāi)始顯示“HELLO”五個(gè)字符硬件設(shè)計(jì):,13.3.4 鍵盤(pán)/數(shù)碼顯
24、示器接口設(shè)計(jì),例13.3 軟件設(shè)計(jì)①鍵盤(pán)輸入程序段CODESEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN:JMP START BUF DB 10 DUP(0)START:MOV AX,CODEMOV DS,AX;82C79A初始化MOV DX,30DHMOV AL,00H;方式命令字OUT DX,ALMOV AL,39H
25、;設(shè)置分頻系數(shù)OUT DX,ALMOV DI,OFFSET BUFMOV CX,10,;讀狀態(tài)字LOOP1:MOV DX,30DHIN AL,DXTEST AL,07HJZ LP1;設(shè)置讀出地址MOV AL,40HOUT DX,ALMOV DX,30CHIN AL,DX;讀數(shù)據(jù)MOV [DI],ALINC DIDEC CXJNZ LOOP1MOV AX,4
26、C00HINT 21HCODEENDSEND BEGIN,,13.3.4 鍵盤(pán)/數(shù)碼顯示器接口設(shè)計(jì),例13.3 軟件設(shè)計(jì)①顯示器輸出程序段CODESEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN:JMP START BUF DB FH,38H,38H,79H,76HSTART:MOV AX,CODEMOV DS,AX;82C79A初始化
27、MOV DX,30DHMOV AL,10H;方式命令字OUT DX,ALMOV AL,39H;設(shè)置分頻系數(shù)OUT DX,ALMOV AL,90H;設(shè)置寫(xiě)顯示RAM地址OUT DX,AL,MOV SI,OFFSET BUFMOV CX,5;顯示器顯示字符L:MOV DX,30CHMOV AL,[SI]OUT DX,ALINC SIDEC CXJNZ LMO
28、V AX,4C00HINT 21HCODEENDSEND BEGIN,,13.4 打印機(jī)接口,13.4.1 并行打印機(jī)接口標(biāo)準(zhǔn)(Centronics標(biāo)準(zhǔn),8位并行)1. 信號(hào)線定義,,,,,,,13.4 打印機(jī)接口,13.4.1 并行打印機(jī)接口標(biāo)準(zhǔn)2. 工作時(shí)序打印機(jī)與CPU采用查詢方式傳送數(shù)據(jù)的步驟:①CPU查詢BUSY,BUSY=1則等待;BUSY=0送數(shù)②CPU通過(guò)并口把數(shù)據(jù)送到DATA0?DA
29、TA7上③CPU給STROBE送一個(gè)負(fù)脈沖,將數(shù)據(jù)打入打印機(jī)內(nèi)部緩沖器④打印機(jī)收到數(shù)據(jù),置BUSY=1,直到處理完置BUSY=0⑤打印機(jī)送一個(gè)ACK(負(fù)脈沖)信號(hào)給主機(jī)——可用于中斷方式,,,13.4 打印機(jī)接口,13.4.1 并行打印機(jī)接口標(biāo)準(zhǔn)3. 打印機(jī)連接器(D-36芯插頭/插座)——與IBM-PC配置的打印機(jī)接口D-25不兼容打印機(jī)與PC機(jī)并口信號(hào)的連接,13.4 打印機(jī)接口,13.4.2 并行打印機(jī)接口設(shè)計(jì)例
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第8章人機(jī)交互設(shè)計(jì)
- 人機(jī)交互設(shè)計(jì)課程報(bào)告---談人機(jī)交互技術(shù)
- 移動(dòng)設(shè)備中的人機(jī)交互設(shè)計(jì)研究.pdf
- 醫(yī)療設(shè)備界面的人機(jī)交互設(shè)計(jì)研究.pdf
- 人機(jī)交互設(shè)計(jì)界面問(wèn)題研究.pdf
- 34124.中國(guó)盲文人機(jī)交互設(shè)備的設(shè)計(jì)與研究
- 移動(dòng)學(xué)習(xí)人機(jī)交互設(shè)計(jì)研究【開(kāi)題報(bào)告】
- 變電站智能電子設(shè)備通信和人機(jī)交互設(shè)計(jì).pdf
- 自動(dòng)售貨機(jī)人機(jī)交互設(shè)計(jì)研究.pdf
- 老人手機(jī)的人機(jī)交互設(shè)計(jì)研究.pdf
- 移動(dòng)學(xué)習(xí)人機(jī)交互設(shè)計(jì)研究【畢業(yè)設(shè)計(jì)】
- 化學(xué)虛擬實(shí)驗(yàn)的人機(jī)交互設(shè)計(jì)與研究.pdf
- 面向個(gè)人健康信息采集的人機(jī)交互設(shè)計(jì).pdf
- 情感計(jì)算及其在人機(jī)交互設(shè)計(jì)中的應(yīng)用
- 電動(dòng)車(chē)充電裝置的人機(jī)交互設(shè)計(jì)研究.pdf
- 地鐵自動(dòng)售票機(jī)的人機(jī)交互設(shè)計(jì)研究.pdf
- 電子紙手持閱讀器人機(jī)交互設(shè)計(jì)實(shí)現(xiàn).pdf
- 面向航空MRO軟件系統(tǒng)的人機(jī)交互設(shè)計(jì)研究.pdf
- 基于2.4g無(wú)線通訊技術(shù)的多功能人機(jī)交互設(shè)備研究
- 基于WN6102的無(wú)線人機(jī)交互設(shè)備開(kāi)發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論