اطلاعیه

Collapse
No announcement yet.

CCS

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    CCS

    با سلام
    برای شروع نوشتن یک برنامه در CCS چگونه باید عمل کرد؟
    منظور نوشتن برنامه و کامپایل آن و تولید hex برای میکرو
    هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

    #2
    پاسخ : CCS

    میتونی از Help برنامه های آماده رو استفاده کنی
    با F9 کامپایل میشه

    دیدگاه


      #3
      پاسخ : CCS

      سلام
      راحت ترین راه استفاده از project wizard هستش. نوع میکرو ، فرکانس کریستال ، فیوز بیت ها و ... رو میتونید اونجا به راحتی تنظیم کنید .
      پس از اتمام کارتون با project wizard ، میتونید تو پنجره کد نویسی، دستورات برنامتون رو بنویسی. و در انتها هم طبق گفته دوستمون ، با ctrl + f9 برنامتون رو کامپایل کنید تا فایل هگز تولید بشه .

      دیدگاه


        #4
        پاسخ : CCS

        نوشته اصلی توسط محمد ایجی
        سلام
        راحت ترین راه استفاده از project wizard هستش. نوع میکرو ، فرکانس کریستال ، فیوز بیت ها و ... رو میتونید اونجا به راحتی تنظیم کنید .
        پس از اتمام کارتون با project wizard ، میتونید تو پنجره کد نویسی، دستورات برنامتون رو بنویسی. و در انتها هم طبق گفته دوستمون ، با ctrl + f9 برنامتون رو کامپایل کنید تا فایل هگز تولید بشه .
        با تشکر
        میشه بیشتر توضیح بدید
        اگر ممکن با تصویر
        هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

        دیدگاه


          #5
          پاسخ : CCS

          خیله خوب . پس با هم یه پروژه ساده چشمک زن می سازیم .
          خوب ، اول از همه که باید ccs c رو نصب کنید .(اگه فایل نصبش رو ندارید بگید تا پلود کنم.)
          Ccs رو باز کنید .
          از بخش Project گزینه PIC Wizard رو انتخاب کنبد .
          اول از همه از شما محل ذخیره اطلاعات پروژه (مثل فایل .hex و .c و ....) از شما پرسیده میشه .
          سپس پنجره زیر نمایش داده میشه .



          در سمت چپ پنجره بخش General رو انتخاب کنید .
          از طریق بخش Device می تونید مدل میکروتون رو انتخاب کنید . ما اینجا می خوایم با PIC18f452 کار کنیم .
          در بخش Oscilator Frequency مقدار کریستال رو بر حسب هرتز تعیین کنید .
          Restart WDT during calls to DELAY : باعث ریست شدن wdt در زمان فراخوانی تابع delay می شود .
          تو بخش Fuses شما می تونید فیوز بیت های میکرو خود را تعیین کنید .
          مثلا برای کار با کریستال 20 مگاهرتزی ، شما باید در بخش fuses از طریق منو تعیین نوع کریستال ، گزینه High speed Osc(>4MHZ) رو انتخاب کنید و .... .
          در سمت چپ روی گزینه Communications کلیک کنید . در این بخش شما می تونید ارتباطات سریال (rs232) و i2c رو سازماندهی کنید . چون ما در این پروژه چشمک زن نیازی به ارتباط سریال نداریم ، پس تیک گزینه Use RS-232 را بردارید .
          در سمت چپ روی گزینه SPI and LCD کلیک کنید . در این بخش شما می توانید ارتباط spi و اگر احیانا میکرو شما دارای سخت افزار کنترل lcd بود ، را سازماندهی کنید .
          در گزینه Timers و PCH Timersهم شما می توانید به تنظیمات مربوط به تایمر های میکرو دسترسی پیدا کنید .
          در گزینه Analog هم تنظیمات مربوط به سخت افزار مبدل آنالوگ به دیجیتال میکرو مشاهده می شود .
          در گزینه Other هم می توانید مشخصات مربوط به سخت افزار ccp و comparator میکرو را مشاهده کنید .
          گزینه Interrupt هم که مربوط به برنامه های وقفه میکرو هستش .
          در گزینه Drivers هم شما می توانید درایور های آماده ccs رو فراخوانی کنید . مثل کتابخانه مربوط به کیبرد ، eeprom های سریال و ..... .
          بقیه گزینه ها هم فعلا به کارمون نمیاد .
          خوب حالا رو ok کلیک کنید تا این پنجره بسته شود .
          اکنون شما باید با چنین صفحه ای روبرو شوید .



          حالا شما می توانید در زیر خط //TODO : USER CODE !! شروع به نوشتن برنامتون کنید .
          دستورات زیر رو وارد کنید .(برنامه چشمک زن):


          Set_tris_b(0);
          Output_b(0);
          While(1){
          Output_b(255);
          Delay_ms(500);
          Output_b(0);
          Delay_ms(700);
          }

          حالا از منو Compile گزینه Build All رو بزنید تا برنامتون کامپایل بشه و فایل .hex ساخنه بشه .
          به همین سادگی .
          موفق باشید انشا الله .

          دیدگاه


            #6
            پاسخ : CCS

            با سلام
            خیلی ممنون
            من تمام کارها گفته شده را انجام داد اما یه Warnings گرفته نمی دونم چرا؟
            مشکل از کجاست؟
            میشه از کامپایلر باشه؟

            هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

            دیدگاه


              #7
              پاسخ : CCS

              سلام.
              کامپایلر ccs دو نوع پیغام داره . warning ها که هشدار هستن و Error ها که خطا هستند .
              هشدار ها فقط برای اطلاع کاربر صادر می شوند و در ایجاد فایل هگز هیچ گونه اخلالی ایجاد نمیکنند . مثلا در همین برنامه ای که شما نوشته اید ، ccs به شما هشدار داده که شرط while ، همیشه صحیح هست و هیچ وقت نقض نمیشه . در واقع شما یه حلقه بینهایت نوشته اید . حالا اگه تو همون مسیری که فایلتون رو ذخیره کرده این ، یه نگاه بندازید می تونید فایل هگز تولید شده رو ببینید .
              ولی هروقت که ccs به شما ارور یا خطا داد، اونوقت فایل هگز تولید نمیشه و یه جایی تو برنامه شما دچار اشتباه شده اید که حتما باید اونو درست کنید تا فایل هگز تولید بشه .

              دیدگاه


                #8
                پاسخ : CCS

                با تشکر

                اما تو پرتوئس که شبیه سازی می کنی LED چشمک نمی زنه
                هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

                دیدگاه


                  #9
                  پاسخ : CCS

                  آقای ایجی در مورد برنامه ای که نوشتید فکر نکنم بهTris احتیاجی باشه
                  Why does the compiler use the obsolete TRIS?

                  --------------------------------------------------------------------------------



                  The use of TRIS causes concern for some users. The Microchip data sheets recommend not using TRIS instructions for upward compatibility. If you had existing ASM code and it used TRIS then it would be more difficult to port to a new Microchip part without TRIS. C does not have this problem, however; the compiler has a device database that indicates specific characteristics for every part. This includes information on whether the part has a TRIS and a list of known problems with the part. The latter question is answered by looking at the device errata.



                  CCS makes every attempt to add new devices and device revisions as the data and errata sheets become available.



                  PCW users can edit the device database. If the use of TRIS is a concern, simply change the database entry for your part and the compiler will not use it.

                  دیدگاه


                    #10
                    پاسخ : CCS

                    نوشته اصلی توسط nsm
                    با سلام
                    خیلی ممنون
                    من تمام کارها گفته شده را انجام داد اما یه Warnings گرفته نمی دونم چرا؟
                    مشکل از کجاست؟
                    میشه از کامپایلر باشه؟

                    سلام

                    سی سی اس به خاطر این هشدار میده چون سی استاندارد نیست (یه چیزی تو مایه های سی و سی پلاس پلاس )

                    حالا اگه میخواین هشدار از بین بره میتونید داخل حلقه while از true استفاده کنید

                    البته هیچ اشکالی در برنامه بوجود نمیاد

                    چون میخوایم ال ای دی هارو به یه پورت وصل کنیم پس باید اون پورت باید به عنوان خروجی تعریف بشه .

                    پس دستور Set_tris_x(0); درسته )جای ایکس پورت مورد نظرتونو بزارید

                    فقط یادتون باشه میکرو پی آی سی بر عکس ای وی آر

                    برای خروجی کردن پورت در ای وی آر از 1 و در پی آی سی از 0 استفاده میکنیم

                    دستور Output_b(255); یه بار همه پورت بی رو 1 میکنه Output_b(0); پورت رو خاموش میکنه


                    برنامه که درسته حالا نمیدونم چرا شما میگید کار نمیکنه ؟!
                    زنان به خوبیه مردان می توانند اسرار را حفظ کنند اما آنان را به یکدیگر میگویند تا در حفظ آن شریک باشند !!!

                    دیدگاه


                      #11
                      پاسخ : CCS

                      نوشته اصلی توسط nsm
                      با تشکر

                      اما تو پرتوئس که شبیه سازی می کنی LED چشمک نمی زنه
                      سلام
                      پین ریست به vcc وصل کردید؟ چون برعکس pic ، avr به پی ریست حساسه

                      دیدگاه


                        #12
                        پاسخ : CCS

                        سلام.
                        دوستمون درست می فرمایند.
                        شما می توانید از بخش library، شی logic state را وارد کنید و به بایه MCLR میکرو وصل کنید.
                        یا شی POWER را از منو عمودی سمت جب به بایه MCLR میکرو وصل کنید.

                        دیدگاه


                          #13
                          پاسخ : CCS

                          سلام

                          دوست عزیز آی سی پی آی سی سی موس است منطق سی موس اینطوریه که اگه پایه ریست رها باشه اون پایه رو صفر تلقی میکنه پس وقتی شما پایه ریست رو به 1 ندید و آزاد باشد چون صفر تلقی میشه این آی سی مدام در حال ریست شدن است

                          اما در ای وی آرها چون تی تی ال هست اگه پایه ریست رها کنیم 1 تلقی میشه و کار میکنه :arrow:
                          زنان به خوبیه مردان می توانند اسرار را حفظ کنند اما آنان را به یکدیگر میگویند تا در حفظ آن شریک باشند !!!

                          دیدگاه


                            #14
                            پاسخ : CCS

                            با تشکر از همه

                            حالا چطوری میشه LCD کارکتری و گرافیکی را انداخت
                            هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

                            دیدگاه


                              #15
                              پاسخ : CCS

                              سلام دوست عزیز .
                              من واقعا شرمنده ام ! :redface: :biggrin:
                              من برای جواب سوالتون 2 تا مقاله نوشتم اما تا به امروز شرایطش پیش نیومد که بتون واستون پ کنم :angry:. ولی الآن پ کردمشون .
                              بفرمایید دانلود کنید . اگه مشکلی بود بپرسید . در حد بی سوادیم جوابتون رو میدم!!!!!
                              GRAPHICAL LCD

                              ALPHANUMERIC LCD

                              دیدگاه

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