امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل برنامه خیلی ساده AVR
نویسنده پیام
sisco آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 1
تاریخ عضویت: خرداد ۱۳۹۰

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
مشکل برنامه خیلی ساده AVR
[attachment=6533][attachment=6533]سلام خدمت دوستان
این یه برنامه خیلی ساده اس که دو هفته منو علاف کرده خواهشن دوستان کمک کنید و مشکل این برنامه رو بگید:

پنج تا سیگنال ورودی داریم به اسمهای :
Ud: در اول کار میاد یعنی حدود یک ثانیه یک میشه بعد صفر
FLA: یا fault lamp وقتی دستگاه ارور میده این سیگنال فعال میشه
PLA: یا pass lamp حالت عادی بدون اشکال این سیگنال فعال میشه
FS: یا fault sensor سنسوری که بعد از ارور دستگاه باید فعال بشه
PS: یا pass sensor سنسوری که بعد از حالت بدون اشکال باید فعال بشه
یکی هم سیگنال خروجی PB.0 تحریک بوق

0-اول برنامه
1-بعد از اینکه UD از حالت یک به صفر تغیر حالت داد برنامه شروع میشه
2-تست میکنه ببینه FLA یک میشه یا PLA
3-اگر PLA یک باشه منتظر میشه که کدوم یک از سنسورهای FS یا PS فعای میشن
31-اگر PS فعال شد میره به اول برنامه
32-اگر FS فعال شد بوق رو فعال میکنه تا PS فعال بشه بعد بوق رو قطع میکنه و میره اول برنامه
4-اگر FLA یک باشه 20میلی ثانیه بوق رو فعال میکنه
41-سپس منتظر میشه که کدو یک از سنسورهای FS یا PS فعال میشن
42-اگر FS فعال شد میره به اول برنامه
43-اگر PS فعال شد بوق رو فعال میکنه تا FS فعال بشه بعد بوق رو قطع میکنه و
میره اول برنامه

اینم از برنامه:

$regfile = "m8def.dat"
$crystal = 8000000

Config Portc = Input
Config Portb = Output 'horn trigger

Dim Ud As Byte 'ud = up/down
Dim Pla As Byte 'pla = pass lamp
Dim Fla As Byte 'fla = fault lamp
Dim Ps As Byte 'ps = pass sensor
Dim Fs As Byte 'fs = fault sensor


Startline:

Do
Ud = Pinc.5
Loop Until Ud = 0

Do
Ud = Pinc.5
Loop Until Ud = 1

Waitms 100
Pla = Pinc.3
Fla = Pinc.4
If Fla = 1 Then Goto Flastart
If Pla = 1 Then Goto Plastart

Plastart:
Do
Fs = Pinc.1
Ps = Pinc.2
If Fs = 1 Then Goto Errorlinep
If Ps = 1 Then Goto Startline
Loop



Flastart:
Portb.1 = 1
Waitms 20
Portb.1 = 0
Do
Ps = Pinc.2
Fs = Pinc.1
If Ps = 1 Then Goto Errorlinef
If Fs = 1 Then Goto Startline
Loop



Errorlinep:
Portb.1 = 1
Do
Ps = Pinc.2
Loop Until Ps = 0
Portb.1 = 0
Goto Startline



Errorlinef:
Portb.1 = 1
Do
Fs = Pinc.1
Loop Until Fs = 0
Portb.1 = 0
Goto Startline

End

برنامه به این سادگی دو هفته منو سر کار گذاشته








فایل‌(های) پیوست شده بندانگشتی (ها)
   
(آخرین ویرایش در این ارسال: ۲۸-خرداد-۱۳۹۰, ۱۸:۱۴:۵۶، توسط sisco.)
۲۸-خرداد-۱۳۹۰, ۱۸:۱۲:۱۶
ارسال‌ها
پاسخ
saeidjan آفلاین
كاربر دو ستاره
**

ارسال‌ها: 155
موضوع‌ها: 20
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 117
( 164 تشکر در 77 ارسال )
ارسال: #2
RE: مشکل برنامه خیلی ساده AVR
سلام دوست من
$crystal = 8000000

Config Portc = Input
Config Portb = Output 'horn trigger
up alias pinc.5
pla alias pinc.4
fla alias pinc.3
ps alias pinc.2
fs alias pinc.1
busser alias portb.1
Startline:
do
if up=1 then gosub flapla
waitms 10
loop

flapla:
bitwait up,reset
do
If Fla = 1 Then Gosub Flastart
waitms 10
If Pla = 1 Then Gosub Plastart
waitms 10
if up=1 then exit do
waitms 10
loop
return

Plastart:
Do
If Fs = 1 Then Gosub Errorlinep
waitms 10
If Ps = 1 Then Gosub Startline
waitms 10
if up=1 then exit do
waitms 10
Loop
return

Flastart:
set busser
waitms 200
reset busser
Do
If Ps = 1 Then Gosub Errorlinef
waitms 10
If Fs = 1 Then Gosub Startline
waitms 10
if up=1 then exit do
waitms 10
Loop
return


Errorlinep:
set busser
bitwait ps,reset
reset busser

Errorlinef:
set busser
bitwait fs,reset
reset busser
Goto Startline

اینو امتحان کن اما قبلش توضیح بده که از برنامت چی میخوای و اون چی کار میکنه اینجوری بهتر میتونم کمکت کنم

دانشمندان امروز دانش آموزان دیروز بودند.
به امید این که فردا دانشمند باشم.
(آخرین ویرایش در این ارسال: ۲۹-خرداد-۱۳۹۰, ۱۳:۴۰:۰۰، توسط saeidjan.)
۲۹-خرداد-۱۳۹۰, ۱۳:۰۵:۲۳
ارسال‌ها
پاسخ
تشکر شده توسط : reza555


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
  [فوری] یک کمک ساده و فوری questnet 5 4,014 ۱۶-مرداد-۱۳۹۷, ۱۸:۳۶:۴۳
آخرین ارسال: questnet
  [فوری] کمک از دوستان برای یک برنامه ساده questnet 7 3,341 ۱۲-اردیبهشت-۱۳۹۷, ۲۰:۴۳:۱۳
آخرین ارسال: 1نفر
  [پروژه] یک برنامه بسیار ساده می خواستم امکان داره کمک کنید questnet 1 1,637 ۲۲-اسفند-۱۳۹۶, ۰۰:۰۴:۱۵
آخرین ارسال: 1نفر
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  مشکل در برنامه code vision 3.12 ali74342 10 7,232 ۲۲-مرداد-۱۳۹۵, ۰۰:۱۶:۰۷
آخرین ارسال: shima.rrr
Exclamation [فوری] مشکل نوشتن برنامه AVR با تایمر مد مقایسه dr.mohammad 7 4,184 ۲۹-دى-۱۳۹۴, ۱۳:۲۸:۴۹
آخرین ارسال: sharin
  [سوال] تنظیم فیوزبیت در RTC ساده hese 0 1,921 ۱۹-دى-۱۳۹۴, ۱۵:۳۲:۱۳
آخرین ارسال: hese
Wink یک کتاب خیلی باحال و مفید درباره میکروکنترلرها lktra 0 2,320 ۰۵-دى-۱۳۹۴, ۰۱:۴۷:۳۴
آخرین ارسال: lktra

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS