打印
[STM8]

各位请问如何用STM8的定时器输出相差固定为90度的方波

[复制链接]
7300|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myzcp123|  楼主 | 2010-7-29 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位请问如何用STM8的定时器输出相差固定为90度的方波,谢谢!
来自 2楼
香水城| | 2010-8-3 18:38 | 只看该作者

用STM8的定时器的Toggle方式输出相差固定为90度的方波

本帖最后由 香水城 于 2010-8-3 20:36 编辑
各位请问如何用STM8的定时器输出相差固定为90度的方波,谢谢!
myzcp123 发表于 2010-7-29 20:41


使用STM8定时器输出比较的Toggle模式,可以很方便地输出相位相差固定为90度的两个方波。

这种Toggle模式的基本操作方法是:在比较成功时改变(翻转)输出的状态。

方波半周期数值设置在Auto-reload寄存器,比如设置值为100,则全周期数值为200,设置通道1的比较值为20,则设置通道2的比较值为20+100/2=70,这样就可以产生相差固定为90度的两个方波(100/2 就是 周期为200 的 90度)。

使用特权

评论回复
板凳
CrazyST| | 2010-7-31 18:07 | 只看该作者
个人觉得,中央对齐的计数模式配合溢出位设置可能行,不过我自己没有实践过,纯属建议:lol

使用特权

评论回复
地板
CrazyST| | 2010-7-31 18:10 | 只看该作者
如果楼主不想省定时器,双定时器应该是最简单设计的

使用特权

评论回复
5
myzcp123|  楼主 | 2010-8-3 17:24 | 只看该作者
谢谢,各位的出谋划策,我再研究研究定时器的用法,本人实在木讷看不怎么明白

使用特权

评论回复
6
lmq329778570| | 2010-8-3 17:43 | 只看该作者
相差90度,也就是产生两个方波,相差1/4周期了?

使用特权

评论回复
7
CrazyST| | 2010-8-4 14:49 | 只看该作者
这招帅呆了!

使用特权

评论回复
8
123jj| | 2010-8-4 15:39 | 只看该作者
香主的这招狠,打遍天下8位机

使用特权

评论回复
9
香水城| | 2010-8-4 15:57 | 只看该作者
这招帅呆了!
CrazyST 发表于 2010-8-4 14:49


其实这个方法不但能产生相位相差90°的方波,而且可以产生任意相位差的方波;不但可以在STM8上实现,更可以在STM32上实现,:lol

请看我刚发的另一个帖子:立此存照:使用STM32定时器输出任意相位差的方波

使用特权

评论回复
10
myzcp123|  楼主 | 2010-8-4 22:01 | 只看该作者
谢谢香版主!:D

使用特权

评论回复
11
xmar| | 2010-8-8 12:21 | 只看该作者
输出相差固定为90度的方波——简洁有效的方法。不仅仅适用于STM8单片机:
用定时器产生需要频率2倍的时钟,共计两个相位相反输出CK1、CK2。再软件分频。即CK1/2与CK2/2刚好相差90度。

使用特权

评论回复
12
inele| | 2010-8-8 15:07 | 只看该作者
随便用一个定时器就可以输出相差90方波!
定时周期为波形周期的1/4,
定时器中断时,通过查表输出两路波形!

使用特权

评论回复
13
txcy| | 2010-8-8 16:52 | 只看该作者
产生任意相位差都没有什么问题

使用特权

评论回复
14
香水城| | 2010-8-8 18:08 | 只看该作者
随便用一个定时器就可以输出相差90方波!
定时周期为波形周期的1/4,
定时器中断时,通过查表输出两路波形!
inele 发表于 2010-8-8 15:07


请注意:使用定时器中断,因为响应中断的时间不定,所以不能保证准确地相位差。

使用我介绍的办法,不需要中断,可以非常准确地产生任意相位差的波形。

使用特权

评论回复
15
stinby| | 2011-10-27 17:33 | 只看该作者

疑问??????????

本帖最后由 stinby 于 2011-10-27 17:35 编辑

香版!您这个方法我测试过,是可以产生固定相位差90度的方波。但是如果运行中需要动态修改这两个波的频率,(通过修改他们的比较值); ,他们之间的相位差有时会莫名其妙翻转,比如原来应该是A提前B 90度。改频率后,有时就变成了B提前A 90度,相位完全反了,不知道该如何解决呢?????????????

使用特权

评论回复
16
yybj| | 2011-10-27 18:19 | 只看该作者
香主的方法不错

使用特权

评论回复
17
stinby| | 2011-10-28 09:12 | 只看该作者
继续疑问前一楼???????

使用特权

评论回复
18
bobo5650| | 2011-10-28 11:32 | 只看该作者
duty要可调的怎么办?好像这样产生出来的固定50%的duty?
不知道我理解错没有。

使用特权

评论回复
19
stinby| | 2011-10-31 08:45 | 只看该作者
继续前一楼的疑问???????????

使用特权

评论回复
20
香水城| | 2011-10-31 10:30 | 只看该作者
香版!您这个方法我测试过,是可以产生固定相位差90度的方波。但是如果运行中需要动态修改这两个波的频率,(通过修改他们的比较值); ,他们之间的相位差有时会莫名其妙翻转,比如原来应该是A提前B 90度。改频率后 ...
stinby 发表于 2011-10-27 17:33


修改寄存器的时机或方法有问题。

使用特权

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

本版积分规则

2

主题

7

帖子

0

粉丝