本帖最后由 daijiabin3 于 2016-1-5 15:29 编辑
小弟新手,接触PIC单片机不久,现做个PIC12F629的一个IO口(即#2pin——GP5)输出一方波
可是在proteus仿真的时候有错误提示:[PIC12 CORE] PC=0x0011. Stack overflow executing CALL instruction. [U1]
网上查询的原因是看门狗的问题。可是在程序内我已经关闭了看门狗功能,极有可能是小弟不会正确设置。
附上代码,望指正错误
- #include<pic.h>
- #include <htc.h>
- __CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF);
- void interrupt PWMGP(void);
- unsigned char stat = 0;
- void main()
- {
- TRISIO5=0; //GP5=U_2PIN=输出
- //Timer0初始化设置
- PSA=0;//Timer0 使用预分频器
- //Timer0选择分频率为1:2
- PS0=0;PS1=0;PS2=0;
- //内部时钟定时方式,定时时间:20uS,误差:0uS
- T0CS=0;
- TMR0=0xF6;
- T0IE=1;//Tiemr0中断允许
- GIE=1;
- GP5=0;
- while(1)
- {
- }
- }
- void interrupt PWMGP(void)
- {
- if(T0IF)
- {
- T0IF=0;
- TMR0=0xF6;
- if(stat==1)
- {
- GP5=0;
- stat=0;
- }
- else
- {
- GP5=1;
- stat=1;
- }
- }
- }
|