اطلاعیه

Collapse
No announcement yet.

چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

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

    #16
    پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

    اتصال برد ARM به USB به عنوان ماوس

    http://www.4shared.com/file/143225303/eda54d8e/Mouse.html
    It's nice to be important but it's important to be nice!

    از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

    دیدگاه


      #17
      پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

      اتصال برد ARM به USB به عنوان حافظه با استفاده از حافظه ARM با ظرفیت فکر کنم 6 کیلوبایت بود

      http://www.4shared.com/file/143225760/25ff136e/Memory.html
      It's nice to be important but it's important to be nice!

      از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

      دیدگاه


        #18
        پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

        با سلام خدمت دوستان اگه ممکنه لینک دانلود keil رو بذارین تا ما بدبخت بیچاره ها هم بتونیم استفاده کنیم
        اگه نشد iar :cry2: :cry2: :cry2: :cry2:

        دیدگاه


          #19
          پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

          دوست عزیز قبلا اینجا بحث شده

          http://www.eca.ir/forum2/index.php?topic=25713.0
          It's nice to be important but it's important to be nice!

          از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

          دیدگاه


            #20
            پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

            دوستان این sample ها که واسه 7s هست، میشه با 7x هم اجرا کرد؟؟؟ چه جوری؟
            http://ceworld.ir/images/ads/dornablogcom_ads.gif

            دیدگاه


              #21
              پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

              آقا بهنام اینایی که من گذاشتم مثال های استاندارده که میتونین تو پوشه مثالهای KEIL پیدا کنین شخصا اطلاعی ندارم که میشه به جای هم استفاده کرد یا نه ولی اگه میشد پوشه جداگانه ای براش در نظر گرفته نمیشد . شایدم بشه کی میدونه :mrgreen: اگه این مثالها رو ندارین براتون پلود کنم.
              It's nice to be important but it's important to be nice!

              از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

              دیدگاه


                #22
                پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                راستش تصمیم دارم که شروع کارم با آرم با سری 7x باشه. به خاطر همون چندتا امکانات بیشتر. و چون هنوز آرم رو بصورت غول می بینم، خواستم بدونم که آیا این امکان هست یا نه! ولی فکر کنم اگه کتابخونه میکرو رو عوض کنیم بشه. شایدم نشه!

                کاش این برد راه انداز این سایت با سری 7x بود!
                http://ceworld.ir/images/ads/dornablogcom_ads.gif

                دیدگاه


                  #23
                  پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                  عرض سلام و ادب خدمت کلیه اساتید گرامی
                  من تقریبا 1 هفته ای میشه که کار با آرم رو شروع کردم و مراحل PCB زدن و پروگرام کردن رو شکر خدا پشت سر گذاشتم ولی الان یه مشکل جدیدی واسم پیش اومده که به هیچ صراطی مستقیم نیست.
                  مشکل اینه که تو configuration wizard گرچه ضرایب PLL رو تغییر میدم ولی هیچ تاثیری تو نتیجه نداره. نه تو Debugger و نه رو خود میکرو :angry: ضمنا از کریستال 18.432 استفاده می کنم و همچنین clock source selection هم PLL clock هست
                  عملکرد میکرو هم خیلی کنده یعنی یه حلقه for گذاشتم که تا 100 میشماره بعد یه پایه رو toggle می کنه ولی قرکانس این پایه حدود 7 HZ هست :sad: :angry:
                  مشکل کجاست؟؟؟ :sad:

                  دیدگاه


                    #24
                    پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                    ببخشیداز چه IDE استفاده میکنید.KEil که configuration wizard نداره.منم موندم چطور میشه PLL رو راه انداخت.یکی که بلده بیاد بگه لطفا.

                    دیدگاه


                      #25
                      پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                      سلام. وقتی تو keil یک پروژه جدید باز میکنید حتما در پاسخ برای اضافه کردن فایل start up(راه انداز) گزینه ok رو بزنید. یک فایل با نام sam7.s به پروژه شما اضافه میشه. اگه این فایل رو باز کنید در قسمت پایین دو تا tab وجود داره که اگه tab سمت راستی رو بزنید(configuration wizards) به صورت گرافیکی میشه ضرایب pll رو تنظیم کرد(در قسمت PMC). البته به طور پیش فرض فرکانس کریستال در 5(25/5) ضرب میشود و clk/2 به عنوان فرکانس کاری انتخاب شده که ما میتوانیم آنها راتغییر بدهیم. :nice:

                      دیدگاه


                        #26
                        پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                        تمرین .
                        بر نامه ای بنویسید که در آن دما توسط سنسور lm35 اندازه گرفته شود و بر روی lcd نمایش داده شود . با زیادتر شدن دما از 35 درجه بر روی lcd عبارت high و با کمتر شدن آن از 25 درجه بر روی lcd عبارت low نمایش داده شود
                        حل :
                        قبلا با نحوه ی راه اندازی lcd و نحوه نمایش خروجی اون بر روی lcd آشنا شدیم . در این پروژه باید داده دریفاتی از سنسور lm35 رو به مقدار دما تبدیل کنیم و بعد با دستور if شروط خواسته شده رو انجام بدیم .
                        lm35 یک سنسور دمای سه پایه هست که خروجی اون به ازای هر درجه 10 میلی ولت تغییر میکنه ، همچنین خروجی به ازای دمای 0 درجه برابر با صفر است .
                        با این حساب مقدار ولتاژ خروجی به ازای 150 درجه که بیشترین مقدار اندازه گیری شده توسط این سنسور هست برابر با 1.5 ولت میباشد .
                        ما میدونیم که adc در ارم به ازای 3.3 ولت عدد 1023 رو برمیگردونه ، پس با یک تناسب بندی ساده میشه فهمید که به ازای ولتاژ 1.5 ولت که نماینگر دمای 150 درجه هست ، عدد 465 بر میگرده . عدد 465 به ازای دمای 150 درجه و ولتاژ 1.5 هست ، ما میخواییم که بر روی lcd عدد 150 نمایش داده بشه .
                        پس با تقسیم کردن متغییری که عدد 465 در اون ذخیره شده به 3.1 ، مقدار دیجتال نمایش داده شده متناسب با دمای محیط خواهد بود :
                        کد:
                        #include "AT91SAM7X256.h"
                        #include "lib_AT91SAM7X256.h"
                        #include "lcd.h"
                        #include "delay.h"
                        #include "adc.h"
                        int main (void){
                        unsigned int a ;
                        config_adc(0xc0);
                        lcd_rs(2,0x1);
                        lcd_e (2,0X2 );
                        lcd_data(2,0X3FC);
                        while(1)
                        {
                        start_adc();
                        lcd_gotoxy(1,1);
                        lcd_putsf("adc=");
                         a = read_adc(6);
                         a=a/3.1;
                        lcd_gotoxy(2,1);
                        lcd_puts(a);
                        delay_ms(500);        
                        }
                        }
                        برنامه بالا مقدار دما رو اندازه گیری میکنه و بر روی lcd که به صورت 8 بیت پیکربندی شده ، نمایش میده . برای اینکه شروط در برنامه بیاریم ، باید ببینم که به ازای دمای 35 و 25 درجه ، چه مقدار ولتاژ انالوگ به adc اعمال میشه و مقدار دیجتال برگردونده شده چقدر هست :
                        به ازای دمای 35 درجه ، خروجی سنسور 350 میلی وبت هست ، با یک تناسب ساده میشه فهمید که به ازای این ولتاژ adc عدد 108.5 رو برمیگردونه
                        به ازای دما ی 25 درجه خروجی سنسور 250 میلی ولت هست ، در این حالت مقدار دیجیتال که توسط adc ایجاد میشه برابر 77.5 است .
                        با اضافه کردن یک شرط ساده برنامه به پایان میرسه :
                        کد:
                        #include "AT91SAM7X256.h"
                        #include "lib_AT91SAM7X256.h"
                        #include "lcd.h"
                        #include "delay.h"
                        #include "adc.h"
                        int main (void){
                        unsigned int a ;
                        config_adc(0xc0);
                        lcd_rs(2,0x1);
                        lcd_e (2,0X2 );
                        lcd_data(2,0X3FC);
                        while(1)
                        {
                        start_adc();
                        lcd_gotoxy(1,1);
                        lcd_putsf("adc=");
                         a = read_adc(6);
                         a=a/3.1;
                        lcd_gotoxy(1,5);
                        lcd_puts(a);
                        delay_ms(500); 
                        if (a==108)
                        {
                        lcd_gotoxy(2,1);
                        lcd_putsf("high");
                        }
                        else if (a==77)
                        {
                        lcd_gotoxy(2,1);
                        lcd_putsf("low ");
                        }       
                        }
                        }
                        توی این برنامه از کتابخونه های lcd هشت بیت و adc و تاخیر استفاده شده ، شما باید این کتابخونه ها رو در پوشه ای که پروژه رو در اون ذخیره میکنیدیا محل نصب کیل داشته باشید .
                        برنامه زیر مخصوص lcd چهار بیت هست
                        کد:
                        #include "AT91SAM7X256.h"
                        #include "lib_AT91SAM7X256.h"
                        #include "lcd.h"
                        #include "delay.h"
                        #include "adc.h"
                        int main (void){
                        unsigned int a ;
                        config_adc(0xc0);
                        lcd_pin(2,0,1,2,3,4,5);
                        while(1)
                        {
                        start_adc();
                        cursor_off();
                        lcd_gotoxy(1,1);
                        lcd_putsf("adc=");
                         a = read_adc(6);
                         a=a/3.1;
                        lcd_gotoxy(1,5);
                        lcd_puts(a);
                        delay_ms(500); 
                        if (a==108)
                        {
                        lcd_gotoxy(2,1);
                        lcd_putsf("high");
                        }
                        else if (a==77)
                        {
                        lcd_gotoxy(2,1);
                        lcd_putsf("low ");
                        }       
                        }
                        }
                        توی این پروژه پایه ی rs به پین b.0 و پایه ی e به پین b.1 و پایه ی db4 به پین b.2 و...... پایه ی db7 به پین b.4 متصل میشه . سنسور به adc شش متصل میشه و ولتاژ تغذیه ی اون باید 5 ولت باشه تا کار کنه .
                        برای راه اندازی موارد بالا به کتابخاه های زیر نیاز خواهید داشت:
                        http://dl.ir-manup.com/files/d/lt/pm...ectsPmm1-4.rar
                        منبع


                        دوستان این sample ها که واسه 7s هست، میشه با 7x هم اجرا کرد؟؟؟ چه جوری؟
                        کافیه نام میکرو و کتابخاونه ی اون رو به میکرو کنترلر مورد نظر تغییر بدید ، همچنین ممکنه توی برنامه ی قبلی از پایه های استفاده شده باشه که توی میکرو کنترلر جدید موجود نباشه ، که باید این مورد رو هم حل کنید .

                        دیدگاه


                          #27
                          پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                          سلام.آقا من هرچی با help یوویژن کار میکنم چیزی سر در نمیارم.کمک کنید.این دستورات رو دوستان از کجا آوردن؟ :cry2:

                          دیدگاه


                            #28
                            پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                            با سلام به دوستان
                            من یه مدتی زدم تو خط اتمل sam7x256 و یه بورد olimex از us خریدم (دلتون بسوزه )
                            این بورد رو من با usb پروگرم می کنم sam-ba ولی هر بار قبل از پروگرام باید از روی بورد flash رو پاک کنم تا computer ای سی رو بشناسه و بعد از پروگرام ای سی رو ریست کنم تا برنامه اجرا بشه تقریبا پدرم درومده کسی تو این زمینه تجربه ای داره به من کمک کنه ممنون می شم

                            دیدگاه


                              #29
                              پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                              باید پروگرامر JTAG استفاده کنی احتمالا باید همراه برد بهت داده باشن.اگه هم ندادن ساخت پاراللش خیلی ساده است.

                              دیدگاه


                                #30
                                پاسخ : چند simple ساده برای شروع کار با keil و میکرو at91sam7sxx

                                دوست من تو روش sam-prog مجبوری همه مراحل رو تکرار کنی. اجتناب ناپذیره
                                It's nice to be important but it's important to be nice!

                                از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

                                دیدگاه

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