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. }

阅读(10) | 评论(0) | 转发(0) |
0

上一篇:pic16f877a的AD实验学习

下一篇:Qt的信号和槽机制

相关热门文章
  • SHTML是什么_SSI有什么用...
  • 查看linux中某个端口(port)...
  • 卡尔曼滤波的原理说明...
  • shell中字符串操作
  • 关于java中的“错误:找不到或...
给主人留下些什么吧!~~
评论热议

你可能感兴趣的:(嵌入式)