標(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 |