国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VB定時器的交通燈控制程序
——VB教學(xué)案例一則

2017-07-18 11:47黃淑卿廣東省佛山市南海技師學(xué)院
數(shù)碼世界 2017年6期
關(guān)鍵詞:黃燈交通燈信號燈

黃淑卿 廣東省佛山市南海技師學(xué)院

基于VB定時器的交通燈控制程序
——VB教學(xué)案例一則

黃淑卿 廣東省佛山市南海技師學(xué)院

對于較為枯燥的編程學(xué)習(xí),如何提高學(xué)生學(xué)習(xí)興趣,較快掌握理論知識,是我們教師多年來面對的一個課題。選擇好的學(xué)習(xí)素材則是編程教學(xué)中一項重要環(huán)節(jié),紅綠交通燈控制是人們?nèi)粘I钪薪?jīng)常見到的道路場景。用VB編程語言實現(xiàn)交通燈控制,在編程過程中引導(dǎo)學(xué)生運用模塊化設(shè)計思想、圖表化設(shè)計表達工具,完成變量的設(shè)置及賦值、VB語句編寫、子程序的調(diào)用,逐步實現(xiàn)并完善交通燈的控制程序。這一過程使編程學(xué)習(xí)更加生動有趣,各知識點的掌握及理解更加順暢。

VB編程教學(xué) 程序設(shè)計 交通燈控制

1 交通燈控制與VB編程教學(xué)

交通燈是現(xiàn)代生活中常見的交通指揮工具,特別是近年來,隨著經(jīng)濟的高速發(fā)展,汽車數(shù)量急速增加,交通燈的使用更加普遍,幾乎每個交通路口都有交通燈控制。合理的交通燈控制對于疏導(dǎo)交通、提升道路通行效率、減少交通事故有著重要意義??此坪唵我仔械募t綠控制,蘊藏著很強的邏輯性,是流程控制型編程教學(xué)的佳例,雖然現(xiàn)實生活中交通燈控制實際采用PLC可編程邏輯控制器實現(xiàn),但出于教學(xué)目的,應(yīng)用VB編程實現(xiàn)交通燈控制,生動展示編程過程,是學(xué)生學(xué)習(xí)編程相關(guān)知識的絕好素材。

2 基于VB交通燈控制的基本設(shè)想

交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示禁止通行,綠燈表示準(zhǔn)許通行,黃燈表示警示。交通信號燈控制方式可以分為定時控制、感應(yīng)控制、自適應(yīng)控制。本文選用某處交叉路口為設(shè)計背景,通過VB編程模擬實現(xiàn)實際交通控制情形,從而展示VB編程從需求分析、概念設(shè)計到具體編程的實現(xiàn)過程。

實際操作中,通過觀察某處交叉路口交通燈控制模式,確定項目的需求,本例運用三態(tài)脈沖圖使信號燈周期性紅黃綠三態(tài)變化規(guī)律得到形象化表示,狀態(tài)轉(zhuǎn)移圖進一步把控制規(guī)律變?yōu)榍逦母拍睿鞒虉D幫助確定程序模塊的組成及調(diào)用關(guān)系,最后通過VB控件及語句,實現(xiàn)需求所要求的目標(biāo)??偟恼f來,本案例涉及到的知識點包括:概念設(shè)計中圖表的運用,控制過程的流程圖表示、程序模塊設(shè)計、VB控件的運用、邏輯控制語句的編寫、變量的設(shè)置、界面制作,這些知識基本涵蓋VB編程的基礎(chǔ)內(nèi)容,學(xué)生通過這一課題的實踐,可以初步理解VB編程的基本操作過程,并為日后完成更復(fù)雜的編程項目打下基礎(chǔ)。

3 具體案例的交通燈控制設(shè)計及實現(xiàn)

3.1 需求分析

選擇某一路口作為本例的編程場景,通過對這一路口的觀察,確認所選定交叉路口采用的控制方式為:直行加左轉(zhuǎn),南北西東依次通行的控制模式,即先向南方向綠燈放行,同時南向車輛可左轉(zhuǎn),然后北向直行及左轉(zhuǎn)綠燈,接著東向,最后西向,按此順序周期循環(huán)。我們還注意到,由于從南北向進入東西向主干道的車輛較多,在南北左轉(zhuǎn)綠燈比直行綠燈多亮10秒。交通信號燈有紅黃綠三個狀態(tài),選用三態(tài)脈沖圖可反映信號的變化規(guī)律,以上情形可用三態(tài)脈沖圖表示如下:

如圖所示,數(shù)字為信號燈編號,每盞燈有綠黃紅三個狀態(tài),分別高中低三個電位表示,八盞燈分布在該交叉路口的四個角上,周期性地控制車輛通行。

3.2 信號燈控制模式的概念化表示

三態(tài)脈沖圖如實反映了交通信號燈周期性變化規(guī)律,但要把這一現(xiàn)象提升為清晰的概念,還得借助狀態(tài)轉(zhuǎn)移圖來實現(xiàn),經(jīng)過分析,我們將信號燈的變化規(guī)律轉(zhuǎn)化為五個狀態(tài)的循環(huán)轉(zhuǎn)換,以狀態(tài)轉(zhuǎn)移圖表示如下:

為簡化圖形表示,這里只顯示綠燈的狀態(tài),綠燈亮?xí)r其他燈均為紅色,另外還省略了黃燈的狀態(tài),因為綠燈轉(zhuǎn)紅燈有5秒的黃燈過渡為固定模式,逐一羅列不利于弄清信號燈的變化規(guī)律。如上圖所示,經(jīng)過簡化處理后,信號燈的控制過程更為清晰,狀態(tài)轉(zhuǎn)移圖將所觀察的現(xiàn)象轉(zhuǎn)化為清晰的概念。圖的右上方狀態(tài)顯示這一時刻二個左轉(zhuǎn)燈同時為綠,這一設(shè)置正是為滿足較多車輛要進入東西向主干道的需求而設(shè)計。

3.3 程序設(shè)計

3.3.1 信號燈變換設(shè)計

實現(xiàn)單一信號燈狀態(tài)變換是實現(xiàn)多信號燈系統(tǒng)聯(lián)動的基礎(chǔ),本例中制作信號燈小圖片,通過LoadPicture函數(shù),改變image控件的picture屬性,實現(xiàn)信號燈紅綠變化及黃燈閃爍的效果,應(yīng)用timer定時器控制信號燈的時長。本例中,模擬信號燈左轉(zhuǎn)的幾個小圖片如下:

3.3.2 子程序設(shè)計

本例中,共設(shè)置8只信號燈,按其位置分別編號1至8,圖片控件image(1)至image(8)分別控制相應(yīng)的信號狀態(tài),如下圖所示:

為了使程序簡化且便于閱讀,編寫子過程Pass(lamp_ no)、Alarm(lamp_no),通過子過程的調(diào)用實現(xiàn)各信號燈狀態(tài)的切換。

子過程Pass中參數(shù)lamp_no表示信號燈編號,如call Pass(4)表示4號燈切換到通行狀態(tài),即4號信號燈亮綠燈。子過程Alarm中參數(shù)lamp_no表示信號燈編號,如call Alarm(4)即4號信號燈進入黃閃狀態(tài)。

3.3.3 程序流程圖

根據(jù)業(yè)務(wù)需求及子程序調(diào)用形式的確定,繪制程序流程圖如下:

從流程圖來看,控制流為二個部分重合的閉環(huán)組成,為此需要設(shè)立2個定時器timer1、timer2分別控制程序流,另外黃閃控制也應(yīng)由各自的專用定時器timerAlarm1、timerAlarm2分別控制。

4 小結(jié)

本例中,根據(jù)業(yè)務(wù)需求繪制三態(tài)脈沖圖,精確表達業(yè)務(wù)需求所述的情景,利用狀態(tài)遷移圖揭示業(yè)務(wù)表象下實質(zhì)性的邏輯關(guān)系,理清頭緒,簡化問題。通過對程序流程圖的分析,得知本例控制流特性為二路控制流,從而確立設(shè)置2個定時器分別控制。在編程細節(jié)上,根據(jù)信號燈的控制特點,編寫pass(),alarm()2個子程序,通過調(diào)用子程序,實現(xiàn)對相應(yīng)信號燈的控制。這種方式的編碼設(shè)置,實現(xiàn)代碼重用,提高編程效率,并使程序簡練易讀,也為日后系統(tǒng)維護提供方便。

[1]《Visual Basic 6.0程序設(shè)計與應(yīng)用教程》李俊編著,電子工業(yè)出版社

[2]《Visual Basic開發(fā)實戰(zhàn)》軟件開發(fā)技術(shù)聯(lián)盟編著,清華大學(xué)出版社

[3]《Visual Basic 2015入門經(jīng)典(第8版)/NET開發(fā)經(jīng)典名著》[美]Bryan Newsome著;李周芳,石磊,譯.清華大學(xué)出版社

猜你喜歡
黃燈交通燈信號燈
基于單片機的交通燈模糊控制器研究
基于遺傳算法的智能交通燈控制研究
礦工燈
信號燈為什么選這三個顏色?
為什么交通燈是紅黃藍三種顏色?
安裝在路面的交通信號燈
無知之幕與博弈:從“黃燈規(guī)則”看博弈論的一種實踐方案
還有94分
信號燈為什么用
闖黃燈現(xiàn)象回潮
香河县| 金阳县| 南涧| 共和县| 宁阳县| 疏勒县| 固阳县| 遂平县| 山阴县| 通渭县| 遵化市| 逊克县| 内黄县| 谷城县| 原阳县| 新宁县| 东乡族自治县| 宣化县| 定边县| 大竹县| 汉川市| 郑州市| 娱乐| 平远县| 星子县| 岳普湖县| 麻栗坡县| 庆元县| 易门县| 宁国市| 汾西县| 慈利县| 花莲市| 都昌县| 平乐县| 堆龙德庆县| 南阳市| 梁山县| 德州市| 巢湖市| 盘山县|