您现在所在的是:

单片机论坛

回帖:5个,阅读:2019 [上一页] [1] [下一页]
10454
xlian
文章数:3235
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2005/11/30 20:41:00
#0楼
附件
10454
xlian
文章数:3235
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2005/11/30 20:45:00
#1楼
[原创]AT89C51做的转速表
附件
10454
xlian
文章数:3235
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2005/11/30 21:54:00
#2楼
程序用BASIC语言写的,用反汇编转换出来大家学习
计数器0,定时器1作1ms定时,
p2.7--位
P2.6--十位
P2.5--个位
P1---------七段码输出p1.0----p1.7=a----h
p0.0-p0.3百 位直径BCD码
P0.4-P0.7 十位直径BCD码
P2.0-P2.3 个位直径BCD码
P3.4  脉冲输入
直径以毫米为单位设置
输出显示单位为米,小数点后一位,如果测量大于99.9米,小数后一位不显示,小数点不显示

;==============================================
;===========Disassemble information============
;==============================================
;    File Name: E:\单片机\单片机程序\BASIC\LED显示线速表.BIN
;         Type: MCS-51反编译器
;         Date: 2005-11-30
;==============================================
;==============================================
Q0000:             LJMP  Q01F2
;===========================================
Q0003:             RETI
;===========================================
Q0004: DB 00H,00H,00H,00H,00H,00H,00H ;.......
;===========================================
Q000B:             LJMP  Q0526
;===========================================
Q000E: DB 00H,00H,00H,00H,00H ;.....
;===========================================
Q0013:             RETI
;===========================================
Q0014: DB 00H,00H,00H,00H,00H,00H,00H ;.......
;===========================================
Q001B:             LJMP  Q0560
;===========================================
Q001E: DB 00H,00H,00H,00H,00H ;.....
;===========================================
Q0023:             RETI
;===========================================
Q0024: DB 00H,00H,00H,00H,00H,00H,00H,32H ;.......2
DB 00H,00H,00H,00H,00H,00H,00H,00H ;........
DB 00H,00H,00H,00H,00H,00H,00H,00H ;........
DB 00H,00H,00H,00H ;....
;===========================================
Q0040:             LCALL Q004C
                  JZ    Q0049
                  JC    Q0049
                  CLR   A
                  RET
;===========================================
Q0049:             MOV   A,#01H
                  RET
;===========================================
Q004C:             CLR   C
                  MOV   A,R5
                  CJNE  A,07H,Q0057
                  MOV   A,R4
                  CJNE  A,06H,Q0057
                  CLR   A
                  RET
;===========================================
Q0057:             MOV   A,#01H
                  RET
;===========================================
Q005A: DB AEH,02H,E6H,F7H,08H,09H,DEH,FAH ;........
DB 22H ;"
;===========================================
Q0063:             MOV   R0,A
Q0064:             MOV   A,#A6H
Q0066:             INC   A
                  NOP
                  NOP
                  NOP
                  NOP
                  NOP
                  NOP
                  NOP
                  NOP
                  JNZ   Q0066
                  NOP
                  DJNZ  R0,Q0064
                  RET
;===========================================
Q0075:             CLR   C
                  MOV   R6,02H
Q0078:             MOV   A,@R0
                  ADDC  A,@R1
                  MOV   @R1,A
                  INC   R0
                  INC   R1
                  DJNZ  R6,Q0078
                  RET
;===========================================
Q0080:             MOV   A,#08H
                  PUSH  B
                  MOV   B,02H
                  MUL   AB
                  MOV   R7,A
                  POP   B
                  MOV   R0,#10H
                  ACALL Q00A3
Q008F:             CLR   C
                  MOV   R0,#10H
                  ACALL Q00AB
                  MOV   R0,#08H
                  ACALL Q00AB
                  JNC   Q00A0
                  MOV   R0,#0CH
                  MOV   R1,#10H
                  ACALL Q0075
Q00A0:             DJNZ  R7,Q008F
                  RET
;===========================================
Q00A3:             MOV   R6,02H
Q00A5:             MOV   @R0,#00H
                  INC   R0
                  DJNZ  R6,Q00A5
                  RET
;===========================================
Q00AB:             MOV   R6,02H
Q00AD:             MOV   A,@R0
                  RLC   A
                  MOV   @R0,A
                  INC   R0
                  DJNZ  R6,Q00AD
                  RET
;===========================================
Q00B4:             MOV   R0,#0CH
                  ACALL Q00A3
                  JB    20H.1,Q00CC
                  CLR   F0
                  MOV   A,#08H
                  ADD   A,R2
                  DEC   A
                  MOV   R0,A
                  MOV   A,@R0
                  JNB   ACC.7,Q00CC
                  CPL   F0
                  MOV   R0,#08H
                  ACALL Q012F
Q00CC:             JB    20H.1,Q00DE
                  MOV   A,#10H
                  ADD   A,R2
                  DEC   A
                  MOV   R0,A
                  MOV   A,@R0
                  JNB   ACC.7,Q00DE
                  CPL   F0
                  MOV   R0,#10H
                  ACALL Q012F
Q00DE:             MOV   R0,#10H
                  MOV   R1,#08H
                  MOV   B,#08H
                  MOV   A,R2
                  MUL   AB
                  MOV   R3,A
Q00E8:             MOV   A,@R0
                  ADD   A,@R0
                  MOV   @R0,A
                  PUSH  PSW
                  CJNE  R2,#01H,Q00F4
                  POP   PSW
                  SJMP  Q00FF
Q00F4:             POP   PSW
                  MOV   R6,02H
                  DEC   R6
Q00F9:             INC   R0
                  MOV   A,@R0
                  RLC   A
                  MOV   @R0,A
                  DJNZ  R6,Q00F9
Q00FF:             MOV   R0,#0CH
                  MOV   R6,02H
Q0103:             MOV   A,@R0
                  RLC   A
                  MOV   @R0,A
                  INC   R0
                  DJNZ  R6,Q0103
                  MOV   R6,02H
                  MOV   R0,#0CH
Q010D:             MOV   A,@R0
                  SUBB  A,@R1
                  INC   R1
                  INC   R0
                  DJNZ  R6,Q010D
                  DEC   R1
                  MOV   R0,#10H
                  JC    Q012A
                  MOV   R1,#08H
                  CLR   C
                  MOV   R0,#0CH
                  MOV   R6,02H
Q011F:             MOV   A,@R0
                  SUBB  A,@R1
                  MOV   @R0,A
                  INC   R1
                  INC   R0
                  DJNZ  R6,Q011F
                  MOV   R0,#10H
                  DEC   R1
                  INC   @R0
Q012A:             MOV   R1,#08H
                  DJNZ  R3,Q00E8
                  RET
;===========================================
Q012F:             MOV   R6,02H
                  SETB  C
Q0132:             MOV   A,@R0
                  CPL   A
                  ADDC  A,#00H
                  MOV   @R0,A
                  INC   R0
                  DJNZ  R6,Q0132
                  RET
;===========================================
Q013B:             CLR   F0
                  PUSH  04H
                  PUSH  05H
                  MOV   R4,06H
                  MOV   R5,07H
                  MOV   A,R5
                  JNB   ACC.7,Q0152
                  CPL   F0
                  LCALL Q0160
                  MOV   R6,04H
                  MOV   R7,05H
Q0152:             POP   05H
                  POP   04H
                  MOV   A,R5
                  JNB   ACC.7,Q015F
                  CPL   F0
                  LCALL Q0160
Q015F:             RET
;===========================================
Q0160:             MOV   A,R5
                  CPL   A
                  MOV   R5,A
                  MOV   A,R4
                  CPL   A
                  ADD   A,#01H
                  MOV   R4,A
                  JNC   Q016B
                  INC   R5
Q016B:             RET
;===========================================
Q016C:             MOV   B,#10H
                  CLR   A
                  MOV   R0,A
                  MOV   R1,A
                  MOV   R2,A
                  MOV   R3,A
Q0174:             CLR   C
                  MOV   A,R4
                  RLC   A
                  MOV   R4,A
                  MOV   A,R5
                  RLC   A
                  MOV   R5,A
                  MOV   A,R2
                  RLC   A
                  MOV   R2,A
                  MOV   A,R3
                  RLC   A
                  MOV   R3,A
                  CLR   C
                  MOV   A,R2
                  SUBB  A,R6
                  MOV   DPL,A
                  MOV   A,R3
                  SUBB  A,R7
                  JC    Q018D
                  MOV   R3,A
                  MOV   R2,DPL
Q018D:             CPL   C
                  MOV   A,R0
                  RLC   A
                  MOV   R0,A
                  MOV   A,R1
                  RLC   A
                  MOV   R1,A
                  DJNZ  B,Q0174
                  CLR   C
                  RET
;===========================================
Q0199:             JB    20H.1,Q019F
                  LCALL Q013B
Q019F:             LCALL Q016C
                  MOV   R4,00H
                  MOV   R5,01H
                  JB    20H.1,Q01AF
                  JNB   F0,Q01AF
                  LCALL Q0160
Q01AF:             RET
;===========================================
Q01B0:             MOV   DPH,R5
                  JB    20H.1,Q01B8
                  LCALL Q013B
Q01B8:             LCALL Q016C
                  MOV   R4,02H
                  MOV   R5,03H
                  MOV   A,DPH
                  JB    20H.1,Q01CA
                  JNB   ACC.7,Q01CA
                  LCALL Q0160
Q01CA:             RET
;===========================================
Q01CB:             MOV   A,@R0
                  ADD   A,#01H
                  MOV   @R0,A
                  MOV   R2,A
                  INC   R0
                  MOV   A,@R0
                  ADDC  A,#00H
                  MOV   @R0,A
                  ORL   A,R2
                  RET
;===========================================
Q01D7: DB C3H,ECH,33H,FCH,EDH,33H,FDH ;..3..3.
;===========================================
Q01DE:             MOV   A,DPL
                  ADD   A,R4
                  MOV   DPL,A
                  MOV   A,DPH
                  ADDC  A,R5
                  MOV   DPH,A
                  CLR   A
                  MOVC  A,@A+DPTR
                  MOV   08H,A
                  INC   DPTR
                  CLR   A
                  MOVC  A,@A+DPTR
                  MOV   09H,A
                  RET
;===========================================
Q01F2:             MOV   20H,#00H
                  MOV   SP,#60H
                  MOV   2DH,#00H
                  MOV   2EH,#00H
                  MOV   2FH,#00H
                  MOV   30H,#00H
                  MOV   21H,#00H
                  MOV   P1,#00H
                  CLR   P2.7
                  CLR   P2.6
                  CLR   P2.5
                  MOV   TMOD,#14H
                  MOV   TH1,#FCH
                  MOV   TL1,#18H
                  MOV   TH0,#FFH
                  MOV   TL0,#16H
                  SETB  PT0
                  SETB  TR0
                  SETB  ET0
                  SETB  TR1
                  SETB  ET1
                  SETB  EA
Q022B:             MOV   A,21H
                  CJNE  A,#C8H,Q0232
                  SJMP  Q0234
Q0232:             JNC   Q0237
Q0234:             LJMP  Q024A
;===========================================
Q0237:             MOV   C,20H.5
                  MOV   20H.4,C
                  JNC   Q0240
                  LJMP  Q0247
10454
xlian
文章数:3235
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2005/11/30 21:55:00
#3楼
;===========================================
Q0237:             MOV   C,20H.5
                  MOV   20H.4,C
                  JNC   Q0240
                  LJMP  Q0247
;===========================================
Q0240:             MOV   R0,#29H
                  ACALL Q01CB
                  LJMP  Q0247
;===========================================
Q0247:             MOV   21H,#00H
Q024A:             MOV   R4,29H
                  MOV   R5,2AH
                  MOV   R6,#B8H
                  MOV   R7,#0BH
                  ACALL Q0040
                  JZ    Q0259
                  LJMP  Q025E
;===========================================
Q0259:             SETB  20H.5
                  LJMP  Q025E
;===========================================
Q025E:             ACALL Q0485
                  ACALL Q026B
                  ACALL Q02FE
                  LJMP  Q022B
;===========================================
Q0267: DB C2H,AFH,80H,FEH ;....
;===========================================
Q026B:             MOV   33H,2FH
                  MOV   34H,30H
                  MOV   35H,#00H
                  MOV   36H,#00H
                  MOV   08H,33H
                  MOV   09H,34H
                  MOV   0AH,35H
                  MOV   0BH,36H
                  MOV   10H,#E0H
                  MOV   11H,#93H
                  MOV   12H,#04H
                  MOV   13H,#00H
                  MOV   R2,#04H
                  ACALL Q00B4
                  JNB   F0,Q029B
                  MOV   R0,#10H
                  LCALL Q012F
Q029B:             MOV   33H,10H
                  MOV   34H,11H
                  MOV   35H,12H
                  MOV   36H,13H
                  MOV   08H,37H
                  MOV   09H,38H
                  MOV   0AH,39H
                  MOV   0BH,3AH
                  MOV   0CH,33H
                  MOV   0DH,34H
                  MOV   0EH,35H
                  MOV   0FH,36H
                  MOV   R0,#08H
                  MOV   R1,#0CH
                  MOV   R2,#04H
                  ACALL Q0080
                  MOV   3BH,10H
                  MOV   3CH,11H
                  MOV   3DH,12H
                  MOV   3EH,13H
                  MOV   08H,#10H
                  MOV   09H,#27H
                  MOV   0AH,#00H
                  MOV   0BH,#00H
                  MOV   10H,3BH
                  MOV   11H,3CH
                  MOV   12H,3DH
                  MOV   13H,3EH
                  MOV   R2,#04H
                  ACALL Q00B4
                  JNB   F0,Q02F7
                  MOV   R0,#10H
                  LCALL Q012F
Q02F7:             MOV   31H,10H
                  MOV   32H,11H
                  RET
;===========================================
Q02FE:             MOV   R4,#E7H
                  MOV   R5,#03H
                  MOV   R6,31H
                  MOV   R7,32H
                  LCALL Q0040
                  JZ    Q030E
                  LJMP  Q0392
;===========================================
Q030E:             MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#64H
                  MOV   R7,#00H
                  SETB  20H.1
                  ACALL Q01B0
                  CLR   20H.1
                  MOV   22H,R4
                  MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#64H
                  MOV   R7,#00H
                  SETB  20H.1
                  ACALL Q0199
                  CLR   20H.1
                  MOV   23H,R4
                  MOV   B,#0AH
                  MOV   A,22H
                  DIV   AB
                  PUSH  A
                  MOV   R0,#24H
                  POP   ACC
                  MOV   @R0,A
                  MOV   B,#0AH
                  MOV   A,22H
                  DIV   AB
                  PUSH  B
                  MOV   R0,#25H
                  POP   ACC
                  MOV   @R0,A
                  MOV   A,23H
                  CJNE  A,#00H,Q034F
                  SJMP  Q0351
Q034F:             JNC   Q0354
Q0351:             LJMP  Q0364
;===========================================
Q0354:             MOV   R4,23H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   26H,08H
                  LJMP  Q0367
;===========================================
Q0364:             MOV   26H,#00H
Q0367:             MOV   R4,24H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   27H,08H
                  MOV   B,#80H
                  MOV   A,27H
                  ADD   A,B
                  PUSH  A
                  MOV   R0,#27H
                  POP   ACC
                  MOV   @R0,A
                  MOV   R4,25H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   28H,08H
                  LJMP  Q0447
;===========================================
Q0392:             MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#E8H
                  MOV   R7,#03H
                  ACALL Q0040
                  JZ    Q03A1
                  LJMP  Q03A6
;===========================================
Q03A1:             MOV   A,#01H
                  LJMP  Q03A7
;===========================================
Q03A6:             CLR   A
Q03A7:             PUSH  A
                  MOV   R4,#0FH
                  MOV   R5,#27H
                  MOV   R6,31H
                  MOV   R7,32H
                  LCALL Q0040
                  JZ    Q03B9
                  LJMP  Q03BE
;===========================================
Q03B9:             MOV   A,#01H
                  LJMP  Q03BF
;===========================================
Q03BE:             CLR   A
Q03BF:             POP   B
                  ANL   A,B
                  CJNE  A,#01H,Q03C8
                  SJMP  Q03CB
Q03C8:             LJMP  Q042F
;===========================================
Q03CB:             MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#E8H
                  MOV   R7,#03H
                  SETB  20H.1
                  ACALL Q01B0
                  CLR   20H.1
                  MOV   22H,R4
                  MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#E8H
                  MOV   R7,#03H
                  SETB  20H.1
                  ACALL Q0199
                  CLR   20H.1
                  MOV   23H,R4
                  MOV   B,#64H
                  MOV   A,22H
                  DIV   AB
                  PUSH  A
                  MOV   R0,#24H
                  POP   ACC
                  MOV   @R0,A
                  MOV   B,#64H
                  MOV   A,22H
                  DIV   AB
                  PUSH  B
                  MOV   R0,#25H
                  POP   ACC
                  MOV   @R0,A
                  MOV   R4,23H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   26H,08H
                  MOV   R4,24H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   27H,08H
                  MOV   R4,25H
                  MOV   R5,#00H
                  MOV   DPTR,#057EH
                  LCALL Q01DE
                  MOV   28H,08H
                  LJMP  Q0447
;===========================================
Q042F:             MOV   R4,31H
                  MOV   R5,32H
                  MOV   R6,#0FH
                  MOV   R7,#27H
                  ACALL Q0040
                  JZ    Q043E
                  LJMP  Q0447
10454
xlian
文章数:3235
年度积分:94
历史总积分:10454
注册时间:2002/5/7
发站内信
2018论坛热心网友
西门子PLC体验(二)
发表于:2005/11/30 21:55:00
#4楼

Q043E:             MOV   26H,#6FH
                  MOV   27H,#6FH
                  MOV   28H,#6FH
Q0447:             ACALL Q044A
                  RET
;===========================================
Q044A:             MOV   C,20H.5
                  MOV   20H.4,C
                  JC    Q0453
                  LJMP  Q045F
;===========================================
Q0453:             MOV   P0,#00H
                  CLR   P2.7
                  CLR   P2.6
                  CLR   P2.5
                  LJMP  Q0484
;===========================================
Q045F:             SETB  P2.7
                  MOV   P1,26H
                  MOV   A,#02H
                  ACALL Q0063
                  CLR   P2.7
                  SETB  P2.6
                  MOV   P1,27H
                  MOV   A,#02H
                  ACALL Q0063
                  CLR   P2.6
                  SETB  P2.5
                  MOV   P1,28H
                  MOV   A,#02H
                  ACALL Q0063
                  CLR   P2.5
                  MOV   A,#01H
                  ACALL Q0063
Q0484:             RET
;===========================================
Q0485:             MOV   2BH,#00H
                  MOV   2CH,#00H
                  MOV   A,P0
                  ANL   A,#0FH
                  MOV   B,#64H
                  MUL   AB
                  MOV   2BH,A
                  MOV   2CH,B
                  MOV   A,P0
                  ANL   A,#F0H
                  SWAP  A
                  CLR   CY
                  MOV   B,#0AH
                  MUL   AB
                  ADD   A,2BH
                  MOV   2BH,A
                  MOV   A,B
                  ADDC  A,2CH
                  MOV   2CH,A
                  CLR   CY
                  MOV   A,P2
                  ANL   A,#0FH
                  ADD   A,2BH
                  MOV   2BH,A
                  MOV   A,#00H
                  ADDC  A,2CH
                  MOV   2CH,A
                  MOV   37H,2BH
                  MOV   38H,2CH
                  MOV   39H,#00H
                  MOV   3AH,#00H
                  MOV   08H,#3AH
                  MOV   09H,#01H
                  MOV   0AH,#00H
                  MOV   0BH,#00H
                  MOV   0CH,37H
                  MOV   0DH,38H
                  MOV   0EH,39H
                  MOV   0FH,3AH
                  MOV   R0,#08H
                  MOV   R1,#0CH
                  MOV   R2,#04H
                  ACALL Q0080
                  MOV   37H,10H
                  MOV   38H,11H
                  MOV   39H,12H
                  MOV   3AH,13H
                  MOV   08H,#64H
                  MOV   09H,#00H
                  MOV   0AH,#00H
                  MOV   0BH,#00H
                  MOV   10H,37H
                  MOV   11H,38H
                  MOV   12H,39H
                  MOV   13H,3AH
                  MOV   R2,#04H
                  ACALL Q00B4
                  JNB   F0,Q0519
                  MOV   R0,#10H
                  LCALL Q012F
Q0519:             MOV   37H,10H
                  MOV   38H,11H
                  MOV   39H,12H
                  MOV   3AH,13H
                  RET
;===========================================
Q0526:             CLR   TR0
                  CLR   TR1
                  CLR   EA
                  PUSH  A
                  PUSH  PSW
                  CLR   TF0
                  MOV   2FH,2DH
                  MOV   30H,2EH
                  MOV   2DH,#00H
                  MOV   2EH,#00H
                  MOV   TH1,#FCH
                  MOV   TL1,#18H
                  MOV   TH0,#FFH
                  MOV   TL0,#16H
                  MOV   21H,#00H
                  MOV   29H,#00H
                  MOV   2AH,#00H
                  CLR   20H.5
                  POP   PSW
                  POP   ACC
                  SETB  EA
                  SETB  TR1
                  SETB  TR0
                  RETI
;===========================================
Q0560:             PUSH  A
                  PUSH  PSW
                  MOV   TH1,#FCH
                  MOV   TL1,#18H
                  CLR   CY
                  MOV   A,2DH
                  ADD   A,#01H
                  MOV   2DH,A
                  CLR   A
                  ADDC  A,2EH
                  MOV   2EH,A
                  INC   21H
                  POP   PSW
                  POP   ACC
                  RETI
;===========================================
Q057E: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;?.[Ofm}.
DB 7FH,6FH ;o
;===========================================
1016
shellin
文章数:66
年度积分:50
历史总积分:1016
注册时间:2005/10/22
发站内信
发表于:2005/12/3 11:32:00
#5楼
怎么不给个注释啊?
这么长仔细看好费劲哦!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

140.4009