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

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

الصورة الرمزية moudy99
moudy99
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
الدولة: DAMASCUS
المشاركات: 61
نشاط [ moudy99 ]
قوة السمعة:0
قديم 04-09-2010, 08:06 PM المشاركة 1   
افتراضي خطا ما في برمجة الeeprom Twitter FaceBook Google+



السلام عليكم
اخوتي اني احاول ان اتعامل مع ذواكر ال eeprom ولكن واجهتني مشاكل عندما حاولت حفظ البايت
البرنامج في المرفقات
والبرنامج هو حفظ قيمة رقم يتم اظهاره على 7segment

فعند الضغط على زر save يتم حفظ قيمة الرقم الظاهر
وعند الضغط على زر الload يتم استرجاع الرقم التي تم حفظه في البداية

والزر inc يقوم على زيادة الرقم الظاهر على الشاشة

ممكن لو تساعدوني في العثور على الخطا

TEMP equ 30h




D.ADR EQU 45H
SCL EQU P3.3
SDA EQU P3.4
REC.DAT EQU 41H


START: MOV A,#0
CALL HEX27SEG
MOV P1,TEMP

INCA: JB P3.0,SAVE
INC A
CALL HEX27SEG
MOV P1,TEMP
CALL DELAY1



SAVE: JB P3.1,LOAD
MOV D.ADR,#1
MOV 50H,A
MOV A,#10100000B
CALL START.P
CALL SEND
CALL ACK
CALL DELAY

MOV A,D.ADR
CALL SEND
CALL ACK
CALL DELAY

MOV A,50H
CALL SEND
CALL ACK
CALL DELAY
CALL STOP
MOV A,50H




LOAD: JB P3.2,INCA
MOV A,#10100010B
CALL START.P
CALL SEND
CALL ACK
CALL DELAY

MOV A,D.ADR
CALL SEND
CALL ACK
CALL DELAY

MOV A,10100011B
CALL START.P
CALL SEND
CALL ACK
CALL DELAY

CALL READ
CALL DELAY
CALL STOP
MOV A,REC.DAT
CALL HEX27SEG
MOV P1,TEMP
CALL DELAY1
JMP INCA

;-----------------------------------------------------

SEND: MOV R6,#8
NEXT: RLC A
MOV SDA,C
CALL DELAY
SETB SCL
CALL DELAY
CLR SCL
CALL DELAY
DJNZ R6,NEXT
RET

;------------------------------------------------------------------------------

READ: MOV R6,#8
S: SETB SCL
CALL DELAY
CLR SCL
CALL DELAY
MOV C,SDA
RLC A
DJNZ R6,S
RRC A
MOV REC.DAT,A
RET

;----------------------------------------------------------------------------

ACK: SETB SCL
CALL DELAY
CLR SCL
RET
;----------------------------------------------------------------------------

START.P: SETB SCL ;START CONDITION
SETB SDA
CALL DELAY
CLR SDA
CALL DELAY
CLR SCL
CALL DELAY
RET

;----------------------------------------------------------------------------
STOP: CLR SDA
SETB SCL ;STOP CONDITION
CALL DELAY
SETB SDA
RET

;----------------------------------------------------------------------------
DELAY: MOV 6FH,#3
LOOP: MOV 6EH,#255
DJNZ 6EH,$
DJNZ 6FH,LOOP
RET


;----------------------------------------------------------------------------

hex27seg: mov r3,a
MOV DPTR,#TABLE
MOVC A,*A+DPTR
MOV TEMP,A
MOV A,R3
RET
table: db 40h,79h,24h,30h,19h,12h,02h,78h,00h,10h,08h,03h,46 h,21h,06h,0eh

;-------------------------------------------------------------------------------

delay1: mov r2,#2
loop3: mov r1,#255
loop2: mov r0,#255
loop1: djnz r0,loop1
djnz r1,loop2
djnz r2,loop3
ret



البرنامج هنا
http://www.4shared.com/file/lddRRktL/TEST_EEPROM.html

اعلانات

الصورة الرمزية moudy99
moudy99
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
الدولة: DAMASCUS
المشاركات: 61
نشاط [ moudy99 ]
قوة السمعة:0
قديم 04-09-2010, 08:12 PM المشاركة 2   
ha


واي استفسار او اي شي غير مفهوم ارجو اخباري لاوضحه لكم

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

الصورة الرمزية moudy99
moudy99
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
الدولة: DAMASCUS
المشاركات: 61
نشاط [ moudy99 ]
قوة السمعة:0
قديم 04-09-2010, 10:23 PM المشاركة 3   
افتراضي


الا يوجد ردود ارجو منكم الاهتمام قليلا لان هذا الموضوع قد شغلني كثيرا
وشكرا لاصغائكم


الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 05-09-2010, 12:13 AM المشاركة 4   
افتراضي


أخي السلام عليكم

أنا بالنسبة لي أعرف شيئاً عن الاسمبلي ولكن خارج والبيك وعن البيك أعرف قليلاً
ولكن يمنني مساعدتك في ال mikro C اذا احببت وهو سهل جداً في التعامل مع الeeprom .

إنشالله نكون أفدناك
شكراً
دمتم سالمين


الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 05-09-2010, 12:13 AM المشاركة 5   
افتراضي


أخي السلام عليكم

أنا بالنسبة لي أعرف شيئاً عن الاسمبلي ولكن خارج والبيك وعن البيك أعرف قليلاً
ولكن يمكنني مساعدتك في ال mikro C اذا احببت وهو سهل جداً في التعامل مع الeeprom .

إنشالله نكون أفدناك
شكراً
دمتم سالمين


الصورة الرمزية moudy99
moudy99
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
الدولة: DAMASCUS
المشاركات: 61
نشاط [ moudy99 ]
قوة السمعة:0
قديم 05-09-2010, 02:13 AM المشاركة 6   
افتراضي


أخي السلام عليكم

أنا بالنسبة لي أعرف شيئاً عن الاسمبلي ولكن خارج والبيك وعن البيك أعرف قليلاً
ولكن يمكنني مساعدتك في ال mikro C اذا احببت وهو سهل جداً في التعامل مع الeeprom .

إنشالله نكون أفدناك
شكراً
دمتم سالمين

شكرا لك اخي على مساعدتك
تستطيع مساعدتي لو تكرمت علي وكتبت لي تسلسل الخطوات المطلوبة لحفظ بايت في الذاكرة وكيفية استعادته
اكتبه باللغة العربية وانا بدوري ساحوله الى برنامج
لاني بصراحة لم افهم طبيعة برمجة هذه الذواكر

ولي سؤال قرات في احد الكتب انه يجب اضافة مقاومة سحب للاعلى لتحديد سرعة نقل البيانات ممكن لو توضح لي هذه الفكرة
ولي طلب اخر لو سمحت وهو هل لو تكرمت علي واطلعت على ملف المحاكاة واخبرتني اذا قد كنت قد وصلت الدارة بشكل صحيح اما لا
وشكرا لتعاونك
والسلام عليكم


الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 05-09-2010, 10:01 AM المشاركة 7   
افتراضي


شكرا لك اخي على مساعدتك
تستطيع مساعدتي لو تكرمت علي وكتبت لي تسلسل الخطوات المطلوبة لحفظ بايت في الذاكرة وكيفية استعادته
اكتبه باللغة العربية وانا بدوري ساحوله الى برنامج
لاني بصراحة لم افهم طبيعة برمجة هذه الذواكر

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

بالنسبة لل سي :
تدخل على Tools >>EEPROM EDITOR
وتملأ ما تريد من البيانات في داخل وتفعل حفظ .

وعندما تريد فتح برجكت جديدة عليك أن تفعل Add File وتختاره.
هناك أمران أيضاً
كود:
EEPROM_Write(data,adress);
EEPROM_Read(adress);
فيما خص المقاومة فأنا لم أسمع بها وفعلت بروجكت وتمت بشكل طبيعي عملياً

هذا الكله الذي مر إذا كانت EEPROM داخلية
(التجربة العملية في المواضيع المميزة : باسوورد 6 أحرف)
أما خارجية فأنا لا أعرف شيئاً عنها (وهذا الظاهر قصدك لأنني لم أنتبه أن هناك circuit وال EEPROM الداخلية لا تحتاج circuit )

أعتذر أخي لعدم فهم قصدم اذا كانت خارجية

على كل حال المهم أن نكون أفدنا الجميع

سلام
دمتم سالمين



الصورة الرمزية moudy99
moudy99
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
الدولة: DAMASCUS
المشاركات: 61
نشاط [ moudy99 ]
قوة السمعة:0
قديم 05-09-2010, 02:49 PM المشاركة 8   
x9


بالنسبة لسؤالك الأول اذا كانت الخطوات أسمبلي فأنا لا أستطيع أن أفيدك إلا إن أمهلتني لبعض الوقت.

بالنسبة لل سي :
تدخل على Tools >>EEPROM EDITOR
وتملأ ما تريد من البيانات في داخل وتفعل حفظ .

وعندما تريد فتح برجكت جديدة عليك أن تفعل Add File وتختاره.
هناك أمران أيضاً
كود:
EEPROM_Write(data,adress);
EEPROM_Read(adress);
فيما خص المقاومة فأنا لم أسمع بها وفعلت بروجكت وتمت بشكل طبيعي عملياً

هذا الكله الذي مر إذا كانت EEPROM داخلية
(التجربة العملية في المواضيع المميزة : باسوورد 6 أحرف)
أما خارجية فأنا لا أعرف شيئاً عنها (وهذا الظاهر قصدك لأنني لم أنتبه أن هناك circuit وال EEPROM الداخلية لا تحتاج circuit )

أعتذر أخي لعدم فهم قصدم اذا كانت خارجية

على كل حال المهم أن نكون أفدنا الجميع

سلام
دمتم سالمين


شكرا لك اخي فقد استطعت بفضل الله حل هذه المشكلة واشكرك على مساعدتك لي

إضافة رد

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

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

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


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

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