LJMP START S1: DB 85,125,105,85 ,65 ;-5 S2: DB 89,49 ,89 ,89 ,89 ;-1 S3: DB 93,103,73 ,93 ,113 ;+3 S4: DB 90,90 ,110,50 ,70 S5: DB 88,88 ,88 ,128,88 ;-2 S6: DB 82,82 ,62 ,72 ,102 ;-8 TIME: DB 20,20 ,20 ,20 ,20 START: MOV R1,#00 MOV DPTR,#S1 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO1 MOV DPTR,#S2 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO2 MOV DPTR,#S3 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO3 MOV DPTR,#S4 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO4 MOV DPTR,#S5 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO5 MOV DPTR,#S6 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO6 MOV DPTR,#TIME MOV A,R1 MOVC A,@A+DPTR ACALL WORK AGAIN: MOV R1,#1 MOV DPTR,#S1 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO1 MOV DPTR,#S2 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO2 MOV DPTR,#S3 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO3 MOV DPTR,#S4 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO4 MOV DPTR,#S5 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO5 MOV DPTR,#S6 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO6 MOV DPTR,#TIME MOV A,R1 MOVC A,@A+DPTR ACALL WYORK MOV R1,#2 MOV DPTR,#S1 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO1 MOV DPTR,#S2 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO2 MOV DPTR,#S3 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO3 MOV DPTR,#S4 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO4 MOV DPTR,#S5 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO5 MOV DPTR,#S6 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO6 MOV DPTR,#TIME MOV A,R1 MOVC A,@A+DPTR ACALL WORK MOV R1,#3 MOV DPTR,#S1 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO1 MOV DPTR,#S2 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO2 MOV DPTR,#S3 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO3 MOV DPTR,#S4 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO4 MOV DPTR,#S5 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO5 MOV DPTR,#S6 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO6 MOV DPTR,#TIME MOV A,R1 MOVC A,@A+DPTR ACALL WORK MOV R1,#4 MOV DPTR,#S1 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO1 MOV DPTR,#S2 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO2 MOV DPTR,#S3 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO3 MOV DPTR,#S4 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO4 MOV DPTR,#S5 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO5 MOV DPTR,#S6 MOV A,R1 MOVC A,@A+DPTR ACALL SERWO6 MOV DPTR,#TIME MOV A,R1 MOVC A,@A+DPTR ACALL WORK LJMP AGAIN SERWO1: MOV B,#10 MUL AB MOV R0,#30 MOV @R0,A MOV A,B ADD A,#248 ;S1H calibration number MOV R0,#31 MOV @R0,A RET SERWO2: MOV B,#10 MUL AB MOV R0,#32 MOV @R0,A MOV A,B ADD A,#248 ;S2H calibration number MOV R0,#33 MOV @R0,A RET SERWO3: MOV B,#10 MUL AB MOV R0,#34 MOV @R0,A MOV A,B ADD A,#248 ;S3H calibration number MOV R0,#35 MOV @R0,A RET SERWO4: MOV B,#10 MUL AB MOV R0,#36 MOV @R0,A MOV A,B ADD A,#248 ;S4H calibration number MOV R0,#37 MOV @R0,A RET SERWO5: MOV B,#10 MUL AB MOV R0,#38 MOV @R0,A MOV A,B ADD A,#248 ;S5H calibration number MOV R0,#39 MOV @R0,A RET SERWO6: MOV B,#10 MUL AB MOV R0,#40 MOV @R0,A MOV A,B ADD A,#248 ;S6H calibration number MOV R0,#41 MOV @R0,A RET WORK: MOV TL1,#223 MOV TH1,#177 MOV TMOD,#00010001B MOV TCON,#01010000B SETB P1.0 ;beginning 1 MOV R0,#30 MOV TL0,@R0 MOV R0,#31 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.0 ;end 1 SETB P1.1 ;beginning 2 MOV R0,#32 MOV TL0,@R0 MOV R0,#33 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.1 ;end 2 SETB P1.2 ;beginning 3 MOV R0,#34 MOV TL0,@R0 MOV R0,#35 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.2 ;end 3 SETB P1.3 ;beggining 4 MOV R0,#36 MOV TL0,@R0 MOV R0,#37 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.3 ;end 4 SETB P1.4 ;beginning 5 MOV R0,#38 MOV TL0,@R0 MOV R0,#39 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.4 ;end 5 SETB P1.5 ;beginning 6 MOV R0,#40 MOV TL0,@R0 MOV R0,#41 MOV TH0,@R0 CLR TCON.5 JNB TCON.5,$ CLR P1.5 ;end 6 CLR TCON.7 JNB TCON.7,$ DJNZ A,WORK RET