ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2013/03/12
    بهبهان
    113
    8

    Lightbulb اعداد علامت دار در کد آقای کی نژاد

    با سلام و تشکر فراوان از استاد گران قدرم آقای کی نژاد
    من در بخش 49 آموزش های xmega در قسمت کد نمونه تولید شکل موج توسط واحد DAC به مشکل بر خوردم و این قسمت از کد رو که با عدد 2048 جمع شده رو متوجه نمی شم . البته تا اونجایی که از مدار منطقی یادم هست مثل اینکه از سیستم علامت گذاری متمم مبتا استفاده شده ، ولی فرمول متمم مبتا به این صورت می باشد ؟!!!!!
    [N] = 2^n -(N)

    کد استاد کی نژاد :
    کد:
    /* * XMEGA_dac_0.c
     * Author: Ozhan KD
     * www.KnowledgePlus.ir
     
     This program produces two sine waves with different frequencies on DACB outputs (PB2 and PB3)
     PC speaker must be connected to output jack
     
     */ 
    
    
    #define F_CPU 32000000UL
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    #include <util/delay.h>
    
    
    const signed int sine[256] PROGMEM={
     0 , 50 , 100 , 151 , 201 , 251 , 300 , 350 , 399 , 449 , 497 , 546 , 594 , 642 , 690 , 737 ,
     783 , 830 , 875 , 920 , 965 , 1009 , 1052 , 1095 , 1137 , 1179 , 1219 , 1259 , 1299 , 1337 , 1375 , 1411 ,
     1447 , 1483 , 1517 , 1550 , 1582 , 1614 , 1644 , 1674 , 1702 , 1729 , 1756 , 1781 , 1805 , 1828 , 1850 , 1871 ,
     1891 , 1910 , 1927 , 1944 , 1959 , 1973 , 1986 , 1997 , 2008 , 2017 , 2025 , 2032 , 2037 , 2041 , 2045 , 2046 ,
     2047 , 2046 , 2045 , 2041 , 2037 , 2032 , 2025 , 2017 , 2008 , 1997 , 1986 , 1973 , 1959 , 1944 , 1927 , 1910 ,
     1891 , 1871 , 1850 , 1828 , 1805 , 1781 , 1756 , 1729 , 1702 , 1674 , 1644 , 1614 , 1582 , 1550 , 1517 , 1483 ,
     1447 , 1411 , 1375 , 1337 , 1299 , 1259 , 1219 , 1179 , 1137 , 1095 , 1052 , 1009 , 965 , 920 , 875 , 830 ,
     783 , 737 , 690 , 642 , 594 , 546 , 497 , 449 , 399 , 350 , 300 , 251 , 201 , 151 , 100 , 50 ,
     0 ,-50 ,-100 ,-151 ,-201 ,-251 ,-300 ,-350 ,-399 ,-449 ,-497 ,-546 ,-594 ,-642 ,-690 ,-737 ,
     -783 ,-830 ,-875 ,-920 ,-965 ,-1009 ,-1052 ,-1095 ,-1137 ,-1179 ,-1219 ,-1259 ,-1299 ,-1337 ,-1375 ,-1411 ,
     -1447 ,-1483 ,-1517 ,-1550 ,-1582 ,-1614 ,-1644 ,-1674 ,-1702 ,-1729 ,-1756 ,-1781 ,-1805 ,-1828 ,-1850 ,-1871 ,
     -1891 ,-1910 ,-1927 ,-1944 ,-1959 ,-1973 ,-1986 ,-1997 ,-2008 ,-2017 ,-2025 ,-2032 ,-2037 ,-2041 ,-2045 ,-2046 ,
     -2047 ,-2046 ,-2045 ,-2041 ,-2037 ,-2032 ,-2025 ,-2017 ,-2008 ,-1997 ,-1986 ,-1973 ,-1959 ,-1944 ,-1927 ,-1910 ,
     -1891 ,-1871 ,-1850 ,-1828 ,-1805 ,-1781 ,-1756 ,-1729 ,-1702 ,-1674 ,-1644 ,-1614 ,-1582 ,-1550 ,-1517 ,-1483 ,
     -1447 ,-1411 ,-1375 ,-1337 ,-1299 ,-1259 ,-1219 ,-1179 ,-1137 ,-1095 ,-1052 ,-1009 ,-965 ,-920 ,-875 ,-830 ,
     -783 ,-737 ,-690 ,-642 ,-594 ,-546 ,-497 ,-448 ,-399 ,-350 ,-300 ,-251 ,-201 ,-151 ,-100 ,-50};
    
    
    int main(void)
    {
     unsigned char i=0;
     
     //configuration of system clock , 32MHZ internal
     OSC_CTRL|=OSC_RC32MEN_bm;
     while(!(OSC_STATUS & OSC_RC32MRDY_bm));
     CCP=CCP_IOREG_gc;
     CLK_CTRL=CLK_SCLKSEL_RC32M_gc; 
     
     //configuration of DAC
     DACB_CTRLB=DAC_CHSEL_DUAL_gc;
     DACB_CTRLC=DAC_REFSEL_AREFA_gc;
     DACB_CTRLA=DAC_CH1EN_bm|DAC_CH0EN_bm|DAC_ENABLE_bm; 
     
     while (1) 
     {    
      while ( !(DACB_STATUS & DAC_CH0DRE_bm));
      DACB_CH0DATA = 2048+pgm_read_word(&sine[i]);
      while ( !(DACB_STATUS & DAC_CH1DRE_bm));
      DACB_CH1DATA= 2048+pgm_read_word(&sine[(unsigned char)(i<<1)]);
      i++;
      _delay_us(10);
      
     }
    }
    ویرایش توسط hfhossein : 2018/02/17 در ساعت 23:38
  2. #2
    2009/10/27
    تهران
    3,312
    1,032

    پاسخ : اعداد علامت دار در کد آقای کی نژاد

    2048 در واقع معرف سطح DC شکل موج است. با توجه به 12 بیتی بودن DAC در XMEGA محدوده تغییرات دیتای آن بین 0 تا 4095 است. در جدول، اعداد بین مثبت و منفی 2047 تغییرات دارند که حاصل جمع این اعداد با 2048 در نهایت عدد مثبتی را برای قرار گرفتن در رجیستر دیتای DAC ایجاد می کند.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
نمایش نتایج: از 1 به 2 از 2

موضوعات مشابه

  1. سخت افزار مبحث اموزش در س 17 استاد كي نژاد
    توسط mostafa6369 در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2017/05/13, 14:48
  2. کاربرد دیود زنر در منبع تغذیه پیشنهادی مهندس کی نژاد ؟
    توسط KINDA در انجمن میکروکنترلرهای AVR
    پاسخ: 15
    آخرين نوشته: 2016/03/18, 20:14
  3. كتاب آموزش الگوريتم و فلوچارت نويسي نوشته ي منصور ولي نژاد
    توسط chia در انجمن برنامه نویسی و اینترفیس
    پاسخ: 1
    آخرين نوشته: 2012/06/30, 23:14
  4. استفاده از ترانزيستور bjt به عنوان سوئيچ از آقای کی نژاد
    توسط javad_10 در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 1
    آخرين نوشته: 2012/05/30, 19:56
  5. پاسخ: 1
    آخرين نوشته: 2009/04/13, 08:32

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •