課程設(shè)計8255A鍵盤輸入_第1頁
課程設(shè)計8255A鍵盤輸入_第2頁
課程設(shè)計8255A鍵盤輸入_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書課題名稱:微機原理設(shè)計題目:設(shè)計個16鍵的鍵盤系統(tǒng)專業(yè)班級:學(xué)生姓名:學(xué)號:第1章設(shè)計目的第2章設(shè)計原理與分析第3章所選元件清單第4章課程設(shè)計心得第1章課程設(shè)計目的1. 了解鍵盤電路的工作原理。本實驗要求在實驗臺上,用并行接口實驗卡PPI8255為PC機擴展可編程并行接口;利用實驗卡上的8位撥動開關(guān)提供輸入數(shù)據(jù),用 8個LED指示燈顯示輸出結(jié)果;用單脈 沖按鈕PI提供輸入選通脈沖/STBA模擬輸入設(shè)備送數(shù),用單脈沖按鈕P0提供輸出應(yīng)答脈 沖/ACKA和 /ACKB模擬輸出設(shè)備取數(shù)。2. 掌握鍵盤接口電路的編程方法。設(shè)計人機界面接口,要求在微機屏幕上動態(tài)地顯示當(dāng)前實驗的內(nèi)容和實驗的

2、結(jié)果, 包括8255A的工作方式,輸入的數(shù)據(jù)和輸出的結(jié)果設(shè)計人機界面接口,要求在微機屏幕上,以菜單方式列出并行接口8255A原理實驗的內(nèi)容,并根據(jù)實驗內(nèi)容設(shè)置好工作方式選擇跳線開關(guān),用戶可以通過鍵盤選擇實驗的 內(nèi)容。方式08255 為方式0、A 口輸入、B 口輸出,可用無條件傳送方式控制輸入/出。方式1其它要求同方式0,改用查詢方式控制輸入/出,用中斷方式也可以,通過讀取 C 口 的狀態(tài)字來獲取狀態(tài)。方式2使A 口既能接受開關(guān)狀態(tài)又能控制 LED指示燈顯示;要求先接收 A 口的開關(guān)數(shù)據(jù), 可用查詢方式控制輸入/出。第2章設(shè)計原理與分析2.1、實驗原理:1、識別鍵的閉合,通常采用行掃描法和行反轉(zhuǎn)

3、法。行掃描法是使鍵盤上某一行線為低電平,而其余行接高電平,然后讀取列值,如所讀列值中某位為低電平,表明有鍵按下,否則掃描下一行,直到掃完所有行。本實驗例程采用的是行反轉(zhuǎn)法。行反轉(zhuǎn)法識別鍵閉合時,要將行線接一并行口,先讓它工作于輸出方式,將列線也接到一個并行口,先讓它工作于輸入方式,程序使CPU通過輸出端口往各行線上全部送低電平,然后讀入列線值,如此時有某鍵被按下,則必定會使某一列線值為0。然后,程序?qū)蓚€并行端口進行方式設(shè)置,使行線工作于輸入方式,列線工作于輸出方式,并將 剛才讀得的列線值從列線所接的并行端口輸出,再讀取行線上的輸入值,那么,在閉合 鍵所在的行線上的值必定為0。這樣,當(dāng)一個鍵被

4、按下時,必定可以讀得一對唯一的行線 值和列線值。2、程序設(shè)計時,要學(xué)會靈活地對8255A的各端口進行方式設(shè)置。可將各鍵對應(yīng)的鍵 值(行線值、列線值)放在一個表中,將要顯示的 0F字符放在另一個表中,通過查表 來確定按下的是哪一個鍵并正確顯示出來。3、利用實驗箱上的8255A可編程并行接口芯片和矩陣鍵盤,編寫程序,做到在鍵盤 上每按一個數(shù)字鍵(0F),用發(fā)光二極管將該代碼顯示出來。2.2、實驗步驟:將鍵盤 RL10RL17 接 8255A 的 PB0PB7; KA10 KA12 接 8255A 的 PA0PA2;PC0PC7接發(fā)光二極管的L1L8; 8255A芯片的片選信號8255CS接 CSd

5、2.3實驗電路:piE:pJI>iJ:R!L:-E:!uralzrz囂*霊:【丄百I_-S-1圖2-1實驗電路圖41 I| 1i_1n,1b 1(A-»4111宀i1F"*_U,I»iI宀inL|1Ft:_<12.4程序框圖:2.5程序接線圖:S_1趾川】帥辰璽如丁匸.:円,| |為人JW亢軸出tHftriolLnilLa.金上 術(shù)©尺阿fit打門2H咿圖2-2程序框圖鍵盤 RL10 接 8255A PBO鍵盤 RL11 接 8255A PB1鍵盤 RL12 接 8255A PB2鍵盤 RL13 接 8255A PB3鍵盤 RL14 接 82

6、55A PB4鍵盤 RL15 接 8255A PB5鍵盤 RL16 接 8255A PB6鍵盤 RL17 接 8255A PB7鍵盤 KA10接 8255A PAO鍵盤 KA12接 8255A PA1鍵盤 KA12接 8255A PA28鍵盤PCO發(fā)光二極管L1鍵盤PC1發(fā)光二極管L2鍵盤PC2發(fā)光二極管 L3鍵盤PC3發(fā)光二極管L4鍵盤PC4發(fā)光二極管L5鍵盤PC5發(fā)光二極管L6鍵盤PC6發(fā)光二極管L7鍵盤PC7發(fā)光二極管L88255A芯片的片選信號8255CS接 CSO26參考程序:T8.ASM鍵盤實驗NAME t8 ;8255PA EQU OCFAOHPB EQU PA+1PCO EQU

7、 PB+1PCTL EQU PCO+1CSEG AT 4000HLJMP STARTCSEG AT 4100HSTART: MOV 42H,#0FFH ;42H中放顯示的字符碼,初值為 0FFHSTA1: MOV DPTR,#PCTL ;設(shè)置控制字,ABC口工作于方式0;AC口輸出而B 口用于輸入MOV A,#82HMOVX DPTR,ALINE: MOV DPTR,#PC0 ;將字符碼從 C 口輸出顯示MOV A,42HCPL AMOVX DPTR,AMOV DPTR,#PA ; 從A 口輸出全零到鍵盤的列線MOVX DPTR,AMOV DPTR,#PB ; 從B 口讀入鍵盤行線值MOVX

8、A,DPTRMOV 40H,A ;行線值存于40H中CPL A ;取反后如為全零;表示沒有鍵閉合,繼續(xù)掃描JZ LINEMOV R7,#10H ;有鍵按下,延時10MS去抖動DL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0MOV DPTR,#PCTL ;重置控制字,讓 A為輸入,BC為輸出MOV A,#90HMOVX DPTR,AMOV A,40HMOV DPTR,#PB ;剛才讀入的行線值取出從 B 口送出MOVX DPTR,AMOV DPTR,#PA ; 從A 口讀入列線值MOVX A,DPTRMOV 41H,A ;列線值存于41H中CPL A ;取

9、反后如為全零JZ STA1 ;表示沒有鍵按下MOV DPTR,#TABLE ;TABLE 表首地址送 DPTRMOV R7,#18H ;R7中置計數(shù)值16MOV R6,#00H ;R6中放偏移量初值TT: MOVX A,DPTR ;從表中取鍵碼前半段字節(jié),行線值與實CJNE A,40H,NN1 ;際輸入的行線值相等嗎?不等轉(zhuǎn) NN1INC DPTR ;相等,指針指向后半字節(jié),即列線值MOVX A,DPTR ; 列線值與實際輸入的列線值CJNE A,41H,NN2 ;相等嗎?不等轉(zhuǎn) NN2MOV DPTR,#CHAR ; 相等,CHA表基址和R6中的偏移量MOV A,R6 ;取出相應(yīng)的字符碼MO

10、VC A,A+DPTRMOV 42H,A ;字符碼存于42HBBB: MOV DPTR,#PCTL ;重置控制字,讓 AC為輸出,B為輸入MOV A,#82HMOVX DPTR,AAAA: MOV A,42H ; 將字符碼從C 口送到二極管顯示MOV DPTR,#PC0CPL AMOVX DPTR,AMOV DPTR,#PA ;判斷按下的鍵是否釋放CLR AMOVX DPTR,AMOV DPTR,#PBMOVX A,DPTRCPL AJNZ AAA ;沒釋放轉(zhuǎn) AAAMOV R5,#2 ;已釋放則延時0.2秒,減少總線負擔(dān)DEL1: MOV R4,#200DEL2: MOV R3,#126DE

11、L3: DJNZ R3,DEL3DJNZ R4,DEL2DJNZ R5,DEL1JMP START ; 轉(zhuǎn) STARTNN1: INC DPTR ;指針指向后半字節(jié)即列線值NN2: INC DPTR ;指針指向下一鍵碼前半字節(jié)即行線值INC R6 ;CHAR表偏移量加一DJNZ R7,TT ;計數(shù)值減一,不為零則轉(zhuǎn)TT繼續(xù)查找JMP BBBTABLE:DW 0FE06H,0FD06H,0FB06H,0F706H;TABLE 為鍵值表,每個鍵位占DW 0BF06H,07F06H,0FE05H,0FD05H;兩個字節(jié),第一個字節(jié)為行DW 0EF05H,0DF05H,0BF05H,07F05H ;線

12、值,第二個為列線值DW 0FB03H,0F703H,0EF03H,0DF03H;CHAR: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ;字符碼表DB 0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,13HDB 14H,15H,16H,17HEND第3章所選元件清單3.1元件清單:表3-1元件清單原件數(shù)量電源座178051IN40074100UF/16V1按鍵932.768KHZ112MHZ11UF電容5紅色發(fā)光二極管5綠色發(fā)光二級管4數(shù)碼管8DIP401DIP161DIP 82DIP20190139IN41484STC89C5

13、1或 STC89C52174HC244或 74LS2441MAX232124CO2110K排阻4100電阻81K電阻92K電阻110K電阻2單排針20.1UF電容215P F電容23.2程序?qū)嶋H接線數(shù)碼管的不同筆段的組合構(gòu)成了不同字符的字形。為了獲得不同的字形,各筆段所 加的電平也不同,因此各個字形所形成的編碼是不一樣的。例如,對于共陽極數(shù)碼管, 如果要顯示字符2,則筆段a b、g、e、d發(fā)光,對應(yīng)的引腳為低電平;其余各筆段不發(fā)光,對應(yīng)的引腳為該電平。所以字符 2的字形編碼為如dp gfedcba=10100100B=A4H< 陰極數(shù)碼管的字形編碼與用陽極數(shù)碼管的字形編碼是邏輯“非”的關(guān)

14、系。根據(jù)上述編碼 方法可以得出數(shù)碼管顯示的字符與對應(yīng)的字形編碼的關(guān)系,如表3-2所示表3-2數(shù)碼表的字形編碼表顯示字符7共陰極編碼心券日極編碼屮顯示字符聲共陰極編碼口共陽極編碼門COHP880曲町冊F9H*9-29S的4時3日陽*C*39H5g佃E直1HQTW伽卩86H甲OTHQF8IP71HSEH"第4章課程設(shè)計心得通過這次單片機課設(shè),我更加清晰的認識了到了單片機內(nèi)的引腳。 單片機的40個引腳按引腳功能大致可分為4個種類:電源、時鐘、控制和I/O引腳。1.電源:VCC -芯片電源,接+5V;VSS -接地端;(用萬用表測試單片機引腳電壓一般為 0v或者5v,這是標(biāo)準(zhǔn) 的TTL電平。但有時候在單片機程序正在工作時候測試結(jié)果并不是這個值而是介于0v-5v之間,其實這是萬用表的響應(yīng)速度沒這么快而已,在某一個瞬間單片機引腳電壓仍保持 在0v或者5v。)2時鐘:XTAL1、XTAL2 -晶體振蕩電路反相輸入端和輸出端。3. 控制線:控制線共有4根,4. I/O 線:8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論