哪位大侠帮忙看下这个程序怎么翻译不出来呀,要怎么修改

2019-07-18 14:08发布

本帖最后由 JNV小陈子 于 2012-7-15 23:20 编辑





OBUF1 EQU 30H ;初始化程序
  OBUF2 EQU 31H
  OBUF3 EQU 32H
  OBUF4 EQU 33H
  FLAGB BIT 00H
  STOPB BIT 01H
    ORG 0000H
    AJMP MAIN
    ORG 000BH
       LJMP PGT0
  MAIN:MOV SP, #60H
    SETB P2.0
    MOV P1,#11111111B
  LOOP:JB P2.0,$             ;判断主持人按键是否按下
    MOV P1,#11111110B
    MOV P3,#11111111B     ;绿灯亮
  LOOP1:JB P2.1,LOOP2        ;判断一号是否抢答
     MOV P1,#11111101B
     MOV P3,#11101011B    ;显示一号
     ACALL MAIN1
   JB P2.0,$
       MOV  P2,#0FFH
    MOV P1,#11111111B
       MOV P3,#11111111B
       ACALL DELAY
    AJMP LOOP
  LOOP2:JB P2.2,LOOP3;       ;判断二号是否抢答
     MOV P1,#11111011B
     MOV P3,#10000101B    ;显示二号
     ACALL MAIN1
  JB P2.0,$
     MOV P1,#11111111B
        MOV P3,#11111111B
        ACALL DELAY
     AJMP LOOP
  LOOP3:JB P2.3,LOOP4;       ;判断三号是否抢答
     MOV P1,#11110111B
     MOV P3,#11000001B    ;显示三号
     ACALL MAIN1
  JB P2.0,$
     MOV P1,#11111111B
        ACALL DELAY
     AJMP LOOP            ;判断四号是否抢答
  LOOP4:JB P2.4,LOOP1;
     MOV P1,#11101111B
     MOV P3,#11101000B    ;显示四号
     ACALL MAIN1
  JB P2.0,$
     MOV P1,#11111111B
        MOV P3,#11111111B
        ACALL DELAY
     AJMP LOOP
  DELAY:MOV TMOD,#10H        ;延时程序
        MOV TL1,#0DCH
     MOV TH1,#0BH
     MOV R2,#4
     SETB  TR1
   LOP:JNB   TF1,$
        MOV  TL0,#0DCH
     MOV  TH0,#0BH
         CLR  TF1
        DJNZ  R2,LOP
        CLR  TR1
        RET
  MAIN1:
        MOV TMOD,#02H        ;定时器初始化
        MOV TH0,#06H
        MOV TL0,#06H
        SETB ET0             ;启动定时器T0
     SETB EA              ;启动总中断
  MAIN2: ;主程序
        LCALL YS10M          ;延时去抖动
        SETB TR0             ;按钮有效
        MOV OBUF1,#00H
        MOV OBUF2,#00H
        MOV OBUF3,#00H
        MOV OBUF4,#00H
        CLR FLAGB
        CLR STOPB
        JNB STOPB,$
  YS10M:                     ;10ms延时子程序
        MOV R6,#20
  D1: MOV R7,#248
      DJNZ R7,$
      DJNZ R6,D1
      RET
  PGT0:                      ;定时器T0中断服务程序
       INC OBUF3             ;中断服务程序中发出一声"叮咚"响声
       MOV A,OBUF3
       CJNE A,#60,NEXT
       MOV OBUF3,#00H
       INC OBUF4
       MOV A,OBUF4
       CJNE A,#20,NEXT
       MOV OBUF4,#00H
       JB FLAGB,PGSTP
       CPL FLAGB
       AJMP NEXT
  PGSTP:
        SETB STOPB
        CLR TR0
        LJMP INT0RET
  NEXT:JB FLAGB,SOU2
       INC OBUF2
       MOV A,OBUF2
       CJNE A,#03H,INT0RET
       MOV OBUF2,#00H
       CPL P3.7
       LJMP INT0RET
  SOU2:INC OBUF1
       MOV A,OBUF1
       JNE A,#04H,INT0RET
       MOV OBUF1,#00H
       CPL P3.7
       LJMP INT0RET
  INT0RET:
       REti
       RET
       END
错误显示 错误显示
程序.txt 下载积分: 积分 -1 分
2.96 KB, 下载次数: 10, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。