熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2019-8-19 18:29
正文摘要:求助各位大神!!如何用stc15f104寫代碼做一個(gè)延時(shí)約500ms控制電路,謝謝! 本人不會(huì)寫代碼,怎么弄才能實(shí)現(xiàn)以下邏輯功能: 邏輯是這樣的: 1,當(dāng)深夜上下班回家,打開房門,門磁接通12V電池供電給 ... |
| 是啊,可以不需要單片機(jī),直接用555就可以哈,上網(wǎng)搜一下555的應(yīng)用 |
| 好想法的一個(gè)電路,值得學(xué)習(xí) |
|
實(shí)現(xiàn)的方法很幾種 不需要精準(zhǔn)的話做個(gè)簡(jiǎn)易的延時(shí)函數(shù)就可以了,需要精準(zhǔn)的時(shí)間 就用定時(shí)器做一個(gè)時(shí)間出來。 void Delay500ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); _nop_(); i = 22; j = 3; k = 227; do { do { while (--k); } while (--j); } while (--i); } 這段代碼就可以延時(shí)500ms,在11.0592M的頻率下 邏輯的話,設(shè)置1個(gè)標(biāo)志位 檢測(cè)到有高電平而且標(biāo)志位沒有置位,7腳輸出,將標(biāo)志位置位,然后延時(shí)500ms,再停止輸出 因?yàn)橛袠?biāo)志位,所以只會(huì)導(dǎo)通一次 建議用定時(shí)器做,這樣你的單片機(jī)就還可以做其他的事情。 第二種邏輯 不使用標(biāo)志位 檢測(cè)到有高電平,7腳輸出,,然后延時(shí)500ms,再停止輸出,接一個(gè)死循環(huán)while(1); 因?yàn)槭莻(gè)死循環(huán),所以整個(gè)代碼只會(huì)執(zhí)行一次,這樣的方式 你這個(gè)電路可以使用,你是直接斷掉單片機(jī)的電了,每次開門相當(dāng)以重啟單片機(jī),單片機(jī)啟動(dòng)后只能執(zhí)行一次 |
| 這個(gè)根本不需要用單片機(jī),用555或者運(yùn)放加RC電路就可以了 |
Powered by 單片機(jī)教程網(wǎng)