完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
25MHZ的晶振,输出方波频率100多KHZ时或者更小时,输出正常,频率设置高于200KHZ时输出就不正常了,是因为频率太高了,单片机达不到要换高点的晶振么?
|
|
相关推荐
4个回答
|
|
这是我的程序,#include
#include #include #include #define FOSC 25000000 #define T218KHz (FOSC / 4 / 218000) uchar i=0; uint value; void CA_initial() { CMOD=0x02; //PCA在空闲模式下停止计数  CA时钟源为f/2 禁止PCA时钟溢出中断 CCON=0x00; //CF=0 清PCA计数器溢出中断标志位 CR=0 计数器停止 CL=0x00; //清计数器 CH=0x00; value = T218KHz; CCAP0L = (value&0X00FF); CCAP0H = (value&0XFF00) >> 8; value += T218KHz; CCAPM0=0x4D; //设置PCA为16为计数器 EPCA_LVD=1; //开PCA和LVD总中断 IPH= 0X80; IP= 0X80; CR=1; //开始计数 EA=1; //开总中断 } /*主程序*/ void main() { uint ad0=0; uint ad1=0;  CA_initial(); init_adc(); while(1) { ad0=ad_adver(0); ad1=ad_adver(1); } } void pca() interrupt 6 { CCF0 = 0; //Clear interrupt flag CCAP0L = (value&0X00FF); CCAP0H = (value&0XFF00) >> 8; //Update compare value value += T218KHz; } |
|
|
|
PCA时钟源是SYSCLK/2=12.5M吧,难道输出的方波200多KHZ都达不到么
|
|
|
|
帮顶....
|
|
|
|
如果要求不高可以用可编程时钟输出。十几兆都没问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
3309 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9050 浏览 16 评论
4084 浏览 18 评论
1169浏览 3评论
602浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
594浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2331浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 21:08 , Processed in 1.176131 second(s), Total 86, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号