/********************************************************************************************
* 实验四: 外部中断实验
* CPU型号: PIC16F877A
* 晶振: 4MHz
* 说明: 用MPLAB IDE V8。53 HI-TECH PICC编译
* 作 者:MCU.2000
* 日 期:2009年8月8号
*********************************************************************************************/
//#include <pic.h> //调用头文件
#include <pic1687x.h>
//__CONFIG(0x3F32); //芯片配置字
//__CONFIG(HS&UNPROTECT&PWRTEN&BORDIS&WDTDIS);//芯片配置字
//__CONFIG(0x3FFD&0x3FFF&0x3FF7&0x3FBF&0x3FFB);//芯片配置字
#define uchar unsigned char
#define uint unsigned int
void delay(uchar a,uchar i);
void interrupt INT(void);
uchar temp;
void main (void)
{
OPTION=0X00;
TRISA=0Xc0; //RA0设为输出(D301指示进入中断)
INTE=1; //INT外部中断允许位
GIE=1; //开放全局中断
PEIE=1; //使能外部中断
RA0=1; //LED灭
while(1) //等待中断
{
// delay(12,34);///////////////////在这里加上这个函数,就编译出错。
。
。
。
}
}
//中断函数
void interrupt INT(void)
{
if(INTE && INTCON) //判断是否为外部中断
{
INTF=0; //清除中断标志
temp=~temp;
PORTA=temp; //点亮LED D301
delay(255,255);
delay(255,255);
}
}
////////////延时子函数/////////////////
void delay(uchar a,uchar i)
{
while(--a)
while(--i);
}
(原文件名:untitled.JPG)
要向大侠们请教的问题是:1。主程序里while()循环语句里加上delay(12,34);函数,为什么会编译出错,出错如图。
2。有什么方法可以解决这个这人问题。。
一周热门 更多>