[問題] 如何用C語言寫出自保持電路及多工處理?
最近上課上到單晶片89S52
寫程式進去執行
老師給了一題
"3個馬達 按個on按鈕 開始第1馬達啟動 5秒後第2馬達啟動
再5秒後第3馬達啟動 再5秒後第1馬達停止 再5秒後第2馬達停止
再5秒後第3馬達停止 回復初始狀態
並且在任何時間 按下緊急off按鈕 所有馬達停止 "
就是馬達順序起動順序停止+緊急按鈕
問題來了
若沒有延遲時間
我會寫的出3個on按鈕的順起順停+緊急按鈕
但若在程式中加入delay(5000)的延遲時間函數
就變的無法取得off按鈕的狀態
main()
{
while(1)
{
馬達1=動
delay(時間)
馬達2=動
....
if(off按鈕=按)
{
馬達1=停
馬達2=停
....
}
}
}
類似這樣
延遲時間就會導致整個程式停止
請問
有任何可以解決同時延遲時間 又能同時檢查按鈕狀態 的方法嗎???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.8.149
→
04/13 00:58, , 1F
04/13 00:58, 1F
→
04/13 00:58, , 2F
04/13 00:58, 2F
→
04/13 00:59, , 3F
04/13 00:59, 3F
推
04/13 11:39, , 4F
04/13 11:39, 4F
推
04/13 20:48, , 5F
04/13 20:48, 5F
→
04/13 23:41, , 6F
04/13 23:41, 6F
推
04/14 00:47, , 7F
04/14 00:47, 7F
→
04/14 00:47, , 8F
04/14 00:47, 8F
→
04/14 00:48, , 9F
04/14 00:48, 9F
推
04/15 08:50, , 10F
04/15 08:50, 10F
→
04/15 08:51, , 11F
04/15 08:51, 11F
→
04/15 08:52, , 12F
04/15 08:52, 12F
→
04/15 08:53, , 13F
04/15 08:53, 13F
→
04/15 08:54, , 14F
04/15 08:54, 14F
→
04/15 08:54, , 15F
04/15 08:54, 15F
推
04/15 09:01, , 16F
04/15 09:01, 16F
推
04/15 09:12, , 17F
04/15 09:12, 17F
推
04/16 15:29, , 18F
04/16 15:29, 18F
→
08/13 19:11, , 19F
08/13 19:11, 19F
→
09/17 23:05, , 20F
09/17 23:05, 20F