اطلاعیه

Collapse
No announcement yet.

طرز فعال کردن pcint مگا88 در بسکام؟

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

    طرز فعال کردن pcint مگا88 در بسکام؟

    سلام دوستان.
    من در فعال کردن و استفاده از pin change interrupt اتمگا88 در بسکام به مشکل خوردم.چه دستوری باید بنویسم؟
    اینتراپت های int1 , int0 کار میگنه ولی پین چنجها فعال نمیشه.
    الهم صل علی محمد و آل محمد و عجل فرجهم

    #2
    پاسخ : طرز فعال کردن pcint مگا88 در بسکام؟

    سلام .خودم پیداش کردم: :wow: :wow:


    Config Portc = &B0001110
    Config Portd = &B11000000
    Config Pinc.0 = Input : Config Pind.0 = Input
    Enable Pcint1
    Pcmsk1 = &B00000001
    Enable Pcint2
    Pcmsk2 = &B00000001
    Pcicr = &B00000110

    این واسه pcint8 و pcint16 هست که فلگش در اینتراپت 1 و 2 مربوط به پین چنجها رخ میده.
    الهم صل علی محمد و آل محمد و عجل فرجهم

    دیدگاه


      #3
      پاسخ : طرز فعال کردن pcint مگا88 در بسکام؟

      می شه بیشتر توضیح بدید و یک مثال ساده بزنید
      مثلا فرض کنید با atiny13 می خواهید با استفاده از شش عدد اینتراپت خارجی شش پایه خروجی را صفر و یک کنیم. نمونه برنامه بنویسید

      دیدگاه


        #4
        پاسخ : طرز فعال کردن pcint مگا88 در بسکام؟

        منظورتون چیه؟
        ظاهرا شما عملکرد اینتراپت را نمیدونید.
        وقتی اینتراپت خارجی تحریک بشه برنامه به زیر برنامه مربوط به اون اینتراپت میپره و کارهایی را که خواسته شده را انجام میده.
        پایه ای صفر یا یک نمیشه.تازه atiny13 شش تا پایه i/o بیشتر نداره .استفاده از اینتراپت ها در avr های مختلف یکم متفاوته و باید به دیتاشیتش مراجعه بشه.
        اینم یه مثال با بسکام:
        $regfile = "attiny45.dat"
        $crystal = 1000000

        Config Portb = &B11100001 'config inputs / outpus
        Config Timer0 = Timer , Prescale = 1 'need timer to check interrupt vector
        Dim Flag As Byte


        Enable Interrupts
        Enable Timer0

        Set Pcmsk.pcint1 'configure pin to be sensed
        Set Pcmsk.pcint2
        Set Pcmsk.pcint3
        Set Pcmsk.pcint4
        Set Gimsk.pcie 'enable PCIE

        On Timer0 Active 'go sub active

        Set Portb.0 'set pin to see activity
        Flag = 1
        Start Timer0
        Do
        Wait 5
        Flag = 0
        Wait 1
        If Flag = 0 Then
        Reset Portb.0
        End If
        Loop

        Stop Timer0
        End

        Active:
        If Gifr.pcif = 1 Then 'check interrupt
        Reset Gifr.pcif
        Flag = 1
        Set Portb.0
        End If
        Return

        اضافه شده در تاریخ :
        الهم صل علی محمد و آل محمد و عجل فرجهم

        دیدگاه


          #5
          پاسخ : طرز فعال کردن pcint مگا88 در بسکام؟

          این تاپپیک در مورد وقفه تغییر وضعیت attiny13a بحث شدهو به جواب رسیده پست آخر رو مطالعه کنید

          دیدگاه

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