这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 如何用51单片机输出500kHz的时钟频率

共11条 1/2 1 2 跳转至

如何用51单片机输出500kHz的时钟频率

菜鸟
2013-12-03 13:36:37     打赏
想用ADC0809处理红外传感器的返回值,但是它要求500kHz的工作频率,求教如何用软件编程产生?看到有人说51的12MHz的晶振不能产生,捉急了,硬件分频不会啊,也木有相关硬件... 



关键词: 单片机     500kHz    

专家
2013-12-03 13:44:09     打赏
2楼
利用单片机定时器完成。

高工
2013-12-03 22:28:12     打赏
3楼
2楼说的就是基本方法,单片机又不是FPGA,不需要硬件分配,定时器最好了,延时函数基本上所有应用都会用到,如果不会找个例子参考,算好频率即可

菜鸟
2013-12-04 15:35:49     打赏
4楼
如果是STC的MCU,则可以用定时器产生.这个频率有点偏差不要紧的。我还是建议使用实际点的ADC,8腿的,或者使用MCU自带的ADC。

高工
2013-12-04 19:50:50     打赏
5楼

12MHz原始51系统时钟也才1M

貌似控制ADC以500KHZ采样确实是不太可能



高工
2013-12-04 19:51:23     打赏
6楼

另外红外编码为什么要用ADC去采?

直接整形送IO口解码就行啦



菜鸟
2013-12-09 17:33:13     打赏
7楼
要那么高频率干嘛,降一点嘛

助工
2013-12-16 14:35:00     打赏
8楼
用ATMEL或STC的单片机,它们的T2定时器可设置成在P1.0管脚上可编程时钟输出

助工
2013-12-17 17:42:23     打赏
9楼
TL2=RCAP2L=(uint)((float)65536-(float)Fosc*1000000/((float)4*freq))%256;
 TH2=RCAP2H=(uint)((float)65536-(float)Fosc*1000000/((float)4*freq))/256;
T2CON=0x00;   //C/T2=0,  CP/RL2=0
T2MOD=0x02;   // T2OE=1,在P1.0输出方波        
TR2=1;        //开始输出方波
EXEN2=1;      //允许T2EX触发T2中断
ET2=1;       EA=1;


助工
2013-12-18 14:08:52     打赏
10楼
STC89C52内部不带AD模块的,手上还有一块PCF8591,不会用~~~早知道0809这么麻烦我也不买这个咯~

共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]