0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Lua編寫計算ML51單片機PWM時鐘源的程序?

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2021-01-26 09:57 ? 次閱讀

比如你想生成的PWM的時鐘信號頻率為10K,然后你就可以利用10K的PWM時鐘源計數(shù)生成周期為(1~4095)*(1/10000)的PWM波形了。

其實再次修改程序,你還可以計算PWM周期計數(shù)器與高電平相關的值。

目前提供Lua腳本的

function get(my)--這個是選擇系統(tǒng)的時鐘源,這里默認選擇內(nèi)置的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

發(fā)現(xiàn)有兩組參數(shù)可以滿足需求
pre=16.0CKDIV=75
pre=8.0CKDIV=150

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

CKDIV是這里,選擇內(nèi)部的RC振蕩器后的分頻

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

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

function get(my)--這個是選擇系統(tǒng)的時鐘源,這里默認選擇內(nèi)置的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)? 優(yōu)化了一下顯示形式,輸出結果,可以看出為了達到某個結果,實際上可以通過多組分頻組合實現(xiàn)。??

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原創(chuàng)

原文標題:高手雜談:用Lua編寫計算ML51單片機PWM時鐘源的程序

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6064

    文章

    44932

    瀏覽量

    647494
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5409

    瀏覽量

    218265
  • Lua
    Lua
    +關注

    關注

    0

    文章

    83

    瀏覽量

    10883

原文標題:高手雜談:用Lua編寫計算ML51單片機PWM時鐘源的程序

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    2.4寸TFT彩屏配套測試程序-51單片機

    如題,2.4寸TFT彩屏配套測試程序-51單片機。
    發(fā)表于 06-04 16:26 ?0次下載

    51單片機pwm和spwm

    51單片機pwm
    發(fā)表于 01-08 15:54 ?3次下載

    基于51單片機的手動數(shù)字時鐘

    具體實現(xiàn)功能由51單片機+8位共陰數(shù)碼管+獨立按鍵構成。具體功能:(1)利用數(shù)碼管顯示時分秒,顯示格式為“時-分-秒”;(2)利用6個按鍵控制時、分、秒,設定好后自動開始時鐘顯示;(3)設置秒復位
    的頭像 發(fā)表于 10-22 14:12 ?548次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的手動數(shù)字<b class='flag-5'>時鐘</b>

    單片機怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機和開發(fā)環(huán)境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?2186次閱讀

    單片機燒錄程序可以重新燒嗎

    單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄程序是指將
    的頭像 發(fā)表于 09-02 10:04 ?2902次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發(fā)過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機
    的頭像 發(fā)表于 09-02 09:47 ?2515次閱讀

    51單片機燒錄軟件怎么用

    準備工作 確保您已經(jīng)安裝了51單片機燒錄軟件,如Keil、IAR等。 準備好51單片機開發(fā)板和燒錄器,如STC-ISP等。 確保您的計算機已
    的頭像 發(fā)表于 08-22 09:26 ?2560次閱讀

    基于51單片機數(shù)字時鐘數(shù)碼管顯示設計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機數(shù)字時鐘數(shù)碼管顯示設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(exc
    發(fā)表于 06-25 10:42 ?1次下載

    基于51單片機數(shù)字時鐘鬧鐘設計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機數(shù)字時鐘鬧鐘設計包含了PDF版本電路圖、C語言程序源代碼(keil軟件打開)、proteus仿真。本資源適合人群:? ? ?
    發(fā)表于 06-25 10:17 ?0次下載

    基于51單片機時鐘溫度顯示設計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機時鐘溫度顯示設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、proteus仿真圖。本資源適合人群
    發(fā)表于 06-25 10:17 ?0次下載

    基于51單片機時鐘SHT10濕度采集顯示定時報警設計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機時鐘SHT10濕度采集顯示定時報警設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、proteus
    發(fā)表于 06-25 10:14 ?0次下載

    基于51單片機24秒倒計時設計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機24秒倒計時設計包含了 C語言程序源代碼(keil軟件打開) 。本資源適合人群:? ? ? 單片機愛好者、電子類專業(yè)學生、電子diy愛好
    發(fā)表于 06-25 10:03 ?0次下載

    基于51單片機分立器件超聲波測距電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機分立器件超聲波測距電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件
    發(fā)表于 06-20 16:17 ?0次下載

    基于51單片機8路搶答器電路圖proteus仿真及程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機8路搶答器電路圖proteus仿真及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打
    發(fā)表于 06-19 14:15 ?1次下載

    基于51單片機16路搶答器電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機16路搶答器電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(
    發(fā)表于 06-19 11:38 ?2次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品