ايران ويج

نسخه‌ی کامل: كمك در برنامه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
اگه تو يه برنامه خاستيم كه با زدن يه كليد براي اولين بار بره به يه زير برنامه بعد واسه دومين بار بره به يه زير برنامه ديگه و همين طور تا د مرحله بعد از اول دوباره شروع كنه وبه ترتيب با زدن كليد به زيربرنامه ها بپره چه بنويسيم؟؟
ConfusedClap
خوب شما بايد در برنامتون از كليد اطلاعات رو بخونيد و در صورت تغيير وضيت بره برنامه بعدي .

کد:
Ant1:
    DO
        Debounce Pinb.0 , 1 , Ant2

    LOOP

Ant2:
    DO
        Debounce Pinb.0 , 1 , Ant3

    LOOP
Ant3:

.
.
.


Ant10:
    DO
        Debounce Pinb.0 , 1 , Ant1

    LOOP
البته فكر مي كنم بدترين روش موجود باشه .

البته مي توني مثل اين پروژه در ابتداي برنامه كاربر كار مورد نظرش رو انتخاب كنه و بعد از انجام كارش يا فشردن كليد برگشت دوباره به منوي اصلي برگشته و كار بعدي رو انتخاب كنه .

--------------------------------------------
راستش من هنوز منطورتون رو نفهميدم .
میتونید یک متغییر معرفی کرده و بصورت شمارنده بکار بگیریدش. بدون اینکه در جاهای دیگر برنامه مقدار متغییر رو پاک کنید(فقط در اول برنامه ارزش آن را صفر بگیرید) , با هر بار خواندن ارزش متغییر به زیربرنامه مورد نظر jump کنید
با سلام


من یه مشکلی تو در یافتی ورودی ها از avr دارم
وقتی من مینویسم pinX.X خودش میره سراغ اولین loop
واگر بنویسم portX.X این بار توی پروتوس کار نمی کنه؟
و یه سوال دیگه دستور ddrX و... اگه ننویسم دیگه ورودی نمی شه؟
اگه خواستن سورس رو هم up می کنم.

با تشکر از نظرتون
مهندس سورس بذاري بهتره !

من كه نفهميدم چي گفتي !
منم خوب متوجه نشدم اما:
اگه از پورت به عنوان ورودی استفاده میکنید باید تو دستور بنویسید pinX.X و اگه خروجیه portX.X بر عکس بگیرین عمل نمیکنه
اگه پايه اي رو ورودي تعريف كرده باشين :

کد php:
DDRB=

حال با port اونو يك كنيد :

کد php:
PORTB=255 

با اين كار مقاومت پول آپ داخلي ميكرو رو فعال مي كنين !
با سلام

ببخشید که نتونستم منظورمو به خوبی برسونم

این برناه منه(یه تایمر 5 زمانه از 1 minتا 5min
که بعد از اتمام شمارش میتونه یه رله به کار بندازه)

لطفا نگاه کنید و نظر بدید ؟ اگر مشکلی داره بگید؟

(این برنامه در باسکام نوشته شده
و اگه خوب چارت بندی و خوب نوشته نشده به استادی خودتون ببخشید آخه کار اولمه)
تا بعد اگه لیاقت داشت اسم یه پروژه بهش بدیمو و برای دانلود عموم بذاریم

متشکرم
مهندس برنامه رو اینطوری نمشه فهمید !

بهتر بود نقشه رو تو پروتئوس می کشیدی و اونحا تستش می کردیم !

روال برنامه رو هم یه توضیح مختصری می دادی !
با سلام
گفتم که یه تایمر 5 زمانه از 1تا 5 دقیقه است
اما برای پروتوس در اولین فرصت انو آپ میکنمش
روی چشم


متشکرم
سلام:
کد:
$regfile = "M32def.dat"
$crystal = 1000000
Dim A As Integer
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.1 , Db5 = Porta.2 , Db6 = Porta.3 , Db7 = Porta.4 , E = Porta.5 , Rs = Porta.6
Config Portc = Input
Config Portb = Output
Ddrc = 0 : Portc = 255

Ali:
Portb = 0
Cls
Lcd "Select Buton"
Do
If Pinc.1 = 0 Then Goto Abbas
If Pinc.2 = 0 Then Goto Abbas2
If Pinc.3 = 0 Then Goto Abbas3
If Pinc.4 = 0 Then Goto Abbas4
If Pinc.5 = 0 Then Goto Abbas5
Loop

Reza:
Set Portb.0
Goto Ali

Abbas:
A = 60
Do
If Pinc.6 = 1 Then Goto Ali
Lcd A ; "   "
Wait 1
Decr A
Print A
Loop Until A = 0
Goto Reza


Abbas2:
A = 120
Do
If Pinc.6 = 1 Then Goto Ali
Cls
Lcd A ; "   "
Wait 1
Decr A
Print A
Loop Until A = 0
Goto Reza

Abbas2:
A = 180
Do
If Pinc.6 = 1 Then Goto Ali
Cls
Lcd A ; "   "
Wait 1
Decr A
Print A
Loop Until A = 0
Goto Reza

Abbas2:
A = 240
Do
If Pinc.6 = 1 Then Goto Ali
Cls
Lcd A ; "   "
Wait 1
Decr A
Print A
Loop Until A = 0
Goto Reza

Abbas2:
A = 300
Do
If Pinc.6 = 1 Then Goto Ali
Cls
Lcd A ; "   "
Wait 1
Decr A
Print A
Loop Until A = 0
Goto Reza
1- برای ادرس دهی نباید متغیر تعریف کنیم .
2- استفاده از دستور wait دقیق نیست ، عاقلانه ترین کار استفاده از تایمر هست .
3- برای فشردن کلید باید به مدت 1 ثانیه اون رو نگه دارید ، میتونید یک متغیر دیگه تعریف کنید و این زمان رو به 100 یا x میلی ثانیه برسونید .
صفحه‌ها: 1 2