اطلاعیه

Collapse
No announcement yet.

کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

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

    #16
    پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

    دوست من توی پست اول نه میکرو و نه کریستال نه پیکره بندی LCD تعریف شده!!!!!!!!!!!!!!
    معلومه که این برنامه ارور میده!!!!

    دیدگاه


      #17
      پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

      دوست عزیز مشخصات ای سی و فرکانس کاری رو توی برنامه بسکام مشخص کردم .دیگه لازم به نوشتنشون نیست


      با تشکر از اقا حامد اره مشکل تو همون config kbd بود ..الان دیگه بسکام هیچ اروری نمیده ....ولی نمی دونم چرا برنامه درست اجرا نمیشه و اصلا تو حلقه ها ایست نمی کنه ..........خودش واسه خودش میگرده بدون این که من کلیدی رو بزنم ...........

      یه سوال : مگه من از همون صفحه ماترسی که توی محیط ال سی دی بسکام هست نمی تونم استفاده کنم ؟ یا این که باید حتما مدارش رو تو پروتوس بکشم ؟


      یه بار تو بسکام کپیش کنید ببینید چه جوری میشه ....(برنامه رو درستش کردم )
      موفقيت = يك درصد نبوغ ، 99 درصد عرق ريختن
      (اديسون)

      دیدگاه


        #18
        پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

        آقا این الان بدون ارور هست.

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

        Config Lcd = 16 * 2
        Config Lcdpin = Pin , Db4 = Pina.4 , Db5 = Pina.5 , Db6 = Pina.6 , Db7 = _
        Pina.7 , E = Pina.3 , Rs = Pina.2


        Cls
        Lcd "in the name of god"
        Waitms 100
        Cls
        Dim A As Byte
        Config Kbd = Portd
        Config Portb = Output

        Main:
        Do
        Cls
        A = Getkbd()
        Locate 1 , 1
        Lcd A
        If A = 1 Then Goto S1
        If A > 1 Then Goto S5
        Loop
        End
        S5:
        A = Getkbd()
        Locate 1 , 2
        Lcd A
        Waitms 50
        A = Getkbd()
        Locate 1 , 3
        Lcd A
        Waitms 100
        Lcd "incorect"
        Goto Main
        S1:
        A = Getkbd()
        Locate 1 , 2
        Waitms 50
        Lcd A
        Do
        If A = 2 Then Goto S2
        If A < 2 Then Goto S5
        If A > 2 Then Goto S5
        Loop
        End
        S2:
        A = Getkbd()
        Locate 1 , 3
        Lcd A
        Do
        If A = 3 Then Goto S4
        If A < 3 Then Goto S5
        If A > 3 Then Goto S5
        Loop
        End
        S4:
        Set Portb.0
        Lcd "correct"
        Goto Main

        دیدگاه


          #19
          پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

          ارورش رفع شد .میخام ببینم تو بسکام کپیش کردی چی شد ؟ چه اتفاقی افتاد ؟ برنامه کار میکنه ....(پست قبلیم رو بخونش)
          موفقيت = يك درصد نبوغ ، 99 درصد عرق ريختن
          (اديسون)

          دیدگاه


            #20
            پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

            1-دستور config kbd رو جابجا نوشته بودید.
            2- then در خط آخر زیاد بود.

            دیدگاه


              #21
              پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

              سلام این برنامه یه مشکل بزرگ داره اونم که این شرط If a<16 then
              باید بعد از گرفتن عدد قرار بگیره اگه این شرط نباشه lcd عدد 16 رو
              نشون می ده
              فرم کلی برنامه این میشه
              Config Kbd = Portd
              Dim a as byte
              do
              A=getkbd()
              If a<16 then
              If A = 1 Then Goto S1
              If A > 1 Then Goto S5
              End
              Loop
              گسترده تر از هر چیز دل مومن است(امام علی (ع))
              [glow=red,2,300]R[/glow]
              [glow=green,2,300]G[/glow]
              [glow=blue,2,300]B[/glow]

              دیدگاه


                #22
                پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                دوست عزیز این برنا مه ای که شما نوشتی اصلا برای بسکام قابل درک نیست ؟ ارور میده if a<16 then رو میگم
                موفقيت = يك درصد نبوغ ، 99 درصد عرق ريختن
                (اديسون)

                دیدگاه


                  #23
                  پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                  بجای end از end if استفاده کنید

                  دیدگاه


                    #24
                    پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                    دوستان من :eek: :angry:

                    من الان برنامم ارور نمیده خواهش می کنم .پست های بعدی رو هم مطالعه کنید :cry: ..........

                    به پست 16 من نگاه کنید لطفا :NO:
                    موفقيت = يك درصد نبوغ ، 99 درصد عرق ريختن
                    (اديسون)

                    دیدگاه


                      #25
                      پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                      $regfile = "m32def.dat"
                      $crystal = 1000000
                      Config Porta = Output
                      Config Lcd = 16 * 2
                      Config Lcdpin = Pin , Db4 = Pina.4 , Db5 = Pina.5 , Db6 = Pina.6 , Db7 = _
                      Pina.7 , E = Pina.3 , Rs = Pina.2


                      Cls
                      Lcd "in the name of god"
                      Waitms 100
                      Cls
                      Dim A As Byte
                      Config Kbd = Portd
                      Config Portb = Output




                      Main:
                      Do
                      'Cls
                      A = Getkbd()
                      If A < 16 Then
                      Goto N1
                      Else
                      Goto Main
                      End If


                      N1:
                      Locate 1 , 1
                      Lcd A
                      If A = 1 Then Goto S1
                      Goto S5
                      Loop



                      '\\\\\\\\\\\\\\\\\\\\\
                      S5:
                      Waitms 100
                      Lcd "incorect"
                      Goto Main



                      '\\\\\\\\\\\\\\\\\\\\\\
                      S1:
                      A = Getkbd()

                      If A < 16 Then
                      Goto N2
                      Else
                      Goto S1
                      End If


                      N2:
                      Locate 1 , 2
                      Waitms 50
                      Lcd A

                      If A = 2 Then
                      Goto S2
                      Else
                      Goto S5
                      End If


                      '*******************************
                      S2:
                      A = Getkbd()

                      If A < 16 Then
                      Goto N3
                      Else
                      Goto S2
                      End If


                      N3:
                      Locate 1 , 3
                      Lcd A

                      If A = 3 Then
                      Goto S4
                      Else
                      Goto S5
                      End If

                      S4:
                      Set Portb.0
                      Lcd "correct"
                      Wait 2
                      Goto Main


                      دوست عزیز این برنامه به جز lookup همه چیش درسته


                      1.به عنوان یک دوست پیشنهاد میکنم کتاب مهندس کاهه رو مطالعه کنین
                      2.در برنامه نیازی به چند hf تعریف کردن نبود(میکرو چیز پیچ میشه)
                      3.باید خوندن کیبورد تو یک loop تکرار بشه نه نمایش lcd
                      4.اساس کار کیبورد را مطالعه کنید
                      علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                      دیدگاه


                        #26
                        پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                        bascom بسیار قدرتمند است لطفا از سیمولیت استفاده کنید .هم برای درک برنامه هم کارکرد قدم به قدم میکرو هم رفع عیب


                        اگر سوالی بود در خدمتم
                        علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                        دیدگاه


                          #27
                          پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                          سلام با تشکر از شما ..برنامه توی حلقه 123 درسته .ولی مشکل توی حلقه اس 5 هست ........که وقتی کابر اولین عدد رو اشتباه بزنه سریع مینویسه نادرست .......

                          ولی ما میخایم طوری باشه که وقتی طرف 3 عدد رو پشت سر هم وارد کرد حالا هر کدومش اشتباه بود بعد بنویسه نادرست ......
                          موفقيت = يك درصد نبوغ ، 99 درصد عرق ريختن
                          (اديسون)

                          دیدگاه


                            #28
                            پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                            پس باید s5 رو فقط ئاسه lable اخر بذارید

                            و خیلی کارای دیگه بکنید

                            در کل تقریبا ساختار برنامه عوض میشه
                            به نظر من اول شما باید هدفتون معلوم باشه
                            من یه برنامه مثل چیزی که مد نظرتون هس نوشتم ولی دوس دارم خودتون راه بیوفتین
                            پس شروع کنین تا کمکتون کنم
                            اگر نه گذاشتن برنامه کاری نداره

                            منظورمو که میفهمین ان شا الله
                            علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                            دیدگاه


                              #29
                              پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                              نوشته اصلی توسط saeed450
                              سلام .این برنامه یه قفل رمز هست ...که رمز پیش فرضش 123 هست ..جالبه توی بسکام فقط از خط اخر از من ارور می گیره .حالا نمی دونم چرا ؟ به نظرتون مشکل این برنامه چیه ؟ :angry: :angry: :angry:

                              اصلا جواب میده اینننننننننننن ؟!


                              Cls
                              Lcd "in the name of god"
                              Waitms 100
                              Cls
                              Dim A As Byte
                              Config kbd = porta
                              Config Portb = Output
                              Main:
                              Do
                              Cls
                              A = Getkbd()
                              Locate 1 , 1
                              Lcd A
                              If A = 1 Then Goto S1
                              If A > 1 Then Goto S5
                              Loop
                              End
                              S5:
                              A = Getkbd()
                              Locate 1 , 2
                              Lcd A
                              Waitms 50
                              A = Getkbd()
                              Locate 1 , 3
                              Lcd A
                              Waitms 100
                              Lcd "incorect"
                              Goto Main
                              S1:
                              A = Getkbd()
                              Locate 1 , 2
                              Waitms 50
                              Lcd A
                              Do
                              If A = 2 Then Goto S2
                              If A < 2 Then Goto S5
                              If A > 2 Then Goto S5
                              Loop
                              End
                              S2:
                              A = Getkbd()
                              Locate 1 , 3
                              Lcd A
                              Do
                              If A = 3 Then Goto S4
                              If A < 3 Then Goto S5
                              If A > 3 Then Goto S5
                              Loop
                              End
                              S4:
                              Set Portb.0
                              Lcd "correct"
                              Goto Main
                              برای هر if باید end if را هم بگذارید .




                              دیدگاه


                                #30
                                پاسخ : کسی میتونه اشکال این برنامه رو به من بگه ؟ (بیسیک)

                                معضرت میخام دوست عزیز ولی برنامه بالا خیلی عیب داره
                                مثلا خواندن کیبورد در لوپ تکرار نشده لطفا برنامه من رو چک کنین
                                علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                                دیدگاه

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