|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)教幾個(gè)我現(xiàn)在沒(méi)點(diǎn)頭緒的問(wèn)題,請(qǐng)大家指點(diǎn) |
| 作者:hxiaon 欄目:單片機(jī) |
MAIN:ACALL AA JNB F0,M1 ACALL FFF JC M1 MOV R5,#9 CLR TR0 AJMP AJMPP M1:ACALL DISPLAY JNB P2.3,K2 NOP NOP JNB P2.2,K3 NOP NOP JNB P2.1,K4 NOP NOP JNB P2.0,K5 NOP NOP AJMP MAIN K2:ACALL K22 AJMP AJMPP K3:ACALL K33 AJMP AJMPP K4:ACALL K44 AJMP AJMPP K5:ACALL K55 AJMPP:MOV DPTR,#TABA MOV A,R5 JMP @A+DPTR K22:ACALL DELAY ACALL DELAY JB P2.3,K20 JNB P2.3,$ MOV R5,#0 K20:RET K33:ACALL DELAY ACALL DELAY JB P2.2,K30 JNB P2.2,$ MOV R5,#3 K30:RET K44:ACALL DELAY ACALL DELAY JB P2.1,K40 JNB P2.1,$ MOV R5,#6 K40:RET K55:ACALL DELAY ACALL DELAY JB P2.0,K50 JNB P2.0,$ MOV R5,#9 K50:RET TABA:LJMP SET1 LJMP SET2 LJMP ALART LJMP MUSIC LJMP MAIN 在上面的程序中,我按K2鍵可以進(jìn)入SET1分支程序,并且在SET1中用到了其他三個(gè)鍵且都正常,但是我在這里按其他三個(gè)鍵不能進(jìn)入其相應(yīng)的分支程序。我用軟件仿真可以進(jìn)去而硬件仿真則不行,請(qǐng)大家說(shuō)明一下. |
| 2樓: | >>參與討論 |
| 作者: conwh 于 2006/10/16 22:54:00 發(fā)布:
RE MAIN:ACALL AA JNB F0,M1 ACALL FFF JC M1 MOV R5,#9 CLR TR0 AJMP AJMPP ===================== ACALL FFF 看不懂,怎么又是一個(gè)注釋都沒(méi)有的,讓大家猜謎? |
|
| 3樓: | >>參與討論 |
| 作者: pcer 于 2006/10/17 9:45:00 發(fā)布:
請(qǐng)遵循軟件開(kāi)發(fā)規(guī)則 看不懂,怎么又是一個(gè)注釋都沒(méi)有的,讓大家猜謎? 請(qǐng)遵循軟件開(kāi)發(fā)規(guī)則 單片機(jī)群:7817864 歡迎加入,互相學(xué)習(xí) |
|
| 4樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/17 10:52:00 發(fā)布:
不好意思,加下注釋 |
|
| 5樓: | >>參與討論 |
| 作者: heshenhu 于 2006/10/17 11:31:00 發(fā)布:
我改了一下,看看行不行 MAIN:ACALL AA ;獲取數(shù)碼管字型碼 ACALL DISPLAY ;顯示子程序 JNB P2.3,K2 NOP NOP JNB P2.2,K3 NOP NOP JNB P2.1,K4 NOP NOP JNB P2.0,K5 NOP NOP AJMP MAIN K2:ACALL K22 LJMP SET1 ;相應(yīng)的分支跳轉(zhuǎn) K3:ACALL K33 LJMP SET2 ;相應(yīng)的分支跳轉(zhuǎn) K4:ACALL K44 LJMP ALART ;相應(yīng)的分支跳轉(zhuǎn) K5:ACALL K55 LJMP MUSIC ;相應(yīng)的分支跳轉(zhuǎn) ; AJMPP:MOV DPTR,#TABA ;散轉(zhuǎn)跳轉(zhuǎn) ; MOV A,R5 ; JMP @A+DPTR K22:ACALL DELAY ;抗干擾與消抖動(dòng) ACALL DELAY JB P2.3,K20 JNB P2.3,$ MOV R5,#0 ;給出相應(yīng)鍵值以散轉(zhuǎn)跳轉(zhuǎn) K20:RET K33:ACALL DELAY ACALL DELAY JB P2.2,K30 JNB P2.2,$ MOV R5,#3 K30:RET K44:ACALL DELAY ACALL DELAY JB P2.1,K40 JNB P2.1,$ MOV R5,#6 K40:RET K55:ACALL DELAY ACALL DELAY JB P2.0,K50 JNB P2.0,$ MOV R5,#9 K50:RET ; TABA:LJMP SET1 ;相應(yīng)的分支跳轉(zhuǎn)表 ; LJMP SET2 ; LJMP ALART ; LJMP MUSIC ; LJMP MAIN 看看那樣行不行? |
|
| 6樓: | >>參與討論 |
| 作者: weidian 于 2006/10/17 12:29:00 發(fā)布:
單片機(jī)編程最好采用C語(yǔ)言編程 單片機(jī)編程最好采用C語(yǔ)言編程,易讀易懂,上手快。我們公司的所有單片機(jī)產(chǎn)品都采用C編程。 |
|
| 7樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/17 12:48:00 發(fā)布:
好好 我改了一下,看看行不行。 你那樣改應(yīng)該可以,以前我是那樣編鍵盤(pán)的?墒俏揖褪窍肜孟律⑥D(zhuǎn)跳轉(zhuǎn),我用軟件仿真可以實(shí)現(xiàn)的,就是用仿真頭的時(shí)候不行了。 單片機(jī)編程最好采用C語(yǔ)言編程。 C語(yǔ)言是好,但匯編其實(shí)也有它的優(yōu)勢(shì)。我這的程序不是很麻煩足以。 |
|
| 8樓: | >>參與討論 |
| 作者: dengm 于 2006/10/17 13:13:00 發(fā)布:
這樣才是匯編!! MAIN: ACALL AA ACALL DISPLAY MOV A, P2; K5: P2.0 ; 15-1 = 14 ; K4: P2.1 ; 15-2 = 13 ; K3: P2.2 ; 15-4 = 11 ; K2: P2.3 ; 15-8 = 7 ANL A, #0FH MOV R5, A ; BAK_KEY XRL A, #0FH JZ MAIN ; NOT KEY PRE. ACALL DELAY ;抗干擾與消抖動(dòng) ACALL DELAY MOV A, P2 ANL A, #0FH XRL A, R5 JNZ MAIN ; 干擾 ;--------------------------------------------------- MOV A, R5 ; R5*3 -- LJMP 3 BYTES ADD A, R5 ADD A, R5 MOV DPTR, #TABA JMP @A + DPTR TABA: ;相應(yīng)的分支跳轉(zhuǎn)表 LJMP MAIN ;0 LJMP MAIN ;1 LJMP MAIN ;2 LJMP MAIN ;3 LJMP MAIN ;4 LJMP MAIN ;5 LJMP MAIN ;6 LJMP SET1 ;7 ;K2 LJMP MAIN ;8 LJMP MAIN ;9 LJMP MAIN ;10 LJMP SET2 ;11 ;K3 LJMP MAIN ;12 LJMP ALART ;13 ;K4 LJMP MUSIC ;14 ;K5 LJMP MAIN ;15 * - 本貼最后修改時(shí)間:2006-10-17 13:18:20 修改者:dengm |
|
| 9樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/17 16:41:00 發(fā)布:
樓上的寫(xiě)得好,謝謝 |
|
| 10樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/18 9:49:00 發(fā)布:
問(wèn)題解決了 我給P2口的低四位置’1‘后,沒(méi)有延時(shí)就判斷鍵盤(pán),所以P2.3總是誤判被當(dāng)作干擾以至后面的鍵不能工作.我想如果用dengm的則不會(huì)出現(xiàn)此問(wèn)題,那才是真正的判鍵.謝謝大家,謝謝dengm,也謝謝heshenhu和weidian. |
|
| 11樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/18 17:38:00 發(fā)布:
新問(wèn)題 程序在仿真頭上運(yùn)行正常,但燒進(jìn)芯片運(yùn)行不正常,請(qǐng)問(wèn)這是怎么回事?哪個(gè)地方出問(wèn)題了,請(qǐng)大家多多指教. |
|
| 12樓: | >>參與討論 |
| 作者: hxiaon 于 2006/10/18 22:16:00 發(fā)布:
找到頭緒了, 發(fā)現(xiàn)是我的開(kāi)關(guān)在插上芯片后被拉低了,相當(dāng)于一直在按鍵,但我用仿真頭的話(huà)沒(méi)有此問(wèn)題,我該怎么弄?找不到原因了,請(qǐng)大家指教下. |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |