——VB教學案例一則"/>
999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2017-07-18 11:47:37黃淑卿廣東省佛山市南海技師學院
數碼世界 2017年6期

黃淑卿 廣東省佛山市南海技師學院

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

黃淑卿 廣東省佛山市南海技師學院

對于較為枯燥的編程學習,如何提高學生學習興趣,較快掌握理論知識,是我們教師多年來面對的一個課題。選擇好的學習素材則是編程教學中一項重要環節,紅綠交通燈控制是人們日常生活中經常見到的道路場景。用VB編程語言實現交通燈控制,在編程過程中引導學生運用模塊化設計思想、圖表化設計表達工具,完成變量的設置及賦值、VB語句編寫、子程序的調用,逐步實現并完善交通燈的控制程序。這一過程使編程學習更加生動有趣,各知識點的掌握及理解更加順暢。

VB編程教學 程序設計 交通燈控制

1 交通燈控制與VB編程教學

交通燈是現代生活中常見的交通指揮工具,特別是近年來,隨著經濟的高速發展,汽車數量急速增加,交通燈的使用更加普遍,幾乎每個交通路口都有交通燈控制。合理的交通燈控制對于疏導交通、提升道路通行效率、減少交通事故有著重要意義。看似簡單易行的紅綠控制,蘊藏著很強的邏輯性,是流程控制型編程教學的佳例,雖然現實生活中交通燈控制實際采用PLC可編程邏輯控制器實現,但出于教學目的,應用VB編程實現交通燈控制,生動展示編程過程,是學生學習編程相關知識的絕好素材。

2 基于VB交通燈控制的基本設想

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

實際操作中,通過觀察某處交叉路口交通燈控制模式,確定項目的需求,本例運用三態脈沖圖使信號燈周期性紅黃綠三態變化規律得到形象化表示,狀態轉移圖進一步把控制規律變為清晰的概念,流程圖幫助確定程序模塊的組成及調用關系,最后通過VB控件及語句,實現需求所要求的目標。總的說來,本案例涉及到的知識點包括:概念設計中圖表的運用,控制過程的流程圖表示、程序模塊設計、VB控件的運用、邏輯控制語句的編寫、變量的設置、界面制作,這些知識基本涵蓋VB編程的基礎內容,學生通過這一課題的實踐,可以初步理解VB編程的基本操作過程,并為日后完成更復雜的編程項目打下基礎。

3 具體案例的交通燈控制設計及實現

3.1 需求分析

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

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

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

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

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

3.3 程序設計

3.3.1 信號燈變換設計

實現單一信號燈狀態變換是實現多信號燈系統聯動的基礎,本例中制作信號燈小圖片,通過LoadPicture函數,改變image控件的picture屬性,實現信號燈紅綠變化及黃燈閃爍的效果,應用timer定時器控制信號燈的時長。本例中,模擬信號燈左轉的幾個小圖片如下:

3.3.2 子程序設計

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

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

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

3.3.3 程序流程圖

根據業務需求及子程序調用形式的確定,繪制程序流程圖如下:

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

4 小結

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

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

[2]《Visual Basic開發實戰》軟件開發技術聯盟編著,清華大學出版社

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

主站蜘蛛池模板: 国产精品亚欧美一区二区三区| 欧美人与牲动交a欧美精品| 免费久久一级欧美特大黄| 欧美啪啪视频免码| 日韩a在线观看免费观看| 一区二区三区四区日韩| 中文字幕无码电影| 免费在线不卡视频| 日本黄色a视频| 国产尤物jk自慰制服喷水| 毛片在线区| av天堂最新版在线| 熟女视频91| 老司机精品一区在线视频 | 欧美一级夜夜爽| 亚洲Va中文字幕久久一区 | 一本大道东京热无码av| 欧类av怡春院| 中文字幕不卡免费高清视频| 亚洲第一香蕉视频| 欧美天堂久久| 五月婷婷导航| 天天躁狠狠躁| 99视频在线精品免费观看6| 国产成人三级在线观看视频| 草草影院国产第一页| 日本高清在线看免费观看| a网站在线观看| 欧美成在线视频| 激情综合网址| 久久婷婷五月综合色一区二区| 2021国产精品自产拍在线观看 | 国产成人精品高清不卡在线| 亚洲AV无码一区二区三区牲色| 欧美成人二区| 精品一区国产精品| 亚洲综合色婷婷中文字幕| 干中文字幕| 婷婷激情五月网| 中文字幕亚洲另类天堂| 91久久精品日日躁夜夜躁欧美| 欧美翘臀一区二区三区| 青草91视频免费观看| 91免费观看视频| 成人午夜视频免费看欧美| 国产精品林美惠子在线观看| 亚洲一级无毛片无码在线免费视频| 亚洲 欧美 日韩综合一区| 国产97视频在线| 91系列在线观看| 无码又爽又刺激的高潮视频| 国产乱子伦无码精品小说| 国产主播喷水| 免费无码AV片在线观看国产| 色香蕉影院| 国产亚洲第一页| 一级毛片网| 久久久久九九精品影院| 亚洲欧洲日韩综合| 亚洲中文制服丝袜欧美精品| 亚洲激情区| 韩国v欧美v亚洲v日本v| 亚洲av日韩综合一区尤物| 亚洲精品无码久久毛片波多野吉| 狠狠综合久久| 很黄的网站在线观看| 欧美区一区| 日韩不卡免费视频| 欧美在线国产| www.狠狠| 久久综合成人| 亚洲精品无码日韩国产不卡| 亚洲日韩精品综合在线一区二区| 成人自拍视频在线观看| 亚洲国产日韩一区| 无码精品福利一区二区三区| 精品偷拍一区二区| 麻豆精品视频在线原创| 国产成人乱无码视频| 麻豆国产精品| 成人在线综合| 白浆视频在线观看|