اطلاعیه

Collapse
No announcement yet.

کمک در مورد برنامه نویسی بسکام

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در مورد برنامه نویسی بسکام

    سلام به اساتید عزیز :bye

    من تا حدود ابری برنامه نویس بسکام بلدم {اونم ن زیاد در حد تئوری} میخواستم تو برنامه نویسی یه برنامه کمکم کنید :nerd:
    با میکرو مگا 32 میخواستم برنامه بنویسم که
    5 تا کلید داریم هر کدوم از این کلیدها فعال شد شماره اون کلیدو تو سون سگمنت نشون بده مثلا کلید شماره 2 فعال شد بنویسه 2 اگه هم تا زمانی که فعال نیس بنویسه صفر
    یه دنیا ممنون اگه کمکم کنید :sad:

    #2
    پاسخ : کمک در مورد برنامه نویسی بسکام

    سلام
    به روش های مختلف میشه این برنامه رو نوشت.من یکی از روش هار و میذارم.شما باید پایه های a تا g از 7 سگمنت رو به ترتیب به پایه های porta.0 تا porta.6 وصل کنید کلید ها هم به پورتb وصل میشن و سر دیگه کلید ها به vcc وصل میشه
    موفق باشی
    کد:
    $regfile = "m16def.dat"
    $crystal = 1000000
    Config Porta = Output
    Config Portb = Input
    Ddrb.0 = 1 : Portb.0 = 0
    Ddrb.1 = 1 : Portb.1 = 0
    Ddrb.2 = 1 : Portb.2 = 0
    Ddrb.3 = 1 : Portb.3 = 0
    Ddrb.4 = 1 : Portb.4 = 0
    
    Const Yek = &B00000110
    Const _do = &B01011011
    Const _se = &B01001111
    Const Chahar = &B01100110
    Const Panj = &B01101101
    Const Sefr = &B00111111
    
    Do
    Main:
    If Pinb.0 = 1 Then
     Porta = Yek
    Goto Main
    End If
    If Pinb.1 = 1 Then
     Porta = _do
     Goto Main
     end if
    If Pinb.2 = 1 Then
     Porta = _se
     Goto Main
     end if
    If Pinb.3 = 1 Then
     Porta = Chahar
     Goto Main
     end if
    If Pinb.4 = 1 Then
     Porta = Panj
     Goto Main
     end if
     Porta = Sefr
    
    Loop
    End

    دیدگاه


      #3
      پاسخ : کمک در مورد برنامه نویسی بسکام

      با سلام به شما دوست عزیز این برنامه رو براتو ن قرار میدم

      $regfile = "m32def.dat"
      $crystal = 1000000

      Config Portc = Output
      Config Porta = Input

      Porta = 255 'For Pull Up

      Dim A As Byte

      Do

      If Pina = &B11111111 Then A = 0
      If Pina = &B11111110 Then A = 1
      If Pina = &B11111101 Then A = 2
      If Pina = &B11111011 Then A = 3
      If Pina = &B11110111 Then A = 4
      If Pina = &B11101111 Then A = 5

      Portc = Lookup(a , 7seg)

      Waitms 10

      Loop

      End

      7seg:
      Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
      SADRAS

      دیدگاه


        #4
        پاسخ : کمک در مورد برنامه نویسی بسکام

        مررررررررررررررسی
        دوستای گلم
        پاشم برم برنامه رو پیاده کنم تو بردبرد
        خدا مطلب دلتونو بده

        دیدگاه


          #5
          پاسخ : کمک در مورد برنامه نویسی بسکام

          ممنون دوستای عزیزم
          میشه برنامه رو جوری طراحی کرد که مثلا عدد 2 ده ثانیه با رقص نور باشه بعد ثابت بمونه
          اگه بخوام مثال بزنم
          یعنی وقتی میخواد 2 نشون بده اول چند ثانیه به صورت رقص الیدی سون سگمنت A بعد B بعد G بعد E بعدD
          بعدش 2 کامل نشون بده
          ممنون میشم تو این روز عزیز خوشحالم کنید


          $regfile = "m16def.dat"
          $crystal = 1000000
          Config Porta = Output
          Config Portb = Input
          Ddrb.0 = 1 : Portb.0 = 0
          Ddrb.1 = 1 : Portb.1 = 0
          Ddrb.2 = 1 : Portb.2 = 0
          Ddrb.3 = 1 : Portb.3 = 0
          Ddrb.4 = 1 : Portb.4 = 0

          Const Yek = &B00000110
          Const _do = &B01011011
          Const _se = &B01001111
          Const Chahar = &B01100110
          Const Panj = &B01101101
          Const Sefr = &B00111111

          Do
          Main:
          If Pinb.0 = 1 Then
          Porta = Yek
          Goto Main
          End If
          If Pinb.1 = 1 Then
          Porta = _do
          Goto Main
          end if
          If Pinb.2 = 1 Then
          Porta = _se
          Goto Main
          end if
          If Pinb.3 = 1 Then
          Porta = Chahar
          Goto Main
          end if
          If Pinb.4 = 1 Then
          Porta = Panj
          Goto Main
          end if
          Porta = Sefr

          Loop
          End

          دیدگاه


            #6
            پاسخ : کمک در مورد برنامه نویسی بسکام

            اینا تمرین دانشگاهته؟
            .The best question deserves a better answer
            =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
            «پناه»می برم «به خدا»
            از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
            محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

            دیدگاه


              #7
              پاسخ : کمک در مورد برنامه نویسی بسکام

              ن متاسفانه از طرف خونه اجازه ندادن برم دانشگاه
              به همین خاطر زیاد با مشکل برمیخورم
              ممنون میشم به سولات بچگانه من جواب بدین

              دیدگاه


                #8
                پاسخ : کمک در مورد برنامه نویسی بسکام

                سلام اینم رقص نور.سرعت رقصیدنو میتونی با تغییر عدد جلوی waitms عوض کنی
                کد:
                $regfile = "m16def.dat"
                $crystal = 1000000
                Config Porta = Output
                Config Portb = Input
                Ddrb.0 = 1 : Portb.0 = 0
                Ddrb.1 = 1 : Portb.1 = 0
                Ddrb.2 = 1 : Portb.2 = 0
                Ddrb.3 = 1 : Portb.3 = 0
                Ddrb.4 = 1 : Portb.4 = 0
                Dim Yek As Byte , _do As Byte , _se As Byte , Chahar As Byte , Panj As Byte , Sefr As Byte
                Yek = &B00000110
                _do = &B01011011
                _se = &B01001111
                Chahar = &B01100110
                 Panj = &B01101101
                 Sefr = &B00111111
                Do
                Main:
                
                
                If Pinb.0 = 1 Then
                
                
                Yek = &B00000010
                 Porta = Yek
                 Waitms 200
                 Yek = &B00000100
                 Porta = Yek
                 Waitms 500
                 Yek = &B00000110
                 Porta = Yek
                 Do
                 Loop Until Pinb.0 = 0
                Goto Main
                End If
                If Pinb.1 = 1 Then
                _do = &B00000001
                 Porta = _do
                 Waitms 200
                 _do = &B00000010
                 Porta = _do
                 Waitms 200
                 _do = &B01000000
                 Porta = _do
                 Waitms 200
                 _do = &B00010000
                 Porta = _do
                 Waitms 200
                 _do = &B00001000
                 Porta = _do
                 Waitms 500
                 _do = &B01011011
                 Porta = _do
                 Do
                 Loop Until Pinb.1 = 0
                Goto Main
                 End If
                If Pinb.2 = 1 Then
                 _se = &B00000001
                 Porta = _se
                 Waitms 200
                 _se = &B00000010
                 Porta = _se
                 Waitms 200
                 _se = &B00000100
                 Porta = _se
                 Waitms 200
                 _se = &B00001000
                 Porta = _se
                 Waitms 200
                 _se = &B01000000
                 Porta = _se
                 Waitms 200
                 _se = &B01001111
                 Porta = _se
                 Do
                 Loop Until Pinb.2 = 0
                 Goto Main
                 End If
                If Pinb.3 = 1 Then
                 Chahar = &B00100000
                 Porta = Chahar
                 Waitms 100
                 Chahar = &B01000000
                 Porta = Chahar
                 Waitms 100
                 Chahar = &B00000010
                 Porta = Chahar
                 Waitms 100
                 Chahar = &B00000100
                 Porta = Chahar
                 Waitms 100
                
                 Chahar = &B01100110
                 Porta = Chahar
                 Do
                 Loop Until Pinb.3 = 0
                 Goto Main
                 End If
                If Pinb.4 = 1 Then
                 panj = &B00000001
                 Porta = Panj
                 Waitms 200
                 Panj = &B00100000
                 Porta = Panj
                 Waitms 200
                 Panj = &B01000000
                 Porta = Panj
                 Waitms 200
                 Panj = &B00000100
                 Porta = Panj
                 Waitms 200
                Panj = &B00001000
                 Porta = Panj
                 Waitms 500
                 Panj = &B01101101
                 Porta = Panj
                 Do
                 Loop Until Pinb.4 = 0
                 Goto Main
                 End If
                 Porta = Sefr
                
                Loop
                End

                دیدگاه


                  #9
                  پاسخ : کمک در مورد برنامه نویسی بسکام

                  سعید جان میدونم یه تشکر خشک خالیه
                  اما باور کن تو این روز عزیز بدجور خوشحالم کردی
                  مررررسی :cry2: :wow:

                  دیدگاه


                    #10
                    پاسخ : کمک در مورد برنامه نویسی بسکام

                    خواهش میکنم وظیه بود.فقط یه نکته یادم در رفته بود. این برنامه که گذاشتم برای مگا 16 هستش برای اینکه با مگا 32 کار کنه خط اول برنامه که نوشته m16def.dat رو تبدیل کن به m32def.dat موفق باشین. :job:

                    دیدگاه

                    لطفا صبر کنید...
                    X