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

ارسال‌ها: 24
موضوع‌ها: 8
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 1
( 6 تشکر در 6 ارسال )
ارسال: #1
کمک در تکمیل پروژه
سلام
بچه من برنامه ای می خواستم بدین ترتیب کمک کنید که چطور برنامه نویسی کنم تا بتوانم در محیط بیرون بدون اجرای هیچ نویزی بر روی آن از آن استفاده کنم.
1- یک ورودی دارم که با استفاده از سنسور مادون قرمز کلاک پالس به ما می دهد
2- دو عدد متغیر دارم که از بیرون توسط کیبورد مقدار می گیرند
3- اصل برنامه بدین شکل است که :
با هر بار وارد شدن پالس یک واحد از متغی اولی کم می کند تا زمانی که این متغیر به مقدار صفر برسد . هنگامی که به مقدار صفر رسید یک واحد از متغیر دومی کم می کند و بدین شکل ادامه پیدا می کند تا متغییر دومی هم به پایان برسد و این موقع است که برنامه تمام می شود و منتظر در یافت اطلاعات جدید می شود.
حالا من این برنامه را با mega8 و وقفه(سنسور ورودی) نوشته ام اما در عمل برنامه به هم می ریزد و کلا هر کاری خودش خواست می کند البته بگویم که در پروتئوس بهم درست جواب می دهد و همچنین من در برنامه از فرکانس 12000000 استفاده کرده ام اما از کریستال خارجی استفاده نکرده ام.
البته من کل زیر روال اصلی برنامه را در زیر روال وقفه نوشته ام.
حالا بچه ها بگویید که آیا روش دیگری برای نوشتن این برنامه وجود دارد که بتوان از این بهم ریخته گی ها و نویز های بیخود در در ورودی جلوگیری کنم یا نه .
برنامه را با بسکام نوشته ام.
دوست عزیز لطفا یاری کنید.
۲۰-آبان-۱۳۸۸, ۱۶:۳۰:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : Robocup
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: کمک در تکمیل پروژه
یه چیزی !

حداکثر فرکانس داخلی میکرو 8 مگ هستش بعد چجوری شما بدون کریستال داخلی 12 مگ گذاشتین !

می شه برنامه و نقشه ای رو که اجرا کردی بذار !
۲۰-آبان-۱۳۸۸, ۱۸:۵۰:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : Robocup
1nafar غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,195
موضوع‌ها: 91
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 1577
( 4273 تشکر در 953 ارسال )
ارسال: #3
RE: کمک در تکمیل پروژه
سلام
نقل قول: حداکثر فرکانس داخلی میکرو 8 مگ هستش بعد چجوری شما بدون کریستال داخلی 12 مگ گذاشتین !
ظاهرا توی برنامه کریستال 12 مگاهرتز هست و در عمل 1 مگ .
احتملا مشکل از پالس ورودی هست و به درستی به پایه وقفه اعمال نمیشه ، به جای سنسور یه دونه کلید بزارید (کلید رو pull up کنید ) و تست کنید .
۲۱-آبان-۱۳۸۸, ۰۷:۴۹:۳۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
mostafa26 آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 8
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 1
( 6 تشکر در 6 ارسال )
ارسال: #4
RE: کمک در تکمیل پروژه
در واقع این مدار را هنگامی که دستی مثلا با رد کردن یک پیچگوشتی از جلوی سنسور رد می کنی کار می کنه اما در عمل هنگامی که بخواهید مثلا باچرخش موتور پره ای هم از روبروی سنسور بگذرد به مشکل بر می خورد
۲۱-آبان-۱۳۸۸, ۲۲:۵۶:۰۵
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #5
RE: کمک در تکمیل پروژه
خوب فکر می کنم عیب از سنسورتون باشه !
۲۱-آبان-۱۳۸۸, ۲۳:۱۹:۲۲
ارسال‌ها
پاسخ
mostafa26 آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 8
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 1
( 6 تشکر در 6 ارسال )
ارسال: #6
RE: کمک در تکمیل پروژه
درواقع برنامم اینه البته بازم میگم کریستال از بیرون وصل نکردم آیا حتما لازمه
کد:
$regfile = "M8DEF.DAT"
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , Rs = Portc.0 , E = Portc.1
Config Lcd = 16 * 2
Config Kbd = Portb                                          'keyboard
Config Portd = Output                                       'motor and cuter
Config Pind.2 = Input                                       'sensor
Config Pind.3 = Input                                       'sensorcuter
Dim A As Byte , B As String * 5 , B1 As String * 5          'a=key,b=calkey,b1=megdar koli varede
'Dim Cuter As Bit , Motor As Bit , Sensorcuter As Bit        'portd.0=cuter,portd.1=motor,pind.3=sensorcuter
Dim Tool1 As Word , Tool2 As Word , Tedad1 As Word , Tedad2 As Word       'tool1=tool2=tool,tedad1=tedad2=tedad
Dim C As Bit , C1 As Bit , C2 As Bit , C3 As Bit            'c=0=tool,c=1=tedad,c1=0=etelat vared nashode,c1=1=etelat vared shode,c2=1=cutter da hale kare,c2=0=karw cutter tamam shode,c3=1=motor dar hale kare,c3=0=motor istada
Dim Met1 As Word                                            'met1=megdar palsha
Const Met = 1                                               'met=megdar pals baraye 1 metr
Cuter Alias Portd.0 : Motor Alias Portd.1 : Sensorcuter Alias Pind.3 : Sensor Alias Pind.2       'portd.0=cuter,portd.1=motor,pind.3=sensorcuter

Main:
Met1 = 0
   C1 = 0
   C2 = 0
   C3 = 1
Goto Dis


Dis:                                                        'nemayesh va gereftan megdar
Tool:
   Cls                                                      'neveshtan ebarat tol
   Lcd "tool:"                                              'neveshtan ebarat tool
   C = 0
   B1 = ""                                                  'amal tool
   Locate 2 , 1
   Goto Valuekeylcd                                         'gereften megdar tol
Tedad:                                                      'neveshtan ebarat tedad
   Cls
   Lcd "tedad:"                                             'neveshtan ebarat tedad
   C = 1
   B1 = ""                                                  'amal tedad
   Locate 2 , 1
   Goto Valuekeylcd                                         'gereften megdar tedad
Disp:                                                       'nemyesh megdarha
    Cls                                                     'neveshtan ebarat tol
   Locate 1 , 1                                             'neveshtan ebarat tool
   Lcd "tool:"
   Locate 1 , 8
   Lcd Tool1                                                'neveshtan megdar tool
   Locate 2 , 1
   Lcd "tedad:"                                             'neveshtan ebarat tedad
   Locate 2 , 8
   Lcd Tedad1                                               'neveshtan megdar tedad
   C1 = 1                                                   'vared shodan etelat
   Goto Valuekeylcd

Counterlcd:
   If C3 = 1 Then Goto Nex230
   Set Cuter                                                'etminan az nabodan chizi zire cuter
  Reset Motor
  Waitms 120


   'Reset Motor : C3 = 0
   'Reset Cuter : C2 = 0

   Set Portd.1 : C3 = 1
  Reset Cuter
   Enable Int0                                              'sensor
Config Int0 = Rising
Enable Interrupts
On Int0 Qqq
Goto Nex230

Nex230:
     Do
     If C3 = 1 Then
     Set Portd.1 : C3 = 1
  Reset Cuter
      End If
      A = Getkbd()
     If A = 12 Then Goto Show7                              'stop barname
     Loop











   Valuekeylcd:

   Do

   A = Getkbd()
   If A < 16 Then Goto Show1                                'nemayesh adad

   Loop

Show1:

   Select Case A
   Case 3 : Goto Show2                                      'a=set
   Case 1 : Goto Show3                                      'a=enter
   Case 0 : Goto Show4                                      'a=f4
   Case 4 : Goto Show5                                      'a=f3
   Case 8 : Goto Show6                                      'a=f2
   Case 12 : Goto Show7                                     'a=f1
   End Select
   If C1 = 1 Then Goto Valuekeylcd
   B = Lookupstr(a , W)
   B1 = B1 + B
    Lcd B
    Do
    A = Getkbd()
    Loop Until A = 16
    Goto Valuekeylcd
Show2:                                                      'a=set
   If C1 = 1 Then Goto Valuekeylcd
   If C = 0 Then                                            'etminan zadan set
   Tool1 = Val(b1)
   Tool2 = Tool1
   Goto Tedad
   Else
   Goto Valuekeylcd
   End If
Show3:
   If C1 = 1 Then Goto Valuekeylcd                          'a=enter
   If C = 1 Then                                            'etminan zadan enter
   Tedad1 = Val(b1)
   Tedad2 = Tedad1
    Goto Disp
   Else
   Goto Valuekeylcd
   End If
Show4:                                                      'a=f4
    If C1 = 1 Then Goto Valuekeylcd
   Locate 2 , 1
   Lcd "          "
   Locate 2 , 1
   B1 = ""
   B = ""
   Goto Valuekeylcd
Show5:
                            'a=f3
  Cls
  Reset Motor : C3 = 0
  Reset Cuter
  Goto Main                                                 'shroe dobare barname
Show6:
   If C1 = 0 Then Goto Valuekeylcd                          'a=f2

   C3 = 0
  Goto Counterlcd                                           'start barname
Show7:                                                      'a=f1 stop
   If C1 = 0 Then Goto Valuekeylcd
   Reset Motor : C3 = 0
   Reset Cuter
   C3 = 0
   C1 = 1
   Goto Valuekeylcd



Qqq:

   If C2 = 1 Then Goto Nex230                               'etminan az inke motor dar hale kare cutter nacharkhad
   ' A = Getkbd()
   'If A = 12 Then Goto Show7
   'Incr Met1
'If Met = Met1 Then
        ' Met1 = 0
         Decr Tool2
         Locate 1 , 8 : Lcd Tool2
   If Tool2 = 0 Then
         Tool2 = Tool1
         Decr Tedad2
         Locate 1 , 8 : Lcd Tool2
         Locate 2 , 8 : Lcd Tedad2
         Reset Motor
         Reset Cuter
         'A = Getkbd()
     'If A = 12 Then Goto Show7                              'stop barname
         Waitms 200
         'Reset Motor : C3 = 0
         Set Cuter : C2 = 1                                 'cutter mikhad beravd
         Waitms 120
         'Reset Motor
         Reset Cuter

          C2 = 0                                            'cutter rafte

       If Tedad2 = 0 Then
          Cls
          Lcd "******END******"
          Reset Motor : C3 = 0
          Reset Cuter
          Waitms 500
          Goto Main                                         'etmam barname va ejraye dobare an

            End

         Else
               'Reset Motor : C3 = 0
               'Reset Cuter

              Set Motor : C3 = 1
              Tool2 = Tool1
         Locate 1 , 8 : Lcd Tool2
              Reset Cuter
              'Goto Refrash
          End If

      'Else
       'Goto Refrash

         'End If
     Else
      'Goto Refrash

       Set Motor : C3 = 1
       'Tool2 = Tool1
       '  Locate 1 , 8 : Lcd Tool2
       Reset Cuter
End If

    ' Set Motor : C3 = 1
    '   Reset Cuter
Return

W:
Data "F4" , "Enter" , "0" , "Set" , "F3" , "9" , "8" , "7" , "F2" , "6" , "5" , "4" , "F1" , "3" , "2" , "1"
۲۱-آبان-۱۳۸۸, ۲۳:۳۷:۳۶
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #7
RE: کمک در تکمیل پروژه
نقل قول: آیا حتما لازمه
حتما لازمه!

یا تو برنامه یک مگ وارد کن و یا فیوز بیت ها رو روی کریستال خارجی بذار و یه کریستال 12 مگ وصل کن !

تست کن !
۲۱-آبان-۱۳۸۸, ۲۳:۴۰:۳۴
ارسال‌ها
پاسخ
mostafa26 آفلاین
تازه وارد

ارسال‌ها: 24
موضوع‌ها: 8
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 1
( 6 تشکر در 6 ارسال )
ارسال: #8
RE: کمک در تکمیل پروژه
در واقع من این مقدار کریستال را برای این گذاشتم که اگه فرکانس کاری یکم مقدار زیادی به ورودی وقفه می دادی وقفه همیشه بعد از روشن شدن کاتر موتور را یا روشن نم یکرد و یا روشن می کرد و بعد سریعا خاموش می کرد گفتم شاید اشکال از فرکانس پایین برنامه باشه
۲۱-آبان-۱۳۸۸, ۲۳:۴۶:۵۹
ارسال‌ها
پاسخ
amin20005 آفلاین
تازه وارد

ارسال‌ها: 17
موضوع‌ها: 2
تاریخ عضویت: مرداد ۱۳۸۸

تشکرها : 1
( 16 تشکر در 11 ارسال )
ارسال: #9
Big Grin  RE: کمک در تکمیل پروژه
سلام
یله کریستال خارجی واجبه اگر برنامه با کریستال خارحی نوشته شده باشه
یادتون باشه موقع وصل کریستال 2 عدد خازن 22pF را بین پایه های کریستال و زمین مدار وصل کنید
۱۰-آذر-۱۳۸۸, ۰۲:۵۲:۴۵
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راهنمایی در یک پروژه cortex-m3 0 2,020 ۱۴-تير-۱۳۹۴, ۲۰:۲۰:۵۶
آخرین ارسال: cortex-m3
  کمک در مورد پروژه دانشگاهی mohammadb1070 1 2,211 ۳۱-اردیبهشت-۱۳۹۴, ۲۳:۵۷:۵۷
آخرین ارسال: sharin
  كمك در مورد پروژه ميكرو دماسنج ديجيتال networkamn2014 4 3,804 ۱۳-اردیبهشت-۱۳۹۴, ۱۹:۰۲:۲۵
آخرین ارسال: khaleghi897
  [سوال] در خواست پروژه میکرو avr Ali.mashaei 14 10,981 ۱۳-فروردین-۱۳۹۴, ۰۲:۲۹:۱۴
آخرین ارسال: alimogmov
Exclamation [سوال] پروژه ماشین حساب hosseinip 11 6,501 ۲۰-اسفند-۱۳۹۳, ۲۱:۵۲:۱۶
آخرین ارسال: hosseinip
  [سوال] پروژه تابلو روان avr (بسیار مهم) mostafaamiryan 0 2,636 ۲۲-دى-۱۳۹۳, ۰۲:۰۱:۰۲
آخرین ارسال: mostafaamiryan
  کسی پروژه ال سی دی گرافیکی تک رنگ به زبان سی با میکرو رو داره ؟ abbasalifix 4 4,281 ۲۱-تير-۱۳۹۳, ۱۹:۵۱:۵۹
آخرین ارسال: md3848
  پروژه ریموت کنترل کد لرنینگ میخوام Nimaaryamehr 5 5,950 ۱۰-تير-۱۳۹۳, ۱۰:۳۳:۱۲
آخرین ارسال: a.mehran
  [مقاله] پروژه usb به سریال با attiny2313 تست شده morrning 5 9,783 ۱۵-خرداد-۱۳۹۳, ۰۲:۲۳:۳۰
آخرین ارسال: morrning
  راهنمایی برای پروژه mode 54 26,522 ۰۶-اردیبهشت-۱۳۹۳, ۰۹:۲۲:۴۰
آخرین ارسال: SARNEVESHT

پرش به انجمن:


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

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