|
發(fā)布時(shí)間: 2017-3-6 13:01
正文摘要:在網(wǎng)上找到的紅外接遙控程序改編,計(jì)劃實(shí)現(xiàn)功能:K1,K2 “開”與“關(guān)”,K3 以后是“點(diǎn)動(dòng)”。 但問題:剛通電后所有LED均是亮(高電平),K1按一次后(K2還要再按一次)K3以下的LED才熄滅,以后不斷電,才正常工作 ... |
|
哦,問題解決了! 原來單片機(jī)外圍電路設(shè)計(jì)的時(shí)候,為了不讓外圍電路誤動(dòng)作,一般把外圍電路設(shè)置成單片機(jī)IO口低電平的時(shí)候 盡心動(dòng)作,點(diǎn)亮 LEd燈的時(shí)候應(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); //延時(shí) P1=0x00; while(1) ; } |
| @imxuheng,本人不是太熟悉C,只能依葫蘆畫瓢,能否更清楚說如何加上:P1=0x00;嗎?謝謝! |
| @imxuheng,本人不是太熟悉C,只能依葫蘆畫瓢,能更清楚說如何加上P1=0x00;嗎?謝謝 |
| 現(xiàn)在程序及電路:是通電后所有LED均是亮的(高電平)。希望改進(jìn)程序,要求是相反! |
| 通電后所有LED均是熄滅(低電平)?那就在初始化的時(shí)候加上P1=0x00; |
| 樓主是高手啊 程序編的6 |
Powered by 單片機(jī)教程網(wǎng)