微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > C51定时器与中断序号不对应?

C51定时器与中断序号不对应?

时间:10-02 整理:3721RD 点击:

STC90C516RD+
开发板
main()程序中开定时器T0中断写的是:
        TMOD=0x01;
        TH0=0x3c;
        TL0=0xb0;
        EA=1;
        ET0=1;
        TR0=1;
中断函数写void T0_Timer() interrupt 1,程序正常执行,
中断函数写void T0_Timer() interrupt 3,程序也正常执行。
T0对应的中断号不是1吗?为什么写void T0_Timer() interrupt 3,程序也能正常执行?
谢谢。

你程序应该没有测试完整。interrupt 后面的数字是中断向量号,也就是说表明该中断是由什么引起的。  你测试完整应该会发现定时器的中断时间会错误。 看看单片机原理那本书,里面介绍了为什么对应中断要使用哪个号(数字),是有原因。 随意改变肯定对程序有影响。    当然,不排除编译器可能在这里有自动纠正,在编译的时候可能会自动修改。 毕竟中断向量号是固定了的。   

感谢回复,再去重新测试一下。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top