熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-10-19 12:39
正文摘要:求助: STC8G1K08 DIP20用PWM實(shí)現(xiàn)呼吸燈效果,無(wú)輸出是什么原因? 第一次調(diào)PWM,用的STC-ISP官方呼吸燈代碼,手里只有萬(wàn)用表和LED燈,10K電阻,搞了一上午,燈也沒(méi)呼吸,很是郁悶,因此來(lái)論壇求助。測(cè)量除地以外 ... |
ningsy 發(fā)表于 2022-10-20 08:31 所以說(shuō),要看手冊(cè),要看手冊(cè),要看手冊(cè)。! 重要的事情說(shuō)三遍。 你到現(xiàn)在還是“應(yīng)該”,有就有,沒(méi)有就沒(méi)有,應(yīng)該算什么? 手冊(cè)中增強(qiáng)型PWM的第一頁(yè)就明確表示了哪些型號(hào)有這個(gè)功能。內(nèi)容是不是恐怖我們撇開(kāi)不說(shuō),你但凡翻過(guò)手冊(cè),就不會(huì)出現(xiàn)“應(yīng)該”兩字。 ![]() |
wpppmlah 發(fā)表于 2022-10-19 16:35 感謝回復(fù)!后來(lái)?yè)Q成1K電阻,燈也亮了。主要原因應(yīng)該是我這個(gè)型號(hào)的MCU沒(méi)有“增強(qiáng)型PMW”功能,而我燒入了“增強(qiáng)型PMW”的代碼。 |
Y_G_G 發(fā)表于 2022-10-19 22:22 感謝建議!那個(gè)數(shù)據(jù)手冊(cè)真的很恐怖~ 在論壇里翻出另一個(gè)大佬的代碼,就是在您代碼基礎(chǔ)上加個(gè)定時(shí)器,已經(jīng)有脈沖輸出了。 沒(méi)有示波器,現(xiàn)在只能看閃燈~(yú) |
ningsy 發(fā)表于 2022-10-19 18:36 看數(shù)據(jù)手冊(cè)呀 這個(gè)PWM是有一個(gè)寄存器是決定了頻率的 數(shù)據(jù)手冊(cè)有點(diǎn)恐怖,但認(rèn)真看,再寫(xiě)幾個(gè)驗(yàn)證一下就能理解了 STC幾乎所有的PWM數(shù)據(jù)手冊(cè)都是亂亂的一團(tuán)......... |
直接燒寫(xiě)STC的例程里的HEX測(cè)試即可。 |
串接的電阻阻值太大了,可以串接500歐左右的電阻,官方代碼一般直接燒寫(xiě)以后都能正常使用....... |
c初始化PCA CR=1; |
這個(gè)是我自己用的一個(gè)PWM控制LED燈的程序 沒(méi)有呼吸燈的效果,但是,是有PWM效果的,你參考一下,我手上沒(méi)有這個(gè)單片機(jī)了,沒(méi)有辦法驗(yàn)證你的代碼 PWM端口為P3.3 void stc8g_pwm1_init()//stc8g_pwm初始化 { CCON=0x00; //先關(guān)閉PCA計(jì)數(shù)器 CMOD=0x80; //pwm時(shí)鐘為系統(tǒng)時(shí)鐘/12,空閑模式下停止PCA計(jì)數(shù) CCAPM1=0x42; //PWM模式,無(wú)中斷 CL=0x00; // CH=0x00; // PCA_PWM1=0x00; //輸出為8位PWM CCAP1L=100; //比較值,當(dāng)CL的值小于CCAP1L時(shí),輸出低電平 CCAP1H=254; //重載值,CCAP1L=CCAP1H P_SW1=0x00; CR=1; } 更改占空比 CCAP1H=64; //75%占空比 CCAP1H=115; //55%占空比 CCAP1H=180; //30%占空比 首先,你要能輸出PWM,這才是最重要的,能輸出PWM了,呼吸燈就相對(duì)簡(jiǎn)單了,更改幾次占空比,對(duì)比一下LED的亮度,就知道能不能輸出PWM了 不需要什么其它工具的 |
Powered by 單片機(jī)教程網(wǎng)