熱門: 51單片機(jī) | 24小時必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時間: 2017-3-6 13:01
正文摘要:在網(wǎng)上找到的紅外接遙控程序改編,計(jì)劃實(shí)現(xiàn)功能:K1,K2 “開”與“關(guān)”,K3 以后是“點(diǎn)動”。 但問題:剛通電后所有LED均是亮(高電平),K1按一次后(K2還要再按一次)K3以下的LED才熄滅,以后不斷電,才正常工作 ... |
哦,問題解決了! 原來單片機(jī)外圍電路設(shè)計(jì)的時候,為了不讓外圍電路誤動作,一般把外圍電路設(shè)置成單片機(jī)IO口低電平的時候 盡心動作,點(diǎn)亮 LEd燈的時候應(yīng)該是負(fù)電平有效,我現(xiàn)在的電路是正電平有效,自然就是費(fèi)事了。好,將:供LED電源、LED極性反轉(zhuǎn),程序中相應(yīng) 判斷語句極性也反轉(zhuǎn),OK,一切正常。 看來只能自己基礎(chǔ)不精哦! 謝謝s1g、mahshmj等指點(diǎn)! |
把發(fā)光二極管都反過來接,然后將公共端接到vcc試試看! |
進(jìn)入主程序的第一條指令就應(yīng)該是 P1=0xE0;或 P1=0x00; |
YQS 發(fā)表于 2017-3-6 15:20 main() { IE = 0x84; //允許總中斷中斷,使能 INT1 外部中斷 TCON = 0x10; //觸發(fā)方式為脈沖負(fù)邊沿觸發(fā) IRIN=1; //I/O口初始化 // delay1(10); //延時 P1=0x00; while(1) ; } |
@imxuheng,本人不是太熟悉C,只能依葫蘆畫瓢,能否更清楚說如何加上:P1=0x00;嗎?謝謝! |
@imxuheng,本人不是太熟悉C,只能依葫蘆畫瓢,能更清楚說如何加上P1=0x00;嗎?謝謝 |
現(xiàn)在程序及電路:是通電后所有LED均是亮的(高電平)。希望改進(jìn)程序,要求是相反! |
通電后所有LED均是熄滅(低電平)?那就在初始化的時候加上P1=0x00; |
樓主是高手啊 程序編的6 |
Powered by 單片機(jī)教程網(wǎng)