قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 15-11-2015, 10:27 AM المشاركة 1   
x5 MAIN: AVR writing/reading on external EEPROM Twitter FaceBook Google+



بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

للاخوة احب اعرض عليكم برنامج للكتابه في / و القراءة من شريحة ذاكرة EEPROM بالمواصفات التالية : AT24C512 سعتها الخزينية 64KB - و تتعامل ببروتوكول I2C
8PIN - WRITE PROTECT - HARDWARE ADDRESSABLE .

COMPILER: MIKRO C AVR
PROCESSOR: ATMEGA32
FREQ: INTERNAL 4 MHz

ان شاء الله البرنامج يقرأ بيانات من مصفوفة ثم يخزنها في الذاكرة
ثم يقرأها من الذاكرة و يعرضها على شاشة .
البرنامج تدريب للتعامل مع I2C بالاضافة انه يقدر يتعامل مع اكثر من ذاكرة على نفس ال مسار I2C BUS .


كود:
#include"data.h"

 char val1,val2 , disp[4];
void main() {
 LCD_INIT();
 TWI_INIT(100000) ;
 LCD_CMD(_LCD_CURSOR_OFF);
                      // ADDRESS OF FIRST IC [1,0,1,0,0,A1,A0,R/w] = 1010000R/w = 0xA1 or 0xA0

 twi_start();       //*********** WRITING TO MEMORY IC2 ADDRESS= 0xA2 for writing and  0xA3 for reading .
 twi_write(0xA2);                        //        IC1 ADDRESS= 0xA0 for writing and   0xA1 for reading
 twi_write(0x00); twi_write(0x00);
 twi_write(okay[0]);
 twi_write(okay[1]);
 twi_write(okay[2]);
 twi_write(okay[3]);
 twi_stop();
 delay_ms(10);       //THIS IS VERY NECESSRY AFTER EVERY WRITING  from data sheet of memory ic .

 
  twi_start();     //*********** READING FROM MEMORY IC2
 twi_write(0xA2);
 twi_write(0x00); twi_write(0x00);
 twi_start();
 twi_write(0xA3);
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,1,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,5,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(2,1,ltrim(disp));
 val2=twi_read(0);  inttostr(val2,disp); lcd_out(2,5,ltrim(disp));
 twi_stop();
 delay_ms(10);
 
}

اعلانات

Sihem
:: مهندس ::
تاريخ التسجيل: Nov 2015
المشاركات: 35
نشاط [ Sihem ]
قوة السمعة:0
قديم 15-11-2015, 05:37 PM المشاركة 2   
افتراضي


بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

للاخوة احب اعرض عليكم برنامج للكتابه في / و القراءة من شريحة ذاكرة EEPROM بالمواصفات التالية : AT24C512 سعتها الخزينية 64KB - و تتعامل ببروتوكول I2C
8PIN - WRITE PROTECT - HARDWARE ADDRESSABLE .

COMPILER: MIKRO C AVR
PROCESSOR: ATMEGA32
FREQ: INTERNAL 4 MHz

ان شاء الله البرنامج يقرأ بيانات من مصفوفة ثم يخزنها في الذاكرة
ثم يقرأها من الذاكرة و يعرضها على شاشة .
البرنامج تدريب للتعامل مع I2C بالاضافة انه يقدر يتعامل مع اكثر من ذاكرة على نفس ال مسار I2C BUS .


كود:
#include"data.h"

 char val1,val2 , disp[4];
void main() {
 LCD_INIT();
 TWI_INIT(100000) ;
 LCD_CMD(_LCD_CURSOR_OFF);
                      // ADDRESS OF FIRST IC [1,0,1,0,0,A1,A0,R/w] = 1010000R/w = 0xA1 or 0xA0

 twi_start();       //*********** WRITING TO MEMORY IC2 ADDRESS= 0xA2 for writing and  0xA3 for reading .
 twi_write(0xA2);                        //        IC1 ADDRESS= 0xA0 for writing and   0xA1 for reading
 twi_write(0x00); twi_write(0x00);
 twi_write(okay[0]);
 twi_write(okay[1]);
 twi_write(okay[2]);
 twi_write(okay[3]);
 twi_stop();
 delay_ms(10);       //THIS IS VERY NECESSRY AFTER EVERY WRITING  from data sheet of memory ic .

 
  twi_start();     //*********** READING FROM MEMORY IC2
 twi_write(0xA2);
 twi_write(0x00); twi_write(0x00);
 twi_start();
 twi_write(0xA3);
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,1,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,5,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(2,1,ltrim(disp));
 val2=twi_read(0);  inttostr(val2,disp); lcd_out(2,5,ltrim(disp));
 twi_stop();
 delay_ms(10);
 
}
السلام عليكم
اخي من فضلك اريد رابط MikroC for avr مع الكراك بحثت عنه كثيرا و لم اجده لو تتفضل بوضعه هنا و شكراً

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 15-11-2015, 07:49 PM المشاركة 3   
افتراضي النسخة المطلوبة



السلام عليكم ورحمة الله و بركاته

نسخة ميكرو سي avr
الموضوع الاصلي
http://www.dbaasco.com/vb/showthread.php?t=5631


بتوفيق الله


التعديل الأخير تم بواسطة : مشتاق الله بتاريخ 15-11-2015 الساعة 08:06 PM

Sihem
:: مهندس ::
تاريخ التسجيل: Nov 2015
المشاركات: 35
نشاط [ Sihem ]
قوة السمعة:0
قديم 17-11-2015, 05:08 PM المشاركة 4   
افتراضي



السلام عليكم ورحمة الله و بركاته

نسخة ميكرو سي avr
الموضوع الاصلي
http://www.dbaasco.com/vb/showthread.php?t=5631


بتوفيق الله

بارك الله فيك
لقد قمت بتحميل المايكروسي من الرابط في الموضوع الأصلي لكنه بدون كراك يعني لا يمكنني عمل مشاريع اكبر من 2 كيلو و قد بحثت عن الكراك كثيرا لكن لم اجده


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 17-11-2015, 06:24 PM المشاركة 5   
win حاول مرة اخري


بارك الله فيك
لقد قمت بتحميل المايكروسي من الرابط في الموضوع الأصلي لكنه بدون كراك يعني لا يمكنني عمل مشاريع اكبر من 2 كيلو و قد بحثت عن الكراك كثيرا لكن لم اجده

هو عبارة عن ملفين البرنامج و كراك عن تجربه و شغال .
ممكن يكون anti virous بيقوم مسحه بعد فك تسطيب , اوقف anti قبل الفك و حاول و بعد التسطيب شغل ال anti

وفقكم الله


الصورة الرمزية gheas
gheas
:: مهندس متواجد ::
تاريخ التسجيل: May 2005
الدولة: https://t.me/pump_upp
المشاركات: 128
نشاط [ gheas ]
قوة السمعة:0
قديم 07-03-2016, 05:15 AM المشاركة 6   
افتراضي


جزاك الله خيرا


Sihem
:: مهندس ::
تاريخ التسجيل: Nov 2015
المشاركات: 35
نشاط [ Sihem ]
قوة السمعة:0
قديم 11-03-2016, 07:10 PM المشاركة 7   
افتراضي


بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

للاخوة احب اعرض عليكم برنامج للكتابه في / و القراءة من شريحة ذاكرة EEPROM بالمواصفات التالية : AT24C512 سعتها الخزينية 64KB - و تتعامل ببروتوكول I2C
8PIN - WRITE PROTECT - HARDWARE ADDRESSABLE .

COMPILER: MIKRO C AVR
PROCESSOR: ATMEGA32
FREQ: INTERNAL 4 MHz

ان شاء الله البرنامج يقرأ بيانات من مصفوفة ثم يخزنها في الذاكرة
ثم يقرأها من الذاكرة و يعرضها على شاشة .
البرنامج تدريب للتعامل مع I2C بالاضافة انه يقدر يتعامل مع اكثر من ذاكرة على نفس ال مسار I2C BUS .


كود:
#include"data.h"

 char val1,val2 , disp[4];
void main() {
 LCD_INIT();
 TWI_INIT(100000) ;
 LCD_CMD(_LCD_CURSOR_OFF);
                      // ADDRESS OF FIRST IC [1,0,1,0,0,A1,A0,R/w] = 1010000R/w = 0xA1 or 0xA0

 twi_start();       //*********** WRITING TO MEMORY IC2 ADDRESS= 0xA2 for writing and  0xA3 for reading .
 twi_write(0xA2);                        //        IC1 ADDRESS= 0xA0 for writing and   0xA1 for reading
 twi_write(0x00); twi_write(0x00);
 twi_write(okay[0]);
 twi_write(okay[1]);
 twi_write(okay[2]);
 twi_write(okay[3]);
 twi_stop();
 delay_ms(10);       //THIS IS VERY NECESSRY AFTER EVERY WRITING  from data sheet of memory ic .

 
  twi_start();     //*********** READING FROM MEMORY IC2
 twi_write(0xA2);
 twi_write(0x00); twi_write(0x00);
 twi_start();
 twi_write(0xA3);
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,1,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(1,5,ltrim(disp));
 val2=twi_read(1);  inttostr(val2,disp); lcd_out(2,1,ltrim(disp));
 val2=twi_read(0);  inttostr(val2,disp); lcd_out(2,5,ltrim(disp));
 twi_stop();
 delay_ms(10);
 
}

السلام عليكم
بارك الله في علمك
اخي من فضلك ما معنى هذه الدالة pgm_read_byte_near في avr studio و ما يقابلها في المايكروسي...
و لدي تساؤل اخر عملت مشروع ليد ماتريكس في المايكروسي و استعملت PIC18F452 اخذ سبعون بالمئة من الذاكرة rom لكن عندما حولت الكود ل avr studio و استعملت atmega 32 ظهرت لي رسالة تفيد بان البرنامج استهلك 155 بالمئة من الذاكرة مع العلم ان PIC18F452 و atmega 32 لديهم نفس حجم ذاكرة rom فما تفسير هذا و شكرا لك اخي


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 12-03-2016, 05:21 AM المشاركة 8   
x4


بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

السلام عليكم

اخي من فضلك ما معنى هذه الدالة pgm_read_byte_near في avr studio و ما يقابلها في المايكروسي...
و لدي تساؤل اخر عملت مشروع ليد ماتريكس في المايكروسي و استعملت PIC18F452 اخذ سبعون بالمئة من الذاكرة rom لكن عندما حولت الكود ل avr studio و استعملت atmega 32 ظهرت لي رسالة تفيد بان البرنامج استهلك 155 بالمئة من الذاكرة مع العلم ان PIC18F452 و atmega 32 لديهم نفس حجم ذاكرة rom فما تفسير هذا و شكرا لك اخي
اخى العزيز جزاك الله خيرا

pgm_read_byte_near (address)
هذه التعليمة لقراءة بايت من ذاكرة البرنامج فى حدود اول مساحة 64kb من flash application memory وهى المخصصة لذاكرة البرنامج و يقابلها فى الميكرو سي
FLASH_READ_Byte(address)
ممكن تبحث عليه فى ال help

اما جزئية عدم تساوى المساحات بين البيك و الاتمل فربما لعدم تماثل حجم البرنامجين فى عدد الاوامر ,
اما لو ان البرنامجين متشابهين لحد كبير فربما يرجع ذلك ان :
ذاكرة البيك word oriented = 14 bit (word) اى وحدة التخزين فيها word

ذاكرة الاتميل byte oriented = 8 bit (byte) وحدة التخزين فيها byte
و الله اعلى و اعلم الموضوع محتاج بحث


و ما توفيقي الا بالله

اللهم اغفر لنا ان جعلنا القران اهون ما نقرا
اللهم ردنا اليه و اجعله ربيع قلوبنا
و دليل حياتنا


إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 02:12 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025