久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PIC單片機三個定時器中斷同時定時

作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月31日   【字體:
16F877A有三個定時器,中斷方式都調試出來了,想把它們整合到一塊同時工作,可搞了半天,就是不干。最后整明白了,PIC16系列單片機的中斷入口中有一個。PIC的功能是很強大,外圍模塊也多,速度也較快,但PIC的這個中斷方案不好,應該改進。以下是三個定時中斷同時工作的調試代碼。
#include<pic.h>
#define uchar unsigned char
#define uint  unsigned int
__CONFIG(0x3B31);
void init();
uint Timer0Num,Timer1Num,Timer2Num;//
void timer0();
void timer1();
void timer2();
void main()
{
 init();
 while(1)
 {
  if(Timer0Num>=20)
  {
   Timer0Num = 0;
   RD0 = ~RD0;
  }
  if(Timer1Num >= 4)
  {
   Timer1Num = 0;
   RD2 = !RD2;
  }
  if(Timer2Num >= 50)
  {
   Timer2Num = 0;
   RD4 = !RD4;
  }
 }
}
void init(void)
{
 TRISD = 0;
 PORTD = 0;
 OPTION = 0x07;//256分頻
 TMR0 = 56;
 PIE1 |= 0x01 | 0x02;
 TMR1H = (65536-50000)/256;
 TMR1L = (65536-50000)%256;
 T1CON = 0x21;//4分頻
 TMR2 = 0;
 PR2 = 100;
 T2CON = 0x1D;
 INTCON = 0xE0;
}
void interrupt Ints()
{
 if(T0IE&&T0IF)    timer0();
 if(TMR1IE&&TMR1IF) timer1();
 if(TMR2IE&&TMR2IF) timer2();
}
void timer0()
{
 T0IF = 0;
 TMR0 = 56;
 Timer0Num++;
}
void timer1()
{
 TMR1IF = 0;
 TMR1H = (65536-50000)/256;
 TMR1L = (65536-50000)%256;
 Timer1Num++;
}
void  timer2()
{
 TMR2IF = 0;
 TMR2 = 0;
 PR2 = 200;
 Timer2Num++;
}
關閉窗口
主站蜘蛛池模板: 国产精品国产a级 | 91资源在线| 欧美精品一二三 | 日韩视频在线播放 | av av在线| 国产成人精品久久二区二区91 | 伊人免费在线观看 | 亚洲国产18 | 国产精品综合色区在线观看 | 欧美精品一区二区在线观看 | 日本网站在线看 | 91视视频在线观看入口直接观看 | 日本精品视频在线观看 | 亚洲综合网站 | 中文成人在线 | 在线观看免费国产 | 正在播放国产精品 | 国产一在线观看 | 日韩中文字幕在线视频 | 人人擦人人 | 九九久久久 | 日本在线免费 | 欧美激情久久久久久 | 婷婷在线免费 | 久久久精品国产 | 中文字幕专区 | 亚洲欧美在线一区 | a爱视频| 婷婷成人在线 | 久草中文在线观看 | 蜜桃av鲁一鲁一鲁一鲁 | 黄色av网站在线观看 | 天天天操操操 | 欧美精品一区二区在线观看 | 国产精品免费观看 | aa级毛片毛片免费观看久 | 91精品国产综合久久国产大片 | 中文字幕免费在线 | 久久久久国产精品人 | h视频在线观看免费 | 国产毛片av |