اطلاعیه

Collapse
No announcement yet.

نوشتن روی eeprom کنترلر PIC16F877A

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

    نوشتن روی eeprom کنترلر PIC16F877A

    من چطورب میتونم روی eeprom کنترلر PIC16F877A متغیر بسازم و توش بنویسم و بخونم؟؟؟
    اصلا میشه متغیر ساخت یا روش دیگه ایی داره؟؟؟
    مثلا مثل AVR هست یا باید کاره دیگه ایی کرد؟

    میشه لطفا راهنماییم کنید

    #2
    پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

    در ضمن من با ccs کار میکنم

    دیدگاه


      #3
      پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

      سلام
      شما میتونی با دستور زیر یه مقدار 8بیتی رو در آدرس خاصی بنویسی .

      write_eeprom (address, value);

      با توجه به این که ای تو پی رام این میکرو 8*256 هست آدرس های شما از 0 صفر شروع میشه تا 255
      و برای خوندنشم از

      read_eeprom (address ) ;

      میتونی استفاده کنی.

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

      دیدگاه


        #4
        پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

        ممنونم-چطور با این روش میتونم یک آرایه 20 تایی تعریف کنم؟

        دیدگاه


          #5
          پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

          خوب اگه آرایت عضواش 8 بیتی باشن باید 20تا از خونه های EEPROM رو که ترجبحا بهتره پشت سر هم باشن رو برای آرایت در نظر بگیری و در اون آدرس ها چیز دیگه ننویسی و اگه آرایت عضواش 16 بیتی باشن باید 40تا از خونه های EEPROM رو در نظر بگیری و . . . .
          برای راحتتر شدن کارت و افزایش خوانایی برنامه و افزایش سرعت محاسبات میتونی اول آرایتو به صورت عادی تعریف کنی و هر کاری خواستی انجام بدی بعد در مرحله آخر درEEPROM ذخیره کنی
          بعد تو تابع main قبل از While برنامت بیا تک تک آدرس ها رو بخون و در آرایت بریز (اگه مشکل حافظه نداری )
          یعنی لحظه ایی که میکرو روشن میشه دیتا از EEPROM خونده میشه و در ROM ریخته میشه --> دیتا پردازش میشه --> پس از هر گونه تغییرات روی دیتا باید مجدد در EEPROM ذحیره شه

          مثلا اگه قرار باشه از آدرس 23 به بعد محل ذخیره سازی ارایه باشه :


          #define start_array 23
          int8 array[20];
          .
          .
          .
          void main()
          {
          .
          .
          .
          init_ext_eeprom();
          for(i=0 ; i<20 ; i++)
          array[i] = read_eeprom(start_array+i) ;

          .
          .
          .
          .
          while(true)
          {
          .
          .
          }
          }


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

          دیدگاه


            #6
            پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

            ممنونم از راهنماییتون
            اینجا هم باید مثل AVR بخش eeprom ham پروگرام بشه؟
            این eeprom جزوه فایل hex هست یا فایل جدا ساخته میشه؟
            من با PIC Kit2 کار میکنم

            دیدگاه


              #7
              پاسخ : نوشتن روی eeprom کنترلر PIC16F877A

              نوشته اصلی توسط مرجان کهندل
              این eeprom جزوه فایل hex هست یا فایل جدا ساخته میشه؟
              تا اون جایی که من دیدم فایل دیگه ای ساخته نمیشه .

              اینجا هم باید مثل AVR بخش eeprom ham پروگرام بشه؟
              اگه به این سبکی که من گفتم کار کنید نه نیازی نیست . اما شما میتونی EEPROM میکرو رو پاک کنید یا در اون بنویسید (البته نمی دونم پروگرامر شما این قابلیت رو داره یا نه)
              زمان تنها واحد حقیقی اندازه گیریه
              زمان وجود ماده رو اثبات میکنه
              بدون زمان هیچکدوم ما وجود نخواهیم داشت
              زمان یکتاست

              دیدگاه

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