單片機(jī)實(shí)驗(yàn)六-肖爰龍

單片機(jī)實(shí)驗(yàn)六-肖爰龍

ID:47209518

大?。?0.59 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-08-25

單片機(jī)實(shí)驗(yàn)六-肖爰龍_第1頁(yè)
單片機(jī)實(shí)驗(yàn)六-肖爰龍_第2頁(yè)
單片機(jī)實(shí)驗(yàn)六-肖爰龍_第3頁(yè)
單片機(jī)實(shí)驗(yàn)六-肖爰龍_第4頁(yè)
單片機(jī)實(shí)驗(yàn)六-肖爰龍_第5頁(yè)
資源描述:

《單片機(jī)實(shí)驗(yàn)六-肖爰龍》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、實(shí)驗(yàn)人:肖爰龍學(xué)號(hào):08321067專業(yè):微電子學(xué)時(shí)間:2012年11月24日實(shí)驗(yàn)六鍵盤(pán)顯示接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握8255A編程原理2、了解鍵盤(pán)電路的工作原理(鍵盤(pán)電路見(jiàn)附圖)3、掌握鍵盤(pán)接口電路的編程方法4、掌握LED數(shù)碼管動(dòng)態(tài)顯示的編程方法二、實(shí)驗(yàn)說(shuō)明1、識(shí)別鍵的閉合,通常采用行掃描法和行反轉(zhuǎn)法行掃描法是使鍵盤(pán)上某一行先為低電平,而其余行接高電平,然后讀取列值,如所讀列值中某位為低電平,表明有鍵按下,否則掃描下一行,直到掃完所有行。本實(shí)驗(yàn)采用的是行反轉(zhuǎn)法2、程序設(shè)計(jì)時(shí),要學(xué)會(huì)靈活地對(duì)8255A的各端

2、口進(jìn)行方式設(shè)置3、程序設(shè)計(jì)時(shí),可將各鍵對(duì)應(yīng)的鍵值(行線值,列線值)放在一個(gè)表中,將要顯示的0~F字符放在另一個(gè)表中,通過(guò)查表來(lái)確定按下的哪一個(gè)鍵并正確顯示出來(lái)三、實(shí)驗(yàn)內(nèi)容內(nèi)容一:利用8255A做矩陣鍵盤(pán)一、利用實(shí)驗(yàn)箱上的8255A可編程并行接口芯片和矩陣鍵盤(pán),編寫(xiě)程序,做到在鍵盤(pán)每按一個(gè)數(shù)字鍵(0~F),用發(fā)光二極管將該代碼顯示出來(lái)。二、連線方法:將鍵盤(pán)RL10~RL17接8255A的PB0~PB7;KA10~KA12接8255A的PA0~PA2;PC0~PC7接發(fā)光二極管的L1~L8;8255A芯片的片選信

3、號(hào)8255CS接CS0。三、代碼;8255鍵盤(pán)實(shí)驗(yàn)PAEQU0CFA0HPBEQUPA+1PC0EQUPB+1PCTLEQUPC0+1ORG4000HLJMPSTARTORG4100HSTART:MOV42H,#0FFH;42H中放顯示的字符碼,初值為0FFHSTA1:MOVDPTR,#PCTL;設(shè)置控制字,ABC口工作于方式0MOVA,#82H;AC口輸出而B(niǎo)口用于輸入實(shí)驗(yàn)人:肖爰龍學(xué)號(hào):08321067專業(yè):微電子學(xué)時(shí)間:2012年11月24日MOVX@DPTR,ALINE:MOVDPTR,#PC0;將字

4、符碼從C口輸出顯示MOVA,42HCPLAMOVX@DPTR,AMOVDPTR,#PA;從A口輸出全零到鍵盤(pán)的列線MOVX@DPTR,AMOVDPTR,#PB;從B口讀入鍵盤(pán)行線值MOVXA,@DPTRMOV40H,A;行線值存于40H中CPLA;取反后如為全零JZLINE;表示沒(méi)有鍵閉合,繼續(xù)掃描MOVR7,#10H;有鍵按下,延時(shí)10MS去抖動(dòng)DL0:MOVR6,#0FFHDL1:DJNZR6,DL1DJNZR7,DL0MOVDPRT,#PCTL;重置控制字,讓A為輸入,BC為輸出MOVA,#90HMOV

5、X@DPTR,AMOVA,40HMOVDPTR,#PB;剛才讀入的行線值取出從B口送出MOVX@DPTR,AMOVDPTR,#PA;從A口讀入列線值MOVXA,@DPTRMOV41H,A;列線值為存入41H中CPLA;取反后如為全零JZSTA1;表示沒(méi)有鍵按下MOVDPTR,#TABLE;TABLE表首地址送DPTRMOVR7,#18H;R7中置計(jì)數(shù)值16MOVR6,#00H;R6中放偏移量初值TT:MOVXA,@DPTR;從表上取鍵碼前半字節(jié),行線值與實(shí)CJNEA,40H,NN1;際輸入的行線值相等嗎?不等

6、轉(zhuǎn)NN1INCDPTR;相等,指針指向后半字節(jié),即列線值MOVXA,@DPTR;列線值與列線值CJNEA,41H,NN2;不相等嗎?不等轉(zhuǎn)NN2MOVDPTR,#CHAR;相等,CHAR表基址和R6中的依偏移量MOVA,R6;取出相應(yīng)的字條碼MOVCA,@A+DPTRMOV42H,A;字符碼存于42HBBB:;重置控制字,讓AC為輸出,B為輸入實(shí)驗(yàn)人:肖爰龍學(xué)號(hào):08321067專業(yè):微電子學(xué)時(shí)間:2012年11月24日MOVDPTR,#PCTLMOVA,#82HMOVX@DPTR,AAAA:MOVA,42H

7、;將字符碼從C口送到二極管顯示MOVDPTR,#PC0CPLAMOVX@DPTR,AMOVDPTR,#PA;判斷按下的鍵是否釋放CLRAMOVX@DPTR,AMOVDPTR,#PBMOVXA,@DPTRCPLAJNZAAA;沒(méi)有釋放轉(zhuǎn)AAAMOVR5,#02;已釋則延時(shí)0.2秒,減少總線負(fù)擔(dān)DEL1:movR4,#200DEL2:MOVR3,#126DEL3:DJNZR3,DEL3DJNZR4,DEL2DJNZR5,DEL1JMPSTART;轉(zhuǎn)STARTNN1:INCDPTR;指針指向后半字節(jié)即列線值NN2:

8、INCDPTR;指針指向下一鍵碼前半字節(jié)即行線值INCR6;CHAR表偏移量加一DJNZR7,TT;計(jì)數(shù)值減一,不為零則轉(zhuǎn)TT繼續(xù)查找JMPBBBTABLE:;TABLE為鍵值表,每個(gè)鍵位占DW0FE06H,0FD06H,0FB06H,0F706H;兩個(gè)字節(jié),第一個(gè)字節(jié)為行DW0BF06H,07F06H,0FE05H,0FD05H;線值,第二個(gè)為列線值DW0EF05H,0DF05H,0BF05H,0

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。