PIC16F676只有64個字節的RAM,比傳統8051的128個字節還少
而且,PIC16F676只有8級的硬件堆棧,不知道你對硬件堆棧了解與否?
如果不了解,那就告訴你幾個要注意的點
1,函數可以多,但盡量少在函數中調用函數,而你調用的函數中又有調用其它函數的情況
2,中斷函數只做一些必需要做的操作,只要能在主函數做的事情,不要在中斷中進行,中斷函數只做清除中斷標志位,或者置位某個標志,用于告訴主程序:這個中斷被觸發了
我沒有認真看這個單片機的數據手冊,不知道有沒有堆棧滿復位功能,如果有,那就使能這個功能,你程序運行后不斷復位的,就說明你的代碼不行 |