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

QQ登錄

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

搜索

STC8G單片機(jī)PWM呼吸燈無(wú)輸出什么原因?

查看數(shù): 3820 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(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è)量除地以外 ...

回復(fù)

ID:624769 發(fā)表于 2022-10-20 10:06
ningsy 發(fā)表于 2022-10-20 08:31
感謝回復(fù)!后來(lái)?yè)Q成1K電阻,燈也亮了。主要原因應(yīng)該是我這個(gè)型號(hào)的MCU沒(méi)有“增強(qiáng)型PMW”功能,而我燒入了 ...

所以說(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)該”兩字。


ID:1044091 發(fā)表于 2022-10-20 08:31
wpppmlah 發(fā)表于 2022-10-19 16:35
串接的電阻阻值太大了,可以串接500歐左右的電阻,官方代碼一般直接燒寫(xiě)以后都能正常使用.......

感謝回復(fù)!后來(lái)?yè)Q成1K電阻,燈也亮了。主要原因應(yīng)該是我這個(gè)型號(hào)的MCU沒(méi)有“增強(qiáng)型PMW”功能,而我燒入了“增強(qiáng)型PMW”的代碼。
ID:1044091 發(fā)表于 2022-10-19 23:20
Y_G_G 發(fā)表于 2022-10-19 22:22
看數(shù)據(jù)手冊(cè)呀
這個(gè)PWM是有一個(gè)寄存器是決定了頻率的
數(shù)據(jù)手冊(cè)有點(diǎn)恐怖,但認(rèn)真看,再寫(xiě)幾個(gè)驗(yàn)證一下就能 ...

感謝建議!那個(gè)數(shù)據(jù)手冊(cè)真的很恐怖~

在論壇里翻出另一個(gè)大佬的代碼,就是在您代碼基礎(chǔ)上加個(gè)定時(shí)器,已經(jīng)有脈沖輸出了。

沒(méi)有示波器,現(xiàn)在只能看閃燈~(yú)
ID:401564 發(fā)表于 2022-10-19 22:22
ningsy 發(fā)表于 2022-10-19 18:36
首先感謝各位回復(fù)! 我下的代碼好像是“增強(qiáng)型PWM”的代碼(里面有P_SW2寄存器),但我這款芯片STC8G1K08應(yīng) ...

看數(shù)據(jù)手冊(cè)呀
這個(gè)PWM是有一個(gè)寄存器是決定了頻率的
數(shù)據(jù)手冊(cè)有點(diǎn)恐怖,但認(rèn)真看,再寫(xiě)幾個(gè)驗(yàn)證一下就能理解了
STC幾乎所有的PWM數(shù)據(jù)手冊(cè)都是亂亂的一團(tuán).........
ID:1034262 發(fā)表于 2022-10-19 17:18
直接燒寫(xiě)STC的例程里的HEX測(cè)試即可。
ID:68189 發(fā)表于 2022-10-19 16:35
串接的電阻阻值太大了,可以串接500歐左右的電阻,官方代碼一般直接燒寫(xiě)以后都能正常使用.......
ID:25310 發(fā)表于 2022-10-19 15:25
c初始化PCA   CR=1;
ID:401564 發(fā)表于 2022-10-19 14:33
這個(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了
不需要什么其它工具的

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

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

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