怎么实现倒计时

[复制链接]
3333|4
 楼主| jack.king 发表于 2007-5-15 22:53 | 显示全部楼层 |阅读模式


        怎么让数码管上显示.倒计时
         是不是只要把TAB里面的值倒过来就可以了吗?
conwh 发表于 2007-5-15 23:01 | 显示全部楼层

计数器减一

d1276 发表于 2007-5-16 08:04 | 显示全部楼层

你的问题条件太不充分了

ashaoxin 发表于 2007-5-17 11:47 | 显示全部楼层

我的倒记时程序

以下是一个60秒倒计时的程序,可以实现,我试过的!
你看看,行不行。    
ORG 0000H
      AJMP MAIN
    ORG 0030H
      N EQU 5FH               ;定义秒记数器单元,因60H~7FH定义为堆栈区
      BCD1 EQU 5EH            ;定义个位数缓冲单元
      BCD2 EQU 5DH            ;定义十位数缓冲单元
      CRTN1 EQU 5CH           ;定义个位显示码缓冲单元
      CRTN2 EQU 5BH           ;定义十位显示码缓冲单元
MAIN:   MOV SP,#60H           ;定义60H~70H为堆栈区
         MOV N,#60H           ;秒记数器初始位为60
         MOV P0,#82H         ;"60"的显示码0C0H送十位LED
         MOV P2,#0C0H
         
DELAY:  MOV R7,#4             ;秒延时
DL1:    MOV R6,#250
DL2:    MOV R5,#250
DL3:    NOP    
         NOP
         DJNZ R5,DL3
         JNB P3.2,MAIN3       ;每1ms检测一次P3.2引脚,若为低电平
                              ;则停止记时
         DJNZ R6,DL2
         DJNZ R7,DL1
         MOV A,N
         CJNE A,#0H,MAIN1     ;N秒计数器不等于0,转NBCD子程序
         SJMP MAIN
MAIN1:  ACALL NBCD            ;N秒计数器到且N值又不等于0时,(N)=(N)-1
         ACALL TBFLIN         ;BCD码转换成显示码
         ACALL DISPLAY        ;显示码送LED显示器
         AJMP DELAY           ;进入新的1S延时
MAIN2:  MOV BCD1,#0FH         ;N值为0时,显示"FF"
         MOV BCD2,#0FH
MAIN3:  ACALL TBFLIN
         SJMP MAIN3           
NBCD:    CLR AC
         CLR C
         MOV A,N              
         SUBB A,#1
         MOV  N,A  
         ANL A,#0FH
         CJNE A,#09H,LOOP1
         SJMP L1
LOOP1:   JC L1
     SUBB A,#06H
L1:      MOV BCD1,A           ;个位送BCD1
         MOV A,N
         SWAP A
         ANL A,#0FH
         MOV BCD2,A           ;十位送BCD2
         SWAP A
         ADD A,BCD1
         MOV N,A
         RET 
TBFLIN: MOV A,BCD1
         MOV DPTR,#DOT
         MOVC A,@A+DPTR
         MOV CRTN1,A
         MOV A,BCD2
         MOVC A,@A+DPTR
         MOV CRTN2,A
         RET
DOT:    DB 0C0H,0F9H,0A4H,0B0H ;0,1,2,3
     DB 99H,92H,82H,0F8H   ;4,5,6,7
     DB 80H,90H,40H,79H    ;8,9,A,B
     DB 24H,30H,86H,8EH    ;C,D,E,F
DISPLAY:MOV P2,CRTN1
     MOV P0,CRTN2
     RET
         END 

xigang230 发表于 2007-5-22 10:52 | 显示全部楼层

单片机爱好者

我现在一家电子公司开发单片机,希望各位多多帮助,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

488

主题

2158

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部