版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、【013】【013】查詢方式按鍵查詢方式按鍵[51][51]點(diǎn)擊數(shù):684發(fā)布日期:20066250:57:00【收藏】【評(píng)論】【打印】【編程愛好者論壇】【關(guān)閉】實(shí)驗(yàn)參考:笨笨工作室實(shí)驗(yàn)六、查詢方式按鍵。(查看)實(shí)驗(yàn)板:FB51A。(查看)實(shí)驗(yàn)?zāi)康?掌握讀取外部按鍵時(shí)候應(yīng)該注意的事項(xiàng),掌握查詢方式響應(yīng)按鍵的方法。掌握讀取按鍵去抖動(dòng)的方法。掌握判直接尋址位轉(zhuǎn)移指令jb,jnb的用法。實(shí)驗(yàn)現(xiàn)象:最右面的數(shù)碼管初始顯示0,每次按下外部按鍵K1
2、執(zhí)行加一,計(jì)數(shù)到9時(shí)重新回0。單片機(jī)響應(yīng)外部按鍵的方式有兩種,一種是查詢方式,一種是中斷方式。查詢方式查詢方式:單片機(jī)不斷的查詢是否有按鍵按下,如果有按鍵按下的話,就執(zhí)行相應(yīng)的程序,否則繼續(xù)查詢。中斷方式中斷方式:單片機(jī)處理自己的工作,如果有按鍵按下,向單片機(jī)發(fā)出中斷請(qǐng)求。單片機(jī)停下現(xiàn)在正在處理的工作,轉(zhuǎn)去執(zhí)行中斷程序,執(zhí)行之后回來繼續(xù)剛才的工作。本實(shí)驗(yàn)是用查詢方式完成只用到一個(gè)鍵K1,每次按下,使第一位數(shù)碼管加1顯示,計(jì)數(shù)到9里重新回
3、0。顯示部分電路及查表顯示方法參考:【005】數(shù)碼管顯示數(shù)字和【006】多位數(shù)碼管動(dòng)態(tài)顯示。本來想重畫個(gè)電路圖,在原來顯示部分的基礎(chǔ)上再把按鍵部分加上,但一來放在Blog上寬度有問題,再者還是不想畫了,所以偷個(gè)懶,鍵盤部分單獨(dú)拿出來吧。顯示部分:按上述方法編寫程序:g0000hstart:movp0#48h段碼顯示0movp2#01h位碼選通第一位數(shù)碼管main:movr7#0ffh查表時(shí)偏移量,用來實(shí)現(xiàn)由0到9循環(huán)顯示key:jbp1
4、.0key如果P1.0為高電平則繼續(xù)執(zhí)行此句查詢。calldel10ms否則調(diào)用延時(shí)程序?qū)崿F(xiàn)軟件去抖jbp1.0key再次查詢P1.0,如果是高電平,表示是抖動(dòng),繼續(xù)查詢dis:確定按鍵按下,開始執(zhí)行顯示程序incr7偏移量自加(第一次值為0)movar7movdptr#tab取表首址movca@adptr用查表指令獲取要顯示的數(shù)字movp0a得到該字段碼送入P0口顯示cjnea#48hkey未顯示到最后一個(gè)數(shù)繼續(xù)查詢按鍵狀態(tài)ljmpm
5、ain顯示到最后一個(gè)數(shù)字則重新開始tab:db0ebh52h62h0e1h64h44h0eah40h60h48h段碼表del10ms:10ms延時(shí)子程序(12M)movr6#202機(jī)器周期temp:movr5#2482機(jī)器周期djnzr5$2機(jī)器周期2+2248=498djnzr6temp2機(jī)器周期220=40ret2+20498+40=10002即10msend★將該程序下載到板上驗(yàn)證發(fā)現(xiàn)很不穩(wěn)定,按一次鍵時(shí)顯示可能會(huì)變幾次,如果按住
6、鍵不放,將會(huì)顯示“8”,且不停在閃爍,用Pteus仿真了一下也是這個(gè)問題。這是由于顯示了一個(gè)數(shù)字之后,單片機(jī)會(huì)返回重新查詢P1.0的狀態(tài),如果按下的時(shí)間很長,就會(huì)導(dǎo)致單片機(jī)又檢測(cè)到低電平,所以就繼續(xù)顯示下一個(gè)數(shù)字,常按住的話就會(huì)循環(huán)此過程,所以看到的閃爍的“8”實(shí)際上是快速動(dòng)態(tài)顯示“0”到“9”時(shí)人眼的視覺暫留產(chǎn)生的。那如何使按下一次按鍵,無論時(shí)間長短,只作一次按鍵處理呢?可以在顯示完一個(gè)數(shù)字后即檢測(cè)P1.0是否回到高電平(鍵放開),若
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論