打印

89C55定时器0进不了中断

[复制链接]
2112|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
EthanSybil|  楼主 | 2008-3-4 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在使用89c55定时器0,各控制信号完好,可是怎么进不了中断啊
TMOD=0x11; /*  0001,0001  工作方式1  16位计数结构 */
TH0=0x3c;  
TL0=0xb0;  /*  定时50ms *
ET0=1;
EA=1;
counter = 0;
TR0=1;
while(counter<2)   P13=!P13;  
TR0=0; P13=0;

中断服务程序
void Timer0_int(void) interrupt 1 using 2
{
     counter = counter+1;
     TH0=0x3c;   TL0=0xb0;  
     return;
}  
程序应该进入两次中断后就跳出,结果P13一直输出方波,不知道是什么问题,急啊 

相关帖子

沙发
ayb_ice| | 2008-3-4 17:05 | 只看该作者

中断编号应该是1

使用特权

评论回复
板凳
EthanSybil|  楼主 | 2008-3-4 17:10 | 只看该作者

89C55定时器0进不了中断

是1啊void Timer0_int(void) interrupt 1 using 2

使用特权

评论回复
地板
EthanSybil|  楼主 | 2008-3-4 17:15 | 只看该作者

89C55定时器0进不了中断

附:软件仿真的时候可以可以进入,烧到片子里就不行,输出方波
    烧录应该没问题,因为程序的其他部分是好的

使用特权

评论回复
5
EthanSybil|  楼主 | 2008-3-4 21:42 | 只看该作者

89C55定时器0进不了中断

大伙帮帮忙,急啊

使用特权

评论回复
6
cly1005| | 2008-3-4 23:14 | 只看该作者

估计是main()没while(1) {}

在TR0=0; P13=0;后加个
while(1); 试试

使用特权

评论回复
7
EthanSybil|  楼主 | 2008-3-5 21:45 | 只看该作者

定时器0进不了中断

今天又改程序了,还是不行,晕啊!

使用特权

评论回复
8
hotpower| | 2008-3-5 21:47 | 只看该作者

哈哈~~~从来没听说51还进不了定时中断的~~~

使用特权

评论回复
9
EthanSybil|  楼主 | 2008-3-6 08:47 | 只看该作者

89C55定时器0进不了中断

从来没遇到

使用特权

评论回复
10
EthanSybil|  楼主 | 2008-3-6 15:11 | 只看该作者

89C55定时器0进不了中断

现在的问题是P13不应该输出方波,可是输出方波了

使用特权

评论回复
11
ayb_ice| | 2008-3-6 18:58 | 只看该作者

无语了

使用特权

评论回复
12
EthanSybil|  楼主 | 2008-3-7 10:19 | 只看该作者

89C55定时器0进不了中断

会跟编程器有关系么?

使用特权

评论回复
13
EthanSybil|  楼主 | 2008-3-8 11:12 | 只看该作者

89C55定时器0进不了中断

今天拿仿真器试了,一点问题没有。可是一烧到片子里,定时器那一块就是有问题啊

使用特权

评论回复
14
EthanSybil|  楼主 | 2008-3-8 11:17 | 只看该作者

89C55定时器0进不了中断

程序已经改到最简单了,P16有输出,P14没有啊
main()
{  
        EA=0;
        TR0=0;     /*  定时器0 运行控制    关闭 */
        TR1=0;     /*  定时器1 运行控制    关闭 */
    ET0=1;     /*  定时器0 中断允许 */  
    TMOD=0x11; /*  0001,0001  工作方式1  16位计数结构 */
    TH0=0x3c;  
    TL0=0xb0;  /*  定时50ms */
    EA=1;/* enable all interrupts */
    TR0=1;
 while(1)
   { 
        P16=!P16;
       
   }
 
}

 

void Timer0_int(void) interrupt 1
{
     TR0=0;
     P14=!P14; 
     TH0=0x3c;  
     TL0=0xb0;  /* 定时50ms */
     TR0=1;
     return;
}

使用特权

评论回复
15
xwj| | 2008-3-8 11:50 | 只看该作者

没问题啊,看看是不是你的IO接错了或坏了

LZ,
你不会用Keil的软件仿真吗?

使用特权

评论回复
16
EthanSybil|  楼主 | 2008-3-13 08:01 | 只看该作者

没问题啊,看看是不是你的IO接错了或坏了

问题找到了,是IO的问题,谢17楼!

使用特权

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

本版积分规则

6

主题

22

帖子

0

粉丝