|
16位定時器模式:
#include<1.h>
// #include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;
void main()
{
CCAP0H=0x3c; //設(shè)初值,設(shè)高位為了后續(xù)移位
CCAP0L=0;
CCAPM0=0x49;
EA=1;
CR=1;
while(1);
}
void intter(void) interrupt 7
{
unsigned int x;
x=(CCAP0H<<8)+CCAP0L+0x3c00; //加上10ms,
CCAP0L=x;
CCAP0H=x<<8;
led=~led;
CCF0=0; //清除標(biāo)志位
}
捕獲模式:
#include<1.h>
#include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;
void main()
{
CCAPM1=0x31; //模式0,模式1設(shè)置為上升沿觸發(fā)和下降沿觸發(fā)
CCAPM0=0x31;
EA=1;
while(1); //等待中斷
}
void intter(void) interrupt 7
{
if(CCF0==1)
{
led=~led;
CCF0=0; //清零
}
if(CCF1==1)
{
led=~led;
CCF1=0; //清零
}
}
輸出PWM模塊:
#include<1.h>
// #include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;
sbit tt=P1^3;
void main()
{
CCAPM0=0x42;
CR=1;
CCAP0H=0x80;
while(1);
}
|
評分
-
查看全部評分
|