سلام خسته نباشید !!
من برنامه این پروژه رو نوشتم ولی روی پروتوس جواب نمیده میشه برنامه رو کامل کنید برام :
میخواهیم یک موج مربعی متقارن بر روی یکی از پایه های AVR تولید کنیم به نحوی که دو کلید فشاری به نامهای UP و DOWN به میکروکنترلر متصل باشد و فرکانس موج مربعی را با گام مناسب (500Hz) کم یا زیاد نماییم.کلاک اصلی 8MHz فرض شود و از تایمر در مد مقایسه استفاده شود.
راهنمایی استاد :
فقط از تایمر یک در مد مقایسه استفاده شود و شکل موج مربعی مورد نظر روی پایه oc1a تولید شود. شکل موج اولیه را دارای یک فرکانس دلخواه در نظر بگیرید و سپس کلیدها را به گونه ای طراحی کنید که با هر بارفشردن کلید up فرکانس شکل موج مربعی تولید شده 500Hz افزایش یابد و با هر بار فشردن کلید down فرکانس شکل موج مربعی تولید شده 500Hz کاهش یابد.
این برنامه رو میخوام عملی انجام بدم کمکم کنید.
این برنامه ای که نوشتم ولی فکر کنم زیاد مشکل داره :
من برنامه این پروژه رو نوشتم ولی روی پروتوس جواب نمیده میشه برنامه رو کامل کنید برام :
میخواهیم یک موج مربعی متقارن بر روی یکی از پایه های AVR تولید کنیم به نحوی که دو کلید فشاری به نامهای UP و DOWN به میکروکنترلر متصل باشد و فرکانس موج مربعی را با گام مناسب (500Hz) کم یا زیاد نماییم.کلاک اصلی 8MHz فرض شود و از تایمر در مد مقایسه استفاده شود.
راهنمایی استاد :
فقط از تایمر یک در مد مقایسه استفاده شود و شکل موج مربعی مورد نظر روی پایه oc1a تولید شود. شکل موج اولیه را دارای یک فرکانس دلخواه در نظر بگیرید و سپس کلیدها را به گونه ای طراحی کنید که با هر بارفشردن کلید up فرکانس شکل موج مربعی تولید شده 500Hz افزایش یابد و با هر بار فشردن کلید down فرکانس شکل موج مربعی تولید شده 500Hz کاهش یابد.
این برنامه رو میخوام عملی انجام بدم کمکم کنید.
این برنامه ای که نوشتم ولی فکر کنم زیاد مشکل داره :
کد:
$regfile = "m32def.dat" $crystal = 8000000 Config Timer1 = Timer , Prescale = 8 , Compare A = Set , Compare B = Disconnect , Clear Timer = 0 Config Porta = Input Config Portb = Output Dim F As Integer , Up As Bit , Down As Bit Porta.0 = Up Porta.1 = Down Portb.0 = F F = 0 Enable Interrupts Enable Timer1 On Oc1a L1 Start Timer1 L1: If Up = 1 Then F = F + 500 If Down = 1 Then F = F - 500 Do Loop Return
دیدگاه