اطلاعیه

Collapse
No announcement yet.

تولید موج سینوسی با AVR؟؟؟

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

    تولید موج سینوسی با AVR؟؟؟

    دوستان چگونه میشه موج سینوسی رو با AVR تولید کرد؟؟؟
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...

    #2
    پاسخ : تولید موج سینوسی با AVR؟؟؟

    فقط فقط با AVR ؟ یعنی فقط از یه پین خروجی بگیری؟
    اگه اینه که با شیفت دادن فاز می تونی.
    مثلا برات این نمونه کد رو میذارم:

    کد:
    #include <avr/io.h>
    #include <util/delay.h>
    #include <avr/pgmspace.h>
    #include "sin.h"
    
    int main(void)
    {
    	uint8_t i;
    	DDRB = 0x08;
    	TCCR2 = 0x69;
    	
      while(1)
      {
    		uint8_t delay,n;
    		for (delay=1;delay<=50;delay++)
    		{	
    			for (n=0;n<(51-delay);n++)
    			{	
    				for (i=0;i<=254;i++)
    				{	
    					OCR2=pgm_read_byte_near(sine+i);
    					_delay_loop_2(delay);
    				}
    			}
    		}
        for (delay=50;delay>=2;delay--)
        {
    	    for (n=0;n<(51-delay);n++)
    	    {
    		    for (i=0;i<=254;i++)
    		    {
    			    OCR2=pgm_read_byte_near(sine+i);
    			    _delay_loop_2(delay);
    		    }
    	    }
        }//TODO:: Please write your application code 
      }
    }
    اینم واسه هدر sin :

    کد:
    #include <avr/pgmspace.h>
    
    prog_uint8_t sine[256]={
    							127,
    							130,
    							133,
    							136,
    							139,
    							143,
    							146,
    							149,
    							152,
    							155,
    							158,
    							161,
    							164,
    							167,
    							170,
    							173,
    							176,
    							178,
    							181,
    							184,
    							187,
    							189,
    							192,
    							195,
    							197,
    							200,
    							203,
    							205,
    							207,
    							210,
    							212,
    							214,
    							217,
    							219,
    							221,
    							223,
    							225,
    							227,
    							229,
    							231,
    							232,
    							234,
    							236,
    							237,
    							239,
    							240,
    							242,
    							243,
    							244,
    							245,
    							246,
    							248,
    							248,
    							249,
    							250,
    							251,
    							251,
    							252,
    							253,
    							253,
    							253,
    							254,
    							254,
    							254,
    							254,
    							254,
    							254,
    							254,
    							253,
    							253,
    							253,
    							252,
    							252,
    							251,
    							250,
    							250,
    							249,
    							248,
    							247,
    							246,
    							245,
    							243,
    							242,
    							241,
    							239,
    							238,
    							236,
    							235,
    							233,
    							231,
    							229,
    							227,
    							225,
    							224,
    							221,
    							219,
    							217,
    							215,
    							213,
    							210,
    							208,
    							206,
    							203,
    							201,
    							198,
    							195,
    							193,
    							190,
    							187,
    							185,
    							182,
    							179,
    							176,
    							173,
    							170,
    							167,
    							164,
    							161,
    							158,
    							155,
    							152,
    							149,
    							146,
    							143,
    							140,
    							137,
    							134,
    							131,
    							128,
    							125,
    							121,
    							118,
    							115,
    							112,
    							109,
    							106,
    							103,
    							100,
    							97,
    							94,
    							91,
    							88,
    							85,
    							82,
    							79,
    							76,
    							73,
    							71,
    							68,
    							65,
    							62,
    							60,
    							57,
    							55,
    							52,
    							50,
    							47,
    							45,
    							42,
    							40,
    							38,
    							36,
    							34,
    							31,
    							29,
    							27,
    							26,
    							24,
    							22,
    							20,
    							19,
    							17,
    							15,
    							14,
    							13,
    							11,
    							10,
    							9,
    							8,
    							7,
    							6,
    							5,
    							4,
    							3,
    							3,
    							2,
    							2,
    							1,
    							1,
    							0,
    							0,
    							0,
    							0,
    							0,
    							0,
    							0,
    							1,
    							1,
    							1,
    							2,
    							2,
    							3,
    							4,
    							4,
    							5,
    							6,
    							7,
    							8,
    							9,
    							10,
    							12,
    							13,
    							14,
    							16,
    							17,
    							19,
    							21,
    							22,
    							24,
    							26,
    							28,
    							30,
    							32,
    							34,
    							36,
    							39,
    							41,
    							43,
    							45,
    							48,
    							50,
    							53,
    							55,
    							58,
    							61,
    							63,
    							66,
    							69,
    							72,
    							74,
    							77,
    							80,
    							83,
    							86,
    							89,
    							92,
    							95,
    							98,
    							101,
    							104,
    							107,
    							110,
    							113,
    							116,
    							119,
    							122,
    };

    دیدگاه


      #3
      پاسخ : تولید موج سینوسی با AVR؟؟؟

      ممنون از توجهتن...
      ولی اگه ممکنه در مورد برنامه تون بیشتر توضیح بدید...
      البته من اینو با codevision میخوام compile کنم ارور میده؟؟؟
      صبرت که تمام شد نرو!
      "معرفت"
      تازه از آن لحظه آغاز می شود...

      دیدگاه


        #4
        پاسخ : تولید موج سینوسی با AVR؟؟؟

        دوستان لطفا راهنمایی کنید...
        خیلی برام مهمه.....
        صبرت که تمام شد نرو!
        "معرفت"
        تازه از آن لحظه آغاز می شود...

        دیدگاه


          #5
          پاسخ : تولید موج سینوسی با AVR؟؟؟

          نوشته اصلی توسط RoboRazi
          ولی اگه ممکنه در مورد برنامه تون بیشتر توضیح بدید...
          البته من اینو با codevision میخوام compile کنم ارور میده؟؟؟
          این فقط رو GCC جواب میده(یعنی مثلا اتمل استودیو(Atmel studio یا WinAVR)).
          این یه موج سینوسی روی پین خروجی تایمر 2 مس ازه که شبیه صداری یه آژیر هستش. شما برنامه رو روی کاغذ تحلیل کن که چیکار کرده. اینجوری خیلی خوب می فهمید چیکار کرده.

          دیدگاه


            #6
            پاسخ : تولید موج سینوسی با AVR؟؟؟

            با PWM میکرو یه موج SIN رو راحت می تونی مدوله کنی
            البته برای ظاهر شدن شکل موج سینوسیت باید یه مدار خیلی ساده RC به پایه خروجی( PWM (OCR وصل کنی :rolleyes:
            تو سایت سرچ کنی چند تا تاپیک توپ هست که دوستان در حد تیم ملی روش کار کردن
            خداوند بی نهایت است اما به قدر نیاز تو فرود می آید ، به قدر آرزوی تو گسترده می شود و به قدر ایمان تو کارگشاست.
            [hr]

            دیدگاه


              #7
              پاسخ : تولید موج سینوسی با AVR؟؟؟

              نوشته اصلی توسط 4850
              ... البته برای ظاهر شدن شکل موج سینوسیت باید یه مدار خیلی ساده RC به پایه خروجی( PWM (OCR وصل کنی...
              فیلتر پایین گذر!

              دیدگاه


                #8
                پاسخ : تولید موج سینوسی با AVR؟؟؟

                جناب "4850" ممکنه آدرس کامل این تاپیک ها رو بفرمائید...من تمام مطلب های مرتبط با این موضوع رو گشتم ولی مطلب مناسبی پیدا نکرد..
                خیلی ممنون میشم آدرس دقیقشونو بذارید
                صبرت که تمام شد نرو!
                "معرفت"
                تازه از آن لحظه آغاز می شود...

                دیدگاه


                  #9
                  پاسخ : تولید موج سینوسی با AVR؟؟؟

                  نوشته اصلی توسط Rohalamin
                  فیلتر پایین گذر!
                  آره همونه :smile: یه سوال این همون آشکارساز پوش نیست ؟ :rolleyes:

                  نوشته اصلی توسط RoboRazi
                  جناب "4850" ممکنه آدرس کامل این تاپیک ها رو بفرمائید...من تمام مطلب های مرتبط با این موضوع رو گشتم ولی مطلب مناسبی پیدا نکرد..
                  خیلی ممنون میشم آدرس دقیقشونو بذارید
                  http://www.eca.ir/forum2/index.php?topic=47979.0
                  تو این تاپیک حسابی پیرامون این مطلب بحث شده یکم پشتکار و علاقه داشته باشی خیلی بدردت می خوره
                  موفق و پیروز باشی
                  خداوند بی نهایت است اما به قدر نیاز تو فرود می آید ، به قدر آرزوی تو گسترده می شود و به قدر ایمان تو کارگشاست.
                  [hr]

                  دیدگاه

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