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

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

الصورة الرمزية Semmoor
Semmoor
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
المشاركات: 300
نشاط [ Semmoor ]
قوة السمعة:0
قديم 19-05-2012, 07:57 PM المشاركة 1   
افتراضي استخدام ذاكرة MMC في برنامج المحاكاة (بروتس). Twitter FaceBook Google+



حبيت اضيف احد الشروح المهمة اللي كتبتها عن طريقة انشاء card image باستخدام برنامج winimage.

على فكرة card image عبارة عن ملف بصيغة mmc نعرف من الاسم انه يمكن استخدامه كذاكرة لحفظ الملفات.

تخيل انك تبي تسوي مشروع فيه مثلا حساسة حرارة موصلة في الميكرونترولر تحس بدرجة الحرارة بالمحيط الخارجي طبعا سهل, بس لو انا ابي احفظ درجات الحرارة في ميموري , يعني مثلا درجة الحرارة في يوم معين تكون مسجلة في ملف داخل الميموري ؟؟

طبعا مو بس كدا في مشاريع كثييرة تكون فيها الذاكرة مهمة انا راح اكتفي بشرح كيفية استخدام MMC ميموري .


اول شي عشان نستخدم الميموري الموجودة في برنامج المحاكاة بروتس نحتاج لملف يسمى الكارد ايميج هدا الملف هو اللي راح يخزن المعلومات من الميكروكونترولر. وطبعا يتم انشاء الكارد ايميج عن طريق برامج كثيرة من افضلها عندي برنامج winimage.

هدا الرابط فيه طريقة انشاء الكارد ايميج مع الصور طبعا شرح كامل وبرنامج winimage موجود ايضا. سويته في منتديات الفريق العربي للبرمجة
الرابط http://www.arabteam2000-forum.com/in...owtopic=262896

تابع الموضوع خصوصا الرد في الاسفل كتبت الطريقة لمن لم يفهم الصور.

وبعدين انشاءالله راح اضع بعض التطبيقات اللي تستخدم الميموري كارد مع الميكروكنترولر بلغة المايكروسي.

سلام...








طبعا انا قاعد اتكلم عن تصميم المشرووع في برنامج البروتس!!

اعلانات

الصورة الرمزية 3bkarino medo
3bkarino medo
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
الدولة: دمنهور البحيرة
المشاركات: 272
نشاط [ 3bkarino medo ]
قوة السمعة:0
قديم 19-05-2012, 08:16 PM المشاركة 2   
افتراضي


الملف Steps For Creating Card Image And Using it In Proteus يشرح الطريقة بالصورhttp://www.4shared.com/rar/gMl7xdPG/...rd_Image_.html

والملف WinImage.8.50 يحتوي على البرنامج المطلوب لإنشاء الكارد ايمي
http://www.4shared.com/rar/sMDZ1fhi/WinImage850.html
اول شي بعد تحميل البرنامج افتح البرنامج كما في الصورة رقم1

بعدين اضغط على new كما في الصورة رقم2

بعدين اختار الخيار الاخير كما في الصورة رقم3 واضغط ok

بعدين كمان اضغط ok

بعدين احفظ الملف في اي مكان تريد مع تسجيل اسم طبعا بعدين اضغط save

بعدين اضغط على ايقونة save في البرنامج كما في الصورة رقم6 واغلق البرنامج

راح تلاقي الملف المحفوظ في المكان اللي انت حفظه حط الماوس على الملف وبعدين اختار اعادة تسمية لاتغيييير اسم الملف ابدا بس اضف في نهاية الاسم .mmc

وبعدها افتح البروتس واختار mmc كما في الصورة رقم10

اضغط على خيارات كما في الصورة رقم 11 لتحديد الملف الكارد ايميج

بعدها راح تجيك نافذه فيها اشياء كثيرة كما في الصورة رقم12 اضغط على صورة الملف الاصفر الصغير اللي بجانبه مكتوب
card image file

بعدها حدد مكان الكارد ايميج اللي حفظه راح تلاحظ ان مافي ملف حتى لو رحت نفس مكان الكارد ايميج !!! بس اكتب اسم الملف كما في الصورة رقم13

باختصار رح موقع الملف واكتب الاسم وراح يظهر لك في القائة الاسماء اسم الملف اختاره وبعدين اختار open

بعدها خلاص معد في شي ................. بس وصل الميموري اللي في البروتس بالمايكرونترولر واحفظ اللي تبيه
طبعا اذا كنت ذكي احفظ ملف ايميج واحد وبعدين سوي نسخ ولصق لما تبي, افضل من انك تسوي من جديد في winimage.

السسب الرئيسي طرحي لهذا الموضوع ان اكثر الأشياء الصعبة اللي كنت اسمعه من مبرمجي المايكرونترولر هي انشاء الكارد ايمج وبرمجة الكارد من نوع MMC, اتمنى الكل يستفيد

سلام.....

بارك الله فيك
وجعله في ميزان حسناتك

لقد وضعت الروابط بالاعلي لتسهيل الوصول اليها

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

khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 20-05-2012, 12:07 PM المشاركة 3   
افتراضي


شكرا على الموضوع و أتمنى أن يكتمل تماما الاكمال
وخاصة بستخدام البيك 16F877و شاشة نوكيا 3310 في المشروع
وشكرا


التعديل الأخير تم بواسطة : khamed tabet بتاريخ 20-05-2012 الساعة 12:14 PM

الصورة الرمزية Semmoor
Semmoor
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
المشاركات: 300
نشاط [ Semmoor ]
قوة السمعة:0
قديم 22-05-2012, 05:46 PM المشاركة 4   
افتراضي الدرس الاول


في هذا الدرس راح نستخدم الميموري لــ:

1_ انشاء ملف جديد

2_ كتابة بعض البيانات على الملف الجديد

3_ إضافة بيانات جديدة في الملف(عبارة عن تكملة للبيانات الاولى)

4_ قراءة البيانات وارسالها عن طريق السريال بورت


هذا رابط المشروع كاملا ( الدائرة في البروتس + الكود في المايكروسي)

http://www.4shared.com/rar/ezLGQad1/...d_Lessons.html

وهذا الملف يحتوي على صورتين
http://www.4shared.com/rar/dh5HKvJd/MMC_Pictures.html

الصورة رقم1: توضح الرسمة حق الدائرة في البروتس
الصورة رقم2: صورة بعد تجربة البرنامج بنجاح نلاحظ الملف اللي تم انشاؤه و البيانات المكتوبة


التعديل الأخير تم بواسطة : Semmoor بتاريخ 22-05-2012 الساعة 05:59 PM

الصورة الرمزية Semmoor
Semmoor
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
المشاركات: 300
نشاط [ Semmoor ]
قوة السمعة:0
قديم 22-05-2012, 06:03 PM المشاركة 5   
افتراضي شرح الكود حق الدرس الاول


;"char filename[] = "MYFILE55TXT
اعلان عن متغير عبارة عن مصفوفة لتخزين اسم الملف , TXT عبارة عن نوع صيغة الملف ماله دخل في الاسم الملف.

;"...unsigned char txt[] = "This is the added data
اعلان عن متغير ايضا مصفوفة لتخزين الكتابة اللي نبي نضيفه في الملف اللي راح يتم انشائه داخل الميموري.

;unsigned short character
اعلان عن متغير لقرأءة محتويات الملف, يعني يقوم بقراءة البيانات اللي تم كتابتها في الملف.

;unsigned long file_size, i
المتغير file_size راح يخزن حجم الملف اللي تم انشاؤه لاننا عندما ننشأ ملف ونريد قراءة محتوياته يجب علينا اولا تحديد حجمه, اما i راح يستخدم كعداد في اللوب عند قراءة البيانات باستمرار.

....................... الان داخل main function.......................................


;(Usart_Init(2400
راح نستخدم السريال بورت والبودرايت اي سرعة انتقال البيانات راح تكون 2400, راح نستخدم السريال بورت عشان نعرض البيانات المكتوبة داخل الملف, طبعا في البروتس شي اسمه virtual terminal لعرض البيانات بواسطة السريال بورت.


...هذه الأوامر الثلاثة في الاسفل مهمة يجب كتابتها عند استخدام الميموري في المايكروسي....
Spi_Init_Advanced(MASTER_OSC_DIV16,DATA_SAMPLE_MID DLE,
CLK_IDLE_LOW, LOW_2_HIGH);

هذا الامر يقوم بإخبار لغة المايكروسي باننا سنستخدم الميموري.


;((while(Mmc_Init(&PORTC,2)
يقوم بتعريف المنفذ port c بانه المنفذ اللي موصول فيه chip select او اختصار CS حق الميموري, الامر يقوم بتحديد عنوان الباس حق الميموري.

;((while(Mmc_Fat_Init(&PORTC,2
يقوم بتعريف FAT file system , طبعا عند التعامل مع الملفات في الميموري راح نستخدم نظام FAT في انشاء الملفات.


;(Mmc_Fat_Assign(&filename,0x80
يقوم بانشاء الملف كما تلاحظ قمنا بارسال المتغير اللي يحمل اسم الملف filename,
0x80 يعني اذا لم يكن الملف اصلا موجود, باختصار انشاء ملف بالاسم المحدد اذا لم يكن موجود.


;()Mmc_Fat_Rewrite
يقوم بعمل فورمات للملف اللي تم انشاؤه عشان نبدا نكتب بعض البيانات من جديد.


;(Mmc_Fat_Write("This is MYFILE.TXT.",19
هذا الامر يقوم بكتابة النص الموجود داخل علامة التنصيص , لاحظ مهم جدا عند الانتهاء من كتابة البيانات يجب كتابة حجم النص المكتوب رقما.


;()Mmc_Fat_Append
يقوم باعلام لغة المايكروسي باننا نريد اضافة بعض البيانات في الملف اللي تم انشاؤه , يعني راح يكون تكمله بعد النص اللي تم كتابته مؤخرا.


;((Mmc_Fat_Write(txt,sizeof(txt
الان هذا هو النص اللي نريد اضافته txt كما تعلم بان txt عبارة عن مصفوفة تحمل بعض البيانات تم الاعلان عنه في الاعلى,
وكما قلت بان بعد اضافة اي نص يجب علينا ذكر حجمه بس دي المرة راح نستخدم طريق ثانية , الامر sizeof يتيح لنا ذلك,

طبعا يتم كتابة الامر sizeof وداخله نقوم بكتابة المتغير اللي يحمل النص ,
اي ان الامر sizeof يقوم بكتابة حجم النص المكتوب اللي هو txt, كما تعلمون ان احيانا يكون صعب حساب كم حرف تم كتابته!!؟؟
لهذا نحتاج الامر sizeof .




;(Mmc_Fat_Reset(&file_size
يقوم بتجهيز الملف لعملية القراءة وايضا يقوم بكتابة حجم الملف اللي تم تهيئته في المتغيرfile_size , لاننا بحاجة لحجم الملف لعملية القراءة.

............... داخل الحلقة لوب لعملية القراءة........................
(++for(i=0; i<file_size; i
حلقة تدوم باستمرار على حسب حجم الملف في file_size.


;(Mmc_Fat_Read(&character
يقوم بقراءة محتويات الملف وتخزينه في المتغير character.


;(Usart_Write(character
يقوم بارسال البيانات التي تم قراءته الى السريال بورت.

<<<<<<<<<<<<<الحمدلله>>>>>>>>>>>>>>>>>



شباب لامانع لدي من نشر الموضوع لأي موقع للفائده.
ارجو من الكل الاستفادة.
سلام..........


التعديل الأخير تم بواسطة : Semmoor بتاريخ 22-05-2012 الساعة 06:17 PM

الصورة الرمزية khaled maitah
khaled maitah
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2012
المشاركات: 63
نشاط [ khaled maitah ]
قوة السمعة:0
قديم 22-05-2012, 06:48 PM المشاركة 6   
افتراضي


موضوع رائع وطرح جميـــــــــــــــل ... بارك الله فيك الى الامام


حمودي1010
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 237
نشاط [ حمودي1010 ]
قوة السمعة:0
قديم 22-05-2012, 07:11 PM المشاركة 7   
افتراضي


نرجو منكم اعادة رفع الملف لانه محضور عندنا
لانستطيع التحميل من 4shared

الله يسترك


الصورة الرمزية Semmoor
Semmoor
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
المشاركات: 300
نشاط [ Semmoor ]
قوة السمعة:0
قديم 22-05-2012, 07:36 PM المشاركة 8   
افتراضي مافي مشكلة اخوي عطني ايميلك بس وابشر.


نرجو منكم اعادة رفع الملف لانه محضور عندنا
لانستطيع التحميل من 4shared

الله يسترك
مافي مشكلة اخوي عطني ايميلك بس وابشر.

إضافة رد

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

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

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


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

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