打印

PIC中断 向量的问题

[复制链接]
2764|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
0次方|  楼主 | 2013-1-31 09:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <p18cxxx.h>    //包含PIC头文件 软件自带的头文件可以用< >
#pragma config FOSC=XT, FCMEN=ON, WDTEN=OFF, IESO=ON, XINST=OFF, LVP=OFF

unsigned char couter;             //定义一个定时器中断次数计数寄存器

void main (void)
{
        LATAbits.LATA1=1;
        T0CON=0b01000101;          //
           RCONbits.IPEN=1;
        INTCONbits.PEIE=1;
        INTCONbits.GIE=1;      //开总中断及TMR0计数溢出断
        TMR0L=0x53;           //定时器初值
   
     while(1);            //等待定时器中断
}
//中断子程序

#pragma code
#pragma interrupt TMR0INT
void TMR0INT(void)
{
     INTCONbits.T0IF=0;              //清除定时器中断标志位
     couter++;
     if(couter==30)       //累计中断30次后LED状态才会变化一次
     {
         couter=0;
                TRISAbits.TRISA1=!TRISAbits.TRISA1;        //RA1口电平取反控制LED1闪烁
     }
     TMR0L=0x53;           //重新赋定时器初值
}
//#pragma code high_vector=0x08
//void interrupt_at_high_vector(void)

#pragma code Interrupthigh_vector=0x08
void Interrupthigh_vector (void)
{
        _asm
         goto TMR0INT;
        _endasm
}

出现的问题是c:46:Error [1013] error in pragma directive  求指教 ,问题出在哪了
沙发
yklstudent| | 2013-1-31 10:56 | 只看该作者
这个是MCC18???

使用特权

评论回复
板凳
yewuyi| | 2013-1-31 11:22 | 只看该作者
如果用PICC的话,不需要管型号,直接写成#include <pic.h>,然后在MPLAB的CONFIG菜单中设置好芯片型号即可。

使用特权

评论回复
地板
0次方|  楼主 | 2013-1-31 13:40 | 只看该作者
yklstudent 发表于 2013-1-31 10:56
这个是MCC18???

嗯,是的。。是MICC18,现在问题已经解决了

使用特权

评论回复
5
0次方|  楼主 | 2013-1-31 13:41 | 只看该作者
yewuyi 发表于 2013-1-31 11:22
如果用PICC的话,不需要管型号,直接写成#include ,然后在MPLAB的CONFIG菜单中设置好芯片型号即可。 ...

:loveliness:我用的是MICC18,现在问题已经解决了,谢谢

使用特权

评论回复
6
nxmhp| | 2013-2-3 21:13 | 只看该作者
我用C18编译器,怎么加不了头文件啊?

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝