0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用Lua编写计算ML51单片机PWM时钟源的程序?

Q4MP_gh_c472c21 来源:嵌入式ARM 作者:嵌入式ARM 2021-01-26 09:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

比如你想生成的PWM的时钟信号频率为10K,然后你就可以利用10K的PWM时钟源计数生成周期为(1~4095)*(1/10000)的PWM波形了。

其实再次修改程序,你还可以计算PWM周期计数器与高电平相关的值。

目前提供Lua脚本的

function get(my)--这个是选择系统的时钟源,这里默认选择内置的24M时钟HIRC Fhirc=24000000--下面几个变量都是临时变量使用,初始化多少都行 CKDIV=0 Fsys=0 pre=1 Fpwm=0 i=0 for CKDIV=0,255 do for i=0,7 do pre=2^i if(CKDIV==0) then Fsys=Fhirc elseif((CKDIV>0)and(CKDIV<=0xFF)) then Fsys=Fhirc/(2*CKDIV) end Fpwm=Fsys/pre if(my==Fpwm) then print("pre="..pre.."CKDIV="..CKDIV) end end endend get(10000) 

37d916b0-5f63-11eb-8b86-12bb97331649.png

发现有两组参数可以满足需求
pre=16.0CKDIV=75
pre=8.0CKDIV=150

384e5d26-5f63-11eb-8b86-12bb97331649.png

CKDIV是这里,选择内部的RC振荡器后的分频

38bb5f48-5f63-11eb-8b86-12bb97331649.png

CKDIV = 75; PWM0_ClockSource(PWM_FSYS,16); 或者 CKDIV = 150; PWM0_ClockSource(PWM_FSYS,8);

function get(my)--这个是选择系统的时钟源,这里默认选择内置的24M时钟HIRC Fhirc=24000000--下面几个变量都是临时变量使用,初始化多少都行 CKDIV=0 Fsys=0 pre=1 Fpwm=0 i=0 for CKDIV=0,255 do for i=0,7 do pre=2^i if(CKDIV==0) then Fsys=Fhirc elseif((CKDIV>0)and(CKDIV<=0xFF)) then Fsys=Fhirc/(2*CKDIV) end Fpwm=Fsys/pre if(my==Fpwm) then print("PWM时钟频率为"..my.."Hz".." 需要设置".."pre="..pre..", CKDIV="..CKDIV) end end endend get(10000)print("-----------------------------------")get(15000)print("-----------------------------------")get(20000)  优化了一下显示形式,输出结果,可以看出为了达到某个结果,实际上可以通过多组分频组合实现。  

PWM时钟频率为10000Hz 需要设置pre=16.0, CKDIV=75PWM时钟频率为10000Hz 需要设置pre=8.0, CKDIV=150-----------------------------------PWM时钟频率为15000Hz 需要设置pre=32.0, CKDIV=25PWM时钟频率为15000Hz 需要设置pre=16.0, CKDIV=50PWM时钟频率为15000Hz 需要设置pre=8.0, CKDIV=100PWM时钟频率为15000Hz 需要设置pre=4.0, CKDIV=200-----------------------------------PWM时钟频率为20000Hz 需要设置pre=8.0, CKDIV=75PWM时钟频率为20000Hz 需要设置pre=4.0, CKDIV=150 END 本文系21ic论坛蓝V作者gaoyang9992006原创

原文标题:高手杂谈:用Lua编写计算ML51单片机PWM时钟源的程序

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45629

    浏览量

    675330
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5904

    浏览量

    227098
  • Lua
    Lua
    +关注

    关注

    0

    文章

    92

    浏览量

    11530

原文标题:高手杂谈:用Lua编写计算ML51单片机PWM时钟源的程序

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    入门神器 | 尚硅谷51单片机视频教程

    本源:冯·诺依曼架构的具象化教学 对于现代程序员而言,计算机往往是 CPU、内存和硬盘的抽象集合。而 51 单片机作为经典的微控制器,其结构精简,完美诠释了冯·诺依曼架构的核心逻辑。教
    发表于 05-01 17:34

    8XC51FX:高性能8位单片机的全方位解析

    8XC51FX:高性能8位单片机的全方位解析 在单片机的世界里,8XC51FX系列以其卓越的性能和丰富的功能脱颖而出,成为众多电子工程师在设计项目时的热门选择。今天,我们就来深入探讨一
    的头像 发表于 03-29 13:15 433次阅读

    小白也能听懂的单片机知识路径

    级的单片机打下坚实基础。 51单片机学习要点: 硬件结构:了解51单片机的引脚功能、CPU结构、内存分布等。 编程语言:掌握C语言或汇编
    发表于 02-04 16:44

    Lua基础语法更新篇(上)

    初识 Lua   Lua 是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放。这意味着什么呢?这意味着Lua虚拟可以 很方便的
    的头像 发表于 01-23 19:56 252次阅读
    <b class='flag-5'>Lua</b>基础语法更新篇(上)

    单片机里的程序运行方式

    我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解
    发表于 01-16 06:57

    学习单片机快速方法

    的很不错了。告诉大家我学51单片机只用了两个星期。普通的应用差不多都会了,可以自己设计一个国旗升降系统、温度自动控制系统之类的电路和程序。当然想要这么短的时间内精通是不可能的。 学习单片机
    发表于 01-14 07:42

    编写简单高效单片机汇编程序

    的行数多并不一定意味着效率低。 关键在于写代码时避免冗余,灵活运用模块化设计和单片机资源。 最终程序既要高效运转,又不失结构清晰。 汇编语言的难点在于编写简短而高效的代码,需要理解单片机
    发表于 11-24 07:00

    C语言和单片机C语言有什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C
    发表于 11-14 07:55

    51单片机RS485编程实例资料

    详细介绍51单片机RS485通信接线和编程代码
    发表于 10-20 14:57 8次下载

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、
    的头像 发表于 07-25 11:39 1198次阅读

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是
    的头像 发表于 07-23 11:47 2231次阅读

    AT89C51 单片机中文资料

    电子发烧友网站提供《AT89C51 单片机中文资料.pdf》资料免费下载
    发表于 06-24 15:29 1次下载

    单片机原理及应用

    本书全面系统地介绍了 MCS-51 系列单片机的基本结构、工作原理及应用技术。主要内容包括:微型计算机的基础知识、MCS-51 单片机的基本
    发表于 06-16 16:58

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 10次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载