您的位置 首页 数字

PIC16F877A例程—PWM

PWM波形输出实验晶振:4MHzCPU:PIC16F877Aincludepich>调用头文件__CONFIG(0x3F31);芯片配置字defineucharunsigned

//PWM波形输出试验

// 晶振:4MHz
// CPU:PIC16F877A

#include //调用头文件
__CONFIG(0x3F31); //芯片装备字
#defineucharunsignedchar

#defineuintunsignedint
uchar a;

void CCP1INIT() ;
voiddelayms(uint z);
voidkeyscan();

void main(void)
{
CCP1INIT();
T2CON=0X04;
do
{
keyscan();
}

while(1);
}

void CCP1INIT()
{
PORTB=0xff;
TRISB=0xff;
RBPU=0;
a=0X7F;
CCPR1L=a;
CCP1CON=0X3C;
INTCON=0X00;
PR2=0XFF;
TRISC=0XFB;
}

//经过按键别离调大和调小(经过示波器观看PWM波形的改变)
voidkeyscan()
{
TRISB=0xff;
if(RB1==0)

{

delayms(10);
if(RB1==0)

{

a-=10;

CCPR1L=a;

}
while(RB1==0);

}
if(RB2==0)

{

delayms(10);
if(RB2==0)

{

a+=10;

CCPR1L=a;

}
while(RB2==0);

}
}

////////////延时子函数//////////////////
void delayms(uint z)

{

uint x,y;

for(x=z;x–;x>0)

for(y=40;y–;y>0);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/260716.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部