欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 如何用stc15f104單片機寫代碼做一個延時約500ms控制電路?謝謝! [打印本頁]

作者: wyc1920    時間: 2019-8-19 18:29
標題: 如何用stc15f104單片機寫代碼做一個延時約500ms控制電路?謝謝!
求助各位大神!!如何用stc15f104寫代碼做一個延時約500ms控制電路,謝謝!



本人不會寫代碼,怎么弄才能實現以下邏輯功能:

邏輯是這樣的:
1,當深夜上下班回家,打開房門,門磁接通12V電池供電給降壓7805供電給單片機工作,單片機第8PIN檢測到高電平或者持續的高電平,也只能輸出一次約500ms的高電平控制三極管Q1導通拉低易微聯的通道按鍵執行回家場景開燈。

特別留意的是,因為有時候回家門一直是打開的,第8Pin一直處于檢測高電平狀態,所以第7Pin只能輸出一次高電平,如果重復輸出或者持續輸出,易微聯模塊就會出現關燈或者又進入配網模式了影響使用(因為易微聯模塊通道的手動按鍵,長按3秒以上進入配網模式了,所以第7Pin不能持續輸出高電平或者重復輸出高電平)。


作者: cjm82    時間: 2019-8-20 13:35
這個根本不需要用單片機,用555或者運放加RC電路就可以了
作者: 城江伍佬    時間: 2019-8-20 19:46
實現的方法很幾種   不需要精準的話做個簡易的延時函數就可以了,需要精準的時間 就用定時器做一個時間出來。
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);
因為是個死循環,所以整個代碼只會執行一次,這樣的方式 你這個電路可以使用,你是直接斷掉單片機的電了,每次開門相當以重啟單片機,單片機啟動后只能執行一次
作者: X雄仔    時間: 2019-8-20 20:20
好想法的一個電路,值得學習
作者: whx.000    時間: 2019-8-21 08:07
是啊,可以不需要單片機,直接用555就可以哈,上網搜一下555的應用




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1