我是一初學(xué)者,正在頭破血流的學(xué)習(xí)為了能夠讓自己填飽肚子的(單片機(jī)),現(xiàn)試圖修改一些程序來(lái)提高自己,卻遇到一難題。以下程序我想把他修改成無(wú)過(guò)流采樣次數(shù)及無(wú)過(guò)流次數(shù)到轉(zhuǎn)報(bào)警程序時(shí),卻怎么也不成功。我試過(guò)刪除 INC 3AH ,3BH, 3CH.或增加 DEC 3AH, 3BH, 3CH。或改變絕對(duì)轉(zhuǎn)移命令...等等。都達(dá)不到要求,只有來(lái)請(qǐng)大俠高手門(mén)來(lái)指點(diǎn)迷津。謝謝
程序如下: 沒(méi)關(guān)聯(lián)的程序沒(méi)有寫(xiě)上來(lái)
MOV 3AH,#00H ;關(guān)門(mén)過(guò)流采樣次數(shù)清零 MOV 3BH,#00H ;開(kāi)門(mén)過(guò)流采樣次數(shù)清零 MOV 3CH,#00H 、、、、、、、、、、、、、、、、、、、、、、、 CLOSE: CLR TR0 CLR 03H CLR P1.3 SETB P1.4 ;電機(jī)反轉(zhuǎn),關(guān)門(mén) CLOSEKH: SETB P3.4 ;P3.4輸出高脈沖 ACALL DELY JB P3.6,CLKK ;關(guān)門(mén)過(guò)程中遇到阻力(過(guò)流)嗎?沒(méi)有,轉(zhuǎn)CLKk INC 3AH ;過(guò)流采樣次數(shù)加1 ACALL CLKKK JNB 04H,CLKK1 ;確實(shí)過(guò)流嗎?不是,轉(zhuǎn)CLKK1 INC 3CH ;非正常過(guò)流次數(shù)加1 AJMP CLKK2 ;確實(shí)過(guò)流,轉(zhuǎn)反向開(kāi)門(mén)程序CLKK2 CLKK: MOV 3AH,#00H CLKK1: JB P3.2,CLKH ;有人接近門(mén)感應(yīng)器嗎?沒(méi)有,轉(zhuǎn)CLKH CLKK2: MOV 3AH,#00H ACALL OPENPP ;有人接近門(mén)感應(yīng)器,或關(guān)門(mén)過(guò)程中遇到阻力,調(diào)用OPENPP開(kāi)門(mén)判斷處理子程序 MOV A,3CH CJNE A,#03H,CLKK3 ;非正常過(guò)流已經(jīng)3次嗎?否,轉(zhuǎn)CLKK3 AJMP ALARM ;非正常過(guò)流已經(jīng)3次,轉(zhuǎn)停車報(bào)警子程序 CLKK3: AJMP MAIN1 、、、、、、、、、、、、、、、、、、、、、、、、、、、、 CLSLOWH: ;關(guān)門(mén)慢速高電平程序 SETB P3.4 ;P3.4輸出高電平 ACALL DELY JB P3.6,CLKK5 ;關(guān)門(mén)過(guò)程中遇到阻力(過(guò)流)嗎?沒(méi)有,轉(zhuǎn)CLKk5 INC 3AH ;過(guò)流采樣次數(shù)加1 ACALL CLKKK JNB 04H,CLKK6 INC 3CH AJMP CLKK7
CLKK5: MOV 3AH,#00H CLKK6: JB P3.2,CLMH ;有人接近門(mén)感應(yīng)器嗎?沒(méi)有,轉(zhuǎn)CLMH CLKK7: MOV 3AH,#00H ACALL OPENPP ;有人接近門(mén)感應(yīng)器,或關(guān)門(mén)過(guò)程中遇到阻力,調(diào)用OPENPP開(kāi)門(mén)判斷處理子程序 MOV A,3CH CJNE A,#03H,CLKK8 AJMP ALARM 、、、、、、、、、、、、、、、、、、、、、、、、、
OPKKK: MOV A,3BH ;開(kāi)門(mén)過(guò)流判斷子程序 CJNE A,#20,NOOVERO MOV 3BH,#00H SETB 05H AJMP OVEROP NOOVERO: CLR 05H ;過(guò)流標(biāo)志清零 OVEROP: RET
、、、、、、、、、、、、、、、、 ALARM: CLR P1.3 停車報(bào)警子程序 CLR P1.4 CLR P3.4 CLR P3.7 MOV 3CH,#00H AJMP $ END
[此貼子已經(jīng)被作者于2009-11-1 17:27:33編輯過(guò)]
|