اطلاعیه

Collapse
No announcement yet.

چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

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

    چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

    همونطور که میدونید با دستور lookup میشه یه پرت رو ست و ریست کرد.
    مثلا
    مثلا:
    data=00010001,10000101,01001100
    for i =0..........
    portb= lookup(i,data)
    من میخواستم بدونم آیا راهی هست که یه تعداد از پایه های پرت های مختلف رو با این دستور یا یه دستور مشابه مقدار دهی کنم؟
    یا اینکه دستوری هست که چند تا پایهرو جدا کنه به عنوان یه پرت مجازیی یا همچین چیزی بشناسونه و بعد با دستور لوک پ مقداردهیش کنم؟

    #2
    پاسخ : چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم


    سوال شما واضح نیست یا من متوجه نشدم؟
    برهر حای شما میتونید با این دستور هر کدوم از پورتها رو مقداردهی کنید ...
    [br /][hr]http://pcenter.ir[hr][br /]

    دیدگاه


      #3
      پاسخ : چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

      سلام . شرمنده عزیز
      همونطور که نمی دونیم ! دستور lookup مربوط به set\reset پایه ها نیست
      هميشه به ياد خدا باش !

      دیدگاه


        #4
        پاسخ : چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

        نوشته اصلی توسط DDR3
        سلام . شرمنده عزیز
        همونطور که نمی دونیم ! دستور lookup مربوط به set\reset پایه ها نیست
        حالا گیر دادی غلط املایی میگیری. خوبه یه مثال هم نهادم تا منظورم رو درست بفهمونم.(دشمنت شرمنده.مو از بچگی هم املام خوب نبود.آخه هر وقت معلممون یه درس رو میداد حفظش میکردم و خونه هم مشق هام رو از رو حفظ مینوشتم)(ولی با دستور لوک پ هم میشه ست و ریست کرد.)

        من نمیخوام یکی از پرت ها رو مقدار دهی کنم. میخوام هر دفعه چند تا از پین های پرتهای مختلف رو با هم مقدار دهی کنم. آیا راهی هست؟مثلا portd4,d5,d7و c3,c6,c7 و a1,a4,a5
        مثلا میخوام این پین ها رو همزمان با اون دستوری که بالا نوشتم مقدار دهی کنم.
        آیا راهی هست؟

        دیدگاه


          #5
          پاسخ : چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

          سلام دوست عزیز
          شما تا جایی که من تست کردم دو راه دارید و اون اینکه برنامه رو به صورت دو تست زیر که جواب داد انجام بدید
          $regfile = "m16def.dat"
          $crystal = 1000000

          Config Porta = Output
          Config Portc = Output
          Config Portd = Output

          Declare Sub Test

          Dim A As Byte
          Dim I As Byte

          For I = 0 To 3
          A = Lookup(i , Code)
          Test
          Waitms 500
          Next

          End

          Code:
          Data 15 , 245 , 144 , 84

          Test:
          Porta.1 = A.1
          Porta.4 = A.4
          Porta.5 = A.5
          Portc.3 = A.3
          Portc.6 = A.6
          Portc.7 = A.7
          Portd.4 = A.4
          Portd.5 = A.5
          Portd.7 = A.7
          Return
          یا اینکه
          $regfile = "m16def.dat"
          $crystal = 1000000

          Dim A As Byte
          Dim I As Byte
          Dim B As Byte

          Config Porta = Output
          Config Portc = Output
          Config Portd = Output

          For I = 0 To 3
          A = Lookup(i , Code)
          B = A And &B00110010
          Porta = Porta And &B11001101
          Porta = Porta Or B
          B = A And &B11001000
          Portc = Portc And &B00110111
          Portc = Portc Or B
          B = A And &B10110000
          Portd = Portd And &B01001111
          Portd = Portd Or B
          Waitms 500
          Next

          End

          Code:
          Data 200 , 245 , 255 , 236

          دیدگاه


            #6
            پاسخ : چطور پین های پرت های مختلف رو با دستور lookup ست و ریست کنم

            من این دستور رو برای این میخوام که یک تابلو روان رو که با یه مکعب led 5*5*5 ساخته شده رو راه بیاندازم. این مکعب به 25 ستون و 5 لایه تقسیم شده.(روش دات ماتریکس)آند های هر ستون به هم و کاتد های هر لایه به هم وصل شدن.حالا من میخوام براش تیبل بنویسم و برای اینکار نیاز به دستور لوک پ دارم. از هر طرف هم که بهش نگاه کنم 5 سطونش رو میبینم که باید روی اونها تیبل بنویسم و روی لایه ها مولتی پلکسش کنم.اما مثلا اگه از چپ بهش نگاه کنید هر کدوم از ستون led ها به یک پرت وصل هستند که همین اذیت میکنه.نمیشه هیچ کاریش هم کرد.
            من الان میتونم انجامش بدم اما حجم برنامه ام خیلی میره بالا و سرعت میاد پایین.
            باید یه روش پیدا کنم که حجم رو بیاره پایین.
            اگه میشه توضیح بدید که روشی که شما بالا گفتید چطور عمل میکنه؟

            دیدگاه

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