打印

怎么实现倒计时

[复制链接]
2552|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jack.king|  楼主 | 2007-5-15 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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 

使用特权

评论回复
5
xigang230| | 2007-5-22 10:52 | 只看该作者

单片机爱好者

我现在一家电子公司开发单片机,希望各位多多帮助,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

488

主题

2158

帖子

1

粉丝