91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2021-01-26 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

目前提供Lua腳本的

function get(my)--這個是選擇系統(tǒng)的時鐘源,這里默認(rèn)選擇內(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)的時鐘源,這里默認(rèn)選擇內(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".." 需要設(shè)置".."pre="..pre..", CKDIV="..CKDIV) end end endend get(10000)print("-----------------------------------")get(15000)print("-----------------------------------")get(20000)? 優(yōu)化了一下顯示形式,輸出結(jié)果,可以看出為了達(dá)到某個結(jié)果,實際上可以通過多組分頻組合實現(xiàn)。??

PWM時鐘頻率為10000Hz 需要設(shè)置pre=16.0, CKDIV=75PWM時鐘頻率為10000Hz 需要設(shè)置pre=8.0, CKDIV=150-----------------------------------PWM時鐘頻率為15000Hz 需要設(shè)置pre=32.0, CKDIV=25PWM時鐘頻率為15000Hz 需要設(shè)置pre=16.0, CKDIV=50PWM時鐘頻率為15000Hz 需要設(shè)置pre=8.0, CKDIV=100PWM時鐘頻率為15000Hz 需要設(shè)置pre=4.0, CKDIV=200-----------------------------------PWM時鐘頻率為20000Hz 需要設(shè)置pre=8.0, CKDIV=75PWM時鐘頻率為20000Hz 需要設(shè)置pre=4.0, CKDIV=150 END 本文系21ic論壇藍(lán)V作者gaoyang9992006原創(chuàng)

原文標(biāo)題:高手雜談:用Lua編寫計算ML51單片機(jī)PWM時鐘源的程序

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

責(zé)任編輯:haq

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

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670355
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5872

    瀏覽量

    225633
  • Lua
    Lua
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    11454

原文標(biāo)題:高手雜談:用Lua編寫計算ML51單片機(jī)PWM時鐘源的程序

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    小白也能聽懂的單片機(jī)知識路徑

    級的單片機(jī)打下堅實基礎(chǔ)。 51單片機(jī)學(xué)習(xí)要點(diǎn): 硬件結(jié)構(gòu):了解51單片機(jī)的引腳功能、CPU結(jié)構(gòu)、內(nèi)存分布等。 編程語言:掌握C語言或匯編
    發(fā)表于 02-04 16:44

    Lua基礎(chǔ)語法更新篇(上)

    初識 Lua ? Lua 是一種輕量小巧的腳本語言,它用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放。這意味著什么呢?這意味著Lua虛擬機(jī)可以 很方便的
    的頭像 發(fā)表于 01-23 19:56 ?86次閱讀
    <b class='flag-5'>Lua</b>基礎(chǔ)語法更新篇(上)

    單片機(jī)里的程序運(yùn)行方式

    我們想要理解單片機(jī)是如何運(yùn)行程序的,我們首先需要了解單片機(jī)的組成,我們這里以80C51單片機(jī)為例來理解
    發(fā)表于 01-16 06:57

    學(xué)習(xí)單片機(jī)快速方法

    的很不錯了。告訴大家我學(xué)51單片機(jī)只用了兩個星期。普通的應(yīng)用差不多都會了,可以自己設(shè)計一個國旗升降系統(tǒng)、溫度自動控制系統(tǒng)之類的電路和程序。當(dāng)然想要這么短的時間內(nèi)精通是不可能的。 學(xué)習(xí)單片機(jī)
    發(fā)表于 01-14 07:42

    編寫簡單高效單片機(jī)匯編程序

    的行數(shù)多并不一定意味著效率低。 關(guān)鍵在于寫代碼時避免冗余,靈活運(yùn)用模塊化設(shè)計和單片機(jī)資源。 最終程序既要高效運(yùn)轉(zhuǎn),又不失結(jié)構(gòu)清晰。 匯編語言的難點(diǎn)在于編寫簡短而高效的代碼,需要理解單片機(jī)
    發(fā)表于 11-24 07:00

    C語言和單片機(jī)C語言有什么差異

    區(qū)別是由編譯器決的,只能參考對應(yīng)的編譯手冊,即使同種平臺不同的編譯器對C的擴(kuò)展也有不同。 3、單片機(jī)c語言編程是基于C語言的單片機(jī)編程。單片機(jī)的C語言采用C51編譯器(簡稱C
    發(fā)表于 11-14 07:55

    51單片機(jī)RS485編程實例資料

    詳細(xì)介紹51單片機(jī)RS485通信接線和編程代碼
    發(fā)表于 10-20 14:57 ?4次下載

    怎么測單片機(jī)系統(tǒng)頻率

    單片機(jī)系統(tǒng)頻率是指單片機(jī)工作時的時鐘頻率,它直接影響單片機(jī)的運(yùn)行速度和處理能力,準(zhǔn)確測量系統(tǒng)頻率對單片機(jī)應(yīng)用開發(fā)、
    的頭像 發(fā)表于 07-25 11:39 ?784次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)程序是將編寫好的程序代碼寫入單片機(jī)內(nèi)部存儲單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過程,是
    的頭像 發(fā)表于 07-23 11:47 ?1286次閱讀

    AT89C51 單片機(jī)中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 06-24 15:29 ?1次下載

    單片機(jī)原理及應(yīng)用

    本書全面系統(tǒng)地介紹了 MCS-51 系列單片機(jī)的基本結(jié)構(gòu)、工作原理及應(yīng)用技術(shù)。主要內(nèi)容包括:微型計算機(jī)的基礎(chǔ)知識、MCS-51 單片機(jī)的基本
    發(fā)表于 06-16 16:58

    STC單片機(jī)范例程序

    電子發(fā)燒友網(wǎng)站提供《STC單片機(jī)范例程序.zip》資料免費(fèi)下載
    發(fā)表于 06-04 16:27 ?10次下載

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

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

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動

    基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動
    發(fā)表于 04-14 15:05 ?7次下載

    基于51單片機(jī)PWM直流電機(jī)調(diào)速程序 0到20級的調(diào)速

    基于51單片機(jī)PWM直流電機(jī)調(diào)速程序 0到20級的調(diào)速,代碼有中文詳細(xì)注解,通俗易懂,不愧是初學(xué)者福利??梢钥吹贸鲎髡哒娴暮苡眯?這也讓我們學(xué)習(xí)單片
    發(fā)表于 03-20 13:44