اطلاعیه

Collapse
No announcement yet.

[آموزش] آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

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

    #31
    پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

    با سلام اقای رمضانی

    اقا من هر کاری میکنم نمیتونم lcd رو ببرم به خط 2

    هر دوتا دستور رو امتحان کردم
    WriteCmdXLCD(0xc0);
    SetDDRamAddr0x40;


    ممکنه از lcd باشه ؟؟
    عامل کلیدی تمام موفقیتها " عمل کردن" است

    دیدگاه


      #32
      پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

      سلام

      برای رفتن به ابتدای خط دوم از دو خط زیر استفاده کنید


      while( BusyXLCD() );
      ;( SetDDRamAddr( 40

      یعنی ابتدا باید چک کنید که آیا LCD مشغول هست یا نه , در غیر این صورت ممکنه LCD دستور شما رو دریافت نکند
      نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
      تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

      دیدگاه


        #33
        پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

        نوشته اصلی توسط ramezani.t
        سلام

        برای رفتن به ابتدای خط دوم از دو خط زیر استفاده کنید


        while( BusyXLCD() );
        ;( SetDDRamAddr( 40

        یعنی ابتدا باید چک کنید که آیا LCD مشغول هست یا نه , در غیر این صورت ممکنه LCD دستور شما رو دریافت نکند
        این کارو کردم ولی بازم نشد

        این 40 که نوشتیت مگه نباید 0x40 باشه ؟؟

        من داخل پروتئوس هم چک کردم وقتی این رو مینویسی هیچی نشون نمیده
        عامل کلیدی تمام موفقیتها " عمل کردن" است

        دیدگاه


          #34
          پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

          سلام

          ببخشید که دیر پاسخ میدم

          اگر ممکنه برنامتون رو کامل قرار بدین

          آیا این مشکل رو در آموزش شماره 2 داشتین ؟

          عدد 40 دسیمال هست نه هکس که من به اشتباه در همین تاپیک 0x40 نوشته بودم که اصلاحش میکنم
          نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
          تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

          دیدگاه


            #35
            پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

            نوشته اصلی توسط ramezani.t
            سلام

            ببخشید که دیر پاسخ میدم

            اگر ممکنه برنامتون رو کامل قرار بدین

            آیا این مشکل رو در آموزش شماره 2 داشتین ؟

            عدد 40 دسیمال هست نه هکس که من به اشتباه در همین تاپیک 0x40 نوشته بودم که اصلاحش میکنم

            سلام
            خواهش میکنم ممنون به خاط توجه شما
            اینم برنامه


            کد:
            #include<p18f4550.h>
            #include<stdio.h>
            #include<xlcd.h>
            #include<delays.h>
            
            #pragma config LVP=OFF,FOSC=HS,WDT=OFF
            
            
            void DelayFor18TCY(){
            Delay10TCYx(2);
            }
            void DelayPORXLCD(){
            Delay1KTCYx(20);
            }
            void DelayXLCD(){
            Delay1KTCYx(10);
            }
            
            void main(){
            OpenXLCD(FOUR_BIT & LINE_5X7);
            while(BusyXLCD());
            WriteCmdXLCD(DON & CURSOR_OFF & BLINK_OFF);
            while(BusyXLCD());
            WriteCmdXLCD(1);
            
            while(1){
            while(BusyXLCD());
            SetDDRamAddr( 2 );
            while(BusyXLCD());
            putrsXLCD("be name khoda ");
            Delay1KTCYx(100);
            while(BusyXLCD());
            SetDDRamAddr(40);
            while(BusyXLCD());
            putrsXLCD("ALI");
            
            }
            }
            عامل کلیدی تمام موفقیتها " عمل کردن" است

            دیدگاه


              #36
              پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

              سلام

              کد های زیر رو آزمایش کنید , من در حال حاظر امکان تست رو نداشتم خیلی وقت هم هست که با این LCD کار نکردم اما برای کامل کردن آموزش 4 این کار رو انجام میدم و کد های شما رو تست میکنم , آموزش 2 رو هم ویرایش کرده و طریقه آدرس دهی رو هم در اون قرار میدم


              کد:
              #include <p18f452.h>
              #include <delays.h>
              #include "xlcd.h"
              
              
              #pragma config OSC   = HS
              //#pragma config OSCS  =
              #pragma config PWRT  = ON
              #pragma config BOR   = OFF
              //#pragma config BORV  =
              #pragma config WDT   = OFF
              //#pragma config VDTPS  =
              //#pragma config CCP2MUX =
              //#pragma config STVR  =
              #pragma config LVP   = OFF
              //#pragma config DEBUG  =
              
              
              void main( )
              {
              
               TRISA = 0b00000000 ;
               TRISB = 0b00000000 ;
               TRISC = 0b00000000 ;
               TRISD = 0b00000000 ;
               TRISE = 0b00000000 ;
              
               ADCON0bits.ADON = 0 ;
               ADCON1 = 0b00000110 ;
              
               Delay10KTCYx(250) ;
              
               OpenXLCD( FOUR_BIT & LINES_5X7 );
               while( BusyXLCD() );
               WriteCmdXLCD(DON & BLINK_OFF & CURSOR_OFF);
               while( BusyXLCD() );
               WriteCmdXLCD(0b00000001);//clear display
              
               while( BusyXLCD() );
               SetDDRamAddr( 2 );
               while( BusyXLCD() );
               putrsXLCD( "be name KHODA" );
              
               while( BusyXLCD() );
               SetDDRamAddr( 40 );
               putrsXLCD( "ALI" );
              
               Delay10KTCYx(250) ;
              
               while(1);
              
              }
              نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
              تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

              دیدگاه


                #37
                پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                اقا مشکل حل شد :applause:

                مشکل از تاخیر توابع و دستور busylcd بود
                عامل کلیدی تمام موفقیتها " عمل کردن" است

                دیدگاه


                  #38
                  پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                  سلام

                  باید کد هاتون رو ببینم , اما قبل از اون باید به چند نکته دقت کنید

                  کتاب خانه C18 برای ارسال یک رشته به LCD دو تابع ارائه کرده

                  putsXLCD و putrsXLCD

                  از putrsXLCD برای ارسال یک رشته از حافظه ROM یه همون حافظه برنامه به LCD استفاده میشه

                  Write a string from program memory to the LCD.

                  واز putsXLCD برای ارسال یک رشته از حافظه RAM یه همون حافظه دیتا به LCD استفاده میشود

                  Write a string from data memory to the LCD.


                  در برنامتون کلید Ctrl را نگه داشته و بر روی دستور putrsXLCD کلیک کنید تا فایل putrsXLCD.c باز شود ( در نرم افزار MPLAB X )

                  خوب به نوع آرگومانی که به این تابع ارسال میشود دقت کنید

                  const rom char

                  موفق باشید









                  نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
                  تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

                  دیدگاه


                    #39
                    پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                    سلام به همگی و با تشکر از استاد رمضانی :applause:
                    -------------------
                    من دارم بخاطر مشکلاتی که با ccs داشتم از قبیل هنگ ها و ریست های زیادی که تو برنامه ام داشتم ، از picc به mplab میام .
                    سوال : ممکنه که مشکلات غیر عادی ای که وسط برنامه ام پیش میاد (مثل همین هنگ ها و ریست ها و پریدن ها از یه بخش از برنامه به یه بخش دیگه و از حلقه بیرون پریدن بی دلیل ) بخاطر کرک نرم افزار باشه ؟

                    سوال: ( می دونم اینجا جاش نیست ولی از بس که از این شاخه به اون شاخه پریدم خسته شدم و دوست دارم از یه کسی که واقعا با تجربه است و دانش اش کافی هست بپرسم : )شما فرمودید که MPLAB برای PIC ( برای ما ) بهترینه . اما اصلا آیا خوبه که ما وقتمون رو رو PIC بذاریم ؟ من قبلا که با AVR کار می کردم و پروژه های کوچیکی باهاش انجام دادم این مشکلات رو تا این حد نداشتم . از طرف دیگه اصلا شرکت میکروچیپ ایران و ایرانی رو قبول نداره و دسترسی ایرانی ها رو به اطلاعاتش ممنوع اعلام کرده . حالا علاوه بر اینکه از نظر حیثیتی یه جور بی احترامیه به خودمون اگر دنبال این نرم افزارها باشیم ، ممکن هست که پس فردا یه ایرادی تو برنامه هامون پیدا بشه که منشاءاش همین مسائل باشه ( یه چیزی مثل این کرک ها که می نویسن ! ) . از طرف دیگه اگر بخوایم با این میکرو ادامه بدیم و پروژه های پیشرفته ای انجام بدیم PIC32 از نظر قیمت و کیفیت و وسعت کاربران به پای ARM ها نمی رسه( ما که مقایسه نکردیم ، میگن! - البته وسعت کاربران رو حتی تو انجمن های خود این سایت هم مشهوده )
                    دوستان عزیزم تصمیم گرفتم تا یه مدت کمتر به تالار سر بزنم . اگر دیر جواب دادم ببخشید.

                    دیدگاه


                      #40
                      پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                      با سلام

                      سوال : ممکنه که مشکلات غیر عادی ای که وسط برنامه ام پیش میاد (مثل همین هنگ ها و ریست ها و پریدن ها از یه بخش از برنامه به یه بخش دیگه و از حلقه بیرون پریدن بی دلیل ) بخاطر کرک نرم افزار باشه ؟
                      من خاطرم هست که در کتاب علوم دوران مدرسه یه جمله مهم وجود داشت " در یک آزمایش علمی همیشه باید یک متغیر وجود داشته باشه " ببینید دوست عزیز وقتی شما به مشکلی بر میخورید باید عوامل رو یک به یک برسی کنید , وقتی این عوامل زیاد میشن شما دچار سردر گمی میشین , حال فرض کنید که شما مسعولیت انجام یک پروژه صنعتی رو قبول کرده باشین , در این مواقع خیلی ها از کار زده میشن

                      من نمیتوانم با قطعیت بگویم که مشکل از کرک هست یا کیفیت خود کامپایلر , اما وقتی خود شرکت سازنده میکرو یک کامپایلر کامل و رایگان اراعه میده چرا من از کامپایلر های دیگه استفاده کنم ؟؟؟!!...
                      بخصوص اگر کتاب خانه های قدرت مند و کاملی داشته باشه


                      من تجربیاتی در کار کردن با کامپایلر های مختلف داشتم و البته تجربیات تلخی بودن , من هم با مشکلاتی از این دست بر خورد کردم و در نهایت وقتی کامپایلر های میکروچیپ رو انتخاب کردم , این سوال برایم مطرح شد که با وجود این کامپایلر قدرت مند چرا خیلی ها از کامپایلر هایی مثل mikroC استفاده میکنن !.

                      سوال: ( می دونم اینجا جاش نیست ولی از بس که از این شاخه به اون شاخه پریدم خسته شدم و دوست دارم از یه کسی که واقعا با تجربه است و دانش اش کافی هست بپرسم : )شما فرمودید که MPLAB برای PIC ( برای ما ) بهترینه . اما اصلا آیا خوبه که ما وقتمون رو رو PIC بذاریم ؟ من قبلا که با AVR کار می کردم و پروژه های کوچیکی باهاش انجام دادم این مشکلات رو تا این حد نداشتم .
                      ببینید این سوآل آخروعاقبت نداره :biggrin:
                      من حدود 8 و 9 سال پیش رفتم خیابان انقلاب کتابی درباره میکرو ها بخرم , اولین کتابی که دیدم یه کتاب درباره میکرو های PIC بود :smile: همون رو خریدم و شدم PIC کار , من تابه حال با این میکرو دچار مشکل نشدم , با AVR هم کار نکردم تا بتوانم مقایسه کنم , اما از لحاظ مباحثه با AVR کار ها من تابه حال کملودی در PIC نسبت به AVR ندیدم و همیشه محصولات من یه سروگردن بالاتر از اونا بودن

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

                      از طرف دیگه اصلا شرکت میکروچیپ ایران و ایرانی رو قبول نداره و دسترسی ایرانی ها رو به اطلاعاتش ممنوع اعلام کرده . حالا علاوه بر اینکه از نظر حیثیتی یه جور بی احترامیه به خودمون اگر دنبال این نرم افزارها باشیم ، ممکن هست که پس فردا یه ایرادی تو برنامه هامون پیدا بشه که منشاءاش همین مسائل باشه ( یه چیزی مثل این کرک ها که می نویسن ! ) .
                      نه دوست عزیز مسئله به این شکل نیست
                      ببینید ما از خیلی از دستگاه ها و ابزار ها استفاده مبکنیم که خیلی هاشون ایران رو تحریم کردن , در کل زندگی روز مرمون .
                      این موضوع جای بحث زیادی داره اما اگر به گزشته , حال و آینده فکر کنید , به نیت تحریم فکر کنید , به این فکر کنید که چرا سایت های غیر اخلاقی فیلتر نمیشوند ولی میکروچیپ فیلتر میشه ! ... به جواب میرسین

                      در مورد یک همچین کرک هایی هم باید بگم شما در جنگ هستید و در حال استفاده از سلاح های دشمن برضد خودشون در یک همچین مواقعی هر چیزی ممکنه

                      توکل بر خدا , انشاالله در این جنگ صنعتی پیروز میشیم


                      از طرف دیگه اگر بخوایم با این میکرو ادامه بدیم و پروژه های پیشرفته ای انجام بدیم PIC32 از نظر قیمت و کیفیت و وسعت کاربران به پای ARM ها نمی رسه( ما که مقایسه نکردیم ، میگن! - البته وسعت کاربران رو حتی تو انجمن های خود این سایت هم مشهوده )
                      راستش من با ARM کار نکردم اما پروژه های صنعتی که در دست دارم رو همین میکرو های 8 بیتی و 16 بیتی کامل جواب میدن و اگر یک روزی به سرعت و قدرت ARM نیاز پیدا کنم , خب از این تراشه ها استفاده میکنم

                      ببینید در کل دنیا افراد صنعت گر و موفق زیادی هستن که با همین میکرو های 8 بیتی محصولات زیادی رو تولید میکنن


                      پیروز و موفق باشید .
                      نا امیدی یه دروغ بزرگه که آدما به خودشون میگن
                      تلاش یه حقیقت بزرگه که با صبر به ثمر میرسه

                      دیدگاه


                        #41
                        پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                        ****
                        همونطور که در جریان هستید ، من یه مدتی هست که با MPLAB کار جدی رو شروع کردم . اول زبان C++ رو از مقدماتی شروع کردم تا وسط هاش ! بعد خود MPLAB X رو کار کردم . بسیار حال کردم از امکانات تکمیلی که داره ! دقت برنامه نویسی و خیلی چیزای دیگه . اما یه مشکل حادی بعد برام پیش اومد . :(
                        مشکل رو حدس میزدم . عدم رجیستر شدن کامپایلر C . بعدش کرک کامل برای HI-TECH پیدا کردم برایی تمام خوانواده هاش . برای سری 18 نظیر نداشت . کامل و قدرتمند . اما برای سری های دیگه مخصوصا برای DS ها و سری 32 به مشکل خورد ! چون کلا کامپایلرش ناقص بود و کامل پیدا نکردم . فقط باید از کامپایلر C خود مایکروچیپ استفاده بکنم که هیچ کرکی نداره . :^O
                        خود به خود در برنامه های سطح پایین و متوسط ، هیچ مشکلی نیست . اما وقتی پیچش برنامه و حجم برنامه زیاد میشه و مخصوصا وقتی که سرعت اجرا مهم میشه ، به دلیل مجانی بودن ، دیگه بدرد من نمیخوره ! به عنوان مثال وقتی من دارم روی 30F2020 یا سری های GS کار میکنم ، کار سوئیچینگ هستش و زمانبندی ها در حد پیکو ثانیه ، اهمیت پیدا میکنن . کلاک 2020 برای سوئیچینگ به راحتی 480 مگاهرتز هستش . حالا یک اینتراپت جریان ( حالا ولتاژ قابل صرف نظر هستش ) پیش بیاد ، میتونه باعث ترکیدن کل مدار و سیستم و یا فاجعه های بدتری بشه . توی زمان مرده ، زمان واکنش و ... . اینجا ها هستش که من کم آووردم ! وقتی خود کامپایلر میگه در حالت LIT که بالای 1000 دلار هر قسمت کامپایلرش قیمت داره ، با حالت مجانی ، برنامه 400% از نظر سرعت و تا 70% حجم برنامه ی نهایی فرق میکنه ، دیگه نمیشه با این قضیه کنار اومد . :-S
                        ;-<
                        من این رو با MICRO C امتحان کردم . اوپتیمایز ها و مخصوصا RSSA ها به شدت اهمیت پیدا میکنن که تو حالت مجانی نداریم . اما ناگفته نماند ! 2 تا مشکل اساسی هم با میکروالکترونیک پیدا کردم که نمیدونم درست میکنن یا نه ؟؟!! :-??
                        مشکل اصلی در وقفه ها و بردارها هستش . خلاصه بگم ، بردار وقفه ها درست اجرا نمیشن ! یعنی اگه در حین اجرای یک وقفه ، وقفه ی با ارزش بالاتر بوجود بیاد ، باید پاز بشه و وقفه ی با ارزش بالاتر اجرا بشه ! اما توی کامپایلرهای میکروالکترونیک این عمل غلطه . چون انگا اصلا ارزش براش تعریف نشده . یعنی باید یک وقفه تموم بشه بعدش یکدفه تمام وقفه ی بعدی پشت سر هم اجرا میشه !!!! ماههاست که هرکار میکنم درست نمیشه ! حتا توی 32 هم این مشکل وجود داره .
                        خلاصه کلام : کرک برای خود کامپایلر های C مایکروچیپ دارین یا جایی دیدین ؟ من توی SONSIVRI هم نگاه کردم هنوز کرک براش نزدن ! اگه کرک داشته باشم ، من به شخصه قول میدم بترکونم همشون رو ! :angry:
                        :-??
                        متشکر از صبر و حولتون و دقت و کمک های فراوانتون .
                        در ضمن ARM ها برای کاربردهای سیستم عاملی هستند و نه کارهای پردازش دیتا ی سرعت محاسباتی و اغلب کارهای کنترل صنعتی . توی این کارها فقط PIC32 به کار میاد . یا DSPIC ها . با یه نگاه به مدل های مخالف DSPIC ها این رو متوجه میشید که برای هرکاری مایکروچیپ یک سری میکروی خاص داره . مثلا کنترل موتورهای مختلف - تغذیه سوئیچینگ - پزشکی - تحقیقاتی - فرستنده ها - میکروهای فرکانس بالا وایرلس و ... . خودتون ببینید متوجه میشید .
                        موفق و شاد باشید .

                        ------------
                        به دلیل لحن نامناسب، قسمتی از نوشته ویرایش شد.
                        if all men are the same
                        then
                        why do women take so long to choose one ?

                        دیدگاه


                          #42
                          پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                          سلام به دوستان

                          معرفی چند منبع آموزشی :
                          1- یه کتابی هم در سال 2007 به دو زبان C و اسمبلی با نام PIC Microcontroller - An Introduction to Software and Hardware Interfacing نوشته شده که mplab و C18 رو آموزش داده .

                          2- یه کتابی هم مزیدی نوشته که البته ترجمه هم شده . نام کتاب : میکروکنترلرهای PIC انتشارات نص . این کتاب هم زبان C و اسمبلی را در mplab آموزش داده

                          3- کتاب ساختار میکروکنترلرهای PIC نوشته علی سلیمیان هم هست که اسمبلی و ساختار میکروهای سری 18 را توضیح داده

                          *** کم رنگ ترن قلم جهان از. پررنگ ترن حافظه  جهان ماندگارتر است ***

                          دیدگاه


                            #43
                            پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                            سلام .
                            این کامپایلر PIC16F877 رو هم ساپورت میکنه ؟ :rolleyes:

                            دیدگاه


                              #44
                              پاسخ : آشنایی با کامپایلر MPLAB C Compiler for PIC18 MCUs

                              نوشته اصلی توسط hamedtripelh
                              سلام .
                              این کامپایلر PIC16F877 رو هم ساپورت میکنه ؟ :rolleyes:
                              سلام. کامپایلر های MPLAB C18 همونطور که از اسمش مشخصه فقط سری PIC18F رو پشتیبانی میکنه. ولی شما میتونید از MPLABX C8 استفاده کنید که ترکیبی از Hitech-PICC و MPLAB C18 هست و همه انواع 8 بیتی رو پشتیبانی میکنه.

                              دیدگاه


                                #45
                                پاسخ : آموزش شماره دو

                                نوشته اصلی توسط ramezani.t
                                کد:
                                /*************************************************************
                                *           be name KHODA             *
                                *                              *
                                * 1391.6.25                         *
                                * s.ramezani.t@gmail.com                   *
                                *                              *
                                *                              *
                                * OSC = 20Mhz                        *
                                *                              *
                                **************************************************************/
                                
                                #include <p18f452.h>
                                #include <delays.h>
                                #include <stdio.h>
                                #include "xlcd.h"
                                
                                
                                #pragma config OSC   = HS
                                #pragma config OSCS  = OFF
                                #pragma config PWRT  = ON
                                #pragma config BOR   = OFF
                                //#pragma config BORV  =
                                #pragma config WDT   = OFF
                                //#pragma config VDTPS  =
                                //#pragma config CCP2MUX =
                                //#pragma config STVR  =
                                #pragma config LVP   = OFF
                                #pragma config DEBUG  = OFF
                                
                                
                                #define LED   PORTEbits.RE0
                                
                                #define clear_DIS 0x01
                                
                                #define LINE_1   0x80
                                #define LINE_2   0xC0
                                #define LINE_3   0x94
                                #define LINE_4   0xD4
                                
                                
                                unsigned int cont = 0 ;
                                char buf[20];
                                
                                
                                void main( void )
                                {
                                
                                 TRISA = 0b00000000 ;
                                 TRISB = 0b00000000 ;
                                 TRISC = 0b00000000 ;
                                 TRISD = 0b00000000 ;
                                 TRISE = 0b00000000 ;
                                
                                 ADCON0bits.ADON = 0 ;
                                 ADCON1 = 0b00000110 ;
                                
                                 Delay10KTCYx(250) ;
                                
                                 /*-------------------*/
                                
                                 OpenXLCD( FOUR_BIT & LINES_5X7 );
                                
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( DON & BLINK_OFF & CURSOR_OFF);
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( clear_DIS ); //clear display
                                
                                 Delay10KTCYx(250) ;
                                
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( LINE_1 + 2 );
                                 putrsXLCD( "be name KHODA" );
                                
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( LINE_2 );
                                 putrsXLCD( "LINE_2" );
                                
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( LINE_3 );
                                 putrsXLCD( "LINE_3 1234567890" );
                                 
                                 
                                 while( BusyXLCD() );
                                 WriteCmdXLCD( LINE_4 );
                                 putrsXLCD( "LINE_4 1234567890" );
                                 
                                 /*-------------------*/
                                 
                                 cont = 0 ;
                                
                                 while(1)
                                 {
                                
                                  LED = 1 ;
                                  Delay10KTCYx(50) ;
                                
                                  LED = 0 ;
                                  Delay10KTCYx(50) ;
                                
                                  cont = cont + 1 ;
                                  sprintf(buf,"a+b = %4d srt", cont);
                                
                                  while( BusyXLCD() );
                                  WriteCmdXLCD( LINE_2 );
                                  while( BusyXLCD() );
                                  putsXLCD( buf );
                                
                                 }
                                
                                }
                                1- اون دو تا Delay10KCTYx(250) برا چیه؟! اونارو حذف کردم ولی برنامم کار میکنه! وجودشون دلیل خاصی داره؟
                                2- مگر این برنامه رو برای ال سی کاراکتری 2*16 نوشته نشده؟!
                                پس چرا براش چهار تا Line تعریف کردین؟! ( Line_1 , Line_2 , Line_3 , Line_4 )

                                دیدگاه

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