最近幾天還蠻多人問同一個問題,出題的老師該不會是同一位吧?

 


同樣是紅綠燈這次複雜了點,題目設定重點:


1.有2組燈號,模擬十字路口雙向號誌


2.暫定紅燈號維持10秒,黃燈號維持4秒,綠燈號維持10秒


3.紅綠燈三個燈號的時間控制輸入,時間單位為秒


4.黃燈號每0.5秒閃爍一次


5.2組紅綠燈顯示倒數計時秒數,倒數時間為綠、黃燈號動作秒數的總和,紅燈時不倒數,顯示為0


6.依序:


綠燈→黃燈→紅燈→→→→→→


紅燈2→→→綠燈2→黃燈2→


循環動作

 


程式的人機介面按照需求配置如下

20101216-01  

 

 

燈號的切換同樣使用Case Structure元件,這次Case Structure元件做出4個頁面,頁面0,Default控制綠燈和紅燈2,頁面1控制黃燈,頁面2控制紅燈和綠燈2,頁面3控制黃燈2


同樣黃燈的閃爍頻率設定500,是亮0.5秒熄0.5秒,改變500這個數值可以改變閃爍頻率


倒數計時部份多了一段判斷程式來控制換邊倒數計時


※強調一點:和計時有關的數值一定要全改成U32格式,絕對不要使用I32格式數值

 

 

完成的程式如下圖

20101216-02  

 

20101216-03  

 

20101216-04  

 

20101216-05  

arrow
arrow
    文章標籤
    紅綠燈
    全站熱搜

    未出師的小工程師 發表在 痞客邦 留言(0) 人氣()