原创 PIC项目之CCP输出比较与捕捉(转载)

2009-9-22 16:57 2947 5 5 分类: MCU/ 嵌入式
PIC项目之CCP捕捉模块

2009-08-19 17:40



/*Used pic16C77, CCP捕捉*/
#include "pic.h"
#define uint unsigned int


void initPORTB(void);
void initCCP1(void);
void interrupt CCP1INT(void);
void display(void);


__CONFIG(WDTDIS&XT&UNPROTECT);
uint counter="0";


void main()
{
initPORTB();
initCCP1();
while(1)
{display();}
}


void initPORTB()
{
TRISB=0x00;
PORTB=0x00;
}


void initCCP1()
{
TRISC=0x04;
GIE=0;
PEIE=0;
CCP1IE=0;
CCP1IF=0;
CCP1IE=1;
CCP1IF=1;
PEIE=1;
GIE=1;
CCP1CON=0x04;


}


void interrupt CCP1INT(void)
{
GIE=0;
CCP1IE=0;
CCP1IF=0;
counter++;
if(counter>9) counter="0";
CCP1IE=1;
GIE=1;
}


void display()
{
PORTB=counter;
}


PIC项目之CCP输出比较

2009-08-19 17:41



/*CCP1输出比较*/
#include "pic.h"


void initPORTB(void);
void initCCP1(void);
void interrupt CCP1INT(void);


void main()
{
initPORTB();
initCCP1();
while(1)
{
}
}


void initCCP1()
{
TRISC=0x00;
T1CON=0x00;
CCPR1H=0x61;
CCPR1L=0xa8;
CCP1CON=0x0a;
CCP1IE=1;
PEIE=1;
GIE=1;
TMR1ON=1;
}


void interrupt CCP1INT(void)
{CCP1IF=0;
TMR1ON=0;
TMR1H=0x00;
TMR1L=0x00;
T1CON=1;
RB0=!RB0;
}


void initPORTB()
{
TRISB=0xfe;
PORTB=0x00;
}

转载自:http://hi.baidu.com/lastsmile21/blog/item/521d321a78d53ff3ae5133a6.html
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条