标题: 纠正网上讲的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 |