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

   

الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 335
نشاط [ MYM ]
قوة السمعة:
قديم 04-03-2010, 05:52 PM المشاركة 57   
افتراضي



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

زملائي الاعزاء انا اذا بدي اعمل مثال عملي فما هو الا تطبيق مباشر لبعض الامثلة التي تم شرحها مسبقا

فعلى سبيل المثال مشاركة رقم 18 كانت شرح للطريقة الاولى للكتابة الى الميموري, وهي كتابة بايت واحد الى الى الميموري.

وتنازلا عن رغبة بعض الزملاء سوف اقوم بكتابة بايت الى الميموري وعرضة على بورت بي ( PORT B ) وسوف استخدم نفس المثال الموجود بمشاركة رقم 18 .

وكما قلت فبأمكان اي شخص اخذ اي برنامج من المشروحين وتحويلة الى هكسا كوود واستخدامة .

واتمنى ان اكون قد وضحت الامور اكثر واكثر .

واي واحد سوف يكون عندة اي سؤال او استفسار عن البرنامج فرجاء مراجعة الشرح السابق
لانة من الصعب ان اقوم بشرح برنامج قد تم شرحة سابقا

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

ولا تنسونا من صالح الدعاء .... اخوكم م. نافذ ابو كشك


واللهم انصر الاسلام والمسلمين
أخي جزاكم الله خيرا .... فإذا أثقلنا عليك و الأمر عليك هين بإذن الله .... أن تعمل مثال يشمل الكتابة و القراءة بأنواعها .... على ذاكرة مثلا 32 أو 64 ... فهما منتشران الآن و بكثرة و سعرهما لا يزيد عن الذاكرات 4 أو 8 بكثير....
و لك جزيل الشكر سلفا


التعديل الأخير تم بواسطة : MYM بتاريخ 05-03-2010 الساعة 11:00 AM السبب: أخطاء املائية
اعلانات

الصورة الرمزية م. نافذ ابو كشك
م. نافذ ابو كشك
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
الدولة: االسعودية - الاحساء
المشاركات: 148
نشاط [ م. نافذ ابو كشك ]
قوة السمعة:
قديم 06-03-2010, 11:09 PM المشاركة 58   
افتراضي


السلام عليكم ورحمة الله وبركاتة
هذا الكوود كما قلنا سابقا في مشاركة رقم 18 لكتابة رقم 55 الى الميموري ومن ثم عرضة على بورت بي .

وهذا البرنامج بالباسكال ومو بعيد عن المايكرو سي
ولو راجعت مشاركة 18 راح تلاقي نفس الاوامر......وبالتوفيق

كود:
program NAFEZ_TEST_I2C;

var t,X: byte;
begin
PORTB := 0;
TRISB := 0; // configure PORTB as output
I2C1_Init(400000); 
I2C1_Start(); 
I2C1_Wr($A2); 
I2C1_Wr(2); 
I2C1_Wr($55); 
I2C1_Wr(3);  
I2C1_Wr($77);
I2C1_Stop(); 
Delay_100ms();

I2C1_Start(); 
I2C1_Wr($A2); 
I2C1_Wr(2); 
I2C1_Repeated_Start(); 
I2C1_Wr($A3);
t:= I2C1_Rd(0);
X:= I2C1_Rd(1); 
I2C1_Stop(); 
PORTB := t;
//DELAY_MS(500);
//PORTB := X ;
end.
وهذة صورة البروتوس يعرض بايت 55 على بورت بي

[img]http://img103.***********/2010/03/06/575527540.jpg[/img]


ولا تنسونا من صالح الدعاء

واللهم انصر الاسلام والمسلمين


التعديل الأخير تم بواسطة : م. نافذ ابو كشك بتاريخ 06-03-2010 الساعة 11:18 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

حمودي1010
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 231
نشاط [ حمودي1010 ]
قوة السمعة:
قديم 07-03-2010, 01:17 PM المشاركة 59   
ha


السلام عليكم ورحمة الله وبركاتة
هذا الكوود كما قلنا سابقا في مشاركة رقم 18 لكتابة رقم 55 الى الميموري ومن ثم عرضة على بورت بي .

وهذا البرنامج بالباسكال ومو بعيد عن المايكرو سي
ولو راجعت مشاركة 18 راح تلاقي نفس الاوامر......وبالتوفيق

كود:
program NAFEZ_TEST_I2C;

var t,X: byte;
begin
PORTB := 0;
TRISB := 0; // configure PORTB as output
I2C1_Init(400000); 
I2C1_Start(); 
I2C1_Wr($A2); 
I2C1_Wr(2); 
I2C1_Wr($55); 
I2C1_Wr(3);  
I2C1_Wr($77);
I2C1_Stop(); 
Delay_100ms();

I2C1_Start(); 
I2C1_Wr($A2); 
I2C1_Wr(2); 
I2C1_Repeated_Start(); 
I2C1_Wr($A3);
t:= I2C1_Rd(0);
X:= I2C1_Rd(1); 
I2C1_Stop(); 
PORTB := t;
//DELAY_MS(500);
//PORTB := X ;
end.
وهذة صورة البروتوس يعرض بايت 55 على بورت بي

[IMG]http://img103.***********/2010/03/06/575527540.jpg[/IMG]


ولا تنسونا من صالح الدعاء

واللهم انصر الاسلام والمسلمين
السلام عليكم

نرجو منكم رفع الملف لتجربته

من اين اتيت بالجدول اللذي فيى الرقم 55 اي ( I2C-debug)
وماذا تعني تلك الحروف A2 02 A 55
الخ
ننتضر منك شرح هذه العناصر
وبارك الله فيك الله يشافيك ويشافي الامة اجمعين


الصورة الرمزية م. نافذ ابو كشك
م. نافذ ابو كشك
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
الدولة: االسعودية - الاحساء
المشاركات: 148
نشاط [ م. نافذ ابو كشك ]
قوة السمعة:
قديم 08-03-2010, 04:26 PM المشاركة 60   
افتراضي


السلام عليكم

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

نرجو منكم رفع الملف لتجربته

>>>>>لا داعي لرفع الملف , البرنامج موجود عندك بمشاركة رقم 18 بلغة المايكروسي , وموجود بلاعلى بلغة الباسكال , ما عليك الاتحويلة الى هكسا كوود وتحميلة بالبيك , الرجاء بذل شوية مجهود .......هههههههههههة .

من اين اتيت بالجدول اللذي فيى الرقم 55 اي ( I2C-debug)
وماذا تعني تلك الحروف A2 02 A 55
الخ


>>>>>هذا كلة لا يهم وليس لة داعي اصلا , وانما انا احببت ان اعمل معاينة للميموري وربط بايت 55 التي تم تخزينة وظهورة الى بورت بي ..


ننتضر منك شرح هذه العناصر

>>>>هذة العناصر تم شرحها وهي البرنامج المكتوب نفسة وقد تم شرحها كما قلت بمشاركة رقم 18 والان الامر مجرد Simulation واتمنى بذل شوية مجهود وقراءة المشاركة لانني بصراحة لا استطيع ان اشرح مرتين كما قلت سابقا ......وانا تأخرت بالبروتوس لكي الكل يقرأ المشاركات ويفهمها جيدا وعند التنفيذ .....تكون امورك جاهزة ........ومعلش انا اسف واتحملني اخوي بالنسبة للشرح المرة اخرى فهو مشروح مسبقا .

وبارك الله فيك الله يشافيك ويشافي الامة اجمعين

>>>> I appreciate you Blessing that first time heard

واللهم انصر الاسلام والمسلمين .


montasr88
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
الدولة: jordan
المشاركات: 127
نشاط [ montasr88 ]
قوة السمعة:
قديم 26-03-2010, 12:27 AM المشاركة 61   
افتراضي


ارجو تفسير كل سطر من البرنامج ماذا يعني
لنتمكن بدورنا من كتابته بلغه البرمجه الموجوده لدينا

مع اطيب الاماني


jackal313_3
:: مهندس ::
تاريخ التسجيل: Mar 2010
المشاركات: 9
نشاط [ jackal313_3 ]
قوة السمعة:
قديم 26-03-2010, 04:26 AM المشاركة 62   
افتراضي


السلام عليكم ورحمه الله وبركاته
اخى الفاضل م نافذ ابو كشك
جزالك الله خير على ذلك الشرح الوافى
قمت بعمل تجربه بسيطه على بيك 16f877 ولكنها لم تعمل حيث ان القيمه المسجله فى الايبروم ثابته لا تتغير وهى A3 بالرغم من انى وضعتها aa وعندما قمت بتغييريها الى 2c قام البيك باظهار 00000000 فقط فما هو وجهه القصور فى برنامجى
مرفق البرنامج وصوره البرتوس

"
program test

main:

PORTB = 0
TRISB = 0 ' Configure PORTB as output

I2C1_Init(100000) ' initialize I2C communication
I2C1_Start() ' issue I2C start signal
I2C1_Wr($A2) ' send byte via I2C (device address + W)
I2C1_Wr(2) ' send byte (address of EEPROM location)
I2C1_Wr($2c) ' send data (data to be written)
I2C1_Stop() ' issue I2C stop signal

Delay_100ms()

I2C1_Start() ' issue I2C start signal
I2C1_Wr($A2) ' send byte via I2C (device address + W)
I2C1_Wr(2) ' send byte (data address)
I2C1_Repeated_Start() ' issue I2C signal repeated start
I2C1_Wr($A3) ' send byte (device address + R)
PORTB = I2C1_Rd(0) ' Read the data (NO acknowledge)
I2C1_Stop() ' issue I2C stop signal


end.
"


وشكرا


الصورة الرمزية م. نافذ ابو كشك
م. نافذ ابو كشك
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
الدولة: االسعودية - الاحساء
المشاركات: 148
نشاط [ م. نافذ ابو كشك ]
قوة السمعة:
قديم 29-03-2010, 12:24 AM المشاركة 63   
افتراضي


ارجو تفسير كل سطر من البرنامج ماذا يعني
لنتمكن بدورنا من كتابته بلغه البرمجه الموجوده لدينا

مع اطيب الاماني
اخي العزيز البرنامج لقد تم شرحة بالتفصيل الممل بالمشاركات السابقة , الرجاء مراجعة المشاركات السابقة , لان كل برنامج سوف يتم تنفيذة على البروتوس هو اصلا لقد تم شرحة سابقا , وكما قلت بالبداية ليس من الممكن ان نشرح البرنامج مرتين .!

وتقبل احترامي.

واللهم انصر الاسلام والمسلمين


الصورة الرمزية م. نافذ ابو كشك
م. نافذ ابو كشك
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
الدولة: االسعودية - الاحساء
المشاركات: 148
نشاط [ م. نافذ ابو كشك ]
قوة السمعة:
قديم 29-03-2010, 12:33 AM المشاركة 64   
افتراضي


السلام عليكم ورحمه الله وبركاته
اخى الفاضل م نافذ ابو كشك
جزالك الله خير على ذلك الشرح الوافى
قمت بعمل تجربه بسيطه على بيك 16f877 ولكنها لم تعمل حيث ان القيمه المسجله فى الايبروم ثابته لا تتغير وهى A3 بالرغم من انى وضعتها aa وعندما قمت بتغييريها الى 2c قام البيك باظهار 00000000 فقط فما هو وجهه القصور فى برنامجى
مرفق البرنامج وصوره البرتوس

"
program test

main:

PORTB = 0
TRISB = 0 ' Configure PORTB as output

I2C1_Init(100000) ' initialize I2C communication
I2C1_Start() ' issue I2C start signal
I2C1_Wr($A2) ' send byte via I2C (device address + W)
I2C1_Wr(2) ' send byte (address of EEPROM location)
I2C1_Wr($2c) ' send data (data to be written)
I2C1_Stop() ' issue I2C stop signal

Delay_100ms()

I2C1_Start() ' issue I2C start signal
I2C1_Wr($A2) ' send byte via I2C (device address + W)
I2C1_Wr(2) ' send byte (data address)
I2C1_Repeated_Start() ' issue I2C signal repeated start
I2C1_Wr($A3) ' send byte (device address + R)
PORTB = I2C1_Rd(0) ' Read the data (NO acknowledge)
I2C1_Stop() ' issue I2C stop signal


end.
"


وشكرا
اخي العزيز :-
السلام عليكم ورحمة الله وبركاتة
عملك مميز ,
وانا عندما جربت اول برنامج لي اعطاني مثلك A3 , ولكن امورك بسيطة ان شاء الله.
وحتى نختصر الوقت الرجاء ارسال ملف الهكسا لتتبع البرنامج وتجريبة عندي لو سمحت .

وتقبل تحياتي


واللهم انصر الاسلام والمسلمين.



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