اطلاعیه

Collapse
No announcement yet.

کمک در مورد برنامه نویسی C

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

    کمک در مورد برنامه نویسی C

    با سلام و عرض خسته نباشید : دوستان شرمنده، تازه میخوام برنامه نویسی را یاد بگیرم، کلی گشتم بفهمم این کدهای (0x86 و ......) که قرمز شده زیر را چطوری و از کجا بدست میاریم و اینجا می نویسیم؟ روش نوشتن این کدها چطوریه ؟چه منبعی را باید مطالعه بکنم بفهمم نوشتن این کدها چطوریه ؟ دوستان میشه راهنمایی بفرمایید. با تشکر
    ADCSRA=0x86;
    ADCSRA|=0x40;
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCW;
    }
    void main(void){
    PORTC.0=0X01;
    DDRC.1=0X01;
    DDRC.2=0X01;
    DDRC.3=0X01;
    PORTC.1=0X00;
    PORTC.2=0X00;
    PORTC.3=0X00;
    DDRB=0X00;
    PORTB=0X00;
    DDRD=0XFF;

    #2
    پاسخ : کمک در مورد برنامه نویسی C

    سلام دوست من. :nerd:
    خسته نباشی.

    این قرمز ها رو کد هگز بهش میگن.فرض کن که شما یک عدد داری ک میتونه صفر و یا یک باشه. این میشه یک بیت.
    حالا شما 8 تا از این هارو کنار هم بذاری میشه 8 بیت.
    4 تا از این ها میشه یک نیبل.
    گفتیم ک هر عددی رو میشه به مبنای 2 برد.( ک هر یکیش میشه یک بیت)
    اگر شما بخوای عددی رو از مبنای 2 ب مبنای 16 ببری کد هگزش رو بدست اوردی.
    0xff یعنی چی؟
    یعنی ff هگز.(بخوان اف اف هگز)
    هر متغییر 8 بیتی، هشت بیت جا برای نگهداری داره.
    مثلا تو کدت اوردی ک portb=0x00
    یعنی عدد صفر صفر هگز در متغییر هشتی portb قرار بده.

    امیدوارم ک مفهوم رو متوجه شده باشی.
    رو به خودت نسبت هستی مده!**دل به چنین مستی و پستی مده! //زانچه نداری ز چه افسردهآ‌ای*و زغم و اندوه دل آزردهآ‌ای؟!//گر ببرد ور بدهد دست دوست*ور بِبَرد ور بنهد مُلک اوست//ور بِکِشی یا بکُشی دیو غم **کج نشود دست قضا را قلم//آنچه خدا خواست همان میآ‌شود**وآنچه دلت خواست نه آن میآ‌شود.
    ....

    دیدگاه


      #3
      پاسخ : کمک در مورد برنامه نویسی C

      نوشته اصلی توسط amiri630
      با سلام و عرض خسته نباشید : دوستان شرمنده، تازه میخوام برنامه نویسی را یاد بگیرم، کلی گشتم بفهمم این کدهای (0x86 و ......) که قرمز شده زیر را چطوری و از کجا بدست میاریم و اینجا می نویسیم؟ روش نوشتن این کدها چطوریه ؟چه منبعی را باید مطالعه بکنم بفهمم نوشتن این کدها چطوریه ؟ دوستان میشه راهنمایی بفرمایید. با تشکر
      ADCSRA=0x86;
      ADCSRA|=0x40;
      while ((ADCSRA & 0x10)==0);
      ADCSRA|=0x10;
      return ADCW;
      }
      void main(void){
      PORTC.0=0X01;
      DDRC.1=0X01;
      DDRC.2=0X01;
      DDRC.3=0X01;
      PORTC.1=0X00;
      PORTC.2=0X00;
      PORTC.3=0X00;
      DDRB=0X00;
      PORTB=0X00;
      DDRD=0XFF;
      اینها همون فایلهای هگزا هستند (به عبارتی همون باینری هستش که تو مبنای 16 نوشته شده ) .اول یه کمی در مورد دیجیتال بخون .بعد برو سراغ یادگیری میکرو همه چیز دستت میاد

      دیدگاه


        #4
        پاسخ : کمک در مورد برنامه نویسی C

        سلام
        عزیز اینو هم بدونید بد نیست که اعداد دهدهی مون (0 تا 9) در مبنای هگز به شکلی کمی متفاوت نوشته میشن
        از 0 تا 9 اعداد در مبنای هگز ، همون اعداد در مبنای 10 هستن ولی چون مبنای هگز 16 تاست از 10 تا 15 رو با حروف انگیسی نمایش میدیم یعنی از a تا f
        اکثرا تو میکرو کنترلر رجیسترهای 8 بیتی رو کنترل میکنیم که به وسیله ی اعداد تو مبنای خاصی (تو مثال شما هگزادسیمال) کنترل میشن
        برای یادگیری بیشتر دنیای دیجیتال هم می تونید تو اینترنت یه گشتی بزنید و یا از کتاب مدارهای منطقی نوشته ی موریس مانو استفاده کنید
        امیدوارم مفید باشه

        دیدگاه


          #5
          پاسخ : کمک در مورد برنامه نویسی C

          سلام و خسته نباشید .
          من میخوام برنامه فلاشر که با یک ولوم سرعتش رو تغییر بدم ولی به مشکل خوردم.
          برنامه رو نوشتم ولی بین افکتهای ال ای دی ولوم رو میچرخونم سرعتش تغییر نمیکنه باید واییستم تا برنامه تموم بشه از اول بیاد که سرعت تغییر کنه
          چیکار کنم کمکم کنید؟؟؟؟؟؟

          دیدگاه


            #6
            پاسخ : کمک در مورد برنامه نویسی C

            نوشته اصلی توسط mehrtash
            سلام و خسته نباشید .
            من میخوام برنامه فلاشر که با یک ولوم سرعتش رو تغییر بدم ولی به مشکل خوردم.
            برنامه رو نوشتم ولی بین افکتهای ال ای دی ولوم رو میچرخونم سرعتش تغییر نمیکنه باید واییستم تا برنامه تموم بشه از اول بیاد که سرعت تغییر کنه
            چیکار کنم کمکم کنید؟؟؟؟؟؟
            خوب از اینتراپتهای تایمرت کمک بگیر.مثلا هر چند میلی ثانیه بیاد مقدار اهم اون مقاومت را بخون و محاسباتشو انجام بده

            دیدگاه

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