المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : برمجة ال adc بلغة الميكرو سى


eng_a_sayed
05-24-2010, 08:19 PM
الدرس الخامس من المستوى الثانى ويتناول: 1- الارجل المخصصة للـ ADC فى البيك
2- الرريجسترز المخصصة للتحكم فى الـ ADC فى البك من نوع 16f877
3- الاوامر المستخدمة فى لغة الميكروسى لعمل الـ ADC
4- أمثلة
5- ملاحظات

http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/rpZ21196.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/YUN21197.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/9h221197.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/gj221197.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/sRT21197.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/gMa21197.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/ms721450.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/OUy21450.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/LGv21450.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/LZX21450.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
وفى النهاية لا تنسى http://www.dbaasco.com/vb/t4772.html
http://i166.photobucket.com/albums/u97/trtr3888/7788/554-1.gif

سعيد قادر
05-24-2010, 09:37 PM
بارك الله بيك استاذ احمد بل استاذى احمد شكرا لك على هذا الموضوع الرائع جعلها الله لك نورا فى يوم القيامة شكرا لك :jkam:

eng_a_sayed
05-24-2010, 11:33 PM
بارك الله بيك استاذ احمد بل استاذى احمد شكرا لك على هذا الموضوع الرائع جعلها الله لك نورا فى يوم القيامة شكرا لك :jkam:

بارك الله فيك استاذى عبد القادر

وامين على دعاؤك

تحياتى

ابو نادر
05-25-2010, 07:37 AM
ماشاء الله

درس واضح ومفهوم والبركه في اسلوبك المميز في الشرح

اسال الله لك التوفيق والسداد

eng_a_sayed
05-25-2010, 06:17 PM
ماشاء الله

درس واضح ومفهوم والبركه في اسلوبك المميز في الشرح

اسال الله لك التوفيق والسداد

الحمد لله على توفيقه

بارك الله فيك استاذى وأخى الحبيب

تحياتى

hamoudi1010
05-27-2010, 12:45 PM
السلام عليكم
كيف الحال اخي احمد
لي سؤالين
*لماذا وضعت في trisc القيمة 00111111

يعني هل نستطيع وضع القيمmtrisc=0b00000000

* هل adc_read() تستعمل مع البيك16f877

لانني جربتها مع البيك 16f876 ولاكنها لم تعمل

شكرا وبارك الله فيك

eng_a_sayed
05-27-2010, 11:50 PM
السلام عليكم
كيف الحال اخي احمد
لي سؤالين
*لماذا وضعت في trisc القيمة 00111111

يعني هل نستطيع وضع القيمmtrisc=0b00000000

* هل adc_read() تستعمل مع البيك16f877

لانني جربتها مع البيك 16f876 ولاكنها لم تعمل

شكرا وبارك الله فيك


أخى الحبيب أسال كما تشاء فان شاء الله سوياً نجد الحل لكل المشاكل

بالنسبة لأسئلتك

*لماذا وضعت في trisc القيمة 00111111

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

يعني هل نستطيع وضع القيمmtrisc=0b00000000

طبعاً تستطيع كتاب الكود الذى تريد


* هل adc_read() تستعمل مع البيك16f877

لانني جربتها مع البيك 16f876 ولاكنها لم تعمل

أكيد تعمل ... على الاقل على نسخة micro c pro

تحياتى

diaeldeen
08-16-2010, 11:10 PM
السلام عليكم اخى الفاضل
مهندس احمد
بارك الله فيك وجعلة فى ميزان حسناتك
لى سؤال لو سمحت

كيفية قراءة مدخل الانلوج العشرة بيت
وتحويل القراءة الى رقم استخدمة داخل البرنامج
مثلا مع الامر
vdelay

او مع pwm

pwm-set-duty ()
معلش انا تعبتك باسئلتى

بارك اللة فيك

eng_a_sayed
08-17-2010, 08:40 AM
السلام عليكم اخى الفاضل
مهندس احمد
بارك الله فيك وجعلة فى ميزان حسناتك
لى سؤال لو سمحت

كيفية قراءة مدخل الانلوج العشرة بيت
وتحويل القراءة الى رقم استخدمة داخل البرنامج
مثلا مع الامر
vdelay

او مع pwm

pwm-set-duty ()
معلش انا تعبتك باسئلتى

بارك اللة فيك

اخى الفاضل نحن هنا لمساعدة بعضنا البعض بقدر الامكان والله المستعان

بالنسبة لسؤالك فإن أجابته فى الشرح السابق الذى بدايته لاحظ
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/ms721450.jpg (http://dbaasco.com/up4/)
http://up.arabsgate.com/u/3708/2913/42499.gif

راجع الحل اخى الفاضل وان صعب عليك شيئ فلا تتردد فى السؤال

تحياتى

pizomx
10-27-2010, 03:23 AM
صراحة شرح أكتر من رائع وفقك الله وحياك أمين يارب العالمين

electro_28
11-13-2010, 07:41 PM
الحمد لله و الله دروسكك رزق رزقني الله بارك الله فيك أسئل الله أن يقيل عثارتك كما أقلت عثراتنا

electro_28
11-14-2010, 09:31 AM
اخى الفاضل عندي غموض في الكتابة
temp=ADC _read(2) u
يعني هاذا أننا نقرأ القيمة من الرجل 2 و نقسمها على 10 ???????
أرجو التوضيح أكثر

electro_28
11-14-2010, 10:35 PM
أخي الفاضل ممكن درس في dac يعني العكس هذه المرة أرجو الاجابة على الاسئلة فلأمر لا يحتمل التأخير و انتم ملاذي الاخير

fouad007
01-11-2011, 03:42 AM
بارك الله فيك وجعلة فى ميزان حسناتك
لى سؤال :
كيف يمكننا إستعمال 16ف877 لتحويل adc إلى 8bit وليس 10bit

eng_a_sayed
01-11-2011, 10:53 AM
بارك الله فيك وجعلة فى ميزان حسناتك
لى سؤال :
كيف يمكننا إستعمال 16ف877 لتحويل adc إلى 8bit وليس 10bit

اخى الفاضل رجاء الاطلاع على الموضوع التالى
http://www.dbaasco.com/vb/t5506.html
تحياتى

المخترع 616
03-03-2011, 01:19 PM
عذرا" لقد نقلت الأقتباس من موضوع التحكم فى إضاءة 4 ليدات وعمل ازاحة بمفتاح إلى هذا الموضوع لكي تكون الصوره واضحه للجميع
اقتباس:
المشاركة الأصلية كتبت بواسطة المخترع 616
شكرا" لك أخي eng_a_sayed للرد السريع ،أقصد في هذه التجربه لم توصل مع البك اي حساس أو مقاومه متغيره ارجو أن لا أكون قد اثقلت عليك، ملفات المحاكاه غير موجوده DOWNLOAD عباره عن صوره و شكرا" مقدما"
_________________________________________________


eng_a_sayed :بالفعل أخى الكريم طالما أننى لم أستخدم اى حساس او مقاومة متغيرة وأننى استخدمت الارجل E1 و E2 وهما رجلان يستخدمان للأنلوج والديجيتال فيجب أن أحدد وظيفتهم هل أنلوج أم ديجيتال بالتالى أستخدمنا الامر ADCON1=0x07 لنحددهم بأنهم ديجيتال
وبالنسبة للملفات فالصور توضح كل شيئ فلو صممت البرنام بالبورتس وكتبت البرنامج بالسى سيعمل كل شيئ معك أن شاء الله

تحياتى لك وللجميع

وأى سؤال لا تتردد فى طرحه
_______________________________________________
أَُُقدر لك أخي العزيز eng_a_sayed صبرك و أهتمامك جعله الله في ميزان حسناتك نعم جواب وافي، فعلا"
كتبت البرنامج على الميكروسي و صممت الدائره على البروتس كما هي مبينه في مشاركتك و لكن لم أجد المقاومه المتغيره ذات الثلاثة اطراف ؛فأستعملت مقاومه ثابته و في كل مره غًيرت قيمتها و فعلا" لاحظت الفرق و لكن الليدات لا تتغير جميعها، فقط الأول و الثالث يتغيران ؛ لذلك أرجو تزويدي بمسمى المقاومه المتغيره في البروتس لإستكمال التجربه و لك مني كل التقدير و الإحترام :)

eng_a_sayed
03-03-2011, 08:30 PM
مرفق صورة توضح كيفية أستخراجها من البروتس

تحياتى

المخترع 616
03-05-2011, 12:34 PM
مرفق صورة توضح كيفية أستخراجها من البروتس

تحياتى
شكرا" لك أستاذي الكريم eng_a_sayed
نعم لقد جربت بالمقاومه المتغيره و لاحظت التغيير و بالتدريج من 0إلى 4 طبعا"( أقصد من البت 0 حتى البت3) و بالعكس لكن بقية البتات لا تضيئ أرجو الإفاده و شكرا"
ملف المحاكاه و كود الميكروسي مرفق AD projects.rar هناِ (http://www.4shared.com/dir/rukHiiqb/sharing.html)و شكرا" مقدما" :)

eng_a_sayed
03-05-2011, 10:21 PM
أخى الفاضل

برنامج السى ليس مرفق

الرجاء أرفاقه أو تكتبه لنا هنا

تحياتى

المخترع 616
03-06-2011, 03:26 PM
أخى الفاضل

برنامج السى ليس مرفق

الرجاء أرفاقه أو تكتبه لنا هنا

تحياتى
شكرا" لإهتمامك أخي eng_a_sayed
عذرا" تم نقل البرنامج بشكل غير صحيح الأن ملف المحاكاه و برنامج الميكروسي
من هنا (http://www.4shared.com/dir/rukHiiqb/sharing.html) هذا البرنامج له أكثر من تطبيق أبسط ما يمكن عمله قياس المسافه بين نقطتين مثل المتر التقليدي أو لمعرفة مستوى الماء داخل الخزان و ذلك عن طريق ربط عوامه أو قطعه من الفلين بخيط بحيث تكون حرة الحركه للأعلى و الأسفل و يثبيت الطرف الأخر من الخيط ببكره يثبت في مركزها مقاومه متغيره .... شكرا" لك أخي العزيز جعله الله في ميزان حسناتك
تمنياتي لك بالتوفيق :)

eng_a_sayed
03-06-2011, 09:38 PM
أخى الحبيب مرفق صور لما تم

البرنامج كان يعمل من البداية بكفائة

يوجد تعديل وحيد فى البرنامج وهو
ADCON!=0x0e;

البروتس يعمل بدون مشاكل

أن حدثت أى مشاكل غير نسخة البروتس

تحياتى

المخترع 616
03-07-2011, 02:16 PM
أخى الحبيب مرفق صور لما تم

البرنامج كان يعمل من البداية بكفائة

يوجد تعديل وحيد فى البرنامج وهو
ADCON!=0x0e;

البروتس يعمل بدون مشاكل

أن حدثت أى مشاكل غير نسخة البروتس

تحياتى
__________________________________________
أخي العزيز eng_a_sayed عذرا" تم نقل البرنامج بشكل غير صحيح الأن ملف المحاكاه و برنامج الميكروسي... أنا اقصد انني أنا نقلت البرنامج خطأ من الصور التي أنت أرفقت و أكرر أعتذاري لعدم كتابة النص بشكل مفهوم فأنت أستاذنا الكبير و لا أنكر فضل أي إنسان بالعكس لك مني كل الإحترام و التقدير فقط أردت المشاركه و لو بشيئ بسيط مثل رفع ملفات البروتس و الميكروسي فقد يكون أحد الأعضاء لم يتعرف على هذه البرامج فتكون فرصه له و قد لاحظت أن الأعضاء مع إحترامي لهم مشاركاتهم عباره عن أسئله و شكر و هذا جيد و لكن من الأفضل أن يشارك العضو بتجربته الخاصه لتعم الفائده و ارجو المعذره لسؤ الفهم الذي حدث و تمنياتي لك أستاذنا القدير و للجميع بالتوفيق :)

eng_a_sayed
03-07-2011, 03:00 PM
جزاك الله كل خير أخى المخترع

وأقدر لك كل ما ذكرته من جهة المشاركات من الاعضاء

وأن شاء الله القادم يكون أحسن والجميع يشارك بأذن الله

تحياتى

المخترع 616
03-07-2011, 04:35 PM
جزاك الله كل خير أخى المخترع

وأقدر لك كل ما ذكرته من جهة المشاركات من الاعضاء

وأن شاء الله القادم يكون أحسن والجميع يشارك بأذن الله

تحياتى
أخي العزيز eng_a_sayed
سررت لقراءة كلماتك.. كل الإحترام و التقدير :)

م جميل السامرائي
05-05-2011, 11:58 AM
شكرا لجهدك الرائع

المحارب
05-26-2011, 04:15 PM
جزاك الله خيرا عنا جميعا وجعلة فى ميزان حسناتك

باسل الصناعي
07-28-2011, 08:55 AM
هل بالامكان استعمال هذا البيك ليقرا فولتية 220 فولت وكيف وشكرا

ABDULLAH.JLAL
08-03-2011, 03:09 AM
جزاك الله خيرا استفدت من دروسكم الكثير
جاري التطبيق

wanted
08-07-2011, 05:15 PM
dear all
please why this code is not working with me
temp_res = ADC_Read(2);

that what i read on error text for mikroc

undeclared identifier adc_read in expression

أسير الصمت
12-23-2011, 01:46 PM
يعطيك الغافية اخوي

booko78
02-15-2012, 07:13 AM
موضوع هام جدا في التحكم الرقمي
digital control

hamadaaa
02-17-2012, 11:39 PM
لك كل الشكر والتقدير والاحترام مهندس احمد
مجهود اكثر من رائع.
ممكن استشاره هندسيه ؟
هل من الممكن برمجة مداخل المتحكم pic16f877a التى تحتوى على adc بحيث تستقبل اوامر صوتيه.
كمثال ربط مايك مع دخل المتحكم ويكون الخرج ليدات واذا تم نطق الامر امام يتم تشغيل ليد رقم واحد متلا
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ahmedmedowahdan
02-23-2012, 08:36 PM
شكرااااااا

***zizo***
03-11-2012, 12:33 PM
المزييييييييييييييييييييييييد من الشكر الى الباشمهند احمد سيد والمشرفين على المنتدى

بنت الهندسة
05-03-2012, 11:32 PM
مشكور

ملاك الظلام
05-11-2012, 09:51 AM
مشكور على الموضوع
اللهم ارزقه الجنة

eng_hamo
06-30-2012, 02:47 AM
شكرا وجزاك الله خير

eng_hamo
06-30-2012, 03:07 AM
أريد ان استفسر كم يوجد ADC في PIC 16f874a بحيث لو اردت ان ادخل جهدين مختلفين للهذا المتحكم هل يمكن عمل هذا؟؟؟؟؟؟؟؟؟

ابو حمزه
08-08-2012, 12:32 AM
اللهم لكم التوفيق

banna1980
11-02-2012, 10:40 PM
بارك الله فيك و جزاك الله خيرا

م محمد حمدى
11-16-2012, 04:46 PM
مشكوووووووووووور

SAOUD ADEL
12-13-2012, 08:57 AM
جزاك الله عنا ألف خير وجعله في ميزان حسناتك يوم لا ينفع مال ولا بنون

yousef129
06-12-2013, 07:49 PM
بارك الله فيك. مجهووود رائع

brenc13
06-15-2013, 03:32 AM
طيب لو سمحت انا عاوز القيمة لمدخل adc ارسلها عن طريق serial port ممكن الكود لاني محتاجه وتغلبت فيه

benharret
08-13-2013, 09:58 AM
السلام عليكم ورحمة الله وبركاته شكرا لك ايها الاستاد على الشرح الجميل والمفيد جدا جدا جدا ولدي طلب منكم ادا سمحتم
اريد ان احول من تناظري الى رقمي بالبيك لاكن بدقة 8 بيت كي لاتختلط علي الامور لاني لدي محول رقمي تناظري 8 بيت واريد عكس العملية للحصول على نفس المعلومات
ارجو ان تتكرمو بالرد على طلب فانا بامس الحاجة اليه وشكرا مسبقا

athoinay26
08-14-2013, 07:14 AM
بارك الله فيك

salah00
01-09-2014, 08:44 PM
اولا السلام عليكم قبل كل شيئ وشكر خاص لك ولكن لى سؤال ارجو الاجابه عليه ضرورى اريد اعمل برنامج بدخل انلوج وخرجان ليميزو زياده الفولت وانخفاضه اى ان y0عندما تعمل يعنى ان الفولت يزيد y1 تعنى انه ينخفض ولكم جزيل الشكر

جينوسكي
02-01-2014, 02:22 PM
شكر شكرا شكرا شكرا

ameur
11-21-2015, 05:16 PM
بارك الله فيك استاذ شكرا لك

محمد عيسى13
03-30-2016, 06:32 PM
جزاك الله خيرا.
موضوع حقا رائع.
بارك الله فيك.

taha5agha
04-18-2016, 04:12 PM
الأن فى ميكروسى لا تحتاج إلى ان تضبط هذة المسجلات لانه يفعلها تلقائيا لكن فى الإصدارات القديمة لا تعمل إلا بوضع المسجلات فلا فرق فى كتابتها فى الميكروسى الحديث و شكرا جدا على الدرس المفيد وجزاك الله خيرا

abokarem
10-15-2016, 02:23 PM
شكرا لك

Lasled abir
03-24-2017, 08:59 PM
:bsm:
سلام عليكم انا اعمل عاى مشروع جميل عند انتهاء رح اشاركو معاكم بس محتاج بعض مساعد
1. انت عامل بطارية ورابطها في مربط ( analogeque (adc )AN0):عندي بعض اسالة
-انا اريد مقارنة قيمتين ا(بطاريتين واحد مربوط في مدخل AN0 و ثاني مربوط في مدخل AN1
_اريد عندما تكون بطارية 1 قيمنها 5v وثاني قيمتها 2v تشتعل 2 leds فقط
ممكن مساعد
اذا كان عندي بطارية 12v عشان اوصلها لل PIC يجب خفض توتر الى 5V والا يحترق PIC اعمل قاسم توتر بتوصيل 2 مقومة على تسلسل

R1=1,4 ;

1K=R2.
ناخذ من منتصف فنتحصل على 5V ولاكن اريد عندما عرض قيمت شحن بطارية تعطى بدلالة 12V وليس 5V