找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1204|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求程序 單片機(jī)pwm+LED

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1099898 發(fā)表于 2023-11-15 21:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來(lái)寫(xiě)程序去實(shí)現(xiàn),謝謝大家

c51使用定時(shí)器產(chǎn)生PIM波控制LD燈的亮度頻率50Hz占空比可調(diào),調(diào)節(jié)范圍為01-99% 串口輸入需要調(diào)節(jié)的占空比,設(shè)置成功,返回Set is ok
幫助一下代碼編寫(xiě)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2023-11-17 17:10 | 只看該作者
本帖最后由 yzwzfyz 于 2023-11-20 08:09 編輯

【頻率50Hz】折成時(shí)間 = 20ms。
【調(diào)節(jié)范圍為01-99%】也即要將20ms分成100份,取其中的1-99份。
所以:
定時(shí)器中斷時(shí)間為:20ms/100 =200us。
中斷服務(wù)程序這樣寫(xiě):(設(shè)LED接在P1.0上)
1、給出一個(gè)周期變量T100(初始=0,用于計(jì)數(shù)20mS周期,計(jì)數(shù)值 0-100)。定義一個(gè)脈寬調(diào)制計(jì)時(shí)變量TLEDH(計(jì)數(shù) LED=1 [高電平]的時(shí)間,計(jì)數(shù)范圍0-99,輸入你希望的值N,例N=39表示39%)
2、每次中斷 T100 +1 ,當(dāng)T100 = 100 時(shí),讓T100 = 0,重新計(jì)數(shù),完成20ms周期計(jì)數(shù)。
     判定:當(dāng)T100 = 0 時(shí),讓 P1.0 = 1,PWM輸出1;
               當(dāng) T100 = TLEDH 時(shí) ;讓P1.0 = 0,PWM輸出0。
其它,什么也不做。
這樣你只要改變TLEDH的值1-99,就達(dá)成你的目的了。



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表