打印
[疑难问答]

计时器

[复制链接]
1445|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yidou|  楼主 | 2010-5-17 12:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想设计一个计时器,计时器即使过程中若按一个键则计时停止,再按一个键则计时又重新开始。有高手帮忙吗?我设计的程序,怎么计时停止后在按键也不动了,所以请高手帮忙!
沙发
yidou|  楼主 | 2010-5-17 12:40 | 只看该作者
LEDBUF EQU 30H ;显示码缓存区
HOUR   EQU 40H
MINUTE EQU 41H
SECOND EQU 42H
C100US EQU 43H
TICK   EQU 10000 ;置中断次数
T100US EQU 256-100 ;置定时器初值
LJMP START  ;跳转到主程序

ORG 0003H
LJMP DISPLYLED
RETI

ORG 000BH  ;定时器0中断入口
TOINT: PUSH PSW  ;状态保护
      PUSH ACC
      MOV A,C100US+1
      JNZ GOOD  ;计数值是否为0
      DEC C100US
GOOD: DEC C100US+1
   MOV A,C100US
   ORL A,C100US+1
   JNZ EXIT
   MOV C100US,#HIGH(TICK) ;重置计数值
   MOV C100US+1,#LOW(TICK)
   INC SECOND       ;秒加一
   MOV A,SECOND   
   CJNE A,#60,EXIT    ;判断秒针是否为60
   MOV SECOND,#0
   INC MINUTE
   MOV A,MINUTE
   CJNE A,#60,EXIT
   MOV MINUTE,#0
   INC HOUR
   MOV A,HOUR
   CJNE A,#24,EXIT
   MOV HOUR,#0
EXIT: POP ACC
   POP PSW
   RETI

DELAY:        ;  延时子程序
   MOV R7,#0FEH
DELAYLOOP:
   DJNZ R7,DELAYLOOP
   DJNZ R6,DELAYLOOP   ;  R6是否有错,是否应改为R7?
   RET


LEDMAP:      ;数码管显示码
  DB 3FH,06H,5BH,4FH
  DB 66H,6DH,7DH,07H
  DB 7FH,6FH,77H,7CH
  DB 39H,5EH,79H,71H


这是我写的程序,怎么实现计时停止?高手赐教!

使用特权

评论回复
板凳
寂寞男孩| | 2010-5-17 21:18 | 只看该作者
不懂汇编,不过可以大概的讲一下实现的思路,这需要设定两个按键中断,用中断实现就可以了

使用特权

评论回复
地板
yidou|  楼主 | 2010-6-2 22:07 | 只看该作者
3# 寂寞男孩
OK,十分感谢了

使用特权

评论回复
5
xiaohuai| | 2010-6-5 22:41 | 只看该作者
还是用C实现中断容易

使用特权

评论回复
6
xiaomifan| | 2010-6-6 22:42 | 只看该作者
又是汇编:L,头疼!

使用特权

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

本版积分规则

0

主题

391

帖子

1

粉丝