找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3112|回复: 3
收起左侧

51单片机24秒倒计时错误查找

[复制链接]
ID:373573 发表于 2018-7-17 19:31 | 显示全部楼层 |阅读模式
           这是一个51单片机24秒倒计时的程序,但是其中有一个错误,哪位大神能够帮忙找到

ORG 0000H
SJMP MAIN
ORG 000BH
LJMP T0_ISR
ORG 0030H  
MAIN: MOV P0,#3FH     ;初始化赋值      
      MOV P1,#0FFH      
   MOV P2,#3FH      
   MOV R0,#00H      
   MOV R1,#24      
   MOV DPTR,#TAB
KEY: JB  P3.0,$        ;判断启动键是否按下      
     ACALL DELAY30MS      
  JNB P3.0,$      
  ACALL START      
  SJMP KEY ;
START: MOV  TMOD,#01H     ;启动程序        
       MOV  TH0,#0D8H      
    MOV  TL0,#0EFH        
    SETB  ET0        
    SETB  EA        
    SETB  TR0  
   
STOP:  JB P3.2,ZTJX           ;判断复位键是否程序        
       ACALL  DELAY30MS        
    JNB  P3.2,$        
    SJMP MAIN      ;复位程序
ZTJX : JB  P3.1,XS           ;判断暂停键是否按下        
       ACALL  DELAY30MS        
    JNB  P3.1,$
ZT:    CLR TR0            ;K2按下后暂停计数,并关中断        
       CLR ET0        
    CLR EA        
    JB P3.1,$          ;K2再次按下继续计数        
    ACALL  DELAY30MS        
    JNB P3.1,$  
   
JX:  SETB ET0              ;第二次按下暂停键后继续倒计时(继续启动)      
     SETB EA      
  SETB TR0
XS:  MOV A,R1             ;显示子程序      
     MOV B,#10        
  DIV AB      
  MOVC A, @A+DPTR      
  MOV  P0,A             ;  显示秒十位      
  MOV A,B      
  MOVC A, @A+DPTR      
  MOV P2,A               ;显示秒个位      
  CJNE R0,#100,STOP  ;1S时间到否,未到直接转数码管显示      
  MOV R0,#00H        ;1S时间到,R0重赋初值      
  MOV A,R1           ;R1减1,不为0转数码管显示,为0则重新开始      
  CLR C      
  SUBB A,#1      
  MOV R1,A      
  JNC STOP          ;计数未到0继续判断暂停键和停止键      
  MOV R1,#24        ;计数到0停止计数并关中断,      
  CLR ET0      
  CLR  EA      
  CLR  TR0         
  SJMP  SND             ;跳到报警程序      
  SJMP KEY              ;  跳回开始检测启动键      
  RET
DELAY30MS: MOV R6,#150       ;延时程序子程序      
     AAA:  MOV R7,#100            
  DJNZ R7,$            
  DJNZ R6,AAA            
  RET              
  
T0_ISR:   CLR TR0          ;中断程序子程序           
          MOV TH0,#0D8H           
          MOV TL0,#0EFH           
    INC R0           
    SETB TR0           
    RETI              
   
SND:  CLR P1.0           ;报警程序子程序(红色发光二极管亮一下就灭)      
      MOV R7,#0FFH   
DL: MOV R6,#0FFH   
DL1: DJNZ R6,DL1      
     DJNZ R7,DL      
  SETB P1.0      
  RET   
  
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH      
     END



compiling Text3.C...
TEXT3.C(1): error C129: missing ';' before '0000'
Text3.C - 1 Error(s), 0 Warning(s).

这是一个51单片机24秒倒计时的程序,但是其中有一个错误,哪位大神能够帮忙找到

回复

使用道具 举报

ID:367369 发表于 2018-7-18 10:40 | 显示全部楼层
compiling Text3.C...
TEXT3.C(1): error C129: missing ';' before '0000'
Text3.C - 1 Error(s), 0 Warning(s).

129行少了个:号........
回复

使用道具 举报

ID:372402 发表于 2018-7-18 17:29 | 显示全部楼层
可以在Keil里面编译一下,看提示错误信息是什么,这样容易找到问题点在那方便修改。
回复

使用道具 举报

ID:155507 发表于 2018-7-18 17:45 | 显示全部楼层
做纯汇编工程,你要用.asm文件, 不能用.c文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表