اطلاعیه

Collapse
No announcement yet.

آموزش میکروکنترولر PIC با MPLAB C

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

    پاسخ : آموزش میکروکنترولر PIC با MPLAB C

    سلام.
    چند بار این مورد رو شنیدم، احتمالا همین برای شما هم تکرار شده.
    ایراد هم اینه که کدهای تولیدی کامپایلرXC8 بدون کرک درست عمل نکردن.حالا اینکه چرا؟ خودم هم نمیدونم.
    ولی C18 اینطور نیست و بدون کرک بهتر و مطمئن تر جواب داده.
    کامپایلرCCS یا mikroC رو پیشهاد میکنم استفاده کنین.اگه کرک مناسب سراغ دارین برین با کامپایلرهای میکروچیپ کار کنین و گرنه...

    دیدگاه


      آموزس خواندن و نوشتن در E2PROM داخلی میکروی dsPIC30F4011 با کامپایلر XC16

      با سلام خدمت دوستان.
      من میخوام روی E2PROM داخلی میکروهای سری 30F و 33F اطلاعات بنویسم و بخونم کسی از دوستان هست که راهنماییم کنه؟ دنبال یک روش راحت میگردم.
      ممنون. :cry2:

      دیدگاه


        پاسخ : آموزش میکروکنترولر PIC با MPLAB C

        سلام
        این کد مشکلش چیه؟
        کد:
        #include<p18f4550.h>
        #include<xc.h>
        
        #define _XTAL_FREQ 16000000L
        
        #pragma config WDT = OFF 
        #pragma config FOSC = HS 
        #pragma config BOR = OFF 
        #pragma config PWRT = ON 
        #pragma config MCLRE = OFF
        
        void delayMS(int time);
        
        void main(){
          TRISB = 0x00;
          while(1){
            PORTB=0xFF;
            delayMS(1000);
            PORTB=0x00;
            delayMS(1000);
          }
        }
        
        void delayMS(int time){
          time=time/10;
          for(int x = 0; x<time; x++){
            __delay_ms(10);
          }
        }
        کریستال 16مگ با 2تا خازن 22 پیکو بستم بهش.
        کل پورت B به جز یکی از پایه هاش چشمک های خیلی کم نور میزنه و کم کم سرعت چشمکش با نورش زیاد میشه تا یهو روشن میشه و 1ثانیه روشن میمونه و خاموش میشه و از دوباره همین داستان ادامه پیدا میکنه :-?
        چه کارش باید کرد؟
        ;()((void (*)(void))0x0000))

        دیدگاه


          پاسخ : آموزش میکروکنترولر PIC با MPLAB C

          سلام.
          تابع تاخیر رو یه مقدار ثابت انتخاب کن ببین فرقی میکنه؟
          یه بار هم بدون تابع،تاخیر بده
          اون یه دونه پایه چه واکنشی نشون میده؟شماره ش چنده؟

          دیدگاه


            پاسخ : آموزش میکروکنترولر PIC با MPLAB C

            خیلی ممنون از توجهتون، درست شد :wow:
            همون کد قبل رو 4تا کانفیگ دیگه بهش اضافه کردم (پایین با **** مشخص کردم) که الان کل پورت B تمام پایه هاش منظم با هم چشمک میزنن.
            کد:
            #include<p18f4550.h>
            #include<xc.h>
            
            #define _XTAL_FREQ 16000000L
            
            #pragma config WDT = OFF
            #pragma config FOSC = HS
            #pragma config BOR = OFF
            #pragma config PWRT = ON
            #pragma config MCLRE = OFF
            #pragma config PBADEN = OFF //****
            #pragma config LVP = OFF  //****
            #pragma config ICPRT = OFF //****
            #pragma config DEBUG = OFF //****
            
            
            void delayMS(int time);
            
            void main(){
              TRISB = 0x00;
              while(1){
                PORTB=0xFF;
                delayMS(1000);
                PORTB=0x00;
                delayMS(1000);
              }
            }
            
            void delayMS(int time){
              time=time/10;
              for(int x = 0; x<time; x++){
                __delay_ms(10);
              }
            }
            ;()((void (*)(void))0x0000))

            دیدگاه


              پاسخ : آموزش میکروکنترولر PIC با MPLAB C

              نوشته اصلی توسط شاهرخ مستقیمی
              سلام.
              چند بار این مورد رو شنیدم، احتمالا همین برای شما هم تکرار شده.
              ایراد هم اینه که کدهای تولیدی کامپایلرXC8 بدون کرک درست عمل نکردن.حالا اینکه چرا؟ خودم هم نمیدونم.
              ولی C18 اینطور نیست و بدون کرک بهتر و مطمئن تر جواب داده.
              کامپایلرCCS یا mikroC رو پیشهاد میکنم استفاده کنین.اگه کرک مناسب سراغ دارین برین با کامپایلرهای میکروچیپ کار کنین و گرنه...
              داداش فازت چیه؟! برا خودت چرا نظوریه و تئوری میدی؟ چرا جو بیخودی میدی؟!
              کامپایلرهای xc8 و C18 بدون کرکشون هیچ مشکلی ندارن!
              مشکل ممکنه از یه جا دیگه باشه

              دیدگاه


                پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                سلام
                با تلاش فراوان بالاخره موفق به دانلو برنامه شدم @-)
                ولی از این قسمت جلوتر نمیره!!!

                دوبار که Next میزنم Next خاموش میشه و Back روشن میشه ولی هیچ اتفاقی نمی افته!!!
                ---------------------------------------------------------------------------------------------

                دوباره تلاش کردم ورژن 2.00 رو دانلود کردم درست شد
                آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

                116 کتابخانه مورد نیاز برای Altium Designer

                از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

                دیدگاه


                  پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                  دوباره سلام
                  برنامه پست دوم و سوم رو نوشتم ولی کامپایل نمیشه
                  این ارور رو میده:
                  کد:
                  [left]make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
                  make[1]: Entering directory `C:/Users/Masoud_M/PIC/1/Masoud.X'
                  make -f nbproject/Makefile-default.mk dist/default/production/Masoud.X.production.hex
                  make[2]: Entering directory `C:/Users/Masoud_M/PIC/1/Masoud.X'
                  "C:\Program Files (x86)\Microchip\mplabc18\v3.40\bin\mcc18.exe" -p18C452 -ms -oa- -I "C:\Program Files (x86)\Microchip\mplabc18\v3.40\bin"\\..\\h -fo build/default/production/1.o  1.c 
                  C:\Program Files (x86)\Microchip\mplabc18\v3.40\h\p18c452.h:1063:Error [1034] previous definition of macro '_CONFIG_DECL' does not agree
                  C:\Program Files (x86)\Microchip\mplabc18\v3.40\h\p18c452.h:1075:Error [1034] previous definition of macro '_CONFIG1H_DEFAULT' does not agree
                  C:\Program Files (x86)\Microchip\mplabc18\v3.40\h\p18c452.h:1129:Error [1034] previous definition of macro '_CONFIG4L_DEFAULT' does not agree
                  MPLAB C18 v3.40 (evaluation)
                  Copyright 2000-2011 Microchip Technology Inc.
                  Days remaining until evaluation becomes feature limited: 59
                  
                  WARNING: The procedural abstraction optimization will not be supported when the evaluation becomes feature limited.
                  
                  make[2]: Leaving directory `C:/Users/Masoud_M/PIC/1/Masoud.X'
                  make[1]: Leaving directory `C:/Users/Masoud_M/PIC/1/Masoud.X'
                  make[2]: *** [build/default/production/1.o] Error 3
                  make[1]: *** [.build-conf] Error 2
                  make: *** [.build-impl] Error 2
                  
                  BUILD FAILED (exit value 2, total time: 4s)[/left]
                  لطفا راهنمایی بفرمایید
                  آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

                  116 کتابخانه مورد نیاز برای Altium Designer

                  از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

                  دیدگاه


                    پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                    این لینک قدیمی رو الان پیدا کردم.مختصر و مفید...
                    آموزش MPLAB

                    دیدگاه


                      پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                      سلام.
                      من برنامه نمونه اول که مربوط به چشمک زن میشه رو نوشتم از #pragma config OSC=HS
                      ارور میگیره؟ :sad:
                      Someone who can change the world
                      ELECTRONIC ENGINEER

                      دیدگاه


                        پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                        نوشته اصلی توسط abritco
                        سلام.
                        من برنامه نمونه اول که مربوط به چشمک زن میشه رو نوشتم از #pragma config OSC=HS
                        ارور میگیره؟ :sad:
                        سلام
                        طبق پستهای شما در انجمن PIC متوجه شدم میکروی شما PIC18f452 نیست و برای این منظور باید باید ریجسترها به درستی نامدهی شوند شما باید خط زیر را جایگزین خط اصلی در برنامه کنید(برای تراشه PIC18f4550)
                        کد:
                        #pragma config FOSC=HS
                        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                        دیدگاه


                          پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                          من تو اضافه کردن کتابخوانه مشکل دارم ارور میده.
                          روی قسمت header files کلیک راست میکنم و گزینه add existing item رو میزنم بعد برای مثال فایل LCD1.h رو اضافه میکنم.
                          بهد تو برنامه این رو مینویسم.
                          #include "LCD1.h"رو بهش اضافه میکنم اما کنار این خط یه دایره قرمز میاد و ارور میگیره.
                          میگه cannot find include file
                          Someone who can change the world
                          ELECTRONIC ENGINEER

                          دیدگاه


                            پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                            هنوز مشکل قبلیم حل نشده اما lcd1.h رو بردم تو فولدری که همه کتابخوانه ها اونجان کپی کردم تا دیگه ارور نمیگیره.
                            حالا بر نامه زیر رو نوشتم بدون ارور کامپایل میشه اما کار نمیکنه یعنی رو ال سی دی هیچی نشون نمیده.
                            کد:
                            #include <p18f4550.h>
                            #include "LCD1.h"
                            #include <stdio.h>
                            #include <delays.h>
                            #pragma config FOSC=HS
                            #pragma config PWRT=OFF
                            #pragma config BOR=OFF
                            #pragma config WDT=OFF
                            #pragma config MCLRE=OFF
                            #pragma config PBADEN=OFF
                            #pragma config LVP=OFF
                            #pragma config ICPRT=OFF
                            #pragma config DEBUG=OFF
                            
                            void main (){
                              unsigned char msg[17];
                              lcdinit();
                              cls();
                              locate(1,1);
                              sprintf(msg,"hello");
                              lcdprint(msg);
                              Delay10KTCYx(10);
                               
                              while(1);
                            }
                            Someone who can change the world
                            ELECTRONIC ENGINEER

                            دیدگاه


                              پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                              سلام
                              خطای ناشی از محل قرار گیری بر می گرده به خط
                              کد:
                              #include "LCD1.h"
                              در این محل باید آدرس دقیق فایل را مشخص کنید
                              مثلا اگر فایل شما در درایو D شما و در پوشه baby باشد باید وارد کنید
                              کد:
                              #include "d:\baby\LCD1.h"
                              لطفا این چند مرحله رو تست کنین
                              1-بدون ریختن برنامه روی میکرو و بایاس صحیح LCD ببینید که بعد از خاموش و روشن کردن برد سطر اول(یا تمامی سطرها) LCD تمامی مربع ها روشن می شوند یا خیر؟
                              2-پیکربندی سخت افزاری ، ارتباط پین های میکرو به lcd به چه صورت است ؟ آیا تغییراتی در فایل lcd در صورت تغییرات سخت افزاری متفاوت یا مدار پیشنهادی داده شده است یا خیر؟
                              هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                              دیدگاه


                                پاسخ : آموزش میکروکنترولر PIC با MPLAB C

                                سلامی دوباره خدمت دوست عزیزم.
                                خیلی ممنون از اینکه پاسخ میدی.
                                من زیاد از lcd تو پروژه های مختلف تو avr و xmega استفاده کردم فکر نمیکنم مشکل از بایاس lcd باشه.
                                تو پروتئوس هم میبندم همینطوره. :read:
                                Someone who can change the world
                                ELECTRONIC ENGINEER

                                دیدگاه

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