السلام عليكم
لدي سؤال حول برمجة حساس الحرارة lm35 مع البيك pic16f877a
من المعلوم انه عند قراءة الحساس يجب التحويل من تناظري الى رقمي عبر خاصية ADC
ويتم تقسيم القيمة التناظرية الى مستويات وهي 1023مستوى.
واستنتاج قيمة وهي تقسم الفولت على الريجستر وهو ممتلى اي تقسيم 5على 1023 وهذه القيمة تضرب بعدد المستويات لتعطي قيمة فولت الحساس.
المشكلة هي كالتالي
لا تظهر قراءة الحساس بدقة على الشاشة
بمعنى اخر اذا كان قراءة الحساس فرضا 38.2 وعند ذيادة درجة الحرارة بالحساس بدقة 0.1 لا تتغير القراءة على الشاشة ثم نزيد بدرجة الحرار بنفس المقدار اي 0.1 ايضا لا يتغير شيء وعند الزيادة من جديد تظهر القراءة على الشاشة 38.9 وهكذا..
*لا يوجد دقة بالفاصلة العشرية.
بعد التجارب والمحاولات تبين السبب معي .
وهو ان المستويات رقم صحيح وغير عشري اي لا يوجد فاصلة عشرية بعدد المستويات!!!
اي مثلا المستوى 68 و 69 و 70 لايوجد مستوى 68.4 مثلا؟؟
ولهذا السبب لاتوجد دقة في القراءة.
المطلوب؟
هل يمكن جعل المستويات فيها فاصلة عشرية؟
اذا كان لايمكن فما الحل؟
ولكم جزيل الشكر.