导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:问题出在哪里?请老师们指教

* 11561: 初学者:问题出在哪里?请老师们指教

   miaoyalin 
miaoyalin发表的帖子 

 初学者:问题出在哪里?请老师们指教
我在用89C51做一个时钟的实验时,在实验板上运行时,每分钟的时间要慢5秒左右,30H是分钟的个
位,31H是分钟的十位,32H是小时的个位,33H是小时的十位,晶振为6MHZ,按照定时时间来算这几
句应该是不要的inc 21h
    mov a,21h
    cjne a,#10,toreti
    mov 21h,#0
但是不要的话时间都少了一个数量级,但加上去的话每分钟还是要慢5秒左右,真是不知问题出在
哪儿,请老师们指点,谢谢!!
        ORG  0000H          ;程序入口地址
          AJMP MAIN
          ORG  000BH
          AJMP WT0 
          ORG  20H         

main:mov sp,#40h
     mov 20h,#0
     mov 21h,#0
     mov 22h,#0
     mov 30h,#0
     mov 31h,#0
     mov 32h,#2
     mov 33h,#1
     mov th0,#0f8h
     mov tl0,#30h
     mov tmod,#01h
     clr p2.4
     setb ea
     setb et0
     setb tr0
     setb it0
     setb ex0
pk1:jb p2.0,pk2  ;小时设定
    jnb p2.0,pk1
    inc 32h
    mov a,33h
    mov b,#10
    mul ab
    add a,32h
    cjne a,#24,dd1
    mov 32h,#0
    mov 33h,#0
dd1:mov a,32h
    cjne a,#10,pk2
    mov 32h,#0
    inc 33h
pk2:jb p2.1,pk1   ;分钟设定
    jnb p2.1,pk2
    inc 30h
    mov a,31h
    mov b,#10
    mul ab
    add a,30h
    cjne a,#60,dd2
    mov 30h,#0
    mov 31h,#0
dd2:mov a,30h
    cjne a,#10,pk1
    mov 30h,#0
    inc 31h
    ajmp pk1


WT0:push acc
    push psw
    mov th0,#0f8h
    mov tl0,#30h  ;50ms
    inc 20h
    mov a,20h
    cjne a,#250,toreti  ;1s
    mov 20h,#0
    inc 21h
    mov a,21h
    cjne a,#10,toreti    ;????
    mov 21h,#0
    inc 22h
    mov a,22h
    cjne a,#60,toreti
    mov 22h,#0
    inc 30h          ;分钟个位
    mov a,30h
    cjne a,#10,toreti
    mov 30h,#0
    inc 31h
    mov a,31h
    cjne a,#6,toreti
    mov 31h,#0
    inc 32h
    mov a,33h
    mov b,#10
    mul ab
    add a,32h
    cjne a,#24,el0
    mov 32h,#0
    mov 33h,#0
    ajmp toreti
el0:mov a,32h
    cjne a,#10,toreti
    mov 32h,#0
    inc 33h
toreti:acall led 
       pop psw
       pop acc
       reti
led:   mov r7,#0fh    ;显示程序
       mov r0,#30h
       mov DPTR,#TAB
       mov a,@r0
       movc a,@a+DPTR
     mov p1,a
     clr p3.0
     djnz r7,$
     mov r7,#0fh
     inc r0
     setb p3.0
     mov a,@r0
     movc a,@a+DPTR
     mov p1,a
     clr p3.1
     djnz r7,$
     mov r7,#0fh
     inc r0
     setb p3.1
     mov a,@r0
     movc a,@a+DPTR
     mov p1,a
     clr p3.2
     djnz r7,$
     mov r7,#0fh
     inc r0
     setb p3.2
     mov a,@r0
     movc a,@a+DPTR
     mov p1,a
     clr p3.3
     djnz r7,$
     setb p3.3
     ret


TAB:    DB 0C0H,0F9H,0A4H,0B0H,99H
        DB 92H,82H,0F8H,80H,90H  
     end



发表时间:2002年9月27日0:39:00

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  11562.[详细]你可调tm0的时间常数
摘要:你可调tm0的时间常数,也可调21h......(18字)
- [lingl2][865次] 2002年9月27日

[上一篇帖子]:你可调tm0的时间常数你可调tm0的时间常数,也可调21h
[下一篇帖子]:浮充电以恒压为主,一般为13.6V,指12V电瓶,强充电以恒流为主,1/10C,C指电瓶容量.充电1