


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)七-單片機(jī)鍵盤LED顯示實(shí)驗(yàn)實(shí)驗(yàn)七單片機(jī)鍵盤LED顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握鍵盤和LED顯示器的接口方法和編程方法。2、掌握鍵盤掃描和LED八段碼顯示器的工作原理。3、學(xué)習(xí)并口擴(kuò)展的程序編寫方法。二、實(shí)驗(yàn)說明利用實(shí)驗(yàn)儀提供的鍵盤掃描電路和顯示電路,做一個掃描鍵盤和數(shù)碼顯示實(shí)驗(yàn),把按鍵輸入的鍵碼在六位數(shù)碼管上顯示出來。實(shí)驗(yàn)程序可分成三個模塊。 鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。 顯示模塊:將顯示單元的內(nèi)容在顯示器上動態(tài)顯示。 主程序:調(diào)用鍵輸入模塊和顯示模塊。三、實(shí)驗(yàn)儀器計算機(jī)偉福實(shí)驗(yàn)箱(lab2000P)四、實(shí)驗(yàn)內(nèi)容1、本實(shí)驗(yàn)儀提供了一個6X4的小鍵盤,向列掃描
2、碼地址(0X002H)逐列輸出低電平,然后從行碼地址(0X001H)讀回。如果有鍵按下,則相應(yīng)行的值應(yīng)為低如果無鍵按下,由丁上拉的作用,行碼為高。這樣就可以通過輸出的歹U碼和讀取的行碼來判斷按下的是什么鍵。在判斷有鍵按下后,要有一定的延時,防止鍵盤抖動。地址中的X是由KEY/LEDCS決定,參見地址譯碼。做鍵盤和LED實(shí)驗(yàn)時,需將KEY/LEDCS接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如將KEY/LEDCS信號接CS0上,則列掃描地址為08002H,行碼地址為08001H。列掃描碼還可以分時用作LED的位選通信號。2、本實(shí)驗(yàn)儀提供了6位8段碼LED顯示電路,只要按地址輸出相應(yīng)數(shù)據(jù),就
3、可以實(shí)現(xiàn)對顯示器的控制。顯示共有6位,用動態(tài)方式顯示。8位段碼、6位位碼是由兩片74LS374輸出。位碼經(jīng)MC1413或ULN2003倒相驅(qū)動后,選擇相應(yīng)顯示位。3、本實(shí)驗(yàn)儀中8位段碼輸出地址為0X004H,位碼輸出地址為0X002H0此處X是由KEY/LEDCS決定,參見地址譯碼。做鍵盤和LED實(shí)驗(yàn)時,需將KEY/LEDCS接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如,將KEY/LEDCS接到CS0上,則段碼地址為08004H,位碼地址為08002H。五、思考題1、按鍵接收到的數(shù)據(jù)加1顯示出來;2、實(shí)現(xiàn)第2功能鍵,即按下A后,再按下0-9鍵為加1顯示;3、保存前一個接收到的數(shù)據(jù),數(shù)據(jù)向
4、前推動顯示。六、源程序修改原理及其仿真結(jié)果OUTBITequ08002h;位控制口OUTSEGequ08004h;段控制口INequ08001h;鍵盤讀入口LEDBufequ60h;顯示緩沖IjmpStartLEDMAP:;八段管顯示碼db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hdb3fh,06h;表中增加兩個數(shù)據(jù),在查表時最后兩個數(shù)據(jù)+2后可以正常顯示Delay:;延時子程序movr7,#0DelayLoop:djnzr7,DelayLoopdjnzr6,DelayLoopretDisplayLED:mo
5、vr0,#LEDBufmovr1,#6;共6個八段管movr2,#00100000b;從左邊開始顯示Loop:movdptr,#OUTBITmova,#0movxdptr,a;關(guān)所有八段管mova,r0movdptr,#OUTSEGmovxdptr,amovdptr,#OUTBITmova,r2movxdptr,a;顯示一位八段管movr6,#1callDelaymova,r2;顯示下一位rramovr2,aincr0djnzr1,LoopretTestKey:movdptr,#OUTBITmova,#0movxdptr,a;輸出線置為0movdptr,#INmovxa,dptr;讀入鍵狀態(tài)c
6、plaanla,#0fh;高四位不用retKeyTable:db16h,15h,14h,0ffhdb13h,12h,11h,10hdb0dh,0ch,0bh,0ahdb0eh,03h,06h,09hdb0fh,02h,05h,08hdb00h,01h,04h,07hGetKey:movLEDBuf,LEDBuf+1movLEDBuf+1,LEDBuf+2movLEDBuf+2,LEDBuf+3movLEDBuf+3,LEDBuf+4movLEDBuf+4,LEDBuf+5movdptr,#OUTBITmovP2,dphmovr0,#Low(IN)movr1,#00100000bmovr2,#6
7、KLoop:mova,r1cplamovxdptr,acplarramovr1,amovxa,r0cplaanla,#0fhjnzGoon1djnzr2,KLoopmovr2,#0ffh0ffhsjmpExitGoon1:movr1,amova,r2decarlarlamovr2,amova,r1movr1,#4鍵碼定義在顯示新數(shù)據(jù)前將原有數(shù)據(jù)向前;找出鍵所在列;下一列;該列有鍵入;沒有鍵按下,返回;鍵值=列X4+行;r2=(r2-1)*4;r1中為讀入的行值LoopC:rrca;移位找出所在行jcExitincr2;r2=r2+行值djnzr1,LoopCExit:mova,r2;取出鍵碼m
8、ovdptr,#KeyTablemovca,a+dptrmovr2,aWaitRelease:movdptr,#OUTBIT;等鍵釋放clramovxdptr,amovr6,#10callDelaycallTestKeyjnzWaitReleasemova,r2retStart:movsp,#40hmovLEDBuf+0,#0ffh;顯示8.8.8.8.movLEDBuf+1,#0ffhmovLEDBuf+2,#0ffhmovLEDBuf+3,#0ffhmovLEDBuf+4,#0movLEDBuf+5,#0MLoop:callDisplayLED;顯示callTestKey;有鍵入?jzML
9、oop;無鍵入,繼續(xù)顯示callGetKey;讀入鍵碼movr3,a;將A中的值存入R3保存起來cjnea,#0ah,NEXT1;判斷鍵盤輸入的是否是A,不是則跳轉(zhuǎn)NEXT1進(jìn)行正常顯示jmpNEXT2;若是則跳轉(zhuǎn)NEXT2進(jìn)行加2顯示NEXT1mova,r3;取出A中原來的值anla,#0fh;顯示鍵碼movdptr,#LEDMapmovca,a+dptrmovLEDBuf+5,aIjmpMLoopMLOOP2:callcalljzDisplayLEDTestKeyMLoop2;顯示;有鍵入?;無鍵入,繼續(xù)顯示callGetKey;讀入鍵碼movr3,acjnea,#0ah,NEXT2jmpNEXT1;與MLOOP1中的判斷對稱,實(shí)現(xiàn)按下按鍵A兩種顯小萬式跳轉(zhuǎn)(思考題二)NEXT2:movanla,r3a,#0fh;顯示鍵碼movaddmovcmovljmpdptr,#LEDMapa,#2a,a+dptrLEDBuf+5,aMLoop2;在查表前+2實(shí)現(xiàn)顯示數(shù)據(jù)+2(思考題一)end仿真結(jié)果說明:按下按鍵A之前按
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療設(shè)備付款合同范例
- 與演員合同范本
- 別墅電梯采購合同范本
- 乙方出資建房合同范本
- 出售工地用車合同范本
- 勞務(wù)派遣施工合同范本
- 醫(yī)療營銷合同范本
- 北京園林公司合同范本
- 代理推廣合作合同范本
- 醫(yī)院棉被訂購合同范例
- DB12-T 3034-2023 建筑消防設(shè)施檢測服務(wù)規(guī)范
- 銷售人員崗位職責(zé)培訓(xùn)
- 小學(xué)生日常行為規(guī)范實(shí)施方案
- 2024-2025學(xué)年九年級化學(xué)人教版上冊檢測試卷(1-4單元)
- 2024年遼寧省鞍山岫巖滿族自治縣事業(yè)單位招聘(150人)歷年高頻難、易錯點(diǎn)500題模擬試題附帶答案詳解
- DBJ46-070-2024 海南省民用建筑外門窗工程技術(shù)標(biāo)準(zhǔn)
- 金屬冶煉安全生產(chǎn)實(shí)務(wù)注冊安全工程師考試(初級)試題與參考答案
- 2024年高職高考語文必背古詩
- 護(hù)理質(zhì)控護(hù)士競聘
- 醫(yī)學(xué)課件炎癥性腸病4
- 2024年4月自考00263外國法制史試題及答案
評論
0/150
提交評論