|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
程序探討 |
| 作者:kindwyw 欄目:單片機 |
請高手來探討,我想做個4*4鍵盤,和兩個數(shù)碼管,共用PD口進行鍵盤掃描和顯示用,同時PC口的0,1作為數(shù)碼位選,掃描的各個按鍵后去執(zhí)行相應(yīng)功能鍵,請幫看下面程序邏輯正確否? 掃描到按鍵后怎樣去執(zhí)行響應(yīng)功能子程序,請高手指點,謝謝 ;---------------顯示子程序------------- xsson: movlw 00 movwf port_d ;關(guān)顯示 movlw 1fh xorwf port_c,0 btfsc status,z ;檢查一輪兩個數(shù)碼管顯示一遍否 goto skyson ;一輪顯示完,轉(zhuǎn)鍵盤掃描子程序 jxxs_1: comf port_c,0 ;繼續(xù)輪流顯示 btfsc status,z ;繼續(xù)判斷 movlw 0e0h movwf TEMP ;字位控制字更新,顯示下一數(shù)碼管 comf TEMP,1 bsf status,0 rlf TEMP,1 btfss status,c rlf TEMP,1 rlf TEMP,1 movf TEMP,0 movwf port_c ;新的字位控制送PC口 movlw xsadd ;顯示數(shù)據(jù)的地址送FSR movwf fsr call xsbianma ;求顯示代碼 movwf port_d ;顯示代碼送PD口 retlw 0 ;----------------查表求7段字型代碼子程序-------------- xsbianma: comf port_c,0 ;根據(jù)數(shù)位決定取數(shù)地址 andlw 0f0h btfsc status,z incf fsr,1 movf 0,w movwf TEMP comf port_c,0 ;根據(jù)顯示數(shù)位決定是高4位 andlw 0cch ;還是低4位,并進行代碼轉(zhuǎn)換 btfsc status,z swapf TEMP,1 movlw 0fh andlw TEMP,0 andwf pcl,1 retlw 03fh ;00111111 0 retlw 006h ;00000110 1 retlw 05bh ;00000101 2 retlw 04fh ;00000100 3 retlw 066h ;01100110 4 retlw 06dh ;01101101 5   |
| 2樓: | >>參與討論 |
| 作者: ximeng 于 2006/1/7 16:09:00 發(fā)布:
呵呵! 你搞的這個東西很多書上都有,你可以參考一下! 再說了你搞個這么長的program,誰能有耐心看完! 就只有你自己慢慢調(diào)試了,你可以分步驟調(diào)試(功能一點一點的加) |
|
| 3樓: | >>參與討論 |
| 作者: kindwyw 于 2006/1/7 16:16:00 發(fā)布:
再次探討 樓上那位兄臺,能不能幫忙看,看我這個程序框加,如何插入轉(zhuǎn)按鍵功能子程序 |
|
| 4樓: | >>參與討論 |
| 作者: yuntian 于 2006/1/9 19:32:00 發(fā)布:
建議 建議發(fā)一個流程圖清晰一點.那么長的程序誰有精神看呀?關(guān)鍵是要讓人家了解你的算法. |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |