标题: 纠正网上讲的STC单片机PCA高速输出的应用 [打印本页]

作者: liuyang    时间: 2012-3-23 03:24
标题: 纠正网上讲的STC单片机PCA高速输出的应用
//CCAP0L = 0x3f;   //改变比较直没用的
   //CCAP0H = 0x10;   //计数器一直+的 0到ffff
网上都是对CCAP0L和CCAP0H赋值  起始没什么意思的
只用对CL和CH赋值才能改变计数初始值
对CCAP0L和CCAP0H赋值改变的是比较值,比较值从一开始设定就不变了
 CL会一直加1的
 
首先要开中断
EPCA_LVD =1;//开pca中断
IPH|=0x40;
IP|=0x40;   //PCA最高 
 ES = 1; //允许串行中断     4
 
pca函数封装
#include<reg52.h>
#include"pca1.h"
void pca1(uint value)
{
 CMOD=0x02;    //f/2
 CCON=0x00;        
 CL=0x00;
 CH=0x00;
  // CCAP0L = 0x30;   //大约200khz
 // CCAP0H = 0x06;
  CCAP0L = (value & 0x00ff);   //大约200khz
  CCAP0H = (value & 0xff00)>>8;
  CCAPM0=0x4d;                      //高速输出模式 使能中断
 
}
 
pca中断
void PCA_Int() interrupt 6
{
 js1++;
 
 if(CCF0) CCF0=0;
 if(CF)   CF=0;
  CL=0x00;    
CH=0x00;
 
//不是像网上讲的  

  //CCAP0L = 0x3f;   //改变比较直没用的
   //CCAP0H = 0x10;   //计数器一直+的 0到ffff
 
}

作者: chenjiyou0202    时间: 2012-5-15 10:31
改变CL的值和CH的值有用?计数器是一直从0000计到ffff,所以你改变没有用,所以只能够改变比较值ccpn0l
作者: admin    时间: 2018-4-5 01:11
好资料,51黑有你更精彩!!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1