標題: 糾正網上講的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.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |