標(biāo)題: 糾正網(wǎng)上講的STC單片機(jī)PCA高速輸出的應(yīng)用 [打印本頁(yè)]

作者: liuyang    時(shí)間: 2012-3-23 03:24
標(biāo)題: 糾正網(wǎng)上講的STC單片機(jī)PCA高速輸出的應(yīng)用
//CCAP0L = 0x3f;   //改變比較直沒用的
   //CCAP0H = 0x10;   //計(jì)數(shù)器一直+的 0到ffff
網(wǎng)上都是對(duì)CCAP0L和CCAP0H賦值  起始沒什么意思的
只用對(duì)CL和CH賦值才能改變計(jì)數(shù)初始值
對(duì)CCAP0L和CCAP0H賦值改變的是比較值,比較值從一開始設(shè)定就不變了
 CL會(huì)一直加1的
 
首先要開中斷
EPCA_LVD =1;//開pca中斷
IPH|=0x40;
IP|=0x40;   //PCA最高 
 ES = 1; //允許串行中斷     4
 
pca函數(shù)封裝
#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;
 
//不是像網(wǎng)上講的  

  //CCAP0L = 0x3f;   //改變比較直沒用的
   //CCAP0H = 0x10;   //計(jì)數(shù)器一直+的 0到ffff
 
}

作者: chenjiyou0202    時(shí)間: 2012-5-15 10:31
改變CL的值和CH的值有用?計(jì)數(shù)器是一直從0000計(jì)到ffff,所以你改變沒有用,所以只能夠改變比較值ccpn0l
作者: admin    時(shí)間: 2018-4-5 01:11
好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1