打印
[PIC®/AVR®/dsPIC®产品]

pic16f877a的PWM实验学习

[复制链接]
360|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kxsi|  楼主 | 2019-7-25 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
遇到的问题,编译时找不到TRISC。一开始以为头文件中没有定义,发现定义了。
所以是自己创建工程的时候,设备类型选错了。

#include <pic.h>

__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);
}



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

3309

帖子

2

粉丝