PIC16F676只有64个字节的RAM,比传统8051的128个字节还少
而且,PIC16F676只有8级的硬件堆栈,不知道你对硬件堆栈了解与否?
如果不了解,那就告诉你几个要注意的点
1,函数可以多,但尽量少在函数中调用函数,而你调用的函数中又有调用其它函数的情况
2,中断函数只做一些必需要做的操作,只要能在主函数做的事情,不要在中断中进行,中断函数只做清除中断标志位,或者置位某个标志,用于告诉主程序:这个中断被触发了
我没有认真看这个单片机的数据手册,不知道有没有堆栈满复位功能,如果有,那就使能这个功能,你程序运行后不断复位的,就说明你的代码不行 |