0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

单片机

C8051单片机PCA计数功能问题求助

我要实现的功能是:计数P0^2口接收多少个负跳变信号, 直接读取PCA0CPH0    PCA0CPL0 的值,这样有没有问题???没有问题的话,请看下面我为什么得不到想要的结果

PCA配置:

void PCA0_Init()

{

SFRPAGE = PCA0_PAGE;

PCA0CN    = 0x40;            //允许PCA0计数器/定时器

PCA0MD    = 0x08;           //PCA 时钟选择系统时钟  22118400MHZ

PCA0CPM0  = 0x10;         //PCA  Module0--下降沿--P0^2

PCA0CPH0  =   0;

PCA0CPL0  =   0;

}

现给P0^2输入一个负跳变电平,我将PCA0CPH0    PCA0CPL0 输出发现PCA0CPH0=0XBC   PCA0CPL0 = 0XB8     为什么不是 PCA0CPH0= 0X00    PCA0CPL0 = 0X01?

提问者:ROSE1017 地点:- 浏览次数:3635 提问时间:10-19 16:17
我有更好的答案
提 交
6条回答
上海四通仪表 02-23 07:11 回答数: 被采纳数:
XBR1要设置PCA连到引脚,EIE1允许PCA中断,需要软件清除中断标志位,你用最简单的方法,点个灯就能观测到是否真的中断了,还有,也没必要一定用PCA0CPH0来计数
第三代的年均卡上 02-25 12:32 回答数: 被采纳数:
PCA0CPH0、PCA0CPL0 是发生跳变时的时间值,计跳变个数要用中断,或者用C0、C1的外部计数模式
hongshan325 02-19 23:34 回答数:0 被采纳数:0
直接用定时器的计算功能
或者PCA时钟源直接设成ECI
vywyefswer 02-24 07:50 回答数:0 被采纳数:0

ECI设在P0^2口
直接读PCA0CPL0\PCA0CPH0
llqks 02-24 22:46 回答数: 被采纳数:
用工具来配置pca相关 以及io口设置的相关代码 非常成熟的 自己写很蠢
shugan2011 02-22 22:56 回答数: 被采纳数:
不一定吧 定期读 pca模块中对应的捕获寄存器就可以了
撰写答案
提 交
1 / 3
1 / 3
相关单片机
具有音调控制的单片机立体声前置放大器
用于单片机与电子装置中的开关电源
单片机软硬件复位的条件都有啥
电动机的单片机控制
单片机应用系统开发实例导航