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