打印

求助!用IO口能发出8M脉冲用那款51单片机!!

[复制链接]
楼主: ZGH51688
手机看帖
扫描二维码
随时随地手机跟帖
21
chongxing| | 2008-8-23 01:53 | 只看该作者 回帖奖励 |倒序浏览

至少应该使用一个支持晶振频率在12*8*2M

使用特权

评论回复
22
ZGH51688|  楼主 | 2008-8-25 15:34 | 只看该作者

各位!就是不发脉冲!帮忙看一下谢谢大家

#include<AT89X52.H>
main(void){
T2MOD =0X00;  //C_T2=0
T2CON=0x02;   //
RCAP2H =0xff;
RCAP2L =0xff;
TR2=1;}

使用特权

评论回复
23
ZGH51688|  楼主 | 2008-8-25 15:38 | 只看该作者

各位帮忙看看!!谢谢

我用这个程序在T2口输出时钟脉冲,可是频率只有1.6KHZ
无论怎么改TL2,TH2频率都不变


#include<AT89X52.H>
main(void){
T2MOD =0X02;  //T2OE=1
T2CON=0x00;   //C_T2=0
RCAP2H=0X0FF;
RCAP2L=0X0FF;
TR2=1;       //开始
}

 

使用特权

评论回复
24
lyjian| | 2008-8-25 15:45 | 只看该作者

错了

应该
T2MOD=0x02;  //C_T2=0
T2CON=0x00;   //
RCAP2H=0xff;
RCAP2L=0xff;

使用特权

评论回复
25
芯行天下| | 2008-8-25 15:58 | 只看该作者

PWM问题

要产生8MHZ方波,CPU频率最低要过到16M,所以来说选用一般的芯片还是达不到要求的。

可以选用MSP430系列16M的芯片,可以产生8M方波,当然430的片子也不便宜,也可以使用低成本的ARM芯片,片子也不贵,也就10几块钱吧。这应该是比较好的选择。

使用特权

评论回复
26
lyjian| | 2008-8-25 16:06 | 只看该作者

楼主用的晶振是多少?

上面的软件应该是没问题的
另外,改TL2,TH2的值频率是不会变的
要改RCAP2H/RCAP2L才行

使用特权

评论回复
27
1lixz| | 2008-8-25 22:07 | 只看该作者

用C8051

那你就用c8051F系列单片机吧,不过才能出6M,哈哈,但他不占用资源,用PCA硬件发。如果你能用外部时钟,就能达到8M,外部加32M时钟,用其4分频就可以得到。

使用特权

评论回复
28
lyjian| | 2008-8-26 09:18 | 只看该作者

楼上对C8051F并不了解

用C8051F系列单片机的话,XTAL=24M时可以输出12M

使用特权

评论回复
29
zgh51688| | 2008-8-26 16:31 | 只看该作者

在此感谢各位!

最终程序改到:
#include<AT89X52.H>
main(void){
T2MOD =0X02;  //T2OE=1
T2CON=0x00;   //C_T2=0
RCAP2H=0X0FF;
RCAP2L=0X0FE;
TR2=1;       //开始}

单片机是STC89C52RC支持到44M
晶振的频率现在是12MHZ
发出的频率是1.5MHZ
符合Lyjian和各位提出的公式.
输出频率=1/(4*(65536-(RCAP2H,RCAP2L)))
最后改到RCAP2L=0X0FE,有1.5MHZ输出
当改到RCAP2L=0XFF时,就无输出.
不知是不是单片机的问题!
请各位帮帮忙!

使用特权

评论回复
30
lyjian| | 2008-8-26 16:59 | 只看该作者

是你的软件有问题

在最后加一条while(1);

使用特权

评论回复
31
zgh51688| | 2008-8-27 09:39 | 只看该作者

回Lijian,我以前加过等待程序的.

结果一样.RCAP2L=0XFF;时就无输出
请问以前有没有用过,实在不行就选其他方法了.
再次谢谢支持

使用特权

评论回复
32
lyjian| | 2008-8-27 09:56 | 只看该作者

如果不行的话那就是你的芯片有问题

同样的软件我在P89V51RD2上测试了,没任何问题
XTAL=18.432MHz,RCAP2L=0XFF,RCAP2H=0XFF时,输出为4.6MHz

使用特权

评论回复
33
zgh51688| | 2008-8-27 10:17 | 只看该作者

回Lijian

谢谢!我再找其他单片机看看.
可否推荐价格便宜点6时钟模式的51单片机
我只用过STC89,
太慢了
功能不用多就要快!

使用特权

评论回复
34
lyjian| | 2008-8-27 10:30 | 只看该作者

最便宜的应该是STC的吧

我用过NXP的P89C61X2和P89V51RD2,感觉还行
P89V51RD2大概一块多美金
其他SST的应该比较便宜

使用特权

评论回复
35
zgh51688| | 2008-8-27 10:52 | 只看该作者

速度快不快?30以下都能接受

我作的东西就看速度,效率

使用特权

评论回复
36
郑成功了| | 2008-8-27 11:27 | 只看该作者

8M是比较高的频率了

传统12T的51片子是不好做这么高频率的脉冲的。
STC倒是用过,PWM在32M时也就125K,已经接近极限了。
其他的片子没有用过,但个人认为8M不太好搞的。

建议直接用硬件振荡器,在控制要求满足的范围内,这个应该是一个思路。

使用特权

评论回复
37
lyjian| | 2008-8-27 11:36 | 只看该作者

要快用一个时钟周期的51

C8051F系列
STC12C系列
DS89C4xx系列
等等
6个时钟周期的51在XTAL=20MHz时我觉得已经够快了

使用特权

评论回复
38
lyjian| | 2008-8-27 11:49 | 只看该作者

36楼说的不对

PWM输出和方波输出是两回事
如果要用51输出8M的PWM确实难
但要输出8M的方波确是很简单的
T2的频率输出功能就可以只要XTAL=32MHz就可以了(12T 51)
现在一大堆普通51最高可以跑在40M(如Winbond、NXP、SST、STC等公司的51)(对于6T 51,只需XTAL=16M就可以了)

使用特权

评论回复
39
PowerAnts| | 2008-8-30 07:38 | 只看该作者

CPU不用干别的话?

11楼: 6时钟模式的51晶振用16M就可以输出8M了 

使用特权

评论回复
40
lyjian| | 2008-8-30 10:01 | 只看该作者

楼上复习一下51

用51定时器2的时钟输出功能是不需要软件干预的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则