stc单片机PCA高速输出脉冲程序

stc单片机PCA高速输出脉冲程序,第1张

CCON = 0; //初始化PCA控制寄存器,PCA定时器停止,清除CF标志,清除模块中断标志
CL = 0; //复位PCA计数寄存器
CH = 0;
CMOD = 0x02; //设置PCA时钟源为sysclock/2,禁止PCA定时器溢出中断
value = T100KHz; //计算PCA输出100K方波应设定的值
CCAP0L = value; //将值得低8位赋给CCAP0L
CCAP0H = value >> 8; //高8位赋给CCAP0H
value += T100KHz; //累加,为下一次赋值做好准备。//这个地方绝对不能注释掉,产生方波就靠它了。
CCAPM0 = 0x4d; //PCA模块1为16位定时器模式,同时反转CEX0(P13)口
CR = 1; //PCA定时器开始工作
EA=1; //开中断
========================================================
void pca_isr()interrupt 7 using 1
{
CCF0=0;
CCAP0L=value;
CCAP0H=value>>8;
//value +=T100KHZ; //累加,这个地方也绝对不能注释掉。要产生方波,就得每次在原值的基础上加上同样的值。
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10854153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存