|
發布時間: 2019-8-19 18:29
正文摘要:求助各位大神!!如何用stc15f104寫代碼做一個延時約500ms控制電路,謝謝! 本人不會寫代碼,怎么弄才能實現以下邏輯功能: 邏輯是這樣的: 1,當深夜上下班回家,打開房門,門磁接通12V電池供電給 ... |
| 是啊,可以不需要單片機,直接用555就可以哈,上網搜一下555的應用 |
| 好想法的一個電路,值得學習 |
|
實現的方法很幾種 不需要精準的話做個簡易的延時函數就可以了,需要精準的時間 就用定時器做一個時間出來。 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); } 這段代碼就可以延時500ms,在11.0592M的頻率下 邏輯的話,設置1個標志位 檢測到有高電平而且標志位沒有置位,7腳輸出,將標志位置位,然后延時500ms,再停止輸出 因為有標志位,所以只會導通一次 建議用定時器做,這樣你的單片機就還可以做其他的事情。 第二種邏輯 不使用標志位 檢測到有高電平,7腳輸出,,然后延時500ms,再停止輸出,接一個死循環while(1); 因為是個死循環,所以整個代碼只會執行一次,這樣的方式 你這個電路可以使用,你是直接斷掉單片機的電了,每次開門相當以重啟單片機,單片機啟動后只能執行一次 |
| 這個根本不需要用單片機,用555或者運放加RC電路就可以了 |