打印

如何把单片机接收到的一连串高低电平精确的还原出来?

[复制链接]
3042|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Wxy8030|  楼主 | 2009-2-24 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高低电平的长度:10mS--10uS之间;
还原精确度:尽量在1uS内
高、低电平的数量在100到400之间;

单片机:待定,初步认为AT89C52(加一定数量的RAM)似乎可以;

把该电平连到INT0脚,反向后连到INT1脚,这样通过定时器的门控可交叉测量高、低电平的宽度,这样就可以较精确的保存高、低电平的宽度;

但现在如何把这一串已知宽度的电平还原出来,我还没有类似的经验,可否请用过的兄弟指点一下!

相关帖子

沙发
01dxwlm| | 2009-2-24 17:51 | 只看该作者

找个输入捕捉的单片机

使用特权

评论回复
板凳
谈的元| | 2009-2-24 19:25 | 只看该作者

呵呵,想干什么呢?遥控学习?

判断数据大小,小于20跳转,大于30给延时程序写参数,。。。

使用特权

评论回复
地板
21ele| | 2009-2-25 00:40 | 只看该作者

高低电平的长度:10mS--10uS之间,这个时比较宽的

10us如果能测量,单片机不能太慢。51的太慢了,avr也不够快,用stm32比较合适,72M, 两个定时器级连为32位的,用硬件的输入捕获,DMA传送到RAM就可以了。恢复时使用比较输出就可以了。

使用特权

评论回复
5
Wxy8030|  楼主 | 2009-2-25 08:43 | 只看该作者

现在对我来说测量不是问题,51(24M)就能解决——

利用两个定时器和门控分别测量高、低电平,应该是比较精确的......

问题是,如果还原?

确实是用于遥控学习!

使用特权

评论回复
6
zhaoyu2005| | 2009-2-25 09:29 | 只看该作者

用AT89S52上24M你能保证测量误差小于1uS?

我不信,24M时一个机器周期0.5uS,单周期指令少了点,这样的话,稍微一弄就2uS了

使用特权

评论回复
7
Wxy8030|  楼主 | 2009-2-25 10:06 | 只看该作者

to 楼上

用定时器+门控可以直接测量的

使用特权

评论回复
8
lyjian| | 2009-2-25 13:11 | 只看该作者

还原简单

使用特权

评论回复
9
Wxy8030|  楼主 | 2009-2-25 16:57 | 只看该作者

楼上指点下啊

!

使用特权

评论回复
10
21ele| | 2009-2-25 17:38 | 只看该作者

51没有输出比较,还原起来比较费劲,avr将就,stm32轻松。

使用特权

评论回复
11
hab2000| | 2009-2-25 18:00 | 只看该作者

就你的办法应该可以

中断用沿触发。
INT0中断输出低电平;
INT1中断输出高电平;
延时大约2个指令周期;
选用新型51单片机,12M时钟一个周期可达0.2uS误差0.4uS
如果你不对信号干别的处理,直接驱动输出就可以了!哈哈。

使用特权

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

本版积分规则

148

主题

2118

帖子

2

粉丝