اطلاعیه

Collapse
No announcement yet.

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

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

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

    با سلام خدمت اساتید ارجمند
    من یه مشکل عجیب با برنامه نویسی با بیسکام دارم الان من یه برنامه ساده به صورت زیر نوشتم که هیچ چیزی نداره به این صورت هست که پرت B را به صورت ورودی تعریف کردم که با توجه به گراند شدن هر کدام از پین ها متن مورد نظر در lcd نمایش داده بشه و یکی از پین های پرت c نیز که مرتبط با پین انتخاب شده از پرت های b هست set بشه ولی متاسفانه در عمل وقتی این مدار رو میبندم درست کار نمیکنه ...

    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdmode = Port
    Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.4 , Rs = Porta.5
    Config Portb = Input
    Config Portc = Output
    Dim A As Integer
    A = 10
    Cls
    Do
      If Pinb.0 = 0 Then
      A = 0
      End If
      If Pinb.1 = 0 Then
      A = 1
      End If
      If Pinb.2 = 0 Then
      A = 2
      End If
      If Pinb.3 = 0 Then
      A = 3
      End If
      If Pinb.4 = 0 Then
      A = 4
      End If
      If Pinb.5 = 0 Then
      A = 5
      End If
      If Pinb.6 = 0 Then
      A = 6
      End If
      If Pinb.7 = 0 Then
      A = 7
      End If
    
      Select Case A
      Case 0 :
    
       Locate 1 , 1
       Lcd "INPUT 1"
       Reset Portc
       Set Portc.0
      Case 1 :
    
       Locate 1 , 1
       Lcd "INPUT 2"
       Reset Portc
       Set Portc.1
      Case 2 :
    
       Locate 1 , 1
       Lcd "INPUT 3"
       Reset Portc
       Set Portc.2
      Case 3 :
    
       Locate 1 , 1
       Lcd "INPUT 4"
       Reset Portc
       Set Portc.3
      Case 4 :
    
       Locate 1 , 1
       Lcd "INPUT 5"
       Reset Portc
       Set Portc.4
      Case 5 :
    
       Locate 1 , 1
       Lcd "INPUT 6"
       Reset Portc
       Set Portc.5
      Case 6 :
    
       Locate 1 , 1
       Lcd "INPUT 7"
       Reset Portc
       Set Portc.6
      Case 7 :
    
       Locate 1 , 1
       Lcd "INPUT 8"
       Reset Portc
       Set Portc.7
      Case Else : Lcd "Please select one port."
      End Select
    
    Loop
    End                             'end program
    در عمل پیغام input 8 در lcd نمایش میده و اگر هر پینی از پرت B رو شما گراند کنید بعد از نمایش متن درست دوباره input 8 رو نشون میده و البته در مورد set شدن پرت مرتبط با input هم کلا درست کار نمیکنه
    دوستان برنامه رو ببینید اگه اشتباهی داره لطفا راهنمایی کنید...
    با تشکر فراوان

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

    سلام
    پیشنهاد من اینه اول دستورهای شرطی رو به صورت
    if pinb.0=0 then
    elseif pinb.1=0 then
    .
    .
    .
    elseif pinb.7=0 then
    endif
    قدم اول بیخیال case بشو و نوشتن در lcdرو در داخل هر if بذار و تست کن
    در ضمن پابه های پورتb رو به 5 وصل کن .تا مطمئن بشی که با 0 کردن تو فعال میشه و دستور if اجرا میشه

    دیدگاه


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

      اگه از پورت c استفاده میکنی فیوز بیت jtagen ور هم حتما غیر فعال کن :agree:
      دعا پشتِ دعا براي آمدنت
      گناه پشــــــتِ گناه براي نيامــدنت
      دل درگــير ، مــيان اين دو انتخــــــــــــــــــــاب
      کــــــــــــــدام آخر ؟ آمـــدنـت يا نيامدنـــــــــــــــــــــــت

      دیدگاه


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

        سلام
        برامه رو چک کردم مشکلی نداشت. احتمالا مشکل سخت افزای است یعنی شما بایدهر کدام از پین های ورودی رو باید با یه مقاومت به vcc وصل کنیدبا LOGICSTATE به هر کدام از پایه ها وصل کرد و در ابتدا کار همه اون ها رو یک کرد الان هم برنامه درست کار کرد. :rolleyes:
        100% جواب میده
        اگه باز نتونستی راش بندازی بگو تا برات فایل پروتئوس رو بفرستم. :agree:

        سوالی بود در خدمتم.

        دیدگاه

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