 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:
|
|
19-09-2012, 03:36 PM
المشاركة 9
|
|
|
بارك الله فيك اخي عندي سؤال وعندي اضافة اذا سمحت
|
بالنسبة للسؤال هو في التحويل من تناظري الي رقمي
كود:
// Display 8 least significant bits from port B. PORTB = DATA&0xFF; //Display the most significant 2 bits from the port C. PORTC = (Data >> 8) &0x03;
كود:
Read more: http://www.qariya.com/vb/newreply.php?do=newreply&noquote=1&p=676043#ixzz26utSii6c
انا اعلم ان الامر الاول هو عرض 8 low bits في الريجستر الاول والامر الثاني هو يعمل شفت بمقدار 8 فالمخزن في الريجستر الثاني high راح ينعرض وهو في حالتا 2bits لان عدد البتات 10 bits ممتاز طيب سؤالي ليه اضاف &0xFF و &0x03 هذا السؤال اما بالنسبة للاضافة على درس التحويل من رقمي الي تناظري وهو ممكن اضافة فلتر ثاني ويكون high pass filter فقط مكون من مكثف ومقاومة ويوضع عند مخرج low pass filter حتى يتم اخراج الساين ويف بدون اي نتوء وتكون very smooth بارك الله فيك
|
أخى الكريم
شكرا جزيلا لك
بارك الله فيك
اشكرك على السؤال :
المنفذ 8 بت والببانات 10 بت
تم تعريف متغير البيانات كمتغير من نوع عدد صحيح int ليتسع للعشرة بت ومن غير المنطقى مساوة هذا المتغير بالمنفذ مباشرة وإلا حدث أشياء غير متوقعة , لذلك لضمان نسح 8 بتات الأولى نجرى عملية AND بين محتويات متغير البيانات والقيمة الثابتة oxFF أى كلها آحاد (يمكن أيضا 0x0F) لضمان استخلاص الثمانى بتات الأولى فقط .
بالمثل بعد الإزاحة يتم إجراء AND مع 0X03 وهى تساوى 0B00000011 لضمان استخلاص البتان المطلوبان فقط .
وهو ما تم توضيحه على شكل البرنامج .
مع تمنياتى بدوام التوفيق
|