![大二下微機(jī)第9章_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/21/ebc76cd6-a31c-420d-8325-0adcd8d4e9d1/ebc76cd6-a31c-420d-8325-0adcd8d4e9d11.gif)
![大二下微機(jī)第9章_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/21/ebc76cd6-a31c-420d-8325-0adcd8d4e9d1/ebc76cd6-a31c-420d-8325-0adcd8d4e9d12.gif)
![大二下微機(jī)第9章_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/21/ebc76cd6-a31c-420d-8325-0adcd8d4e9d1/ebc76cd6-a31c-420d-8325-0adcd8d4e9d13.gif)
![大二下微機(jī)第9章_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/21/ebc76cd6-a31c-420d-8325-0adcd8d4e9d1/ebc76cd6-a31c-420d-8325-0adcd8d4e9d14.gif)
![大二下微機(jī)第9章_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/21/ebc76cd6-a31c-420d-8325-0adcd8d4e9d1/ebc76cd6-a31c-420d-8325-0adcd8d4e9d15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章第九章 可編程并行接口芯片可編程并行接口芯片8255A及其應(yīng)用及其應(yīng)用 并行接口概述 CPU與外設(shè)之間的信息傳送都是通過接口電路 來進(jìn)行的。 計(jì)算機(jī) 外部設(shè)備、計(jì)算機(jī) 計(jì)算機(jī)之間交換 信息稱之為計(jì)算機(jī)通信。 計(jì)算機(jī)通信可分為兩大類: 并行通信:8位或16位或32位數(shù)據(jù)同時(shí)傳輸,速 度快,信息率高,成本高 串行通信:一位一位數(shù)據(jù)傳送(在一條線上順序 傳送),成本低 實(shí)現(xiàn)并行通信的接口就是并行接口。 并行接口的特點(diǎn) 在多根數(shù)據(jù)線上以數(shù)據(jù)字為單位同時(shí)傳遞 傳遞的數(shù)據(jù)不要求固定的格式 有可編程和不可編程之分,可編程結(jié)構(gòu)居多 適合于近距離數(shù)據(jù)傳送 速度較快 簡單并行接口回顧 不設(shè)置握手控制信號(hào)線
2、不需要對(duì)接口芯片進(jìn)行編程 執(zhí)行IOW指令就可以將數(shù)據(jù)通過數(shù)據(jù)總 線輸出到指定地址的鎖存器中,并通過 鎖存器輸出 執(zhí)行IOR指令,就可以從三態(tài)門上讀入數(shù) 據(jù) 連接8個(gè)開關(guān)的基本輸入接口 +5V A0 A1 A 2 A 3 A 4 A5 A6 A 7 A8 A 9 方式控制字方式控制字99H out 63h,al 8255應(yīng)用 舉例2 利用8255實(shí)現(xiàn)開關(guān)檢測和繼電器控制電路; 當(dāng)開關(guān)閉合時(shí),使繼電器通電動(dòng)作;開關(guān)斷 開時(shí),繼電器不動(dòng)作; 系統(tǒng)每隔100ms檢測一次開關(guān)狀態(tài),實(shí)現(xiàn)相 應(yīng)的繼電器控制; 初始狀態(tài)下繼電器不動(dòng)作。 CS A0 A1 WR RD DBPA0 PA7 PB0 PB7 +5V
3、 +12V K 繼電器繼電器 384H387H 388H38BHCS A0 A1 OUT1 CLK1 2MHzCLK0 OUT0 8259A PIC WR RD DB 8253 8255 中斷請求信號(hào)中斷請求信號(hào) INTR Q1 R1 R2 D1 題目分析: 使8255的A端口和B端口均工作于方式0; 8253計(jì)數(shù)器0和計(jì)數(shù)器1均工作于方式3,利用OUT0的輸出 作為計(jì)數(shù)器1的時(shí)鐘信號(hào),其輸出頻率為2KHz, OUT1輸出 頻率為10Hz(周期100ms); OUT1作為中斷信號(hào),每100ms產(chǎn)生一次中斷; CPU響應(yīng)中斷后檢測開關(guān)狀態(tài),控制繼電器的動(dòng)作; 8253兩個(gè)計(jì)數(shù)器的計(jì)數(shù)初值分別為:
4、 CNT0:2MHz/2KHz =1000 (16位) CNT1:100ms/0.5ms=200 (8位) 8255的初始化 MOV DX,387H MOV AL,82H ;1 00 0 0 0 1 0 OUT DX,AL XOR AL,AL ;A口輸出全0 MOV DX,384H OUT DX,AL 8253的初始化 設(shè)置工作方式: MOV DX,38BH MOV AL,36H OUT DX,AL MOV AL,56H OUT DX,AL 36H = 00 11 011 0 CNT0 16位 方式3 l置置計(jì)數(shù)初值:計(jì)數(shù)初值: MOV DX,388H MOV AX,1000 OUT DX,A
5、L MOV AL,AH OUT DX,AL MOV DX,389H MOV AL,200 OUT DX,AL 8255的控制程序(中斷處理) (中斷初始化程序略) 8253中斷服務(wù)程序中的8255控制程序段如下: MOV DX,385H ;PB口地址 IN AL,DX ;讀PB0狀態(tài) NOT AL ;變反 MOV DX,384H ;輸出到繼電器 OUT DX,AL 8255A的應(yīng)用舉例的應(yīng)用舉例3 某系統(tǒng)如圖。要求不斷檢測某系統(tǒng)如圖。要求不斷檢測開關(guān)開關(guān) K7K0 的狀態(tài),并隨時(shí)在發(fā)的狀態(tài),并隨時(shí)在發(fā) 光二極管光二極管LED7LED0上顯示。要求:若某開關(guān)斷開,對(duì)應(yīng)的上顯示。要求:若某開關(guān)斷開
6、,對(duì)應(yīng)的LED 點(diǎn)亮,若某開關(guān)合上,對(duì)應(yīng)的點(diǎn)亮,若某開關(guān)合上,對(duì)應(yīng)的LED熄滅,編寫相應(yīng)的控制程序。熄滅,編寫相應(yīng)的控制程序。 8255A PA7 PA0 K7 PB7 PB6 PB0 D7D0 RD WR A1 A2 A B C G2A G2B G1 Y0 Y1 Y2 Y3 Y4 O O O O O D7D0 RD WR A0 A1 CSA0 A3 A4 A7 8086 系統(tǒng)總線系統(tǒng)總線 LS138 M/IO DX指向控制口指向控制口 MOV AL, 10001011B ;控制字控制字 OUT DX, AL ;寫入控制字;寫入控制字 鍵盤掃描過程:鍵盤掃描過程: (1)檢測鍵盤上所有的鍵是否
7、都松開,反復(fù)檢測直至全松開。)檢測鍵盤上所有的鍵是否都松開,反復(fù)檢測直至全松開。 (2)檢測鍵盤上是否有鍵按下,反復(fù)檢測直至有鍵按下。)檢測鍵盤上是否有鍵按下,反復(fù)檢測直至有鍵按下。 (3)若有鍵按下,則消除鍵抖動(dòng)后(硬件消抖動(dòng)電路,軟件)若有鍵按下,則消除鍵抖動(dòng)后(硬件消抖動(dòng)電路,軟件 延時(shí)消抖動(dòng)下),再確認(rèn)該鍵是否按下。延時(shí)消抖動(dòng)下),再確認(rèn)該鍵是否按下。 (4)對(duì)按下的鍵進(jìn)行編碼,即將該鍵所在的行號(hào)和列號(hào)轉(zhuǎn)換)對(duì)按下的鍵進(jìn)行編碼,即將該鍵所在的行號(hào)和列號(hào)轉(zhuǎn)換 成成16進(jìn)制代碼。進(jìn)制代碼。 (6)根據(jù)代碼轉(zhuǎn)相應(yīng)功能子程序。)根據(jù)代碼轉(zhuǎn)相應(yīng)功能子程序。 (5)檢測該鍵是否松開,反復(fù)檢測直至松
8、開。)檢測該鍵是否松開,反復(fù)檢測直至松開。 檢測是否有鍵按下的方法:檢測是否有鍵按下的方法: CPU向端口向端口A送全送全“0”A口,口, 再從再從B口讀入列狀態(tài)。若讀入的口讀入列狀態(tài)。若讀入的 狀態(tài)為全狀態(tài)為全“1”,表示無鍵按下。,表示無鍵按下。 檢測按下鍵所在的行號(hào)的方法:檢測按下鍵所在的行號(hào)的方法: CPU先向端口先向端口A的的PA0送送“0” ,其余行線送,其余行線送“1”,再從,再從B口讀入列狀態(tài),若口讀入列狀態(tài),若 讀入的狀態(tài)為全讀入的狀態(tài)為全“1”,表示第,表示第0行無鍵按下;否則表示第行無鍵按下;否則表示第0行上有鍵按下。行上有鍵按下。 若第若第0行無鍵按下,再依此對(duì)行行無鍵
9、按下,再依此對(duì)行1,行,行2,行行7進(jìn)行上述操作,直至找出按鍵進(jìn)行上述操作,直至找出按鍵 所在的行和列的編號(hào)。所在的行和列的編號(hào)。 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 C 9 8 DE 4 0 F 6 1 5 B 2 7 3 A PA0 PA1 PA2 PA3 8255A 8 2 5 5 A +5V 將所按鍵行列號(hào)轉(zhuǎn)換成將所按鍵行列號(hào)轉(zhuǎn)換成(16進(jìn)制進(jìn)制)鍵代碼的方法鍵代碼的方法: 查表查表(略略) MOV DX, PORT-A ; DX指向指向A口口 MOV AL, 00H OUT DX, AL WO: MOV DX, PORT-B ; DX指向指向B口口 IN
10、AL, DX ; 輸入輸入B口口 AND AL,OFH COM AL,OFH ;各鍵均未按下;各鍵均未按下 JNE WO ;否,繼續(xù)等;否,繼續(xù)等 讀入列值讀入列值 鍵松開鍵松開 讀入列值讀入列值 有鍵按下有鍵按下 延時(shí)延時(shí)20ms消抖動(dòng)消抖動(dòng) 鍵仍按下鍵仍按下 逐行逐列查按鍵逐行逐列查按鍵 得行列碼得行列碼 查表得鍵代碼查表得鍵代碼 所有行置所有行置“0” N Y NWR: IN AL, DX ;輸入輸入B口口 AND AL,OFH COM AL,OFH ;是否有鍵按下;是否有鍵按下 JE WR ;否,等待;否,等待 MOV CX, 16EAH DLY: LOOP DLY WR: IN AL
11、, DX ;輸入輸入B口口 AND AL,OFH COM AL,OFH ;是否有鍵按下;是否有鍵按下 JE WR ;否,等待;否,等待 MOV AL,0FEH ;置行掃描初值;置行掃描初值 MOV CL,AL ;暫存于;暫存于C N-R: MOV DX,PORT-A OUT DX, AL ;輸出行掃描值;輸出行掃描值 MOV DX, PORT-B ;DX指向指向B口口 IN AL, DX ;輸入;輸入B口口 AND AL, OFH COM AL, OFH ;有鍵按下;有鍵按下 JNE ENCODE ;是,轉(zhuǎn)編碼;是,轉(zhuǎn)編碼 ROL CL, 01 ;否,修改掃描初值;否,修改掃描初值 MOV C
12、L, AL JMP N-R ;掃描下一行;掃描下一行 ENCODE: MOV BX,000FH 找出按下鍵所在的行號(hào)的方法:找出按下鍵所在的行號(hào)的方法: CPU先向端口先向端口A的的PA0送送“0” ,其余行線送,其余行線送“1”,再從,再從B口讀入列狀態(tài),口讀入列狀態(tài), 若讀入的狀態(tài)為全若讀入的狀態(tài)為全“1”,表示第,表示第0行無鍵按下;否則表示第行無鍵按下;否則表示第0行上有鍵按下。行上有鍵按下。 若第若第0行無鍵按下,再依此對(duì)行行無鍵按下,再依此對(duì)行1,行,行2,行行7進(jìn)行上述操作,直至找出進(jìn)行上述操作,直至找出 按鍵所在的行和列的編號(hào)。按鍵所在的行和列的編號(hào)。 得所按鍵行列號(hào)的方法:直
13、接從得所按鍵行列號(hào)的方法:直接從B口讀取口讀取 將所按鍵行列號(hào)轉(zhuǎn)換成將所按鍵行列號(hào)轉(zhuǎn)換成(16進(jìn)制進(jìn)制)鍵代碼的方法鍵代碼的方法: DATA SEGMENT TABLE DB 77H, 7BH, 7DH,7EH DB 0B7H, 0BBH, 0BDH,0BEH DB 0D7H, 0DBH, 0DDH,0DEH DB 0E7H, 0EBH, 0EDH,0EEH DATAENDS 每鍵有一個(gè)編代碼,每鍵有一個(gè)編代碼, 本例采用從左至右、從下本例采用從左至右、從下 至上順序碼至上順序碼 0F 為了編程方便,每個(gè)為了編程方便,每個(gè) 鍵應(yīng)有一個(gè)對(duì)應(yīng)的掃描碼鍵應(yīng)有一個(gè)對(duì)應(yīng)的掃描碼 ( 行列碼行列碼 ),如
14、表。,如表。 鍵值鍵值(編號(hào)編號(hào))行碼行碼列碼列碼(行列行列)掃描碼掃描碼 00111011177H 1011110117BH 2011101117DH 3011101117EH 410110111B7H 建立掃描碼表建立掃描碼表 ENCODE: MOV BX,000FH ;置鍵代碼初值;置鍵代碼初值 IN AL,DX ;讀入行列號(hào);讀入行列號(hào) NEXT-T: COM AL, TABLEBX ;與表中行列號(hào)相等嗎;與表中行列號(hào)相等嗎 JE DONE ;相等轉(zhuǎn);相等轉(zhuǎn)DONE DEC BX ;不相等,修改位置;不相等,修改位置 JNS NEXT-T ;未查完,繼續(xù);未查完,繼續(xù) MOV AH,
15、01 ;查完,未查到,置出錯(cuò)標(biāo)志;查完,未查到,置出錯(cuò)標(biāo)志 JMP EXIT ;退出;退出 DONE: MOV AL, BL ;鍵代碼送;鍵代碼送AL MOV AH, 00 ; 鍵有效標(biāo)志鍵有效標(biāo)志00AL 得所按鍵行列號(hào)的方法:直接從得所按鍵行列號(hào)的方法:直接從B口讀取口讀取 將所按鍵行列號(hào)轉(zhuǎn)換成將所按鍵行列號(hào)轉(zhuǎn)換成(16進(jìn)制進(jìn)制)鍵代碼的方法鍵代碼的方法: 查表查表 DATA SEGMENT TABLE DB 77H, 7BH, 7DH,7EH DB 0B7H, 0BBH, 0BDH,0BEH DB 0D7H, 0DBH, 0DDH,0DEH DB 0E7H, 0EBH, 0EDH,0EE
16、H DATAENDS MOV AL,0FEH ;置行掃描初值;置行掃描初值 MOV CL,AL ;暫存于;暫存于C N-R: MOV DX,PORT-A OUT DX, AL ;輸出行掃描值;輸出行掃描值 MOV DX, PORT-B ;DX指向指向B口口 IN AL, DX ;輸入;輸入B口口 AND AL, OFH COM AL, OFH ;有鍵按下;有鍵按下 JNE ENCODE ;是,轉(zhuǎn)編碼;是,轉(zhuǎn)編碼 ROL CL, 01 ;否,修改掃描初值;否,修改掃描初值 MOV CL, AL JMP N-R ;掃描下一行;掃描下一行 ENCODE: MOV BX,000FH ;置鍵代碼初值;置鍵代碼初值 IN AL,DX ;讀入行列號(hào);讀入行列號(hào) NEXT-T: COM AL, TABLEBX ;與表中行列號(hào)相等嗎;與表中行列號(hào)相等嗎 JE DONE ;相等轉(zhuǎn);相等轉(zhuǎn)DONE DEC BX ;不相等,修改位置;不相等,修改位置 JNS
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育科技合伙人退伙合同模板
- 二零二五年度房地產(chǎn)項(xiàng)目資金代管代收代付服務(wù)合同
- 2025年度離婚夫妻共同子女法律權(quán)益保護(hù)協(xié)議
- 施工總體籌劃
- 施工日志填寫樣本施工過程中的質(zhì)量問題與整改記錄
- 打造高效、智能的辦公環(huán)境-基于工業(yè)互聯(lián)網(wǎng)平臺(tái)的實(shí)踐研究
- 深度探討學(xué)術(shù)研究匯報(bào)的要點(diǎn)與制作技巧
- 業(yè)績達(dá)標(biāo)股票期權(quán)合同范本
- 產(chǎn)品分銷合作合同書
- 萬科地產(chǎn)集團(tuán):合同管理新篇章
- 2024年海南省公務(wù)員錄用考試《行測》真題卷及答案解析
- 2025年中國汽車車燈行業(yè)市場現(xiàn)狀、前景分析研究報(bào)告(智研咨詢發(fā)布)
- 2024夏季廣東廣州期貨交易所招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 浙江省2024年高考化學(xué)模擬試題(含答案)2
- 2024新人教七年級(jí)英語上冊 Unit 2 Were Family!(大單元教學(xué)設(shè)計(jì))
- (部編版)統(tǒng)編版小學(xué)語文教材目錄(一至六年級(jí)上冊下冊齊全)
- 材料力學(xué)之材料疲勞分析算法:S-N曲線法:疲勞分析案例研究與項(xiàng)目實(shí)踐.Tex.header
- 2024(新高考2卷)英語試題詳解解析 課件
- 天津2024年天津市規(guī)劃和自然資源局所屬事業(yè)單位招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 中國醫(yī)美行業(yè)2024年度洞悉報(bào)告-德勤x艾爾建-202406
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫一套
評(píng)論
0/150
提交評(píng)論