0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

单片机

MPLAB编译出现诡异现象 基于8位PIC单片机

基于pic16f877A单片机,用MPLAB编写。编写的子程序(延时程序或者空语句),不管主程序有没有调用,都会出现程序跑飞的现象(端口呈高阻抗状态),软件仿真不断报错(PIC16 CORE PC=0x000E.stack underflow executing RETFIE instrucion.),实际搭建的硬件电路板也不工作。而将子程序屏蔽掉后,中断工作正常(B端口闪烁)。同样若将中断屏蔽掉,也正常。1,如果说是因为现场保护没做好的问题,但在没有调用的情况下,程序也不应该跑飞才对,2,或者说还是编译器本身出现了未知问题需要重装软件? 

贴出简化后源程序如下

#include

#define uchar unsigned char

#define uint  unsigned int

#define LED0 RB0

#define LED1 RB1

#define LED2 RB2

#define LED3 RB3

#define LED4 RB4

#define LED5 RB5

#define LED6 RB6

__CONFIG(XT&WDTDIS&LVPDIS);

/*************函数声明**************************/

void INITIAL(void);

void interrupt aiie(void);

/*

void INITIAL()

{       

        ;       

}       

*/

void main()   

{   

       

        TRISB=0x00;       //RB设置为输出

    TRISD=0x00;       //RD设置为输出

        PORTD=0xff;       //初始化为高  

        TMR1L=0;

        TMR1H=0;

        PORTB=0xff;       //初始化为高

    OPTION=0B10000101;//TIMERO        对内部时钟计数,预分频64

        INTCON=0B10100000;//运行TMR0溢出中断

    while(1);

}

void interrupt  aiie(void)

{

   T0IF=0;TMR0=0;PORTB=~PORTB;

   

}

提问者:2016李勇 地点:- 浏览次数:6837 提问时间:10-26 09:26
我有更好的答案
提 交
1条回答
wzx_1995 05-21 16:34 回答数:0 被采纳数:0
下载了MAPLAB  8.88 一切正常了。
撰写答案
提 交
1 / 3
1 / 3
相关单片机
具有音调控制的单片机立体声前置放大器
用于单片机与电子装置中的开关电源
单片机软硬件复位的条件都有啥
电动机的单片机控制
单片机应用系统开发实例导航