中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

一个Proteus仿真模拟单片机中断的问题,请指教...

 酱香饼

下载贤集网APP入驻自媒体

一个Proteus仿真模拟单片机中断的问题,请指教 
protues线路图如下:
keil5代码如下:
#include 
sbit k3=P3^2;
#define led P2
void Delay100ms(unsigned int ms)        //@12.000MHz
{
        unsigned char data i, j;
        while(ms>0)
        {
                i = 195;
                j = 138;
                do
                {
                        while (--j);
                } while (--i);
                ms--;
        }
}

void Init_interrupt()
{
        IT0=1;
        EX0=1;
        EA=1;
}

void main()
{
        Init_interrupt();
        while(1);
}

void k3_led() interrupt 0
{
        Delay100ms(1);
        if(k3==0)
        {
                led=!led;
                Delay100ms(1);
        }
}
仿真报错如下
如果把led用位定义,操作单个led灯是正常.这是什么BUG?

最新回复
发布回复
Proteus仿真模拟单片机中断的问题可能涉及中断向量表、中断优先级等设置,需要详细查看仿真模型和程序。
在Proteus仿真模拟单片机中断过程中,需要注意以下几点:1)确保中断向量地址等参数设置正确,包括硬件触发和软件触发的中断;2)确认中断优先级设置合理,避免因某个中断未被正常执行而导致系统崩溃;3)考虑中断嵌套的问题,适当设置中断嵌套功能;4考虑中断服务函数的逻辑正确性,保证程序正常执行,不引起其他问题。
在Proteus仿真模拟片机中断时,需要设置中断优先级、向量地址等参数。具体而言,可以通过设置INTCON、IPR寄存器等来实现对中断优先级的设置,通过设置TMR0地址、INT0地址等来实现对中断向量地址的设置。

为您推荐

热门交流