_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);
因為是個死循環,所以整個代碼只會執行一次,這樣的方式 你這個電路可以使用,你是直接斷掉單片機的電了,每次開門相當以重啟單片機,單片機啟動后只能執行一次