标题: 各位来帮帮忙 ,帮看看这个程序,为什么定时不是一秒 ,自己写的感觉应该改没问题啊 [打印本页]

作者: UCR    时间: 2012-12-15 17:19
标题: 各位来帮帮忙 ,帮看看这个程序,为什么定时不是一秒 ,自己写的感觉应该改没问题啊

 

这个晶振是6MHz

ORG 0000H
LJMP MAIN
ORG 001BH
LJMP ZD
ORG 0030H
MAIN: MOV SP,#60H
      MOV TMOD,#10H
      MOV TH1, #3CH
   MOV TL1, #0B0H
   MOV R0,#00H
   MOV R2,#10  
   SETB EA
   SETB ET1
   SETB TR1
   SJMP $
ZD:   PUSH ACC
      PUSH PSW
   PUSH DPL
   PUSH DPH
      DJNZ R2,RETURN  
   MOV A,R0
   MOV DPTR,#TAB
   MOVC A,@A+DPTR
   MOV P1,A
   INC R0
   CJNE R0,#8,RETURN1
   MOV R0,#00H
RETURN1:MOV R2,#10
       
RETURN:MOV TH1,#3CH
    MOV TH1,#0B0H
    POP DPH
    POP DPL
       POP PSW     
    POP ACC
    RETI 
TAB:DB 0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFH;
    END

 


作者: UCR    时间: 2012-12-15 23:09
怎么没人啊啊
作者: ahshmj    时间: 2012-12-16 12:32

这一段有点乱:

“ DJNZ R2,RETURN  
   MOV A,R0
   MOV DPTR,#TAB
   MOVC A,@A+DPTR
   MOV P1,A
   INC R0
   CJNE R0,#8,RETURN1
   MOV R0,#00H
RETURN1:MOV R2,#10”

看不懂你的意图(扫描方式动态、每秒一次?静态?),但是R2的重装初值的位置不对,应如下:

“ DJNZ R2,RETURN 

    MOV R2,#10 
    MOV A,R0
    MOV DPTR,#TAB
    MOVC A,@A+DPTR
    MOV P1,A
    INC R0
    CJNE R0,#8,RETURN1
    MOV R0,#00H ”
RETURN1:


作者: UCR    时间: 2012-12-18 21:46

找到错误了,就是那个RETURN:MOV TH1,#3CH
                                         MOV TH1,#0B0H

给T1赋初值,弄错了,全写成TH1了 。  晕死了...






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1