用单片机输出方波,还能再快点吗?
本帖最后由 dz20062008 于 2012-5-12 03:50 编辑org 0000h
nop
sjmp main
org 0030h
main:cpl p2.0
sjmp main
end
前一天在坛子看到单片机io口输出方波,能最快多少,于是好奇自己就写了几句,
用12m晶振 at89s52 谁能写出输出更快
的方波代码?我这个是输出标准周期为
6us方波,占空比50% 不要求开头准确,不要告诉我 als直接六分频! 又一个楼主位被吃了的。
用单片机输出方波,还能再快点吗?
本帖最后由 dz20062008 于 2012-5-12 03:50 编辑
org 0000h
nop
sjmp main
org 0030h
main:cpl p2.0
sjmp main
end
前一天在坛子看到单片机io口输出方波,能最快多少,于是好奇自己就写了几句,
用12m晶振 at89s52 谁能写出输出更快
的方波代码?我这个是输出标准周期为
6us方波,占空比50% 不要求开头准确,不要告诉我 als直接六分频!
页: 还是认真看下AT89S52的手册吧,89S52的定时器2可配置为可编程时钟输出,12M时钟理论上最快可以出12/4=3M的方波。见手册第16页。 仅仅要个方波有什么意义,用晶振好了。 eastboy 发表于 2012-5-12 09:01 static/image/common/back.gif
还是认真看下AT89S52的手册吧,89S52的定时器2可配置为可编程时钟输出,12M时钟理论上最快可以出12/4=3M的 ...
真的?你发一个出来看看!io不用时间的? 没意义.大家不要讨论了,难道你的单片机就只输出方波,不用做其它事{:sweat:}{:sweat:}{:sweat:} 关于此问题,论坛神级人物 马老师,专门写了1篇文章,楼主去拜读吧 楼上,求连接啊,谢谢{:biggrin:} 一般如果有匹配输出模块的话,应该是首选吧。io的翻转速度没仔细研究过,边沿估计没那么好看,可能是io翻转速度不够,也有可能是示波器的探头不行。
如何正确产生精确、同步的1M、1K、1Hz方波(STM32通用定时器应用笔记)
http://www.ourdev.cn/forum.php?mod=viewthread&tid=3762261&highlight=%E6%96%B9%E6%B3%A2 请教:如何用MEGA16产生1M的频率信号?
http://www.ourdev.cn/forum.php?mod=viewthread&tid=3737664 晶振-》74125-》选通{:shocked:} 本帖最后由 BXAK 于 2012-5-12 12:41 编辑
raxb 发表于 2012-5-12 10:48 static/image/common/back.gif
没意义.大家不要讨论了,难道你的单片机就只输出方波,不用做其它事 ...
有的单片机有可编程输出引脚,设置输出频率后,对其相应控制位置1就会有脉冲输出,清0则停止输出,并不占用CPU时间,
像AT89C52、STC89C52……等等都有,可以用来做红外遥控载波、超声波脉冲之类的 jlhgold 发表于 2012-5-12 10:05 static/image/common/back.gif
真的?你发一个出来看看!io不用时间的?
不想和你争论,AT89S52手册第16页写得很清楚了。 BXAK 发表于 2012-5-12 12:39 static/image/common/back.gif
有的单片机有可编程输出引脚,设置输出频率后,对其相应控制位置1就会有脉冲输出,清0则停止输出,并不占 ...
不好意思,我以为楼主说的是用IO口编程模拟输出,不使用单片机特殊功能 raxb 发表于 2012-5-13 22:49
不好意思,我以为楼主说的是用IO口编程模拟输出,不使用单片机特殊功能
就是用单片机,要不来个压控振荡器不是更好。考虑的就是io操作的效率问题 jlhgold 发表于 2012-5-12 10:05 static/image/common/back.gif
真的?你发一个出来看看!io不用时间的?
你要程序是吧?
#include <reg52.h>
sfr T2MOD = 0xC9;
void main(void)
{
RCAP2L = 0xFF;
RCAP2H = 0xFF;
T2MOD= 0x02;
TR2 = 1;
while (1);
}
下面是实验抓的波形:AT89S52 12M晶振,P1.0输出
说实话,很讨厌你说话的口气!叫你看DataSheet,多少页都给你指出来了,你说这话之前你看了手册吗? eastboy 发表于 2012-5-14 10:30 static/image/common/back.gif
你要程序是吧?
#include
sfr T2MOD = 0xC9;
你那个抓波形的用的什么东西?是示波器的上位机? 你那个抓波形的用的什么东西?是示波器的上位机 抓波形可用逻辑分析仪。 7楼你说的文章给个链接啊 不能发站内消息,郁闷 eastboy 发表于 2012-5-14 10:30 static/image/common/back.gif
你要程序是吧?
#include
sfr T2MOD = 0xC9;
话说,后来看了下,确实可以做到1/4 crystal!之前一直以为在主循环里直接对io取反是io的极限了! 根据单片机的处理能力,看看是否可以把速度加上去。 蜂巢 发表于 2012-5-14 12:34 static/image/common/back.gif
抓波形可用逻辑分析仪。
也可以用录音
页:
[1]