專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

PIC16F877定時(shí)器1的中斷方式調(diào)試

作者:佚名   來(lái)源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月31日   【字體:

PIC16F877單片機(jī)定時(shí)器1使用中斷方式調(diào)試程序如下:

 #include<pic.h>

#define uchar unsigned char
#define uint  unsigned int
__CONFIG(0x3B31);
void init();
uint intnum;
void main()
{
 init();
 while(1)
 {
 /* if(intnum >= 20)
  {
   intnum = 0;
   RD0 = !RD0;
  }*/
 }
}
 
void init()
{
 TRISD = 0; //
 PORTD = 0; //PORTD輸出低電平
 INTCON = 0xC0;//開(kāi)總中斷、定時(shí)器1中斷
 TMR1H = (65536-50000)/256;//預(yù)裝初值50ms*4
 TMR1L = (65536-50000)%256; 
 PIE1 = 0x01; //開(kāi)定時(shí)器1中斷
 T1CON = 0x21; //1:4分頻,使能定時(shí)器1開(kāi)始計(jì)數(shù) 
/* TRISD=0;
 PORTD=0;
 INTCON=0xc0;
 PIE1=0x01;
 TMR1L=(65536-50000)%256;
 TMR1H=(65536-50000)/256;
 T1CON=0x21;*/
}
 
void interrupt time1()
{
 TMR1IF=0; //定時(shí)器1溢出位清0
 TMR1L=(65536-50000)%256;
 TMR1H=(65536-50000)/256;
 //RD0=!RD0;//intnum++;
  if( ++intnum >= 20)
  {
   intnum = 0;
   RD0 = !RD0;
  }
}
 
總結(jié):跟51定時(shí)器1相似。
關(guān)閉窗口