第13章基本人機(jī)交互設(shè)備接口_第1頁
第13章基本人機(jī)交互設(shè)備接口_第2頁
第13章基本人機(jī)交互設(shè)備接口_第3頁
第13章基本人機(jī)交互設(shè)備接口_第4頁
第13章基本人機(jī)交互設(shè)備接口_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、接口與通訊技術(shù)接口與通訊技術(shù)武漢科技大學(xué)武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第第1313章基本人機(jī)交互設(shè)備接口章基本人機(jī)交互設(shè)備接口 本章內(nèi)容本章內(nèi)容13.1 13.1 鍵盤接口鍵盤接口13.2 LED13.2 LED數(shù)碼顯示器接口數(shù)碼顯示器接口13.3 13.3 可編程鍵盤可編程鍵盤/LED/LED接口芯片接口芯片82C79A82C79A13.4 13.4 打印機(jī)接口打印機(jī)接口13.1 13.1 鍵盤接口鍵盤接口13.1.1 13.1.1 鍵盤的類型鍵盤的類型1. 按鍵的種類按鍵的種類機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式2. 鍵盤的結(jié)構(gòu)鍵盤的結(jié)構(gòu) 線性鍵盤線性鍵盤:每個(gè)按鍵直接

2、與微機(jī)接口相連;按鍵少時(shí)適用 矩陣鍵盤矩陣鍵盤:可減少與微機(jī)接口的連線數(shù)目 矩陣鍵盤的識(shí)鍵和譯鍵方法矩陣鍵盤的識(shí)鍵和譯鍵方法非編碼鍵盤、編碼鍵盤u編碼鍵盤:編碼鍵盤:內(nèi)部設(shè)有鍵盤編碼器,能識(shí)鍵、生成鍵碼、去抖動(dòng)、防串鍵;硬件電路復(fù)雜u非編碼鍵盤:非編碼鍵盤:只提供鍵盤矩陣,按鍵的識(shí)別、鍵碼的提供都由軟件來完成;結(jié)構(gòu)簡單,成本低13.1.2 13.1.2 鍵盤的結(jié)構(gòu)與工作原理鍵盤的結(jié)構(gòu)與工作原理非編碼鍵盤1. 線性鍵盤的結(jié)構(gòu)與工作原理線性鍵盤的結(jié)構(gòu)與工作原理硬件接口:硬件接口:82C55A82C55APA0PA1PA2PA3PA4PA5PA6PA7CPUCPU總線D0D1D2D3D4D5D6D7

3、5.1K8+5VS0S1S2S3S4S5S6S713.1.2 13.1.2 鍵盤的結(jié)構(gòu)與工作原理鍵盤的結(jié)構(gòu)與工作原理非編碼鍵盤1. 線性鍵盤的結(jié)構(gòu)與工作原理線性鍵盤的結(jié)構(gòu)與工作原理軟件編程:軟件編程:查詢是否有鍵按下確定按下的鍵,執(zhí)行服務(wù)例如:例如:按下S0報(bào)警;按下S1解除報(bào)警;按下S2退出開始置PA口為輸入方式有鍵閉合嗎?是S0閉合嗎?是S1閉合嗎?是S2閉合嗎?延時(shí)10ms消除抖動(dòng)解除報(bào)警報(bào)警結(jié)束NYYYYNNN有鍵閉合嗎?NY線性鍵盤的匯編語言程序線性鍵盤的匯編語言程序MOV DX,303HMOV AL,90HOUT DX,AL;82C55A初始化KB: MOV DX,300HIN A

4、L,DXAND AL,07HJZ KB;檢查3個(gè)鍵是否有鍵按下CALL DELAY;延時(shí)去抖動(dòng)MOV DX,300HIN AL,DXAND AL,07HJZ KB;再次檢查是否按鍵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 21H13.1.2 13.1.2 鍵盤的結(jié)構(gòu)與工作原理鍵盤的結(jié)構(gòu)與工作原理非編碼鍵盤2. 矩陣鍵盤的結(jié)構(gòu)與工作原理矩陣鍵盤的結(jié)構(gòu)與工作原理行掃描方式:行掃描方式:列

5、線一端接輸入端口,另一端接高電平;行線接輸出端口;輪流對(duì)行線輸出低電平,從列線讀掃描結(jié)果列掃描方式:列掃描方式:行線一端接輸入端口,另一端接高電平;列線接輸出端口;輪流對(duì)列線輸出低電平,從行線讀掃描結(jié)果工作原理工作原理(以列掃描為例):82C55A82C55APA0PA1PA2PA3PB0PB1PB2PB3CPUCPU總線5.1K4+5VS2S1S3S4S6S5S7S8S10S9S11S12S14S13S15S1613.1.3 13.1.3 鍵盤接口設(shè)計(jì)鍵盤接口設(shè)計(jì)例例13.113.1 設(shè)計(jì)一個(gè)采用行掃描行掃描方式的34非編碼鍵盤接口硬件設(shè)計(jì):硬件設(shè)計(jì):采用82C55A作為接口芯片,PA輸出,

6、PB輸入82C55A82C55APA0PA1PA2 PB0PB1PB2PB3CPUCPU總線+5VS4S8S0S5S9S1S6S10S2S7S11S30行1行2行0列1列2列3列行掃描方式行掃描方式3 3 4 4非非 編碼鍵盤的軟件設(shè)計(jì)編碼鍵盤的軟件設(shè)計(jì)行掃描方式識(shí)鍵和譯鍵的步驟:行掃描方式識(shí)鍵和譯鍵的步驟:判斷是否有鍵按下去抖動(dòng)延時(shí)1020ms找到被按下的鍵根據(jù)鍵號(hào)進(jìn)行處理82C55A82C55APA0PA1PA2 PB0PB1PB2PB3CPUCPU總線+5VS4S8S0S5S9S1S6S10S2S7S11S30行1行2行0列1列2列3列行掃描方式行掃描方式3 3 4 4非非 編碼鍵盤查找

7、按鍵的匯編程序編碼鍵盤查找按鍵的匯編程序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;讀列線,判斷是否按鍵JZ WAIT1;無按鍵,等待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行開始)MOV CL,0FH;列線屏蔽碼(只查低4位)MOV

8、 CH,0FFH;起始鍵號(hào)(-1的補(bǔ)碼)L1:MOV DX,300HOUT DX,AL;掃描一行ROL AL,1MOV AH,ALMOV DX,301HIN AL,DXAND AL,CLCMP AL,CL;是否有列線為0JNZ L2ADD CH,BH;無,修改鍵號(hào)指向改行末列鍵號(hào)MOV AL,AHDEC BL;行數(shù)減1JNZ L1JMP BEGINL2:INC CH;鍵號(hào)加1,指向本行首列鍵號(hào)RCR AL,1;右移1位,檢測一列JC L2MOV AL,CH;該列為0,鍵號(hào)送ALJMP KeyTable;轉(zhuǎn)去查找鍵盤編碼表,獲取鍵碼;或者直接轉(zhuǎn)向按鍵相應(yīng)的子程序去執(zhí)行相關(guān)操作13.2 LED13

9、.2 LED數(shù)碼顯示器接口數(shù)碼顯示器接口13.2.1 LED13.2.1 LED顯示器的結(jié)構(gòu)與工作原理顯示器的結(jié)構(gòu)與工作原理pgfedcbVCC(b)共陽極apgfedcb(a)共陰極aabcdefg(c)內(nèi)部排列p13.2 LED13.2 LED數(shù)碼顯示器接口數(shù)碼顯示器接口13.2.2 LED13.2.2 LED顯示器的字形碼顯示器的字形碼(段碼)采用不同的段進(jìn)行組合來表示字符形狀的數(shù)據(jù)七段數(shù)碼顯示器的字形碼格式七段數(shù)碼顯示器的字形碼格式數(shù)據(jù)位數(shù)據(jù)位D7D6D5D4D3D2D1D0顯示段名顯示段名pgfedcba七段七段LEDLED顯示器字符與字形碼對(duì)照表顯示器字符與字形碼對(duì)照表顯示顯示字符

10、字符0123456789ABCDEF字形碼字形碼( (共陰共陰) )3FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H字形碼字形碼( (共陽共陽) )40H79H24H30H19H12H02H78H00H10H08H03H46H21H06H0EH13.2.3 LED13.2.3 LED顯示器的顯示方式顯示器的顯示方式靜態(tài)顯示:靜態(tài)顯示: 構(gòu)成字符的發(fā)光二極管總處于點(diǎn)亮狀態(tài)動(dòng)態(tài)顯示:動(dòng)態(tài)顯示:用掃描方式使多位顯示器逐位輪流循環(huán)顯示13.3 13.3 可編程鍵盤可編程鍵盤/LED/LED接口芯片接口芯片82C79A82C79A輸入:輸入:掃描鍵盤、掃描

11、傳感器、選通輸入方式輸出輸出:8段LED顯示器接口,8個(gè)或16個(gè),左(右)入口13.3.1 82C79A13.3.1 82C79A的外部特性的外部特性(40腳)1. 1. 面向面向CPUCPU的信號(hào)線的信號(hào)線(15)D D0 07 7、CSCS、RDRD、WRWRCLKCLK:系統(tǒng)時(shí)鐘,為82C79A提供內(nèi)部定時(shí)RESETRESET:復(fù)位,高有效;復(fù)位后為16個(gè)字符顯示(左進(jìn)方式),編碼掃描鍵盤(雙鍵鎖定),時(shí)鐘設(shè)置為31A A0 0:端口選擇;A0=0數(shù)據(jù)寄存器,A0=1命令/狀態(tài)寄存器IRQIRQ:中斷申請(qǐng),高有效;通常鍵盤有數(shù)據(jù)輸入時(shí)有效13.3 13.3 可編程鍵盤可編程鍵盤/LED/

12、LED接口芯片接口芯片82C79A82C79A13.3.1 82C79A13.3.1 82C79A的外部特性的外部特性(40腳)2. 2. 面向鍵盤的信號(hào)線面向鍵盤的信號(hào)線(14)SLSL0 0SLSL3 3:矩陣鍵盤的行掃描線,可編程為編碼輸出/譯碼輸出RLRL0 0RLRL7 7:返回線,用作鍵盤矩陣的列線值返回SHIFTSHIFT:移位信號(hào),高有效,用于擴(kuò)充鍵功能,上/下檔鍵CNTL/STBCNTL/STB:控制線,高有效;用于擴(kuò)充鍵的控制功能,功能鍵3. 3. 面向顯示器的信號(hào)線面向顯示器的信號(hào)線(9)SLSL0 0SLSL3 3(與鍵盤共用):字符顯示器的位掃描線,可編程為左進(jìn)/右進(jìn)

13、OUTAOUTA0 0OUTAOUTA3 3、OUTBOUTB0 0OUTBOUTB3 3、A、B組顯示輸出線,兩組可獨(dú)立或合并使用;輸出與SL03同步,實(shí)現(xiàn)按位分時(shí)顯示BDBD:顯示消隱,低有效;顯示切換或執(zhí)行消隱命令時(shí)有效13.3.2 13.3.2 82C79A82C79A的內(nèi)部寄存器的內(nèi)部寄存器 8279 的內(nèi)部結(jié)構(gòu)框圖 數(shù)據(jù)緩沖器 I/O 控制器 FIFO RAM狀態(tài)寄存器 顯示 RAM地址寄存器 168 顯示 RAM 控制與定時(shí)寄存器 88 FIFO RAM 鍵盤去抖動(dòng)與控制 顯示寄存器 定時(shí)控制 掃描計(jì)數(shù)器 回復(fù)緩沖器 A0 CLK RESET D07 RD CS WR IRQ 片

14、內(nèi)總線 OUTA03 OUTB03 BD SL03 RL07 SHIFT CNTL/STB 13.3.2 13.3.2 82C79A82C79A的內(nèi)部寄存器的內(nèi)部寄存器1. 1. 顯示器顯示器/ /鍵盤共享的模塊鍵盤共享的模塊(1)(1)掃描計(jì)數(shù)器:掃描計(jì)數(shù)器:4位的計(jì)數(shù)器,可編程為譯碼/編碼方式譯碼譯碼掃描:最低兩位經(jīng)譯碼,由SL03輸出,作為鍵盤及顯示器的掃描信號(hào)(任何時(shí)刻SL03只有一個(gè)有效,實(shí)現(xiàn)4選1)編碼編碼掃描:計(jì)數(shù)器的狀態(tài)由SL03直接輸出,再經(jīng)外部譯碼,才能作為掃描信號(hào)(實(shí)現(xiàn)16選1)(2)(2)定時(shí)控制:定時(shí)控制:將外部時(shí)鐘CLK分頻為內(nèi)部要求的100KHz2. LED2.

15、LED顯示器接口模塊顯示器接口模塊(1)(1)顯示存儲(chǔ)器顯示存儲(chǔ)器RAMRAM:168位,存儲(chǔ)16個(gè)數(shù)碼顯示器的數(shù)據(jù)(2)(2)顯示字符寄存器:顯示字符寄存器:存放要顯示的字符,顯示過程中與顯示掃描配合,輪流從顯示RAM中讀出顯示信息輸出(3)(3)顯示地址寄存器:顯示地址寄存器:讀/寫顯示RAM的地址指針;可由命令直接設(shè)定,或設(shè)置為每次讀/寫后自動(dòng)加1輸出端與顯示單元中各位的對(duì)應(yīng)關(guān)系輸出端與顯示單元中各位的對(duì)應(yīng)關(guān)系D7D6D5D4D3D2D1D0OUTA3OUTA2OUTA1OUTA0OUTB3OUTB2OUTB1OUTB013.3.2 13.3.2 82C79A82C79A的內(nèi)部寄存器的內(nèi)

16、部寄存器3. 3. 鍵盤接口模塊鍵盤接口模塊(1)(1)返回緩沖器:返回緩沖器:緩沖并鎖存回復(fù)信號(hào)RL07的狀態(tài);與CNTL、SHIFT一起構(gòu)成完整的鍵盤按鍵數(shù)據(jù)(2)(2)鍵盤去抖動(dòng):鍵盤去抖動(dòng):實(shí)現(xiàn)對(duì)鍵盤輸入的去抖動(dòng)(3)FIFO RAM(3)FIFO RAM及狀態(tài)寄存器及狀態(tài)寄存器FIFO RAMFIFO RAM:88位,鍵盤輸入方式暫存鍵盤輸入數(shù)據(jù)FIFO RAMFIFO RAM狀態(tài)寄存器:狀態(tài)寄存器:寄存FIFO RAM的工作狀態(tài),F(xiàn)IFO RAM不空時(shí),會(huì)使IRQ變高鍵盤按鍵的數(shù)據(jù)格式鍵盤按鍵的數(shù)據(jù)格式D7D6D5D4D3D2D1D0CNTLSHIFTSL2SL1SL0RL2RL1

17、RL0控制移位行號(hào)編碼列號(hào)編碼最多最多8 8 8 8鍵盤鍵盤, ,擴(kuò)充擴(kuò)充后可達(dá)后可達(dá)6464 4 4鍵定義鍵定義82C79A82C79A的數(shù)據(jù)輸入的數(shù)據(jù)輸入/ /輸出方式輸出方式 輸入方式輸入方式鍵盤輸入鍵盤輸入(鍵掃描)、傳感器掃描、選通輸入、傳感器掃描、選通輸入鍵掃描:鍵掃描:按下一個(gè)鍵時(shí)形成鍵盤數(shù)據(jù),送入FIFO RAM并產(chǎn)生IRQ(數(shù)據(jù)讀出后撤除) 傳感器掃描:傳感器掃描:FIFO RAM中8個(gè)單元用于寄存?zhèn)鞲衅鞯默F(xiàn)時(shí)狀態(tài),地址編號(hào)與掃描線順序一致,傳感器陣列(最多為88位)中某一位狀態(tài)發(fā)生變化時(shí),產(chǎn)生IRQ選通輸入:選通輸入:與82C55A選通輸入端口功能相同,CNTL/STB作為

18、選通信號(hào),上升沿將RL07鎖存到FIFO RAM 輸出方式輸出方式8 8字符左入口、字符左入口、1616字符左入口、字符左入口、8 8字符右入口、字符右入口、1616字符右入口字符右入口左入口:左入口:顯示器位置編號(hào)與顯示RAM地址一一對(duì)應(yīng)(0號(hào)單元顯示在0號(hào)顯示器上),顯示時(shí)從最左位開始右入口右入口(計(jì)算機(jī)顯示方式):最高位從最右邊顯示器進(jìn)入,以后逐次左移13.3.3 13.3.3 82C79A82C79A的編程模型的編程模型數(shù)據(jù)端口數(shù)據(jù)端口30CH 30CH ,命令,命令/ /狀態(tài)端口狀態(tài)端口30DH30DH1. 1. 命令字命令字8個(gè),最高3位為特征位,02、4號(hào)命令使用最多82C79A

19、82C79A的命令字的命令字序號(hào)序號(hào)命令名稱命令名稱特征碼和命令參數(shù)特征碼和命令參數(shù)D7 D6 D5 D4 D3 D2 D1 D0 0設(shè)置鍵盤及顯示方式0 0 0 D D K2 K1 K01設(shè)置掃描頻率0 0 1 P P P P P2讀FIFO RAM0 1 0 AI A2 A1 A03讀顯示RAM0 1 1 AI A3 A2 A1 A04寫顯示RAM1 0 0 AI A3 A2 A1 A05禁寫顯示RAM/消隱1 0 1 IWA IWB BLA BLB6清除1 1 0 CD2 CD1 CD0 CF CA7結(jié)束中斷/設(shè)置錯(cuò)誤方式 1 1 1 E D7 D6 D5D4 D3 D2 D1 D0 特

20、征位命令參數(shù)82C79A82C79A命令字的一般格式命令字的一般格式13.3.3 13.3.3 82C79A82C79A的編程模型的編程模型1. 1. 命令字命令字(1)0(1)0號(hào)命令號(hào)命令 :設(shè)置鍵盤及顯示方式K K0 0:設(shè)置掃描方式;K0=0編碼掃描,K0=1譯碼掃描K K2 2K K1 1 :設(shè)置輸入方式(其中4種為鍵盤輸入)DDDD :設(shè)置顯示輸出方式特征位特征位命令參數(shù)命令參數(shù)0 0 0 D D K2 K1 K0K K2 2 K K1 1輸入方式輸入方式D DD D顯示輸出方式顯示輸出方式0 0掃描鍵盤輸入,雙鍵鎖定0 08字符顯示,左進(jìn)方式0 1掃描鍵盤輸入,N鍵輪回0 116

21、字符顯示,左進(jìn)方式1 0掃描傳感器輸入1 08字符顯示,右進(jìn)方式1 1選通輸入1 116字符顯示,右進(jìn)方式13.3.3 13.3.3 82C79A82C79A的編程模型的編程模型1. 1. 命令字命令字(2)1(2)1號(hào)命令號(hào)命令 :設(shè)置掃描頻率PPPPPPPPPP:設(shè)置對(duì)外部輸入CLK的分頻系數(shù)N(231)以獲得100KHz(3)2(3)2號(hào)命令號(hào)命令 :讀FIFO RAM的設(shè)置A A2 2 A A0 0 :指定讀取鍵盤FIFO RAM中字符的起始地址AIAI :地址自動(dòng)增量標(biāo)志;AI=1每次讀出后地址自動(dòng)加1特征位特征位命令參數(shù)命令參數(shù)0 0 1 P P P P P特征位特征位命令參數(shù)命令

22、參數(shù)0 1 0 AI A2 A1 A013.3.3 13.3.3 82C79A82C79A的編程模型的編程模型1. 1. 命令字命令字(4)4(4)4號(hào)命令號(hào)命令 :寫顯示RAM的設(shè)置A A3 3 A A0 0 :指定寫顯示RAM中字符的起始地址AIAI :地址自動(dòng)增量標(biāo)志;AI=1每次寫入后地址自動(dòng)加1特征位特征位命令參數(shù)命令參數(shù)1 0 0 AI A3 A2 A1 A013.3.3 13.3.3 82C79A82C79A的編程模型的編程模型2. 2. 狀態(tài)字狀態(tài)字指示FIFO RAM中待取走的字符數(shù)和有無錯(cuò)誤發(fā)生DU:顯示無效標(biāo)志,執(zhí)行顯示RAM清除命令時(shí)為1S/E:傳感信號(hào)結(jié)束/特殊錯(cuò)誤方

23、式標(biāo)志;鍵盤輸入方式下作特殊錯(cuò)誤標(biāo)志,S/E=1:多鍵同時(shí)按下O:超出標(biāo)志,向已滿的FIFO RAM寫入時(shí)置1U:“空”標(biāo)志,從已空的FIFO RAM讀出時(shí)置1F:“滿”標(biāo)志,F(xiàn)IFO RAM中的字符數(shù)為8時(shí)置1N2N1N0:FIFO RAM中待取走的字符個(gè)數(shù)D7D6D5D4D3D2D1D0DUS/EOUFN2N1N013.3.4 13.3.4 鍵盤鍵盤/ /數(shù)碼顯示器接口設(shè)計(jì)數(shù)碼顯示器接口設(shè)計(jì)例例13.2 13.2 設(shè)計(jì)一個(gè)8位LED顯示器接口,要求從0位開始顯示13579H六個(gè)字符,顯示方式為左進(jìn),采用編碼掃描硬件設(shè)計(jì):硬件設(shè)計(jì):接口由82C79A芯片、掃描譯碼器7445和段驅(qū)動(dòng)器7406

24、組成82C79A82C79A:核心,負(fù)責(zé)LED與CPU的連接、執(zhí)行控制命令74457445:負(fù)責(zé)LED顯示器的動(dòng)態(tài)掃描,產(chǎn)生位控信號(hào)74067406:為LED的8段字形碼提供電流驅(qū)動(dòng) D07 RESET RD WR CLK A0 CS SHIFT CNTL RL0RL7 SL0 SL1 SL2 SL3 OUTA03 OUTB03 82C79A CPU 74LS45 A B C D 掃描譯碼器 7406 反相驅(qū)動(dòng) +5V 07 00 01 p g a 段驅(qū)動(dòng)器 T7 T0 13.3.4 13.3.4 鍵盤鍵盤/ /數(shù)碼顯示器接口設(shè)計(jì)數(shù)碼顯示器接口設(shè)計(jì)例例13.2 13.2 軟件設(shè)計(jì)軟件設(shè)計(jì)從0位

25、開始顯示13579H六個(gè)字符,六個(gè)字符的共陰極字形碼存于BUF存儲(chǔ)區(qū)CODE SEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN: JMP START BUF DB 06H,4FH,6DH,07H,67H,76HSTART: MOV AX,CODEMOV DS,AX;82C79A初始化MOV DX,30DHMOV AL,00H;方式命令字OUT DX,ALMOV AL,39H;設(shè)置分頻系數(shù)OUT DX,ALMOV AL,90H;設(shè)置寫顯示RAM地址OUT DX,ALMOV SI,OFFSET BUFMOV CX,6;顯示器顯示字符L:MOV DX,30CHM

26、OV AL,SIOUT DX,ALINC SIDEC CXJNZ LMOV AX,4C00HINT 21HCODE ENDSEND BEGIN13.3.4 13.3.4 鍵盤鍵盤/ /數(shù)碼顯示器接口設(shè)計(jì)數(shù)碼顯示器接口設(shè)計(jì)例例13.3 13.3 設(shè)計(jì)一個(gè)鍵盤及LED雙功能接口,連接24鍵的鍵盤和8個(gè)共陽極數(shù)碼顯示器。鍵盤采用編碼掃描、雙鍵鎖定;顯示器采用編碼掃描、右進(jìn)方式。外部時(shí)鐘CLK=2.5MHz。要求從鍵盤讀取10個(gè)字符代碼;在顯示器上從0位開始顯示“HELLO”五個(gè)字符硬件設(shè)計(jì):硬件設(shè)計(jì): D07 RESET RD WR CLK A0 CS SHIFT CNTL RL0 RL7 SL0

27、SL1 SL2 SL3 OUTA03 OUTB03 82C79A CPU 38 矩陣鍵盤 74LS45 A B C D 掃描譯碼器 74LS156 譯碼器 A B C Y0 Y1 Y2 74LS06 反相驅(qū)動(dòng) +5V 00 07 06 DIGIT7 段驅(qū)動(dòng)器 DIGIT0 13.3.4 13.3.4 鍵盤鍵盤/ /數(shù)碼顯示器接口設(shè)計(jì)數(shù)碼顯示器接口設(shè)計(jì)例例13.3 13.3 軟件設(shè)計(jì)軟件設(shè)計(jì)鍵盤輸入程序段鍵盤輸入程序段CODE SEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN: JMP START BUF DB 10 DUP(0)START: MOV AX,

28、CODEMOV DS,AX;82C79A初始化MOV DX,30DHMOV AL,00H;方式命令字OUT DX,ALMOV AL,39H;設(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,4C00HINT 21HCODE ENDSEND BEGIN13.3.4 13.3.4 鍵盤鍵盤/ /數(shù)碼顯

29、示器接口設(shè)計(jì)數(shù)碼顯示器接口設(shè)計(jì)例例13.3 13.3 軟件設(shè)計(jì)軟件設(shè)計(jì)顯示器輸出顯示器輸出程序段程序段CODE SEGMENTASSUME CS:CODE,DS:CODE ORG 100HBEGIN: JMP START BUF DB FH,38H,38H,79H,76HSTART: MOV AX,CODEMOV DS,AX;82C79A初始化MOV DX,30DHMOV AL,10H;方式命令字OUT DX,ALMOV AL,39H;設(shè)置分頻系數(shù)OUT DX,ALMOV AL,90H;設(shè)置寫顯示RAM地址OUT DX,ALMOV SI,OFFSET BUFMOV CX,5;顯示器顯示字符L:

30、MOV DX,30CHMOV AL,SIOUT DX,ALINC SIDEC CXJNZ LMOV AX,4C00HINT 21HCODE ENDSEND BEGIN13.4 13.4 打印機(jī)接口打印機(jī)接口13.4.1 13.4.1 并行打印機(jī)接口標(biāo)準(zhǔn)并行打印機(jī)接口標(biāo)準(zhǔn)(Centronics標(biāo)準(zhǔn),8位并行)1. 1. 信號(hào)線定義信號(hào)線定義引腳引腳信號(hào)信號(hào)功能說明功能說明1STROBESTROBE數(shù)據(jù)選通數(shù)據(jù)選通29DATADATA0 07 78 8位數(shù)據(jù)線位數(shù)據(jù)線10ACKACK應(yīng)答信號(hào)應(yīng)答信號(hào)11BUSYBUSY打印機(jī)忙打印機(jī)忙12PE無紙13SLCT聯(lián)機(jī)請(qǐng)求14AUTOFEEDXT自動(dòng)走紙16邏輯地17機(jī)架地1930地雙絞線的回線31INIT初始化(復(fù)位)32ERROR無紙、脫機(jī)、出錯(cuò)指示33地35+5V通過4.7K電阻接+5V36SLCTIN允許打印機(jī)工作15,18,34 不用(未定義)13.4 13.4 打印機(jī)接口打印機(jī)接口13.4.1 13.4.1 并行打印機(jī)接口標(biāo)準(zhǔn)并行打印機(jī)接口標(biāo)準(zhǔn)2. 2. 工作時(shí)序工作時(shí)序打印機(jī)與打印機(jī)與CPUCPU采用查詢方式傳送數(shù)據(jù)的步驟:采用查詢方式傳送數(shù)據(jù)的步驟:CPU查詢BUSY,BUSY=1則等待;BUSY=0送數(shù)CPU通過并口把

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論