اطلاعیه

Collapse
No announcement yet.

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

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

    #16
    پاسخ : آموزش سریع و عملی تولیدموج مربعی با فرکانس دلخواه

    نوشته اصلی توسط FSS_ASA
    کار خوبی میکنید که یکراست رفتین و دارین سخت افزاری کار میکنین. هر چند که زیاد دوستآ‌ ندارم کل کاری رو که میخاین رو وقت بگذارم و انجامش بدم اما تلاش می کنم بتونی قدم ها رو خودتون ورداری. نمیدونم به قولی برقی هستین یا نه ولی من فکر می کنم شما فرکانس میکرو رو روی 16 مگ تنظیم نمی کنین. چون توی ویزارد فقط فرکانس رو تنظیم میکنیم تا مبنایی زمانی درست بشه و برای تنظیم فرکانس باید جداگانه فیوز بیت ها رو منطبق بر فرکانس (مثلا 16 مگ) برنامه ریزی کنین. البته ببخشید شاید به نکته ساده ای اشاره کردم.

    اضافه شده در تاریخ :
    چون من برد میکرو دم دستم ندارم از نرم افزار استفاده میکنم ولی با تنظیمات اخیر فرکانس 50 کیلو میگیرم. ولی قبلا سر یه برنامه ای با نرم افزار گیرهای الکی داشتم.
    بگذریم حالا شما تنظیماتی رو که انجام میدین رو به همراه نتایج برام بفرستین تا گه از دستم بر بیاد کمکتون کنم

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

    دیدگاه


      #17
      پاسخ : آموزش سریع و عملی تولیدموج مربعی با فرکانس دلخواه

      سلام .استاد مشکل من کجاست؟
      تمام مراحل رو براتون پایین گذاشتم:
      http://s7.picofile.com/file/8250975618/p1.png

      http://s6.picofile.com/file/8250975634/p2.png

      http://s7.picofile.com/file/8250975668/p3.png

      http://s6.picofile.com/file/8250975692/p4.png

      http://s6.picofile.com/file/8250975718/pic_107_1.bmp



      برنامه:
      /************************************************** *****
      This program was created by the
      CodeWizardAVR V3.12 Advanced
      Automatic Program Generator
      © Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
      http://www.hpinfotech.com

      Project :
      Version :
      Date : 2016-05-11
      Author :
      Company :
      Comments:


      Chip type : ATmega16A
      Program type : Application
      AVR Core Clock frequency: 8.000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      ************************************************** *****/

      #include <mega16a.h>

      // Declare your global variables here

      // Timer 0 overflow interrupt service routine
      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
      {
      // Reinitialize Timer 0 value
      TCNT0=0xF6;
      // Place your code here

      }

      void main(void)
      {

      // Port B initialization
      // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=In Bit1=In Bit0=In
      DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (1<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
      // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=0 Bit2=T Bit1=T Bit0=T
      PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);


      // Timer/Counter 0 initialization
      // Clock source: System Clock
      // Clock value: 1000.000 kHz
      // Mode: Normal top=0xFF
      // OC0 output: Toggle on compare match
      // Timer Period: 0.01 ms
      // Output Pulse(s):
      // OC0 Period: 0.02 ms Width: 0.01 ms
      TCCR0=(0<<WGM00) | (0<<COM01) | (1<<COM00) | (0<<WGM01) | (0<<CS02) | (1<<CS01) | (0<<CS00);
      TCNT0=0xF6;
      OCR0=0x00;
      // Timer(s)/Counter(s) Interrupt(s) initialization
      TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (1<<TOIE0);

      // External Interrupt(s) initialization
      // INT0: Off
      // INT1: Off
      // INT2: Off
      MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
      MCUCSR=(0<<ISC2);

      // USART initialization
      // USART disabled
      UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

      // Analog Comparator initialization
      // Analog Comparator: Off
      // The Analog Comparator's positive input is
      // connected to the AIN0 pin
      // The Analog Comparator's negative input is
      // connected to the AIN1 pin
      ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
      SFIOR=(0<<ACME);

      // ADC initialization
      // ADC disabled
      ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

      // SPI initialization
      // SPI disabled
      SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

      // TWI initialization
      // TWI disabled
      TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

      // Global enable interrupts
      #asm("sei&quot

      while (1)
      {
      // Place your code here

      }
      }

      دیدگاه

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