الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية استخدام ال ADC و توصيله مع المايكروكنترولر

مغلق
بدأه akrumooz في 4 مارس 2005 · 10 رد · 10,960 مشاهدة · في الأرشيف
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيفية استخدام ال ADC0809 و توصيله مع المايكروكنترولر

بداية هذا وصف بسيط لأرجل ال ADC

0809_01.gif

رقم الرجل

I/O

الوظيفة

1-2-3-4-5-27-28

I

ثماني مدخلات تماثلية مختلفةInput channels

6

I

بدء التحويل من تماثلي الى رقميStart conversion

7

O

انتهاء التحويلEnd of conversion

8-14-15-17-18-19-20-21

O

الناتج الرقمي8 bit digital output

9

I

Output enable

10

I

ADC Clock

11

I

VCC

12

I

Positive refrence voltage

13

I

Ground

16

I

Negative refrence voltage

22

I

ALE (latch enable)

23-24-25

I

عنوان قناة الدخل المختارةInput channel address

" و العجيب أن الناس دائما يفكرون في اصلاح العالم من حولهم و لا يفكرون في اصلاح انفسهم "

Windows Live Messenger

#2

و لتوضيح التوصيل مع المايكروكنترولر لنفترض اننا نريد تحويل اشارة VIN الى قيم رقمية فتكون خطوات التوصيل كما يلي:

·نوصل الأرجل 8-14-15-17-18-19-20-21 بأحد منافذ المتحكم و ليكن PORTA مع مراعاة أن الرجل 17 يتم توصيلها ب PA0 لأنها ال LSB و الرجل رقم 21 يتم توصيلها ب PA7 لأنها ال MSB

·يتم توصيل الاشارة VIN باحد المدخلات و ليكن IN0

·يتم توصيل كلا من الارجل 23-24-25 بالارضي لاختيار القناة IN0 المتصلة بالاشارة التماثلية

·يتم توصيل الرجل رقم 22 ALE بأحد أرجل المتحكم و لتكن PB0

·يتم توصيل الرجل رقم 6 start بأحد أرجل المتحكم و لتكن PB1

·يتم توصيل الرجل رقم 10 clock بأحد أرجل المتحكم و لتكن PB2

·يتم توصيل الرجل رقم 7 EOC برجل الانتربت الخارجي الموجودة بالميكروكنترولر EXT_INT

·توصل الرجل رقم 9 output enable بال VCC

·توصل الرجل رقم 16 بقيمة Vref(-)

·توصل الرجل رقم 16 بقيمة Vref(+)

·يتم توصيل الأرجل 11-13 بال Vcc و الأرضي بالترتيب

" و العجيب أن الناس دائما يفكرون في اصلاح العالم من حولهم و لا يفكرون في اصلاح انفسهم "

Windows Live Messenger

#3

حسنا

الان يمكننا ان نتخيل كيف سيكون كود الميكروكنترولر

:rolleyes: :rolleyes:

1.اعداد المنفذ PORTA ك دخل و PB0-1-2 ك خرج

2.اعداد تايمر لانتاج الclock اللازمة لل ADC و اخراجها على PB2

3.بدء ال main و يجب اخذ فترة تأخر delay في البداية

4.اصدار اشارة على PB0 حتى يبدأ ال ADC في تحديد قناة الدخل و تظل هذه الاشارة ثابتة

5.اصدار اشارة على PB1 حتى يبدأ ال ADC في بدأ التحويل ثم الغاء الاشارة بعد فترة تأخر قصيرة جدا تبعا لل clock

6.في روتين الانتربت يجب قراءة البورت PORTA ثم اصدار اشارة على PB1 حتى يبدأ ال ADC في بدأ التحويلمرة أخرى ثم الغاء الاشارة بعد فترة تأخر قصيرة و هكذا

7.القيمة المقروءة من PORTA ليست هي القيمة التماثلية الأصلية و للوصول الى القيمة VIN يتم ذلك من خلال العلاقة :

PORTA = (VIN – VREF(-) ) * 256/ (VREF(+) – VREF(-))

و هكذا

" و العجيب أن الناس دائما يفكرون في اصلاح العالم من حولهم و لا يفكرون في اصلاح انفسهم "

Windows Live Messenger

#4

ملاحظات :

1.ال clock المطلوبة ما بين 10ك و 1280 ك هيرتز

2.في وجود clock أكثر من 500 ك يجب أن تتاخر اشارة ال ALE عن اشارة عنوان الدخل بفترة تأخر معقولة

3.ال start عبارة عن pulse بمعنى انه يجب اصدارها ثم الغائها , أما بالنسبة لاصدارها فيكون –بعد اول مرة – في روتين الانتربت اما الغائها فيمكن ان يكون من خلال روتين التايمرالذي يصدر ال clock حيث يختبر ان كانت موجودة يقوم بالغائها

" و العجيب أن الناس دائما يفكرون في اصلاح العالم من حولهم و لا يفكرون في اصلاح انفسهم "

Windows Live Messenger

#5

أنا اسف يا جماعة لو كان اسلوبي ضعيف شوية

بس ياريت اللي عنده أي استفسار يبعته رد على الموضوع

و احنا في الخدمة :D

" و العجيب أن الناس دائما يفكرون في اصلاح العالم من حولهم و لا يفكرون في اصلاح انفسهم "

Windows Live Messenger

#6

السلام عليكم ورحمه الله يا اخ

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

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

اقراء البيانات وحولها من analog الى digital عن طريق

ADC الموجودة في المايكروكنترولر وانصحك باستخدام PIC16F873

وشكرا

وبالتوفيق

تحياتي

علي جمعه

#7

لحسن حظك لي يومين وانا ادرس هذا الموضوع

انا اختبر ذلك عن طريق لغة البيسك

فاذا كان عندك فكرة عنها فهذه الاكواد كلاتي التي تفعل ال pic وتجلب البيانات

low  pin_number

SHIFTOUT DataPin,ClockPin,Mode,[Var{\Bits}...]
SHIFTIN DataPin,ClockPin,Mode,[Var{\Bits}...]

high pin_number

هناك مجموعة من البيت وهي ال control bits ترسل باستخدام ال shiftout لتحدد اي channel تستقبل ال analoge وهي كما بالجدول التالي

14_12_05_11_17_28_1134587848hh.JPG

تم تعديل هذه المشاركة بواسطة x10 في 14 ديسمبر 2005 في 22:08

الثـورة معني وأسم وفعل

قــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــادمون ......

#8

الجدول السابق يختص بالتعامل مع ic تسمى max186

بالنسبة لعلي

انا احس انك تريد البرنامج جاهز ؟؟

طيب بما تريد ان تبرمج المايكرو اقصد باي لغة ؟؟

انا استعمل البيسك وهناك مواقع تحتوي علي تطبيقات بسيطة لكيفية التعامل مع ال adc

واذا اردت باستخدام الاسمبلي فراجع ال datasheet الخاص بالمايكرو حتي تتعامل معها وهناك مواقع كثيرة بها تطبيقات

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

تم تعديل هذه المشاركة بواسطة x10 في 15 ديسمبر 2005 في 01:19

الثـورة معني وأسم وفعل

قــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــادمون ......

#9

السلام عليكم

انا بحاجه الى المساعده انا عملت دائرة خرجها analog وابي احول هذا الى digital ( يعني 0،1 )bianare system بحيث يدخل الى الكميوتر

أرجو من لديه خبرة اودائرة تقوم بالتحويل ان يساعدني

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

#10

هل يمكن استعمال المايكروكنترولر مع كل انواع ال ADC ?

1+1=10

#11

ممكن وعلي حسب النوع وعلي حسب طريقة التعامل مع البروتوكول المناسب مثل SPI and I2C

الثـورة معني وأسم وفعل

قــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــادمون ......

هذا الموضوع مغلق.

مواضيع مشابهة