4148|3

2856

帖子

260

TA的资源

五彩晶圆(高级)

楼主
 

【R7F0C809】PWM测试 [复制链接]

本帖最后由 ltbytyn 于 2015-10-13 15:54 编辑

我的最终目的是要控制电机(玩具电梯),所以通过PWM调速还是很有必要的。
设定周期为10ms。实现10%~90%(占空比变化率为10%)总共九种占空比的波形输出。
实现思路,通过定时器计数,通过到达设定值时翻转实现IO实现PWM占空比可调。

上图为脱机运行实物图。使用逻辑分析仪测试PWM。
占空比变化最小单位为10%,实现10%~90%之间可调。
K1按键: 增加占空比
K5按键: 减小占空比



P01 输出PWM波形

PWM输出部分程序
  1. //中断子程序
  2. __interrupt void R_TAU0_Channel0_Interrupt(void)
  3. {
  4.     /* Start user code. Do not edit comment generated here */
  5.     Key_Scan();
  6.     LED_Display();
  7.     /* End user code. Do not edit comment generated here */
  8. }

  9. __interrupt void R_TAU0_Channel1_Interrupt(void)
  10. {
  11.    num++;
  12.    if(num > 9)
  13.    {
  14.       num = 0;
  15.       P0 &= 0xFD;
  16.    }
  17.    else if(num == (10 - speed))
  18.       P0 |= 0x02;
  19.    TDR01H = 0x04;      //1ms
  20.    TDR01L = 0xE2;
  21. }
复制代码
使用了两个定时器。一个定时器负责按键识别及数码管刷新。另一个定时器负责PWM输出。
  1. //定时器初始化。
  2. //timer00定时间隔4ms,用于按键识别及数码管刷新
  3. //timer01定时间隔1ms,用于PWM输出
  4. void TAU0_Init(void)
  5. {
  6.     TAU0EN = 1;         /*supply input clock*/
  7.     TPS0 = 0x04;        /*CK00,CK01 fMCLK=fCLK/16=1.25MH,¨fCLK=20MHz*/
  8.         
  9.     /* channel 0 and 1 used as interval timer */
  10.     TMR00H = 0;         /*only software trigger*/
  11.     TMR00L = 0;
  12.     TMR01H = 0;         /*only software trigger*/
  13.     TMR01L = 0;
  14.     TDR00H = 0x14;      /*4ms*/
  15.     TDR00L = 0x2A;  
  16.     TDR01H = 0x04;      /*1ms*/
  17.     TDR01L = 0xE2;  
  18.     TMIF00 = 0;         /*Clear channel0 interrupt flag */
  19.     TMIF01 = 0;         /*Clear channel1 interrupt flag */
  20. }  
复制代码

PWM演示视频


PWM演示程序
PWM.zip (150.35 KB, 下载次数: 11, 售价: 2 分芯积分)

PWM.zip (150.35 KB, 下载次数: 11, 售价: 2 分芯积分)


最新回复

谢谢分享   详情 回复 发表于 2021-8-31 11:22
点赞 关注(1)

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
clock generator 的配置有些什么注意事项我用的芯片是R5F100LF
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

板凳
 
查一下我以前帖子
 
 
 

回复

260

帖子

0

TA的资源

一粒金砂(中级)

4
 

谢谢分享

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表