اطلاعیه

Collapse
No announcement yet.

کدام زبان برنامه نویسی برای avr بهتر است؟

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

    #16
    پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

    نوشته اصلی توسط Ahp_online
    فرقی نمی کنه که شما به چه زبانی برنامه نویسی کنی فقط باید هر زبان برنامه نویسی رو که یاد گرفتی کاملا به آن مسلط بشی .

    بین baisic و c فرق زیادی هست .

    بیشتر برنامه هایی که تو اینترنت است همه با c هستند و مثال زیادی با baisic تو ایترنت نمی تونی پیدا کنی . پس اگه می خوای از اینترنت برای یاد گیری کمک بگیری به نظر من c بهتری.
    خوب اگه این جوریه که نظرم عوض شد. خوب حالا سی یاد می گیرم ببینم چی می شه.
    اول یه مسال کامل از روشن شدن یک led رو بزنید لطفا. مثلا از ATMEGA8 استفاده شده باشه. از خط اول که include می نویسید تا آخر.( طوری که این رو اگه compile کنم بشه از فایل hex استفاده کرد. اگه بشه تو 4 خط این کار رو انجام داد خیلی خوبه.
    کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

    دیدگاه


      #17
      پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

      به نظر من برای شروع بهتره بیسیک رو انتخاب کنی چون یه تعداد توابع نرم افزاری داره که فعلا توو کد ویژن وجود ندارن. ولی اگه بخوای حرفه ای وارد بشی بهتره c رو هم یاد بگیری. چون انعطاف پذیری برنامتو بالا می بره.
      ... کی میتونه جز من و تو درد ما رو چاره کنه
      یار دبستانی من ...

      دیدگاه


        #18
        پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

        سلام:
        بعد از اینکه شما با استفاده ازCodeWizard در نرو افزارCodevisionAVR پیکر بندی برنامه رو انجام دادید خود نرافزار برای شما دستورات رو مینویسه من فقط چند خط به برنامه اضافه کردم


        /************************************************** ***
        This program was produced by the
        CodeWizardAVR V1.25.8a Standard
        Automatic Program Generator
        © Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
        http://www.hpinfotech.com

        Project :
        Version :
        Date : 2008/01/17
        Author : F4CG
        Company : F4CG
        Comments:


        Chip type : ATmega8
        Program type : Application
        Clock frequency : 8.000000 MHz
        Memory model : Small
        External SRAM size : 0
        Data Stack size : 256
        ************************************************** ***/

        #include <mega8.h>

        #include <delay.h>
        // Declare your global variables here

        void main(void)
        {
        // Declare your local variables here

        // Input/Output Ports initialization
        // Port B initialization
        // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
        // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
        PORTB=0x00;
        DDRB=0xFF;

        // Port C initialization
        // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
        // State6=T State5=T State4=T State3=T State2=T State1=T State0=T
        PORTC=0x00;
        DDRC=0x00;

        // Port D initialization
        // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
        // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
        PORTD=0x00;
        DDRD=0x00;

        // Timer/Counter 0 initialization
        // Clock source: System Clock
        // Clock value: Timer 0 Stopped
        TCCR0=0x00;
        TCNT0=0x00;

        // Timer/Counter 1 initialization
        // Clock source: System Clock
        // Clock value: Timer 1 Stopped
        // Mode: Normal top=FFFFh
        // OC1A output: Discon.
        // OC1B output: Discon.
        // Noise Canceler: Off
        // Input Capture on Falling Edge
        // Timer 1 Overflow Interrupt: Off
        // Input Capture Interrupt: Off
        // Compare A Match Interrupt: Off
        // Compare B Match Interrupt: Off
        TCCR1A=0x00;
        TCCR1B=0x00;
        TCNT1H=0x00;
        TCNT1L=0x00;
        ICR1H=0x00;
        ICR1L=0x00;
        OCR1AH=0x00;
        OCR1AL=0x00;
        OCR1BH=0x00;
        OCR1BL=0x00;

        // Timer/Counter 2 initialization
        // Clock source: System Clock
        // Clock value: Timer 2 Stopped
        // Mode: Normal top=FFh
        // OC2 output: Disconnected
        ASSR=0x00;
        TCCR2=0x00;
        TCNT2=0x00;
        OCR2=0x00;

        // External Interrupt(s) initialization
        // INT0: Off
        // INT1: Off
        MCUCR=0x00;

        // Timer(s)/Counter(s) Interrupt(s) initialization
        TIMSK=0x00;

        // Analog Comparator initialization
        // Analog Comparator: Off
        // Analog Comparator Input Capture by Timer/Counter 1: Off
        ACSR=0x80;
        SFIOR=0x00;

        while (1)
        {

        PORTB=0xff;
        delay_ms(1000);
        PORTB=0x00;
        delay_ms(1000
        );
        // Place your code here

        دیدگاه


          #19
          پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

          خیلی ممنون از شما.
          اولین خط همون فراخوانی mega8 هستش. خط دوم که معنی تاخیر میده که منظورش نفهمیدم چیه. اگه می شد توضیح بدید واسه چیه و اگه حذف بشه چه مشکلی پیش می آد دیگه اونوقت :wow:
          کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

          دیدگاه


            #20
            پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

            سلام:
            خط اول که فراخوانی مشخصات mega8 هستش این خط رو خود نرم افزار می نویسه
            خط دوم تابه تاخیر است و برای ایجاد تاخیر می تونید استفاده کنید البته تاخیرش دقیق نیست و اگر تاخیر دقیق لازم دارید با با استفاده از تایمر این کار رو انجام بدید
            می مونه:
            PORTB=0xff;
            delay_ms(1000); (اگر خط#include <delay.h>رو حذف کنید توی این خط error میده )
            PORTB=0x00;
            delay_ms(1000); (اگر خط#include <delay.h>رو حذف کنید توی این خط error میده )
            خط اول پروت B رو برابر 1
            سپس یک تاخیر 1000 میلی ثانیه
            پورت B برابر 0
            دوباره یک تاخیر 1000 میلی ثانیه

            دیدگاه


              #21
              پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

              نوشته اصلی توسط saleh
              سلام:
              خط اول که فراخوانی مشخصات mega8 هستش این خط رو خود نرم افزار می نویسه
              خط دوم تابه تاخیر است و برای ایجاد تاخیر می تونید استفاده کنید البته تاخیرش دقیق نیست و اگر تاخیر دقیق لازم دارید با با استفاده از تایمر این کار رو انجام بدید
              می مونه:
              PORTB=0xff;
              delay_ms(1000); (اگر خط#include <delay.h>رو حذف کنید توی این خط error میده )
              PORTB=0x00;
              delay_ms(1000); (اگر خط#include <delay.h>رو حذف کنید توی این خط error میده )
              خط اول پروت B رو برابر 1
              سپس یک تاخیر 1000 میلی ثانیه
              پورت B برابر 0
              دوباره یک تاخیر 1000 میلی ثانیه
              خیلی ممنون. عالی بود. :applause: :wow: :bye
              کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

              دیدگاه


                #22
                پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                سلام
                اگه می خوای C یاد بگیری کتاب code vision هست می تونی بری تهیه کنی و یاد بگیری.

                دیدگاه


                  #23
                  پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                  خیلی راحت بود. با اون یک رقص نور درست کردم. :wow:
                  البته به جای 0xff از 1 استفاده کردم و به جای 0x00 از 0 . باز هم کار می کرد . یعنی :

                  PORTB.0=1;
                  PORTB.1=0;
                  delay_ms(50);
                  و ...
                  فرقش چیه؟
                  کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

                  دیدگاه


                    #24
                    پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                    برای نوشتن اعداد به صورت هگز قبل از عدد "0x" نوشته میشه. و برای اعداد باینری از "0b" استفاده میشه.اعداد دهدهی هم بدون پیشوند نوشته میشن.
                    و اما دستوری که شما به کار بردی برای کار با یکی از بیتهای پورت مورد نظر به کار میره.اگه بخوای با تمام پورت کار بکنی باید از دستور پست قبلی استفاده بکنی. :nerd: :bye
                    ... کی میتونه جز من و تو درد ما رو چاره کنه
                    یار دبستانی من ...

                    دیدگاه


                      #25
                      پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                      سلام:
                      نوشته اصلی توسط Hesaby
                      برای نوشتن اعداد به صورت هگز قبل از عدد "0x" نوشته میشه. و برای اعداد باینری از "0b" استفاده میشه.اعداد دهدهی هم بدون پیشوند نوشته میشن.
                      و اما دستوری که شما به کار بردی برای کار با یکی از بیتهای پورت مورد نظر به کار میره.اگه بخوای با تمام پورت کار بکنی باید از دستور پست قبلی استفاده بکنی. :nerd: :bye
                      دوستمون کاملا درست گفتن ولی برنامه ای که شما نوشتید مشکل داره چون
                      نوشته اصلی توسط vahid-elect
                      PORTB.0=1;
                      PORTB.1=0;
                      delay_ms(50);
                      شما توی خط اول بیت 0 پورتB رو 1 میکنید سپس یبت 1 ار این پورت رو 0 میکنید شما باید یک بیت رو مد نظر قرار بدیدب این صورت
                      PORTB.0=1;
                      PORTB.0=0;

                      اشکال بعد اینکه اگر شما می خواهید یک رقص نور داشته باشید باید بعد از هر تغییر رو پورت از یک تاخیر استفاده کنید ه شکل درست برنامه شما این است:
                      PORTB.0=1;
                      delay_ms(50);
                      PORTB.0=0;
                      delay_ms(50);

                      دیدگاه


                        #26
                        پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                        اگه نظر منو بخوای.

                        اول بیسیک رو کار کنی بعد c رو هم یاد بگیری که عالیه.

                        البته هر زبانی برای خودش ویژگی های خودشو داره. کاری که بیسیک تو 2 خط برنامه انجام میدی با اسمبلی تو 10 خط باید جواب بگیری. c هم اگه بتونی حرفه ای یاد بگیری همه کار میتونی بکنی.
                        www.icesi.ir

                        دیدگاه


                          #27
                          پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                          سلام
                          بهترین نظر رو اقا حامد دادن
                          من هم هر دو رو تا حدودی کار کردم
                          اگه میخوای با رجیستر ها کار کنی برو سراغ C خوب این کار فایده اش این هست که شما با یه زبان سطح پایین کار میکنی و میدونی اون پشت چه خبر هست
                          اما در بیسیک شما کاملا OBJECTIVE کار میکنی و نمیدونی اون پشت ها چه اتفاقاتی میافته بیسیک راحتتر هست به محاسبات کمتری نیاز داره اما دید کاملی به شما نمیده
                          بیسیک به درد این میخوره که شما بخوای پروزه ای رو سریع راه اندازی کنی
                          اگر میخوای اصولی یاد بگیری یه مدت با اسمبلی برنامه بنویس من این کار رو کردم و واقعا به دردم میخوره چون برا هر کاری باید حسابی فکر کنی

                          دیدگاه


                            #28
                            پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                            نوشته اصلی توسط saleh
                            سلام:


                            دوستمون کاملا درست گفتن ولی برنامه ای که شما نوشتید مشکل داره چون
                            نوشته اصلی توسط vahid-elect
                            PORTB.0=1;
                            PORTB.1=0;
                            delay_ms(50);
                            شما توی خط اول بیت 0 پورتB رو 1 میکنید سپس یبت 1 ار این پورت رو 0 میکنید شما باید یک بیت رو مد نظر قرار بدیدب این صورت
                            PORTB.0=1;
                            PORTB.0=0;

                            اشکال بعد اینکه اگر شما می خواهید یک رقص نور داشته باشید باید بعد از هر تغییر رو پورت از یک تاخیر استفاده کنید ه شکل درست برنامه شما این است:
                            PORTB.0=1;
                            delay_ms(50);
                            PORTB.0=0;
                            delay_ms(50);

                            فرمایش شما درسته. دست همه درد نکنه.
                            کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

                            دیدگاه


                              #29
                              پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                              شما اگه می خوای اسمبلی یاد بگیری برو سراغ کتاب مزیدی و اسکات مکنزی.
                              این دو کتاب خانواده 8051 رو بررسی می کنه ولی زبان اسمبلی به همراه دستورات رو گفته و شما می تونی با دستورات اون آشنا بشی بماند که تو دانشگاه هم بدردت می خوره.

                              دیدگاه


                                #30
                                پاسخ : کدام زبان برنامه نویسی برای avr بهتر است؟

                                زبان c یک زبان سطح بالا هست ولی اسمبلی به زبان ماشین نزدیک به همین دلیل برنامه نویسی با c راحت تره وفهم برنامه ها آسان تره ولی این که چرا این جا همه از بیسیک استفاده می کنند را نمی دانم فکر کنم به این دلیله که اکثر دوستان برق هستند

                                دیدگاه

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