اطلاعیه

Collapse
No announcement yet.

fast-Rise time=50ns pwm with avr

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

    پاسخ : fast-Rise time=50ns pwm with avr

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

    فیلم های جناب کی نژاد مناسب ترین مرجع استارت میتونه باشه
    http://www.eca.ir/forum2/index.php?topic=57531.0

    یه سر به این سایت بزنین dmf313.ir

    موفق باشید

    نه دوست عزیز لقمه اماده نمیخوام همه اون فیلم هارو هم دانلود کردم و دیدم اما متوجه نمیشم .اینم میدونم که لقمه اماده هزینه داره .
    ممنون از همه دوستان

    دیدگاه


      پاسخ : fast-Rise time=50ns pwm with avr

      نوشته اصلی توسط حامد رحیمی
      بازم نمیشه 60 مگاهرتز نمیتونه اون فرکانسو درست کنه
      سلام اقا حامد کد زیر به نظر شما میتونه اون فرکانسی که داخل خود کد هست رو تولید کنه منظورم 32mhz هست که برای میکرو ATtiny85 نوشته شده
      که از سایت زیر برداشتم:
      http://www.avrfreaks.net/forum/resol...high-speed-pwm

      کد:
        	/* Configure PWM -- feq. 125KHz */
        	PLLCSR |= ((1<<PLLE) | (1<<LSM)); /* Enable PLL and Low Speed Mode peripheral clock -> 32MHz */
          {
        		unsigned char counter;
        		
        		/* Wait at least 100 us for PLL to stabilize */
        		for(counter = 0; counter < 250; counter++)
        		{
        			asm("nop"); /* Each NOP should take 500 ns -- MCU Clock at 2MHz */
        		}
        	}
        	while(bit_is_clear(PLLCSR,PLOCK)) ; /* Wait for PLL to lock (approx. 100ms) */
        	PLLCSR |= (1<<PCKE); /* Set PLL as PWM clock source */
        	OCR1C = 255; /* TOP value -- PWM with 256 bits of resolution */
        	TCCR1 |= ((1<<PWM1A) | (1<<COM1A1) | (1<<CS10)); /* PWM1A: Pulse Width Modulator A Enable */
        		/* OC1x cleared on compare match. Set when TCNT1 = $00. OC1x not connected and */
        		/* Asynchronous Clocking Mode - PCK */
      
        /******************************************************************************/
        /* Set the desired value of the duty_cycle on the PWM signal.         */
        /* duty_cycle_value with 255 equals to 100%.                 */
        /******************************************************************************/
        void set_duty_cycle_value(unsigned char duty_cycle_value)
        {
        	/* Limit duty_cycle_value for safe function of the system */
        	if(duty_cycle_value >= ((255*MAX_DUTY_CYCLE_VALUE)/100))
        	{
        		duty_cycle_value = ((255*MAX_DUTY_CYCLE_VALUE)/100);
        	}
      
        	/* Output the duty_cycle_value to the respective control register */
        	OCR1A = duty_cycle_value;
        }
      سقراط : دانش من بدانجایی رسید که فهمیدم هیچ نمیدانم.

      دیدگاه


        پاسخ : fast-Rise time=50ns pwm with avr

        این قابلیت ظاهرا فقط در یک شماره خاص از خانواده ی AVR هاست
        از این خانواده میکروهای مختلفی هست که چیپ ار اف هم دارن حالا بیاییم ادعا کنیم ما با دو تا AVR تونستیم ارتباط ار اف داشته باشیم!
        وقتی صحبت از AVR میشه همون شماره های معمول هست مثل 8 و 32 نه با قابلیت خاص در قطعه ی خاص

        دیدگاه


          پاسخ : fast-Rise time=50ns pwm with avr

          نوشته اصلی توسط سید سجاد احدزاده
          سلام اقا حامد کد زیر به نظر شما میتونه اون فرکانسی که داخل خود کد هست رو تولید کنه منظورم 32mhz هست که برای میکرو ATtiny85 نوشته شده
          که از سایت زیر برداشتم:
          http://www.avrfreaks.net/forum/resol...high-speed-pwm

          ظاهرا بعله چون pll دارن
          و اگر ببینید توی کد while (1)
          کلمه nop به معنی (هیچ) نشان میدهد که کاملا کد ریجیستری و سخت افزاری بوده و خبری از مشغولی cpu نیست
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه

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