单片机 > 单片机程序设计 > 详情

pic16f877a的PWM实验学习

发布时间:2023-08-14 发布时间:
|

遇到的问题,编译时找不到TRISC。一开始以为头文件中没有定义,发现定义了。

所以是自己创建工程的时候,设备类型选错了。


#include


__CONFIG(0xFF32);


#define uchar unsigned char

#define uint unsigned int



uchar a;


void delayms(uint z)

{

uint x,y;

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

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

}


void CCP1_init(void)

{

a = 0x7F;

CCPR1L = a;

CCP1CON = 0x3C; //设置CCP1模块为PWM工作方式,工作循环的低

INTCON = 0x00; //关闭中断

PR2 = 0XFF; //设置PWM工作周期

TRISC &= ~(1<<2); //设置CCP1引脚为输出方式

}


void main(void)

{

PORTB = 0xff;

TRISB = 0xff;

nRBPU = 0; //禁止PORTB上拉

CCP1_init(); //初始化CCP1

T2CON = 0X04; //打开TMR2,且使其前分频为0,同时开始输出PWM波形

while(1);

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MSP430低功耗模式-while循环失效