資源描述:
《蘇州大學(xué)實(shí)驗(yàn)報(bào)告-實(shí)驗(yàn)三鍵盤中斷實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、實(shí)驗(yàn)三 鍵盤中斷實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?.熟練運(yùn)用MT-IDE嵌入式開發(fā)系統(tǒng)環(huán)境、匯編、C語(yǔ)言、調(diào)試方式。2.復(fù)習(xí)串行通信接口(SCI)的內(nèi)容。3.加強(qiáng)鍵盤中斷基本原理及編程原理的理解。4.理解運(yùn)行課本中的程序代碼。5.理解“行掃描”法的原理并能進(jìn)行鍵值識(shí)別和鍵值編碼。6.理解鍵盤接線原理圖(如圖3-1)。實(shí)驗(yàn)箱提供一個(gè)16鍵鍵盤,用于鍵盤中斷信號(hào)的輸入。系統(tǒng)提供兩種接線方式:①當(dāng)將鍵盤接入上一排插孔時(shí)為固定接線,鍵盤接線原理圖如圖3-1所示。②當(dāng)將鍵盤接入下一排插孔時(shí)為手動(dòng)接線,連線的位置在鍵盤的左邊。列線n1n2n3n4MCU內(nèi)部上拉電阻圖3-1鍵盤接線原理圖123456
2、78行線m1m2m3m4+5V接MCU的PTA引腳二.預(yù)習(xí)要求1.仔細(xì)閱讀本實(shí)驗(yàn)指導(dǎo)書。2.復(fù)習(xí)有關(guān)的鍵盤中斷和串行通信接口(SCI)的章節(jié)。3.熟悉GP32鍵盤模塊的工作方法及編程。4.根據(jù)實(shí)驗(yàn)內(nèi)容要求編寫好程序,為實(shí)驗(yàn)做充分地準(zhǔn)備。三.實(shí)驗(yàn)設(shè)備及其連接1.PC機(jī)一臺(tái)2.MT-IDE嵌入式開發(fā)系統(tǒng)一臺(tái)3.串行通信線一根4.小鍵盤一個(gè)5.萬(wàn)用表一個(gè)四.實(shí)驗(yàn)內(nèi)容1.理解鍵盤模塊及鍵盤中斷的原理。2.運(yùn)行與理解各子程序。3.主程序運(yùn)行課本的樣例程序。4.編制一個(gè)中斷方式的16鍵鍵盤程序,使用“行掃描”法識(shí)別按鍵。采用鍵盤中斷方式。PTA7-PTA4為列線(輸入),定義有內(nèi)部
3、上拉電阻,PTA3-PTA0為行線(輸出),沒有內(nèi)部上拉電阻,允許INTBIER的KBIE7-KBIE4定義為中斷輸入引腳。要求按下的一個(gè)鍵的鍵值和鍵面定義值(鍵的ASCII碼值)通過串口在PC方軟件界面顯示,同時(shí)用小燈顯示按鍵的鍵面定義值(鍵的ASCII碼值)。鍵盤與MCU的PTA7-PTA0相連。PTB7-PTB0口與小燈相連。五.編程提示1.按照結(jié)構(gòu)要求寫好編程代碼和注釋。2.鍵盤一般都是矩陣排列的,行和列分別接在MCU的I/O口上,其中列線通過設(shè)置內(nèi)部上拉電阻接+5V,該端口先定義為輸入端,行線直接與端口相連,該端口定義為輸出端。當(dāng)鍵盤上沒有被按下時(shí),所有的行線
4、和列線斷開,且列線都呈高電平。當(dāng)鍵盤上某個(gè)鍵閉合時(shí),則與該鍵對(duì)應(yīng)的行線和列線短路,對(duì)于16鍵鍵盤,此時(shí)行值和列值的組合就是識(shí)別這個(gè)鍵的鍵值的一個(gè)字節(jié),PTA0-PTA3分別接四根行線,PTA4-PTA7分別接四根列線。行掃描法是使鍵盤的某一行輸出為低電平,其余行為高電平,然后讀取列值,如果列值中有某位為低電平,則表明該行和列交點(diǎn)處的鍵被按下;若為全高則再掃描下一行,直至掃描完全部的行線為止。這樣就可以確定是哪一行哪一列交點(diǎn)的鍵被按下。3.PTA端口引腳與鍵盤中斷輸入引腳復(fù)用,設(shè)置鍵盤中斷允許寄存器,當(dāng)鍵盤有鍵被按下時(shí),立即產(chǎn)生中斷,中斷程序處理按鍵事件,比如確定哪個(gè)鍵被
5、按下,然后轉(zhuǎn)換為該鍵的定義值。4.鍵盤的鍵面標(biāo)示碼(即定義值)與MCU識(shí)別的鍵值對(duì)應(yīng)關(guān)系通過列表對(duì)應(yīng)起來,即鍵盤定義表對(duì)應(yīng)表示。當(dāng)通過“行掃描”法獲得某個(gè)鍵的鍵值時(shí),通過查表法就可以得到它的定義值。5.該鍵盤中斷方式程序的主程序主體是一個(gè)死循環(huán),且是一個(gè)空循環(huán)體,所有處理的過程代碼放在中斷程序中。六.實(shí)驗(yàn)報(bào)告要求回答下列問題1.本實(shí)驗(yàn)中用的是鍵盤中斷編程方式,也可以使用查詢編程方式,請(qǐng)盡量少修改代碼改用查詢編程方式重新編寫相應(yīng)的子程序和主程序。提示:注意重鍵問題。2.識(shí)別是否有鍵按下以及哪個(gè)鍵被按下有哪些方法?3.有哪些方法可以用來消除鍵盤抖動(dòng)?4.課本中的鍵盤中斷編程
6、是如何解決重鍵問題?5.課本中的樣例直接用小燈檢驗(yàn)程序的運(yùn)行情況。怎樣檢驗(yàn)?提示:用接線圖來說明。6.在上題中改用萬(wàn)用表來檢驗(yàn),請(qǐng)加以說明。提示:用接線圖來說明。