找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3130|回复: 6
收起左侧

请问为什么没有进入定时器中断呢?

[复制链接]
ID:281638 发表于 2018-2-2 10:11 | 显示全部楼层 |阅读模式
程序如下:
ORG    0000H
LJMP    SET1
ORG    000BH
LJMP    START0
ORG    0013H
LJMP    START1

ORG    1000H
SET1:                    
        SETB    ET0
        SETB    ET1
        MOV    TMOD,#11H
        MOV    TH0,#3CH
        MOV    TL0,#0B0H
        MOV    TH1,#0FCH
        MOV    TL1,#18H
        SETB    EA
        SETB    TR0
        SETB    TR1
LOOP:    SJMP    $

START0:   
        CLR    TR0
        CLR    TR1
        CLR    ET1
        CLR    ET0
        RETI

START1:                    
        CLR    TR1
        CLR    TR0
        CLR    ET0
        CLR    ET1
        RETI
END


在keil里运行后却发现无论TR0、TR1、ET1、ET0都不为0,是没有进入中断还是RETI返回错误?如果没有进入中断为什么没有进入中断?
回复

使用道具 举报

ID:7485 发表于 2018-2-2 17:19 | 显示全部楼层
你进入中断以后,把定时器关闭了(TR0、TR1),中断也关闭了,当然不会再次进入中断了。
这是你的程序语句:
        CLR    TR1      停止运行T1
        CLR    TR0     
        CLR    ET0      关闭中断
        CLR    ET1

你的初始化程序也有问题,“ORG    0013H”是外部中断1的入口,估计应该是“ORG    001BH”,否则T1产生中断后就死掉了。
另外你的程序的入口放到1000H是为什么?单对常见的有设置在30H、100H、300H的,放到1000H的没见过,看不出你是什么单片机,如果是at89s51刚刚好是最末一个字节。程序没发烧写。
回复

使用道具 举报

ID:7485 发表于 2018-2-2 17:22 | 显示全部楼层
另外你的中断程序里面没有其他任何操作,即便能正确产生中断,你也什么都看不出来。即便是个实验程序,也要有声或光的变化,以便观察是否达到预期。
回复

使用道具 举报

ID:282046 发表于 2018-2-4 13:06 来自触屏版 | 显示全部楼层
有没有进入定时器试一下就知道了
回复

使用道具 举报

ID:281638 发表于 2018-2-4 18:42 | 显示全部楼层
ahshmj 发表于 2018-2-2 17:22
另外你的中断程序里面没有其他任何操作,即便能正确产生中断,你也什么都看不出来。即便是个实验程序,也要 ...

因为在模拟器中运行的,所以可以看到TR1和TR0的状态,我看了一下结果不为0
回复

使用道具 举报

ID:281638 发表于 2018-2-4 18:48 | 显示全部楼层
ahshmj 发表于 2018-2-2 17:19
你进入中断以后,把定时器关闭了(TR0、TR1),中断也关闭了,当然不会再次进入中断了。
这是你的程序语句 ...

以前在学校用的是intel51,现在用了c8051f340,然后熟悉过程中发现这个问题,在模拟器中可以看到TR1和TR0的状态,运行后看到TR1,TR0还是1,没有变为0,0013是复制错了,复制的这段是刚开始打的
回复

使用道具 举报

ID:281638 发表于 2018-2-5 12:12 | 显示全部楼层
ahshmj 发表于 2018-2-2 17:22
另外你的中断程序里面没有其他任何操作,即便能正确产生中断,你也什么都看不出来。即便是个实验程序,也要 ...

我换了一下初始化的顺序就可以了,先设定了TH和TL,然后依次是tmod、et、tcon,请问这是为什么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表