رفتن به مطلب

پروژه کنترل ترافیک


Mehdi.Aref

ارسال های توصیه شده

این برنامه یک برنامه ساده برای کنترل 2 چراغ قرمز در یک چهار راه است طرز کار ان بدین گونه است که هنگامی که لامپ قرمز چراغ اول روشن است لامپ سبز چراغ دوم روشن است و چراغ عابر پیاده اول روشن و چراغ عابر پیاده دوم خاموش است (حالت اول) .

سپس بعد ازمدت 50 ثانیه همچنان که لامپ قرمز اول روشن است لامپ سبز چراغ دوم خاموش شده ولامپ زردچراغ دوم روشن می شود و چراغ عابر پیاده اول به علامت هشدار به مدت 10 ثانی به صورت چشمک زن روشن و خاموش می شود (حالت دوم)وسپس بعد از این 10 ثانیه مدار به حالت سوم رفته و بعد از ان هم به حالت چهارم می رود وبعد دوباره به حالت اول برگشته و این حلقه ادامه پیدا میکند.حالت سوم و چهادم هم مثل حالت اول و دوم کار می کند با این تفاوت که وضعیت هدایت چراغ ها عکس می شود.

 

$regfile = "m8def.dat" ‘* تعیین نوع میکرو و مقدار کریستال

$crystal = 1000000 ‘*وتعیین پورت به عنوان خروجی

Config Portb = Output

Dim S As Byte

'----------------------------------------------------------------------------------------------------------

R1 Alias Portd.0 ‘* تعویض نام پایه های پورت با نامهای مناسب دلخواه

Y1 Alias Portd.1

G1 Alias Portd.2

R2 Alias Portd.3

Y2 Alias Portd.4

G2 Alias Portd.5

A1 Alias Portd.6

A2 Alias Portd.7

 

S = 20 : Y2 = 0 : G1 = 0 ‘*مقدار دهی اولیه به متغیر و پایه های پورت

'-----------------------------------------------------------------------------------------------------------

Main:

S = 20 : R1 = 1 : R2 = 0 : Y1 = 0 : G2 = 1 : A1 = 1 : A2 = 0‘* حالت اول

Wait 50

'-----------------------------------------------------------------------------------------------------------

G2 = 0 : Y2 = 1

Next1:

Toggle A1

Waitms 500 ‘* حالت دوم

Decr S

If S > 0 Then

jmp next1

Else

'-----------------------------------------------------------------------------------------------------------

S = 20 : R1 = 0 : R2 = 1 : Y2 = 0 : G1 = 1 : A1 = 0 : A2 = 1

Wait 50 ‘*حالت سوم

G1 = 0 : Y1 = 1

'-----------------------------------------------------------------------------------------------------------

Next2:

Toggle A2

Waitms 500

Decr S ‘*حالت چهارم

If S > 0 Then

jmp next2

Else

jmp main

'-----------------------------------------------------------------------------------------------------------

End If

End If ‘* پایان برنامه

End

‘-----------------------------------------------------------------------------------------------------------

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...