西比爱斯

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

4:PWM信号

PWM是利用数字信号控制模拟量的一种方式,是数字开关信号。在H8中负责发生PWM信号的是定时器,它的5个定时器都可以发生PWM,其中三号定时器和四号定时器还可以联合工作发送互补,多相的PWM信号。

使用定时器发送PWM首先要认识到:

1:定时器的基本功能只是累加计数,如果要发送PWM需要设置PWM模式。

2:定时器发送PWM信号时针对特定端口的,不是每个端口都可以作为PWM信号的发生口。

知道上面两个基本信息后就比较容易设计PWM信号输出了。PWM的基本属性就是频率,占空比。

1:设置定时器是PWM输出(ITU.TMDR)。

2:设置定时器的输入时钟分频方式(ITU2.TCR),这样就可以设置PWM的频率(周期的倒数)了。

3:设置占空比数字,GRA,GRB。他们和PWM占空比的关系由下图所示。基本上GRB的值就是周期,GRA就是设置占空比。

4:启动定时器

经过以上步骤就完成PWM的启动了,今后要想改PWM就修改GRA,GRB就行了。在某些定时器中还有备份寄存器,这样一来设置的时候就把值放到备份器中,设置完毕后下一个周期检查到备份寄存器中有内容就把备份器中的值放进来。

 

1 ITU.TMDR = 0x84;
2 ITU2.TCR = 0x23;
3 ITU2.GRA = 0xFFFF;
4 ITU2.GRB = 0xFFFE;
5
6 ITU.TSTR = 0x04 | ITU.TSTR;

TMDR的第三位是1,这表示第三个定时器ITU2是PWM输出模式。

TCR是0x23表示ITU2的输入频率是1/8分频

 

上面的代码写好以后并不会马上启动PWM,因为GRA大于GRB,此时PWM是停止的。需要在别的地方吧GRA的值换为比GRB小PWM才会启动。

(以上)

 

posted on 2009-12-28 10:46  西比爱斯  阅读(246)  评论(0编辑  收藏  举报