打印
[PIC®/AVR®/dsPIC®产品]

请问一下引用pic单片机INT中断和定时器中断输出波形为什么没有输出

[复制链接]
952|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
引用pic16F877A单片机INT中断采集50hz的波然后再采集到高电平的时候延时5ms输出RE0=1,延时1msRE0=0。再检测到低电平是也是延时5MS,RE0=1,定时1ms,RE0=0,为什么没有输出运用的是定时器0定时
沙发
yehen0611|  楼主 | 2015-12-8 21:19 | 只看该作者
#include <pic.h>

char cishu;
void init()
{
  TRISC=0x00;
  TRISD=0x00;
  TRISE=0x00;
  TRISB0=1;
  INTE=1;
  INTF=0;
  GIE=1;
  OPTION_REG=0;  
  PS2=1; //32分频
  PS1=0;
  PS0=0;
  INTEDG=1;  

T0IE=1;//开T0 中断
}

void delay()
{
  char i;
  for(i=0;i<100;i++);
  
}

void interrupt ISR()
{
  if(INTE && INTF)
    {
     INTF=0;
     INTEDG=!INTEDG;  
     T0IF=0;
     TMR0=256-156;//5000/32=156 5ms
     T0IE=1;
     cishu=0;
     
    }
if (T0IE && T0IF) //判TMR0 中断
{
  T0IF=0;
  cishu++;
  if(cishu==1)
  {
   RE0=1;
   TMR0=256-31;//1000/32=31 1MS
  }
else if(cishu==2)
{
cishu=0;
RE0=0;
T0IE=0;
}



}
}

void main()
{
  init();
  
  while(1)
  {

  }
}

使用特权

评论回复
板凳
yehen0611|  楼主 | 2015-12-8 21:22 | 只看该作者
就是想得到这样一个输出波形

QQ截图20151207105255.png (11.72 KB )

QQ截图20151207105255.png

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝