标题: 高手来帮我看看这段程序什么意思 [打印本页]

作者: hardees90    时间: 2012-2-11 21:30
标题: 高手来帮我看看这段程序什么意思
额。。。要考试了,就知道这是一段测速的程序,激光传感器照在每段长度为3cm的黑白相间的条纹上,白色有反射,黑色无反射,产生的信号 送到单片机的T1端。要看懂这个程序的速度算法额。。高手帮帮我啊。。。。 MEAS2: CLR REN CLR ES CLR 20H.2 MOV TMOD, #01010001B MOV TCON, #01010000B MOV TH1, #0 MOV TL1, #0 LCALL D200M MOV 35H, TH1 MOV 34H, TL1 MOV R2, #0 MOV R1, #108 LCALL MULL MOV 33H, #0 MOV R2, #0 MOV R1, #100 LCALL DIVV MOV 4DH, 33H ;速度整数位 MOV 4CH, 30H ;速度小数位 ======================================================================================== MULL: MOV A, 34H ;34H,35H:multiplicant 低位在前 MOV B, R1 ;R1,R2:multiplier MUL AB ;30H,31H,32H;33H;product MOV 30H, A MOV R3, B MOV A, 35H MOV B, R1 MUL AB ADD A, R3 MOV 31H, A MOV A, B ADDC A, #0 MOV 32H, A MOV A, 34H MOV B, R2 MUL AB MOV R4, A MOV R3, B MOV A, 35H MOV B, R2 MUL AB ADD A, R3 MOV R5, A MOV A, B ADDC A, #0 MOV 33H, A MOV A, 31H ADD A, R4 MOV 31H, A MOV A, 32H ADDC A, R5 MOV 32H, A MOV A, 33H ADDC A, #0 MOV 33H, A RET ========================================================================================= DIVV: CJNE R1, #0, DIV1 ;30H,31H,32H,dividend & remainder低位在前 CJNE R2, #0, DIV1 ;R1,R2 divider MOV 35H, #0FFH ;33H,34H,35Hquotient MOV 34H, #0FFH MOV 33H, #0FFH RET DIV1: MOV R3, #0 MOV R4, #0 MOV R5, #24 MOV 35H, #0 MOV 34H, #0 MOV 33H, #0 DIV2: MOV A, 30H RLC A MOV 30H, A MOV A, 31H RLC A MOV 31H, A MOV A, 32H RLC A MOV 32H, A MOV A, R3 RLC A MOV R3, A MOV A, R4 RLC A MOV R4, A JC DIV5 SUBB A, R2 JNZ DIV2A MOV A, R3 SUBB A, R1 DIV2A: JC DIV3 DIV5: CLR C MOV A, R3 SUBB A, R1 MOV R3, A MOV A, R4 SUBB A, R2 MOV R4, A SETB C LJMP DIV4 DIV3: CLR C DIV4: MOV A, 33H RLC A MOV 33H, A MOV A, 34H RLC A MOV 34H, A MOV A, 35H RLC A MOV 35H, A DJNZ R5, DIV2 MOV 30H, R3 MOV 31H, R4 RET ============================================ D200M: MOV 0AH, #3 D200M1: LCALL D60M D60M: MOV 08H, #120 LJMP DM1 DM1: MOV 09H, #250 DM2: DJNZ 09H, DM2 DJNZ 08H, DM1 RET
作者: hardees90    时间: 2012-2-11 21:32
额。。。。怎么变成这样了。。。。 MEAS2: CLR REN CLR ES CLR 20H.2 MOV TMOD, #01010001B MOV TCON, #01010000B MOV TH1, #0 MOV TL1, #0 LCALL D200M MOV 35H, TH1 MOV 34H, TL1 MOV R2, #0 MOV R1, #108 LCALL MULL MOV 33H, #0 MOV R2, #0 MOV R1, #100 LCALL DIVV MOV 4DH, 33H ;速度整数位 MOV 4CH, 30H ;速度小数位 ======================================================================================== MULL: MOV A, 34H ;34H,35H:multiplicant 低位在前 MOV B, R1 ;R1,R2:multiplier MUL AB ;30H,31H,32H;33H;product MOV 30H, A MOV R3, B MOV A, 35H MOV B, R1 MUL AB ADD A, R3 MOV 31H, A MOV A, B ADDC A, #0 MOV 32H, A MOV A, 34H MOV B, R2 MUL AB MOV R4, A MOV R3, B MOV A, 35H MOV B, R2 MUL AB ADD A, R3 MOV R5, A MOV A, B ADDC A, #0 MOV 33H, A MOV A, 31H ADD A, R4 MOV 31H, A MOV A, 32H ADDC A, R5 MOV 32H, A MOV A, 33H ADDC A, #0 MOV 33H, A RET ========================================================================================= DIVV: CJNE R1, #0, DIV1 ;30H,31H,32H,dividend & remainder低位在前 CJNE R2, #0, DIV1 ;R1,R2 divider MOV 35H, #0FFH ;33H,34H,35Hquotient MOV 34H, #0FFH MOV 33H, #0FFH RET DIV1: MOV R3, #0 MOV R4, #0 MOV R5, #24 MOV 35H, #0 MOV 34H, #0 MOV 33H, #0 DIV2: MOV A, 30H RLC A MOV 30H, A MOV A, 31H RLC A MOV 31H, A MOV A, 32H RLC A MOV 32H, A MOV A, R3 RLC A MOV R3, A MOV A, R4 RLC A MOV R4, A JC DIV5 SUBB A, R2 JNZ DIV2A MOV A, R3 SUBB A, R1 DIV2A: JC DIV3 DIV5: CLR C MOV A, R3 SUBB A, R1 MOV R3, A MOV A, R4 SUBB A, R2 MOV R4, A SETB C LJMP DIV4 DIV3: CLR C DIV4: MOV A, 33H RLC A MOV 33H, A MOV A, 34H RLC A MOV 34H, A MOV A, 35H RLC A MOV 35H, A DJNZ R5, DIV2 MOV 30H, R3 MOV 31H, R4 RET ============================================ D200M: MOV 0AH, #3 D200M1: LCALL D60M D60M: MOV 08H, #120 LJMP DM1 DM1: MOV 09H, #250 DM2: DJNZ 09H, DM2 DJNZ 08H, DM1 RET
作者: 青苹果    时间: 2012-2-11 21:36

呵呵

格式不行哦


作者: 奔三学单片    时间: 2012-2-15 12:00

有你这样整的吗?






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1