اطلاعیه

Collapse
No announcement yet.

کمک در ساخت پالس با سرریز تایمر با فرکانس 160 کیلو هرتز

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

    کمک در ساخت پالس با سرریز تایمر با فرکانس 160 کیلو هرتز

    مهندسین عزیز و دوستان گرامی

    با سلام

    من چند روزی هستش که نیاز به تولید پالس مربعی با میکرو و بسکام با قابلیت تغببر فرکانس و تغییر دوره کارکرد دارم و هر چی بررسی کردم به راه بیشتر نداره ... در واقع میخوام فرکانس بین 10 کیلو تا 16 کیلو تغییر کنه و تنها راهی که بهش رسیدم ساخت پالس با فرکانس 10 برابر و سپس تقسیم بر 10 کردن و دادن دوره کارکرد در قالب این 10 قسمت هستش ولی نمیدونم پرا فرکانس 160 کیلو تولید نمیشه !!!

    :angry: :angry: :angry: :angry:

    ممنون میشن یه دستی برسونین



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

    Config Portc = Input
    Config Portb.0 = Output

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.1 , Rs = Portd.0
    Cursor Off

    Config Timer0 = Timer , Prescale = 1

    Dim A As Word , B As Word , O As Byte
    Dim H As Word , M As Word , N As Byte

    Enable Interrupts
    Enable Timer0
    Enable Ovf0
    On Ovf0 Time0

    H = 0
    B = 0

    Set Portb.0

    A = 255

    N = 5
    O = 10 - N
    Timer0 = A

    Main:

    Do

    If Pinc.0 = 1 And Pinc.1 = 1 And Pinc.2 = 1 And Pinc.3 = 1 Then Goto Stop1
    Debounce Pinc.0 , 1 , Freq1
    Debounce Pinc.1 , 1 , Freq0
    Debounce Pinc.2 , 1 , Amp1
    Debounce Pinc.3 , 1 , Amp0

    Locate 1 , 1 : Lcd A : Lcd " "
    Locate 2 , 1 : Lcd N : Lcd " "

    Loop

    Stop1:
    N = 0
    Goto Main

    Freq1:
    A = A + 5
    Goto Main

    Freq0:
    A = A - 5
    Goto Main

    Amp1:
    If N = 9 Then Goto Main
    N = N + 1
    O = 10 - N
    Goto Main

    Amp0:
    If N = 1 Then Goto Main
    N = N - 1
    O = 10 - N
    Goto Main

    Time0:

    If H = N And B = 0 Then
    Reset Portb.0
    B = 1
    H = 0

    Elseif H = O And B = 1 Then
    Set Portb.0
    B = 0
    H = 0
    End If

    'Toggle Portb.0

    Timer0 = A
    Incr H
    Return

    End 'end program

    زاویه ی نگاهتو عوض کن . . .

    #2
    پاسخ : کمک در ساخت پالس با سرریز تایمر با فرکانس 160 کیلو هرتز

    من بسکام بلد نیستم اما میتونی با تغییر دادن مقدار خود رجیستر تایمر فرکانستا تغییر بدی (منظورم مقدار اولیه رجیستر تایمر)
    چیزی را بگو که بتوانی بنویسی
    چیزی را بنویس که بتوانی امضا کنی
    چیزی را امضا کن که بتوانی به آن عمل کنی (ناپلئون)

    دیدگاه


      #3
      پاسخ : کمک در ساخت پالس با سرریز تایمر با فرکانس 160 کیلو هرتز

      سلام
      دقیقا برنامتون رو نفهمیدم چه جوری کار کردین اما شما برای کار در محدوده فرکانسی 10 تا 16 کیلوهرتز باید عدد تایمر بین 50 باشه تا 31 ، در برنامه زیر فرکانس 10 کیلوهرتز تولید می شه که با تغییر مقدار در بین 50 تا 31 محدوده کاری متغییر می شه
      $regfile = "m8def.dat"
      $crystal = 1000000

      Config Portc = Input
      Config Portb.0 = Output

      Config Lcd = 16 * 2
      Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.1 , Rs = Portd.0
      Cursor Off

      Config Timer0 = Timer , Prescale = 1

      Dim A As Word , B As Word , O As Byte
      Dim H As Word , M As Word , N As Byte

      Enable Interrupts
      Enable Timer0
      Enable Ovf0
      On Ovf0 Time0
      Timer0 = 50 '10Khz
      'timer0=31 '16khz
      Start Timer0




      Do

      nop

      Loop



      End

      '=================
      Time0:
      Toggle Portb.0
      Return
      هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

      دیدگاه


        #4
        پاسخ : کمک در ساخت پالس با سرریز تایمر با فرکانس 160 کیلو هرتز

        نوشته اصلی توسط baby_1
        سلام
        دقیقا برنامتون رو نفهمیدم چه جوری کار کردین اما شما برای کار در محدوده فرکانسی 10 تا 16 کیلوهرتز باید عدد تایمر بین 50 باشه تا 31 ، در برنامه زیر فرکانس 10 کیلوهرتز تولید می شه که با تغییر مقدار در بین 50 تا 31 محدوده کاری متغییر می شه
        نه من علاوه بر این میخوام بتونم duty cycle رو هم تغییر بدم .... هر کدومش جدا راحته ولی با هم نه !!! :angry:
        زاویه ی نگاهتو عوض کن . . .

        دیدگاه

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