单片机交流
登录
直播中
周静
8年用户
594经验值
私信
关注
[问答]
如何实现ABOV单片机内部定时器Timer0的PWM代码?
开启该帖子的消息推送
单片机
如何实现ABOV
单片机
内部定时器
ti
mer0的PWM代码?
回帖
(1)
成贯征
2021-10-28 14:34:03
一、准备工作
1、KEIL C51编译环境
2、CodeGen8 代码生成器
3、MC96F6332D 开发板
4、USB-OCD II仿真器
二、内部定时器PWM代码生成
1、在CodeGen8 代码生成器的外设窗口中选择内部RC时钟作为时钟源,设置时钟源的频率为8MHz;配置内部Timer0的PWM输出引脚P53的功能为PWM0O,如下图中①所示;配置Timer0为PWM模式,频率为1kHz(因为时钟分频的原因,不能达到精确额1Khz频率);占空比为50%;如下图②所示;配置后Timer0的代码如下图③所示;
2、点击CodeGen8 中的
C
图标,自动打开KEIL C51软件;
3、编译工程,结果如下所示:
4、关于TIMER0工作流程简介:
5、Timer0寄存器简单介绍:
1)、数据寄存器:
2)、控制寄存器:
提示:当T0DR = 0x00H;PWM0O输出持续的高电平;当T0DR = 0xFFH;PWM0O输出持续的低电平;
输出频率频率为:f(pwm) = fx /(0xFF+1)*T0CK[2:0] = 8000000/(255+1)*32 = 976.5625Hz;
6、点击编译器的下载按钮,将刚刚编译好的代码下载到MCU中进行仿真调试;连接P53引脚到示波器端口,可以看到P53的定时器输出PWM波形如下所示:
三、实验现象(具体内容可以参考工程中的Readme.txt文件)
1、MCU主频选择为内部8MHz;
2、Timer0的时钟频率计算公式为:f(pwm) = fx /(0xFF+1)*T0CK[2:0] = 8000000/(255+1)*32 = 976.5625Hz;
3、具体的代码可以访问链接:
https://share.weiyun.com/5wD9pAm
;进行免费获取。
因为小编自己能力水平有限,文中难免有错误或表达失误的信息,还望广大阅读者留言批评指正,谢谢。
一、准备工作
1、KEIL C51编译环境
2、CodeGen8 代码生成器
3、MC96F6332D 开发板
4、USB-OCD II仿真器
二、内部定时器PWM代码生成
1、在CodeGen8 代码生成器的外设窗口中选择内部RC时钟作为时钟源,设置时钟源的频率为8MHz;配置内部Timer0的PWM输出引脚P53的功能为PWM0O,如下图中①所示;配置Timer0为PWM模式,频率为1kHz(因为时钟分频的原因,不能达到精确额1Khz频率);占空比为50%;如下图②所示;配置后Timer0的代码如下图③所示;
2、点击CodeGen8 中的
C
图标,自动打开KEIL C51软件;
3、编译工程,结果如下所示:
4、关于TIMER0工作流程简介:
5、Timer0寄存器简单介绍:
1)、数据寄存器:
2)、控制寄存器:
提示:当T0DR = 0x00H;PWM0O输出持续的高电平;当T0DR = 0xFFH;PWM0O输出持续的低电平;
输出频率频率为:f(pwm) = fx /(0xFF+1)*T0CK[2:0] = 8000000/(255+1)*32 = 976.5625Hz;
6、点击编译器的下载按钮,将刚刚编译好的代码下载到MCU中进行仿真调试;连接P53引脚到示波器端口,可以看到P53的定时器输出PWM波形如下所示:
三、实验现象(具体内容可以参考工程中的Readme.txt文件)
1、MCU主频选择为内部8MHz;
2、Timer0的时钟频率计算公式为:f(pwm) = fx /(0xFF+1)*T0CK[2:0] = 8000000/(255+1)*32 = 976.5625Hz;
3、具体的代码可以访问链接:
https://share.weiyun.com/5wD9pAm
;进行免费获取。
因为小编自己能力水平有限,文中难免有错误或表达失误的信息,还望广大阅读者留言批评指正,谢谢。
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机
关于
单片机
定时器
的问题,求解!
2013-12-09
3499
定时器
2013-03-20
2231
ch579
timer0
的硬件
定时器
,可以设定成微秒级别的吗?
2022-08-24
409
为什么用51
单片机
定时器
输出
PWM
控制舵机会有很大的误差?
2019-09-29
2520
请问51
单片机内
核的中断是如何
实现
的?
2023-10-25
357
单片机内
的
定时器
2012-12-06
4172
M261的
定时器
,偏差很大,600秒差不多10秒的误差如何解决?
2023-06-20
515
新手求问,关于
定时器
和中断
2016-08-28
3764
定时器
/计数
器
应用
2012-11-07
3330
请问51
单片机内
核的中断是怎么
实现
的?
2019-05-07
2276
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分