打印

义隆的程序,时间没到就退出了。

[复制链接]
1532|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hxdjb|  楼主 | 2009-3-16 16:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在这里P63是低电平  
0.98毫秒定时中断初始化
 (1)   disi              ;关中断
 (2)  bc rmark,t_over; 清定时溢出标志
 (3)  mov a,@200     ;
 (4)  mov tcc,a     ; 赋初值
 (5)  eni         ;开中断
      wlow:
 (6)  jbc rmark,t_over  ;定时中断查询
 (7)  jmp exit    ;退出
 (8)  jbc p6,3       ;P63状态查询,等待变低。
 (9)  jmp wlow 
 (10) bc  p6,2
 (11)  jmp $ 
  中断处理
INTP:
   wdtc;
   mov  temp_a,a
   swap temp_a
   swapa  status
   mov temp_s,a    
 intt:
   wdtc
   jbc  isr,0
   jmp  tccp
   jbs  isr,2
   jmp  exit
 exint:
   bc   isr,2    
   bs   rmark,0;
   jmp  exit
 tccp:
   bc  isr,0
   bs  rmark,t_over
 exit: 
   wdtc
   swapa temp_s
   mov status,a 
   swapa temp_a
   reti 
问题:中断初始化程序之前,测得P63是低电平
可是程序一运行,马上就执行第7条退出了,正常的应该是执行第10条。
我的定时器有0.98ms的时间哪。

       

相关帖子

沙发
hxdjb|  楼主 | 2009-3-16 17:56 | 只看该作者

我试了一下,无论P63的状态是高还是低,都会

执行第(7)条而退出,是我的定时初始化程序有问题吗?两天了,还没搞定,请高手指点一下,谢谢了!

使用特权

评论回复
板凳
谈的元| | 2009-3-16 23:28 | 只看该作者

不够具体

用断点测试,不要单步测试。

关闭WDT测试

说说你怎么判断的(从7退出)

使用特权

评论回复
地板
hxdjb|  楼主 | 2009-3-17 11:06 | 只看该作者

WDT是关闭的,在EXIT处设置个标志就知道了,

使用特权

评论回复
5
hxdjb|  楼主 | 2009-3-17 11:11 | 只看该作者

我人为的在定时初始化程序前,把P63设成低电位

正常的应该走到第(10),可是发生定时溢出而退出。

使用特权

评论回复
6
hxdjb|  楼主 | 2009-3-17 17:01 | 只看该作者

第(8)条指令改成JBS P6,3也是一样的,也就是说

P63无论高低都会检测到定时时间到而退出,怎么可能,如果P63是高,跳到wlow等待,但如果是低就应该跳到(11)。按道理JBC P6,3 不行,那么改成JBS P6,3总该跳到(11)吧。P6,3的状态不可能是不高不低吧。

使用特权

评论回复
7
hxdjb|  楼主 | 2009-3-18 10:22 | 只看该作者

哪位高人看看呐

使用特权

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

本版积分规则

131

主题

242

帖子

2

粉丝