求教大虾关于51单片机PCA简单问题

Grace_tym 2012-07-12 02:34:26
如何设置51单片机上的PCA,输出WAV音频的采样频率,用C语言实现
...全文
227 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Grace_tym 2012-07-17
  • 打赏
  • 举报
回复
现在选用频率输出方式,Fcexn=Fpca/(2*PCA0CPHn),请问我的系统时钟是2MHZ,最终得到的PCA0CPHn=45.45454545454545(45循环),这样不准确的结果,最终肯定得不到准确的音频输出,请问我的思考过程有错误吗?
Grace_tym 2012-07-17
  • 打赏
  • 举报
回复
我要输出的采样频率是22000HZ,设置下降沿触发。设置各参数思考过程如下:

首先设置PCAOMD允许中断:
EA=1;
EPCA0=1;
ECF=1;

然后PCA0CPMn SFR 设置成捕捉/比较模块工作方式:
xx01000x

设置PCA0寄存器:
PCA0CN=01000001;//模块0
PCA0MD=00001001;//选的是系统时钟,其实这里我很迷惑,不知道时钟选取是根据什么选取的

PCA0CPM0=0xDA;
PCA0CPM0=0001001;
PCA0CPL0=0xEA;
PCA0CPHn=0xFA;


疑问如下:
1 如上所说,PCA0MD时钟选择依据是什么?
2 PCA0CPL0 PCA0CPH0 数据如何设置?设置对象是什么?
3 PCA0L PCA0H 是设置我所想要的22000HZ吧,可是如何把数据写进去?

希望各位大虾指点一二,不胜感激!

Grace_tym 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
看datasheet
[/Quote]

谢谢,我就是看datasheet 时发出的疑问
net_friends 2012-07-12
  • 打赏
  • 举报
回复
看datasheet

27,372

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧