登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

大侠帮帮看:程序发生了中断,为什么没有执行中断函数

作者:geergeer 栏目:单片机
大侠帮帮看:程序发生了中断,为什么没有执行中断函数
首先对浏览帖子的大侠表示衷心的感谢。小弟是在MPLAB IDE内挂接PICC的,使用的芯片是16F877A,写了一小段很简单的测试程序,在MPLAB SIM下仿真,发现程序执行后,查看特殊功能寄存器,发现都得到了想要的值,计时器1溢出后,PIR1=0x01,INTCON=0x80,PIE1=0x01,都是对的啊,但是程序就是不进入中断处理程序执行,而是在while语句那死循环了,为什么啊???程序如下:
#include <pic.h>
#include <pic168xa.h>
bit flag;
void main(void)
{
   TMR1IF=0;
   TMR1IE=1;
   TMR1H=0xff;
   TMR1L=0xf0;
   T1CON=0x00;
   ei();
   TMR1ON=1;
   while(!flag);
   flag=0;
   
}
void interrupt ISR(void)
{

  if(TMR1IE&&TMR1IF)
  {
     TMR1IF=0;
     flag=1;
  }  
   
}

2楼: >>参与讨论
systemchip
:
  TMR1ON=1;

   INTCON=0xC0;   加这句,将PEIE使能

   while(!flag);
   flag=0;


* - 本贴最后修改时间:2006-9-8 10:22:17 修改者:systemchip

3楼: >>参与讨论
geergeer
感谢systemchip
systemchip大侠已多次出手耐心的帮助菜鸟小弟,小弟在此鞠躬~~~~

4楼: >>参与讨论
systemchip
:
不必客气.能解决问题就好

参与讨论
昵称:
讨论内容:
 
 
相关帖子
Microchip原厂在东北的服务值得考虑
求教温度采样
中断死循环问题
请教关于PIC18F4620复位问题
PIC16系列中断问题
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号