akzhangchao 发表于 2008-5-31 13:15:21

跪求高人,能修改此程序在Keil C开发系统上测试不发生错误。。。。重谢

ORG 0000H
      AJMP MAIN
      ORG 0003H
      AJMP INT0
      ORG 0013H
      AJMP INT1
      ORG 0030H
  MAIN: ACALL LOOP1
      ACALL DEL1
      SETB P1.0
      SETB P1.1
      CLR P1.7
      MOV A,20H
      CJNE A,#a,PB0
      SETB P0.1
      SJMP FH
  PB0: JNC TD0
      MOV R4,#05H
            SETB P0.0
      SETB P1.6
    TD0: CJNE A,#b,TD1
      SETB P0.4
      SJMP FH
  TD1: CJNE A,#c,TD2
      SETB P0.5
      SJMP FH
  TD2: CJNE A,#d,TD3
      SETB P0.6
      SJMP FH
  PB: SETB P0.5
      SJMP FH
  

ORG 0050H
  LOOP1:MOV R0,#30H
      MOV DPTR,#TABLE
      CLR P1.1
      SETB P1.7
      SETB P1.0
      ACALL LOOP2
      ACALL DEL1
      SETB P1.1
      CLR P1.0
      INC R0
      ACALL LOOP2
      RET
      ORG 0070H
  LOOP2: MOV A,@R0
      MOVC A,@A+DPTR
  TABLE: DB 3FH,06H,5BH,4FH,66H
      DB 6DH,7DH,07H,7FH,6FH
      DB 77H,7CH,39H,5EH,79H
      DB 71H,00H
      MOV P0,A
      RET


  ORG 0090H
DEL1: MOV R6,#0F9H
  LOOP3: DJNZ R6,LOOP3
      RET
  FH: MOV A,31H
      RL A
      ADD A,30H
      CJNE A,#60H,PD0
      SJMP MAIN
 


ORG  0100H
  INT1: CLRTR0
      PUSH ACC
      MOV A,TH0
      CJNE A,61H,ZHYD2
      MOV A,TL0
      CJNE A,50H
      SJMP ZHYD3
 TO值的存放 ZHYD2:MOV A,TH0
      MOV 61H,A
      MOV A,TL0
      MOV 60H,A
      MOV 20H,#H
  ZHYD3:MOV TMOD,#51H
      MOV TH0,#00H
      MOV TL0,#00H
      MOV TH1,#00H
      MOV TL1,#00H
      SETB TR0
      SETB TR1
      POP ACC
      RET



      ORG 0200H
  INT0: CLR TR1
      MOV   SP,#30H   
      PUSH ACC
      MOV A,TH1
      CJNE A,51H,ZHYD0
      MOV A, TL1
      CJNE A,50H
      SJMP ZHDY1
      ZHYD0:MOV A,TH1
      MOV 51H,A
      MOV A,TL0
      MOV 50H,A
  LOOP: MOV B,#XXH
      MUL AB
      MOV A,#YYH
      CLR C
      SUBB A,B
      CJNE A,#6AH
  LOOP1:JNC LOOP2
      MOV R0,#00H
      CLR C

CHAN2:SUBB A,#0AH
      JC CHAN3
      INC R0
      SJMP CHAN2
      CHIN3: ADD A,#0AH   
      MOV 31H,R0
      MOV 30H,A
  ZHYD1:MOV TMOD,#15H
      MOV TH0,#00H
      MOV TL0,#00H
      MOV TH1,#00H
      MOV TL1,#00H
      SETB TR0
      SETB TR1
      SJMP LOOP3
  LOOP2:MOV 30H,0FH
      MOV 31H,0FH
      ACALL LOOP1
  LOOP3:POP ACC
      RETI

cpubbs 发表于 2008-6-3 10:59:40

哦,平时主要用C和CPUVIEW编单片机编程,汇编基本忘了,呵呵!:handshake 其他知道的朋友麻烦帮助一下这位朋友,谢谢!另外兄弟这里是CPUVIEW区,您可以发到CPU区C51下面比较易于问题解答,呵呵,回头我帮您移动过去!
页: [1]
查看完整版本: 跪求高人,能修改此程序在Keil C开发系统上测试不发生错误。。。。重谢