اطلاعیه

Collapse
No announcement yet.

چند سوال در مورد AVR + codevision

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

    چند سوال در مورد AVR + codevision

    سلام خدمت اساتید عزیز انجمن

    دوستان چند سوال ساده و مبتدیانه در مورد برنامه نویسی codevision و avr دارم :agree:


    تا جایی که من میدونم برای تولید سیگنال های PWM باید از یکی از تایمرهای میکرو + رجیستر OCR0 استفاده کرد

    حالا سوال من اینجاست که این رجیستر OCR0 در واقع کدوم یکی از

    پارامترهای تولید سیگنال رو تایین میکنه ؟ فرکانس رو ؟ طول موج رو ؟(البته نمبدونم

    برای تولید موج مربعی این اصطلاح درسته یا نه !)

    و بازه حداقل و حداکثر اون چه مقادیری هستند ؟



    #2
    پاسخ : چند سوال در مورد AVR + codevision

    سلام دادا.
    pwm یعنی مدلاسیون عرض پالس. توی این مدلاسیون دو چیز مهمه. فرکانس اصلی و نسبت خاموش بودن به روشن بودن در فرکانس (همون 0 و 1)
    فرکانس که حداکثر میتونه برابر فرکانس میکرو و یا تقسیمی از فرکانس میکرو باشه. و درصد روشنی به خاموشی که توسط رجیستر OCR تولید میشه.
    تشکر لازم نیست!

    دیدگاه


      #3
      پاسخ : چند سوال در مورد AVR + codevision

      سلام دوستان یه سوال داشتم
      در ابتدای کار با کد ویژن در قسمت ویزارد برنامه وقتی می خوایم پرت هارو کانفیگ کنیم
      اگر خروجی تعریف کنیم برای آن دو تا حالت State در نظر گرفته خواهد شد
      آیا می تونید برام توضیح بدید معنی هر کدوم چیه
      کد:
      // Port A initialization
      // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
      // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
      PORTA=0x00;
      DDRA=0xFF;
      
      // Port B initialization
      // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
      // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 
      PORTB=0xFF;
      DDRB=0xFF;

      همین طور وقتی ورودی تعریف کنیم دو حالت خواهد داشت

      کد:
      // Port C initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P 
      PORTC=0xFF;
      DDRC=0x00;
      
      // Port D initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
      PORTD=0x00;
      DDRD=0x00;

      معنای اینها چیه؟

      با سپاس

      دیدگاه


        #4
        پاسخ : چند سوال در مورد AVR + codevision

        سلام
        state یعنی حالت
        شما وقتی یه پورت رو به عنوان خروجی تعریف می کنید (به طور مثال DDRA=0xFF) خروجی 2 حالت می تونه داشته باشه یا صفر یا یک وقتی می نویسیم PORTA=0x00 یعنی خروجی پورت A رو صفر کردم یعنی state یا حالت خروجیمون برابر با صفره و همینطور وقتی شما پورتی رو به عنوان ورودی تعریف می کنید (ِِDDRA=0x00) با مقدار دادن به ورودی ما در عمل پول اپ (Pull up ) ورودی رو فعال می کنیم مثل (PORTA=0xff)

        دیدگاه


          #5
          پاسخ : چند سوال در مورد AVR + codevision

          درود دوباره!

          یک پرسش دیگه؟

          وقتی دیوایسی رو روی یک پرت میکرو کانفیگ می کنیم آدرس پرتش رو از کجا باید پیدا کنیم

          مثلا برای کانفیگ (اتصال مستقیم) ال سی دی کاراکتری 20X4 یک دستور اسمبلی نوشته میشه

          در mega16

          کد:
          #asm
            .equ __lcd_port=0x1B ;PORTA
          #endasm
          یا mega32

          کد:
          #asm
            .equ __lcd_port=0x15 ;PORTC
          #endasm
          سوالم اینه که آدرس پرتی که قراره تعیین کنیم از کجا باید پیدا کنیم؟
          آیا اصول و جدولی هست؟

          سپاسگزارم

          دیدگاه

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