A. 誰會用VB程序設計一紅綠燈
第一件事當然是新建一個工程,然後引入所需控制項。在「紅綠燈」程序中,我們需要用到的控制項有:OptionButton(選項按鈕)、Image(圖像框)及Timer(時鍾)控制項。引入兩個OptionButton,其中Option1的Caption設置為「紅燈」,Option2的Caption設置為「綠燈」;Image1的Picture屬性設置為紅燈圖片,選擇一張紅燈圖片(讀者可以自己創建一個紅燈及綠燈圖片)。設計好的程序界面如圖1。
好了,現在我們開始添加程序代碼。
我們要求程序能夠通過我們所選擇的是紅燈或綠燈來顯示相應的圖像,實現的原理就是當我們單擊「紅燈」時顯示紅燈圖片,單擊「綠燈」時顯示綠燈圖片,只要用戶准備好這兩張圖片後,要實現這個功能就非常的容易了。其具體的程序代碼如下:
雙擊Option1(即紅燈)控制項,添加如下代碼:(黑體部分為系統自動生成的代碼,下同)
Private Sub Option1_Click()
′顯示紅燈圖片
On Error GoTo LoadErr ′當載入圖片發生錯誤時跳到LoadErr處
If Option1.Value=True Then ′當單擊了Option1控制項時
Image1.Picture=LoadPicture(〃C:\Windows\Desktop\red.jpg〃) ′載入red.jpg圖片,並顯示在Image1控制項中。
End If
LoadErr: ′設置捕獲錯誤標簽
If Err.Number=53 Then ′當發生錯誤時
MsgBox Err.Description,vbOKOnly+vbCritical,〃錯誤〃 ′顯示錯誤信息
End If
End Sub
上面一段代碼中有一句「On Error Goto LoadErr」,該句是用作捕獲程序錯誤的,當程序執行過程中發生了錯誤則跳到處理錯誤語句處執行。在這段代碼中,如果在載入圖片時發生了錯誤(通常是所要載入的文件不存在或路徑錯誤)則跳到LoadErr處執行LoadErr後的程序代碼。
在VB中,所有的程序錯誤都是用數字表示的,如53則表示未找到文件的錯誤碼,其實要知道哪個錯誤碼表示哪種錯誤也並不難,當你在VB中運行這個程序時,如果出現了錯誤,會有一個錯誤的提示框,在該提示框中則有該錯誤的錯誤碼。如果我們沒有在該段程序中加入「On Error Goto LoadErr」語句及給出錯誤的文件名或文件路徑的話,則會出現提示框。
LoadPicture是載入圖片的函數,其中第一個參數則是所要載入圖片的完整路徑,當然在本例中這個路徑是固定了的,所要想使其路徑隨程序路徑的變化而變化則需要使用App.Path值,可以寫成Image1.Picture=LoadPicture(App.Path&〃\red.jpg〃),其中App.Path返回的值則是程序所在的路徑,當然red.jpg必須放在程序所在的同一目錄中。
雙擊Option2(即綠燈)控制項,添加如下代碼:
Private Sub Option2_Click()
′顯示綠燈圖片
On Error GoTo LoadErr ′當載入圖片發生錯誤時跳到LoadErr處
If Option2.Value=True Then ′當單擊了Option2控制項時
Image1.Picture=LoadPicture(〃C:\Windows\Desktop\green.jpg〃) ′載入green.jpg圖片,並顯示在Image1控制項中。
End If
LoadErr: ′設置標簽
If Err.Number=53 Then ′當發生錯誤時
MsgBox Err.Description,vbOKOnly+vbCritical,〃錯誤〃 ′顯示錯誤信息
End If
End Sub
OK!現在我們就可以單擊F5鍵運行一下,看看我們自製的「紅綠燈」程序吧。點擊一下「綠燈」看看,紅燈變成綠燈了吧?再試試紅燈,怎樣?現在我們就可以控制紅綠燈了吧。
如何才能讓「紅綠燈」自動更換呢?要實現這個功能也非常簡單,只要加入Timer(時鍾)控制項,將Timer1的Interval設置為30000(即30秒)。其原理就是每隔30秒更換一種圖片,這樣便實現了自動更換。
雙擊Timer1控制項,添加如下代碼:
Private Sub Timer1_Timer()
′實現自動化
If Option1.Value=True Then ′如果當前顯示的是紅燈
Option2.Value=True ′使Option2被選中,執行Option2中的代碼(即顯示綠燈)
Else
Option1.Value=True ′使Option1被選中,執行Option1中的代碼(即顯示紅燈)
End If
End Sub
單擊F5鍵運行一下,每隔3秒鍾即換一種顏色顯示。就這么幾句代碼就實現了自動化,簡單吧?
B. VB程序紅綠燈設計
1、 在桌面上,滑鼠左鍵雙擊,打開VB編程軟體,在左邊工具欄上單擊Image按鈕,在Form1窗口上,繪制出圖框,然後在Image屬性面板的Picture屬性上,單擊【載入圖片】按鈕。
C. 怎麼在可編程式控制制器上編寫一個控制紅綠燈的代碼
先下載編程軟體,然後根據控制要求進行程序編輯,編輯玩了下載到plc里,然後運行,調試,修改,都符合要求了,就完成了
望採納。。。。。。
D. 如何用C#編寫紅綠燈程序
計數器+命令模式。
E. 用C語言編程模擬交通路口(十字路口)紅綠燈的控制功能
本系統的設計首先必須了解交通路燈的亮滅規律。設有一個十字路口,1、3 為南,北
方向, 2、4 為東,西方向,初始態為4 個路口的紅燈全亮。之後, 1、3 路口的綠燈亮,
2、4 路口的紅燈亮, 1、3 路口方向通車。延遲一段時間後, 1、3 路口的綠燈熄滅,而1、
3 路口的黃燈開始閃爍。閃爍若干次後, 1、3 路口的紅燈亮, 同時 2、4 路口的綠燈亮, 2、
4 路口方向開始通車。延遲一段時間後, 2、4 路口的綠燈熄滅,而黃燈開始閃爍。閃爍若
干次後,再切換到1、3 路口方向。之後,重復上述過程。對於各組燈的亮滅,我們運用的
是8255A 的輸入輸出功能。
F. 哪位大神給plc 編程 模擬紅綠燈的程序啊,
根據對紅綠燈的控制要求及PLC地址分配的定義,可對PLC程序編制,其梯形圖見附錄1。
下面對所編的程序梯形圖作簡要的說明:
當按下啟動按鈕I0.3,中間繼電器M0.1得電其常開觸點閉合代替了I0.3達到自鎖使得MO.1在一直通電的狀態。中間串上M0.0常閉觸點是為了當需要切斷電源時,按下I0.2,繼電器M0.0得電,其常閉觸點斷開,而此斷開M0.1的自鎖程序達到切斷電源的效果。
(1)當按下啟動開關後,以下接觸器得電:
a.Q0.0通過中間繼電器M0.1的常開觸點閉合接通電源,馬路南北紅燈亮。而計時器也接通,它是為Q0.0計時作用的。當T37計時30s後,它的常閉觸點斷開,斷開Q0.0的電源。T42常閉觸點在這里起循環作用,就是在此程序運轉一個周期時,控制最後一個接觸器的計時器計時完成,斷開T37使得T37重新計時,以達到循環效果。
b.Q0.4得電,馬路東西綠燈亮。與之串連的是計數器C21(計數3次,作用是Q0.4閃爍3次時斷開其電源),T43、T44在這里起控制Q0.4閃爍並計時作用。
c.Q0.7接通人行道東西方向紅燈亮,Q0.7與Q0.0公用一個計時器,所以Q0.7的顯示時間與Q0.0一樣。
d. Q1.0得電人行道南北方向綠燈亮,它的顯示與Q0.4相同。C22、T48、T49的功能葉相同。
(2)延時25s後,Q0.4馬路東西方向綠燈開始閃爍。計時器T43計時到,它的常閉觸點先斷開,使得Q0.4失電,同時它的常開觸點閉合,接通計時器T44。T44、T45(接通T44後,T44開始工作,0.5S後接通QO.4與T45,再過0.5s後計時器T45工作,先斷開T44。
如此循環工作。而這里加上計數器C21的3次計數達到綠燈閃爍功能。
(3)經過3s後,C21計數完成,斷開Q0.4(熄滅綠燈)接通Q0.5馬路東西黃燈和計時器T46(T46在這里起計時作用,2s後它先斷開Q0.5,然後其常開觸點閉合接通Q0.3,達到紅綠燈循環效果。
(4)延時2s後,T46常開觸點閉合接通Q0.3馬路東西紅燈。這時計時器T47接通開始工作。T47計時2s後,它的敞開觸點閉合,復位C21。使得Q0.4重新開始工作,如此一直循環。
PLC編程設計報告
(5)當人行道紅燈Q0.7亮30s後,T37計時30s動作,其常閉觸點先端開,切斷Q0.7。然後其常開觸點閉合接通Q0.6(人行道東西綠燈),Q0.6接通27s後閃爍3s(頻率1s/次)其工作過程與馬路閃爍3次相類似。
此次設計的紅綠燈系統工作情況就向上面介紹的循環工作。
附上出處鏈接:http://wenku..com/link?url=OqtoElo8HW1GdOgAlqdCTqRJQJ_OsLJq5_Mt7
G. VB程序設計 紅綠燈
你是在6.0還是.net里實現
6.0里
Dim a As Integer
Private Sub Form_Click()
FillStyle = 0
Select Case a
Case 1
FillColor = vbRed
Form1.Circle (Form1.Width / 2, Form1.Height / 2), 200, vbRed
a = a + 1
Exit Sub
Case 2
FillColor = vbYellow
Form1.Circle (Form1.Width / 2, Form1.Height / 2), 200, vbYellow
a = a + 1
Exit Sub
Case 3
FillColor = vbGreen
Form1.Circle (Form1.Width / 2, Form1.Height / 2), 200, vbGreen
a = 1
Exit Sub
End Select
End Sub
Private Sub Form_Load()
a = 1
End Sub
大致是這樣,有些細節你自己改改
H. 單片機 用匯編語言編寫交通紅綠燈 只要求紅燈30秒,黃燈5秒,綠燈30秒,黃燈5秒,其他不限
看你的程序上沒有很大的問題,但是你的延時都使用相同子程序,延時時間相同。你可以把延時30秒的子程序和延時5秒的程序分開來寫,分別調用。另單片機的引腳一般為吸入電流,建議你將單片機的引腳輸出改為0有效就可以直接接負載,電源控制按鍵判斷也作出相應的修改。
I. 西門子plc300編寫交通紅綠燈程序梯形圖什麼樣
西門子plc300編寫交通紅綠燈程序梯形圖如上圖所示:
J. C語言程序設計編寫一個交通紅綠燈的控制,各位高手幫幫忙急!
unsigned char counter;
sbit red_nb=P2^0;
......
void main()
{
TMOD=
TH0
TL0
ET0
TR0
while(1) //根據樓主所給,有4種狀態
{
state1;
state2;
state3;
state4;
}
}
void timer0() interrupt 1 //定時器0
{
TH0=0x3c;
TL0=0xb0;
counter++;
}
void state1() //控制南北紅燈亮,東西綠燈亮,30s
{
unsigned char temp = 30;
red_nb=1;
.....
green_dx=1;
while(1)
{
if( counter>19){counter=0;temp--} //每次counter=20,即1s,temp自減
if(temp) break; //當temp為0時,即30秒,退出狀態1,進入狀態2
}
}
沒經過測試,完全是5分誘惑不大。。