各位搞單片機(jī)的師傅們,小弟不才用匯編語言 編了一個電機(jī)正反轉(zhuǎn)的程序?墒怯捎 知識 經(jīng)驗不是很足用LCA51軟件進(jìn)行仿真時老是出現(xiàn)9個錯誤?墒窃趺匆部床怀鲈蛟趤。請各位師傅們能否給指點以下,原因在那?為什么會出現(xiàn)這中現(xiàn)象?小弟不勝感激~~~~~~~~~~~~~~~ 程序如下:(P1.1和P1.2是電機(jī)控制口)(用INT1做限位,T0做電機(jī)轉(zhuǎn)一圈的計數(shù))錯誤的地方我以做標(biāo)記,其他中斷口另有他用。 ORG 0000H LJMP MAIN ORG 000BH LJMP MAIN_2 ORG 0013H LJMP MAIN_3 MAIN: MOV 30H,#50 ;預(yù)設(shè)每幅計點數(shù)(30H~39)為正轉(zhuǎn)幅數(shù),(40H~49H)為反轉(zhuǎn)幅數(shù) MOV 31H,#50 MOV 32H,#50 MOV 33H,#50 MOV 34H,#50 MOV 35H,#50 MOV 36H,#50 MOV 37H,#50 MOV 38H,#50 MOV 39H,#50 MOV 40H,#50 MOV 41H,#50 MOV 42H,#50 MOV 43H,#50 MOV 44H,#50 MOV 45H,#50 MOV 46H,#50 MOV 47H,#50 MOV 48H,#50 MOV 49H,#50 MOV 20H,#5 ;幅數(shù)(20H~21H)為幅數(shù) MOV 21H,#5 CLR IT1 CLR IT0 SETB ET1 SETB EX1 SETB ET0 SETB EX0 MOV TMOD,#15H SETB EA ;校正程序 MAIN_6:MOV C,IE1 JC MAIN_5 CLR P1.1 MOV R0,#5 DEL:MOV R1,#250 DEL1:MOV R2,#250 DEL2:MOV R3,#246 NOP NOP NOP NOP DEL3:DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 DJNZ R0,DEL LJMP MAIN_N MAIN_5:MOV R4,20H ;正轉(zhuǎn)程序 MOV SP,#30H DEL10:SETB ET0 MOV R1,SP CLR A MOV A,#256 SUBB A,R1 MOV R7,A MOV THO,#06H;錯誤 MOV TLO,#06H;錯誤 SETB TR1 SETB P1.1 SJMP $ ;反轉(zhuǎn)程序 MOV R5,21H MOV SP,#40H DEL11:SETB ETO;錯誤 MOV R1,SP CLR A MOV A,#256 SUBB A,R1 MOV R7,A MOV THO,R7;錯誤 MOV TLO,R7;錯誤 SETB TR1 SETB P1.2 SJMP $ ;計數(shù)中斷程序 MAIN_2:SETB P1.1;錯誤 SETB P1.2 CLR ET0 SETB IE1 SETB ET1 MOV R1,#250 DEL4:MOV R2,#250 DEL5:MOV R3,#246 NOP NOP NOP NOP DEL6:DJNZ R3,DEL6 DJNZ R2,DEL5 DJNZ R1,DEL4 NOP DJNZ R4,DEL10 NOP DJNZ R3,DEL11 NOP LJMP MATN;錯誤 ;限位中斷程序 MAIN_3:SETB P1.1 SETB P1.2 CLR IE1 CLR ET1 CJNE R4,#00H,MAIN;錯誤 MOV R1,#250 DEL7:MOV R2,#250 DEL8:MOV R3,#246 NOP NOP NOP NOP DEL9:DJNZ R3,DEL9 DJNZ R2,DEL8 DJNZ R1,DEL7 NOP CJNE R4,#00H,MAIN_6;錯誤 NOP LJMP MAIN MAIN_N:END
|