zoukankan      html  css  js  c++  java
  • pic16f877a的PWM实验学习

    遇到的问题,编译时找不到TRISC。一开始以为头文件中没有定义,发现定义了。
    所以是自己创建工程的时候,设备类型选错了。

    1. #include <pic.h>

    2. __CONFIG(0xFF32);

    3. #define uchar unsigned char
    4. #define uint unsigned int


    5. uchar a;

    6. void delayms(uint z)
    7. {
    8.     uint x,y;
    9.     for(x=z;x--;x>0)
    10.         for(y=40;y--;y>0);
    11. }

    12. void CCP1_init(void)
    13. {
    14.     a = 0x7F;
    15.     CCPR1L = a;
    16.     CCP1CON = 0x3C;                //设置CCP1模块为PWM工作方式,工作循环的低
    17.     INTCON = 0x00;                //关闭中断
    18.     PR2 = 0XFF;                    //设置PWM工作周期
    19.     TRISC &= ~(1<<2);                //设置CCP1引脚为输出方式
    20. }

    21. void main(void)
    22. {
    23.     PORTB = 0xff;
    24.     TRISB = 0xff;
    25.     nRBPU = 0;                    //禁止PORTB上拉
    26.     CCP1_init();                //初始化CCP1
    27.     T2CON = 0X04;                //打开TMR2,且使其前分频为0,同时开始输出PWM波形
    28.     while(1);
    29. }

    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    traceroute原理
    IP转发和子网路由
    Dijkstra算法
    String源码学习
    多线程的参数传递
    hbase参数配置优化
    hadoop 点点滴滴(一)
    Win8安装教程!笔记本用U盘安装Win8只需三步
    CentOS 6.4下编译安装MySQL 5.6.14
    Nginx配置文件说明
  • 原文地址:https://www.cnblogs.com/ch122633/p/7363236.html
Copyright © 2011-2022 走看看