اطلاعیه

Collapse
No announcement yet.

پروژه های انجام شده با کامپایلر IAR

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

    #16
    پاسخ : پروژه های انجام شده با کامپایلر IAR

    سلام جناب زوار عزیز
    خط اول پورت b رو که به ترتیب از pb0 تا pb7 به پایه های a تا dp سون سگمن وصل هستند رو مقدار دهی می کنه به این ترتیب که میاد با توجه به اینکه در کدوم ستون قرار گرفته مقدار متناظر با اون ستون رو از جدول nom که در حافظه فلش ذخیره شده انتخاب میکنه و نهایت روی پورت b می ریزه
    در خط دوم میاد هر دفعه یکی از ستون ها که به ترتیب به پایه های pc0 تا pc3 وصل هستند رو سلکت می کنه از اونجا که سون سگمنت آند مشترک هست پس باید پایه متناظر با اون رو یک کنیم
    در خط سوم مقدار dg یا ستونی که در حال نشون دادن هست رو با مقدار تایمر یک که منبع کلام اون پایه t1 و حساس به لبه پایین رونده باشه رو چک میکنه که در واقع مقدار tcnt1 نمایانگر ستونی هست که می خواهیم چسمک بزنه ، خوب برای انجام عمل چشمک زدن باید هر چند سیکل یک بار پایه سلکت مربوط به اون ستون رو صفر کنیم به خاطر همین میایم یک متغیر از نوع unsigned char تعریف میکنیم و اون رو هر بار یک واحد افزایش میدیم تا اینکه به مقدار 130 که تقریبا نصف 255 هست برسه به این ترتیب در ابتدا با چک کردن اینکه ستونی که الان درحال نمایش دادن هست ، ستونی که باید چشمک بزنه هست و بعد از اون میاد چک میکنه که آیا مقدار متغیر i به 130 رسیده یا نه که اگر جواب غلط باشه ستون روشن میمونه واگر درست باشه ستون خاموش ، خوب این خاموش موندن تا زمانی ادامه داره که متغیر i از 130 بیشتر باشه اما همونطور که می دونید با افزایش یک واحدی از مقدار 255 به بعد دوباره مقدار متغیر i صفر میشه و شرط غلط و ستون هم دوباره روشن میشه
    در خط چهارم از اونجا که 4 تا ستون بیشتر نداریم یعنی dg= 0 ,dg=1,dg=2,dg=3 میاد هر بار ستون رو یکی افزایش میده و چک میکنه که آیا ستون انتخاب شده توی این محدوده هست یا خیر که اگه نباشه یعنی بیشتر از 3 بشه پس باید ستون اول انتخاب بشه به این ترتیب در بار بعدی ستون بعدی انتخاب خواهد شد

    دیدگاه


      #17
      پاسخ : پروژه های انجام شده با کامپایلر IAR

      ممنون از پاسخ کاملت من این قسمت را متوجه نشدم DATA = nom[Cdgit[dg]];که چه جوری مثلا عدد 7 انتخاب میشه چون Cdgit 4 تا آرایه است مثلا اگر dg 3 باشه یعنی عدد 3 از nom انتخاب میشه و dg که از 3 بیشتر نمیشه اینا متوجه نمیشم
      2- این قسمتم که up و down شده هم متوجه نشدم if(Cdgit[TCNT1]<19)Cdgit[TCNT1]++;
      مثلا چرا با 19 مقایسه شده در کل این خط چه جوری کار میکنه ممنونم از پاسختون

      دیدگاه


        #18
        پاسخ : پروژه های انجام شده با کامپایلر IAR

        با سلام این قسمتها را متوجه شدم الان گیرم اینجاست if(dg==TCNT1&++i<130)SCAN=0;
        که برای چشمک زدنه اگر کلید select را نزنیم مقدار tcnt0 صفره وdg هم صفره پس در حالت عادی باید اولین سگمنت چشمک بزنه اگر ممکنه این قسمت را توضیح بدید ممنون میشم

        دیدگاه


          #19
          پاسخ : پروژه های انجام شده با کامپایلر IAR

          نوشته اصلی توسط زوار
          با سلام این قسمتها را متوجه شدم الان گیرم اینجاست if(dg==TCNT1&++i<130)SCAN=0;
          که برای چشمک زدنه اگر کلید select را نزنیم مقدار tcnt0 صفره وdg هم صفره پس در حالت عادی باید اولین سگمنت چشمک بزنه اگر ممکنه این قسمت را توضیح بدید ممنون میشم
          احسنت !
          ببینید خوب به خاطر همینه که امدم اول برنامه مقدار tcnt1 رو برابر با 4 کردم به این قسمت برنامه توجه کنید :

          void main (void){
          DDRC=0X0F;
          DDRB=0XFF;
          PORTD|=(1<<PD5)|(1<<PD2)|(1<<PD3 );
          TCCR0=0x03;
          TCNT0=0x83;
          TCNT1=4;
          TCCR1B=0x06;
          TIMSK=0x01;
          GICR|=0xC0;
          MCUCR=0x0A;
          GIFR=0xC0;
          DATA=0XC0;
          SCAN=0X80;
          __enable_interrupt()

          دیدگاه


            #20
            پاسخ : پروژه های انجام شده با کامپایلر IAR

            سلام
            من اون پروژه ریموت لرنینگتون رو دانلود کردم ولی من از سی سر در نمیارم
            تو یکی از پوشه ها سه تا فایل هگز به نامهای REMOTE و REMOTE-DATA و EEPROM
            حالا سوال من اینه که آیا فایل هگز EEPROM رو باید در EEPROM و REMOTE رو باید در حافظه فلش میکرو پروگرم کنم؟
            فایل REMOTE-DATA رو باید چیکار کنم؟
            مر30

            دیدگاه


              #21
              پاسخ : پروژه های انجام شده با کامپایلر IAR

              سلام دوست عزیز
              من هم وقتی برای اولین بار با iar کار کردم دقیقا به همین مشکل برخورد کردم و اون رو توی انجمن xmega مطرح کردم استاد کی نژاد جواب زیر رو دادند:
              در مورد 3 فایل با پسوند hex که در وضعیت release ایجاد می شود، یک فایل با نام ساده برای برنامه ریزی در flash و فایل با پسوند eeprom_ برای برنامه ریزی در eeprom تولید می شود. اما یک فایل سوم با پسوند data_ هم وجود دارد که مطابق توضیحات نه چندان واضح iar برای شرایطی تولید می شود که بخشی از فضای حافظه ram در اختیار یک حافظه غیر فرار قرار داده شود. شرایطی که برای تحقق چنین وضعیتی در خانواده avr قابل تصور است در زمانی است که در شماره هایی مانند mega128، در فضای ram خارجی مثلا یک eprom قرار داده شود و اطلاعات در زمان مقتضی از روی آن خوانده شود. به همین دلیل ظاهرا یک کپی از محتویات مقادیر اولیه فضای data در فایل جداگانه ای ذخیره می شود تا در صورت تحقق چنین شرایطی از آن برای برنامه ریزی اولیه استفاده شود.
              پس باید همون فایل REMOTE رو داخل فلش بریزید چون حافظه eeprom مقدار دهی اولیه نشده پس نیازی به پروگرام کردن این حافظه نداریم

              دیدگاه


                #22
                پاسخ : پروژه های انجام شده با کامپایلر IAR

                نوشته اصلی توسط mojtaba_led
                سلام دوست عزیز
                من هم وقتی برای اولین بار با iar کار کردم دقیقا به همین مشکل برخورد کردم و اون رو توی انجمن xmega مطرح کردم استاد کی نژاد جواب زیر رو دادند:
                پس باید همون فایل REMOTE رو داخل فلش بریزید چون حافظه eeprom مقدار دهی اولیه نشده پس نیازی به پروگرام کردن این حافظه نداریم
                سلام دوستان
                شانس اوردم اینجارو پیدا کردم ! :biggrin:
                من با iar رو avr کار میکنم اما 8 بیتی
                یه مشکل بزرگ با sprintf دارم به پروژهای شما نگاه انداختم و دیدم سایز sctak رو بردید بالا ! رو FF من نمیتونم اصلا از sprintf جواب بگیرم 1 روزم هست دارم برنامها و سرچ تو سایتای خارجی میکنم . اگه میشه یه لطفی بکنی و یه سری به این تاپیک بزنید :cry2: اگه این موضوع حل نشه بای با iar خداحافظی کنم! :bye

                http://www.eca.ir/forum2/index.php?topic=78274.msg472039#msg472039

                ممنونم
                اشکهايي که پس از هر شکست ميريزيم همان عرقيست که براي پيروزي نريخته ايم.
                هيتلر

                دیدگاه


                  #23
                  پاسخ : پروژه های انجام شده با کامپایلر IAR

                  نوشته اصلی توسط mojtaba_led
                  برنامه دهم :
                  پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ


                  این پروژه یکی از پروژه های مهندس اسدی به این لینک هست که من اون رو با اجازشون با IAR بازنویسی کردم ، میکرو MEGA16 هست و یک عدد سگمنت تک رقمی هم که نمایانگر شماره دکمه فشرده شده هست بهش اضافه کردم

                  فایلهای سورس و شماتیک : remote.rar
                  داداش mojtaba pcb مدار رو نزاشتید آیا pcb مدار مهندس اسدی رو باید استفاده کنیم؟

                  اضافه شده در تاریخ :
                  نوشته اصلی توسط mojtaba_led
                  برنامه دهم :
                  پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ


                  این پروژه یکی از پروژه های مهندس اسدی به این لینک هست که من اون رو با اجازشون با IAR بازنویسی کردم ، میکرو MEGA16 هست و یک عدد سگمنت تک رقمی هم که نمایانگر شماره دکمه فشرده شده هست بهش اضافه کردم

                  فایلهای سورس و شماتیک : remote.rar
                  سلام داداش mojtaba_led دستت طلا گل کاشتی فقط ای کاش از ورژن 2 برنامه مهندس اسدی استفاده میکردی که مقاومت ریموت کنترل روی فرستنده تاثیری روی مدار نداشته باشه و نکته بعدی pcb مدار رو نزاشتید آیا pcb مدار مهندس اسدی رو باید استفاده کنیم؟

                  دیدگاه


                    #24
                    پاسخ : پروژه های انجام شده با کامپایلر IAR

                    با سلام

                    حتما اگه میتونید از PCB مهندس اسدی استفاده کنید البته در نظر داشته باشید که ایشون از tiny2313 استفاده کردن ولی برنامه ای که من گزاشتم برای mega16 نوشته شده. با این حال من pcb ای که کشیدم رو براتون پ کردم ولی همچین یوغوره اگه میتونید دستی بهش بکشید.

                    http://vip.eca.ir/sharing/uploads/13817670711.zip

                    دیدگاه


                      #25
                      پاسخ : پروژه های انجام شده با کامپایلر IAR

                      نوشته اصلی توسط mojtaba_led
                      با سلام

                      حتما اگه میتونید از PCB مهندس اسدی استفاده کنید البته در نظر داشته باشید که ایشون از tiny2313 استفاده کردن ولی برنامه ای که من گزاشتم برای mega16 نوشته شده. با این حال من pcb ای که کشیدم رو براتون پ کردم ولی همچین یوغوره اگه میتونید دستی بهش بکشید.

                      http://vip.eca.ir/sharing/uploads/13817670711.zip
                      سلام داداش mojtaba_led از بابت pcb ممنونم از شما ولی سوال دومم رو جواب ندادین آیا در مدار شما باید مقدار مقاومت ریموت 330K باشه یا مثل نسخه دوم برنامه آقای اسدی این مشکل رفع شده؟ :question:
                      اگر نشده :cry2: اگر براتون امکان داره :cry: این مشکل رو برطرف کنید :arrow: چون عموما فروشنده ها اجازه باز کردن ریموت قبل از خرید رو نمیدن.

                      دیدگاه


                        #26
                        پاسخ : پروژه های انجام شده با کامپایلر IAR

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

                        در رابطه با مقاومت من فقط در همین حد یادمه که تو برنامه اولی که مهندس اسدی گزاشتن اینطور بود که شما میگید، ولی خوب میتونید از همین ریموتایی که همه جواب گرفتن استفاده کنید، میتونید از این سایت تهیه کنید:

                        http://iran-micro.com/%D8%B1%DB%8C%D9%85%D9%88%D8%AA-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%DA%A9%D8%A7%D9%86%D8%A7%D9%84-learn-code-%D9%81%D8%B1%D9%83%D8%A7%D9%86%D8%B3-%D9%85%DA%AF%D8%A7-%D9%87%D8%B1%D8%AA%D8%B2-p-1137.html

                        نوچ نوچ نوچ، یادش بخیر یه زمان دونه ای 5 تومن بود!

                        دیدگاه


                          #27
                          پاسخ : پروژه های انجام شده با کامپایلر IAR

                          داداش شرمندتم به مولا بازم مزاحمت شدم یه مشکل دیگه دارم pcb که واسه دانلود گذاشته بودین با اتمل دسینگل باز میشه من ندارمش خواستم دانلودش کنم برنامش حجمش خیلی زیاد بود ای کاش از pcb خودتون عکس گذاشته بودین.
                          داداش mojtaba_led به شکلی که داخل لینک زیره نگاه کن این 2تا به کجا اتصال پیدا میکنن تو فایل Proteus مشخص نکردین کجا باید اتصال پیدا کنه؟
                          http://daruosh20.persiangig.com/image/untitled.JPG
                          سوال دومم اینه که میشه این سینتکس کردنی که میگین به ما هم یاد بدین تا خودمون انجامش بدیم؟
                          من یه سون سگمنت کاتد مشترک دارم اگه بخوام توی مدار استفادش کنم کجای برنامه باید تغییر کنه؟
                          ببخشید سوالام زیاد شد پیشاپیش از شما برای وقتی که برای جواب دادن به من میزارید تشکر میکنم انشاالله خداوند روز به روز به علمتون بیفزاید.

                          دیدگاه


                            #28
                            پاسخ : پروژه های انجام شده با کامپایلر IAR

                            سلام اخبی، یه سوال شما قصد اصلیتون چیه؟ چرا از همون فایل اصلی مهندس اسدی استفاده نمیکنید؟ من پیشنهاد میکنم که اگه کارتون جدی هست از اونها استفاده کنید جواب بهتری میگیرید.
                            PCB ای که من گزاشتم با Altium کشیده شده. و اصلا نمیدونم این نرم افزاری که شما میگید چی هست!؟

                            - در رابطه اون پایه ها، اون بالایی VCC هست و پایینی هم باید به پایه dp سون سگمنت وصل بشه.

                            - در رابطه با سینتکس، پست اول همین تاپیک رو یه نگاه بندازید.

                            - برای کاتد مشترک باید این کارا رو انجام بدید:
                            1. سخت افزار:
                            - چون اینجا برای کاتد مشترک حالت sink هست به جای bc327 از bc337 یا هر npn مناسب دیگه ای استفاده کنید به این شکل که پایه کلکتور رو به پایه com سون سگمنت و پایه امیترش رو به زمین و پایه بیس هم به همون صورت قبل توسط یه مقاومت 1کیلو به میکرو متصل بشه.

                            2. نرم افزار:
                            - باید مقادیر num هایی که به صورت ثابت تعریف شدن رو به اصطلاح کامپیلیمنت یا not کنید و مقادیر جدید رو جایگزین کنید.
                            - و باید تعاریف زیر :
                            [ltr]
                            #define SEG_OFF PORTD|=(1<<PD6);
                            #define SEG_ON PORTD&=~(1<<PD6);
                            [\ltr]

                            به صورت زیر اصلاح بشن :
                            [ltr]
                            #define SEG_OFF PORTD&=~(1<<PD6);
                            #define SEG_ON PORTD|=(1<<PD6);
                            [\ltr]

                            دیدگاه


                              #29
                              پاسخ : پروژه های انجام شده با کامپایلر IAR

                              سلام داداش mojtaba-led در مورد سوال اول شما قصد اصلی من یاد گرفتن برنامه نویسی avr با کامپایلر IAR هست البته من تازه دارم شروع میکنم منو ببخشید که با سوال هام اذیتتون کردم.
                              و در مورد سوال دوم شما که چرا از برنامه آقای اسدی استفاده نمیکنم 1-میکروی TINY2313 اینجا گیر نمیاد میگن فروش نداره نمیارن 2-جمع قیمت کریستال و میکرو با هم برابر با قیمت mega16 هست 3-کامپایلر مورد استفاده کدویژن هست که من گفتم دوست دارم با کامپایلر IAR کار کنم. :read: :nerd:

                              دیدگاه


                                #30
                                پاسخ : پروژه های انجام شده با کامپایلر IAR

                                سلام
                                من مدار پروژه ریموت لرنینگتون رو ساختم.
                                http://daruosh20.persiangig.com/other/test.rar/download
                                ولی یه مشکلی برام پیش اومده همون طور که توی عکس مشاهده میکنید LED و عدد 0 سگمنت مدار به طور ثابت روشن میمونه و با فشار دادن دکمه لرنینگ هیچ تغییری توی مدار احساس نمیشه مدار رو شاید نزدیک به 10 با چک کردم ولی هیچ مشکلی پیدا نکردم یه برنامه بچه گانه به زبان بیسیک هم برای تست مدار نوشتم تا ببینم مشکلی وجود داره یا نه که بازم مشکلی نداشت ماژول رو هم با یه LED تست کردم سیگنال ریموت رو دریافت میکرد ماژول من مدل KST-RX706 هست که با هر دو فرکانس 315 و 433 کار میکنه با این حال ماژول رو از مدار خارج کردم و مدار رو دوباره تست کردم بازم LED لرن و عدد 0 سگمنت روشن بودن و با فشار دادن دکمه لرنینگ هیچ تغییری نکرد دیگه نمیدونم باید چیکار کنم میشه منو راه نمایی کنید؟

                                دیدگاه

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