打印

PICC中邪了

[复制链接]
3762|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuntian|  楼主 | 2012-3-27 19:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PICC9.83版,MPLAB8.60,使用PIC16F1933,
程序中不能加中断函数,一加编译后SIM就会提示:
CORE-W0014: Halted due to PC incrementing over the Maximum PC address and wrapping back to Zero

也就是要软仿真时按F6运行到MAIN就会这样.但把INTERRUPT程序注释掉就不会,搞不懂为什么?
程序很简单
#include "htc.h"
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
//----函数声明
bit tmr0_over;
//-----------程序开始------------
void main(void)
{



while(1)

{//测试TMR0是否溢出

if(tmr0_over)

{tmr0_over=0;



}//--tmr溢出循环

}//主程序循环
}//主程序结束
//--------------------
void interrupt f (void)
{
}


PICC用的45天版,编译时选的是LITE模式.
沙发
yuntian|  楼主 | 2012-3-27 19:20 | 只看该作者
Address               Disassembly              

  000  MOVLP 0                                
  001  GOTO 0x16                              
  002  MOVWI [-1]FSR1                        
  003  MOVWI [-1]FSR1                        
  004  RETFIE                                 
  005  BTFSS 0x7d, 0                          
  006  GOTO 0x8                              
  007  GOTO 0x9                              
  008  GOTO 0xa                              
  009  BCF 0x7d, 0                           
  00A  GOTO main                              
  00B  MOVLP 0                                
  00C  GOTO 0x16                              
  00D  CLRWDT                                 
  00E  CLRF INDF0                             
  00F  ADDFSR FSR0, 0x1                       
  010  DECFSZ WREG, F                        
  011  BRA 0x1fc                              
  012  RETLW 0                                
  013  CLRF BSR                              
  014  MOVLP 0                                
  015  GOTO main                              
  016  MOVLW 0x7d                             
  017  MOVWF FSR0L                           
  018  MOVLW 0                                
  019  MOVWF FSR0H                           
  01A  MOVLW 0x1                              
  01B  MOVLP 0                                
  01C  CALL 0xd                              
  01D  MOVLP 0                                
  01E  MOVWI [-1]FSR1          ----------反汇编的代码,这里怎会么出现这么个东西?               
  01F  MOVWI [-1]FSR1

使用特权

评论回复
板凳
XIEYUANBIN| | 2012-3-28 12:52 | 只看该作者
你改正式版试试。现在芯片越搞越多,除了汇编,C出问题的概率大大增加。而且LITE版会加很多莫名其妙的代码进去以表明和正式版的区别

使用特权

评论回复
地板
yuntian|  楼主 | 2012-3-30 09:35 | 只看该作者
MPLAB的问题,升级了就没事了,不过为什么编译器为什么为跟MPLAB挂钩呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

178

帖子

1

粉丝