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

PWM的小程序在PIC16F877A上的应用

发布时间:2020-05-16 发布时间:
|

    /*该程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%*/

    #include "p18f458.h"

    /*CCP1模块的PWM工作方式初始化子程序*/

    void CCP1INIT()

    {

 

    CCPR1L=0X7F;

    CCP1CON=0X3C; /*设置CCP1模块为PWM工作方式,且其工作

    循环的低2位为11,高8位为01111111=7F*/

    INTCON=0X00; /*禁止总中断和外围中断*/

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

    TRISC=0XFB; /*设置CCP1引脚为输出方式*/

    }

    /*主程序*/

    main()

    {

    CCP1INIT(); /*CCP1模块的PWM工作方式初始化*/

    T2CON=0X04; /*打开TMR2,且使其前分频为0,

    *同时开始输出PWM波形*/

    do

    {

    ;

    }while(1); /*系统开始输出PWM波形。如果系统是

    *多任务的,则可以在此执行其它任务,而

    *不会影响PWM波形的产生*/

    }




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

热门文章 更多
ARM 汇编的必知必会