السلام عليكم ورحمة الله أخي الغالي "لوجيك"
قمت بالتعديل على ملف الفلوكود من أجل قراءة 3 قيم بعد الفاصلة ,, واشتغل تمام ,,, لكن عند المحاكات بالبروتوز يظهر في خطئ في القيمة ,,بحثت ولم اجد سبب ,تفضل مشكورا ملفات المشروع ,
جزاك الله خيرا ,,
http://www.4shared.com/rar/Cl1x0Y6Ec...u_dossier.html
|
السلام عليكم
1- أخي بالنسبة لأخطاء القياس على بروتوس فربما هذا سببه استخدام مكون "4 عارضات سباعية " في فلوكود
فقد حصل لي هذا المشكل عدة مرات وربما السبب راجع لكون هذا المكون "compnent أو composant " عند برمجته بطريقة multiplexing / multiplexage يستنفذ تعليمات كثيرة من لغة السي التي يعمل بها فلوكود .. ربما.
عموما وجدت الحل باستخدام مكون العارضة الوحيدة وبرمجة نفس العارضة لإظهار الآحاد والعشرات والمئات والآلاف تباعا وهذا يتوافق مع طريقة multiplexage التي تخدع البصر وتشغل العارضات واحدة بعد الأخرى .
2- بالنسبة لعدد الأرقام بعد الفاصلة فهذا ممكن تعمله بأية طريقة لكن المهم هل الرقم الظاهر على العارضات أو على شاشة Lcd يعبر حقيقة عن قياس للفولت الداخل ؟
التطبيق الذي رفعته أخي الكريم
1/ تم فيه اختيار VDD كجهد مرجعي وهو جهد مرجعي داخلي (داخل البيك) وطبعا VDD هي رمز جهد البيك وهنا 5 فولت
في التطبيق تم اختيار متغير من فئة byte يعني 8bit يعني متغير يأخذ قيم من 00000000 إلى 11111111 كأقصى حد
اي يتراوح مابين 0 و 255 بالكتابة العشرية.
انت الآن لديك 5 فولت كجهد مرجعي ومتغير سميته ADC لا يتعدى 255
من 1 الى 255 يعني 256 حالة او جزء
أكبر قيم للفولت الأنالوج الداخل إلى المحول أنالوج/ديجيتال في البيك هي 5 فولت اي 5000 ميلي فولت.
إذن المحول في البيك سيقوم بتجزيئ الفولت الأنالوج 5000 ميلي فولت الى 256 مرة :
5000/256 اي 20 ميلي فولت تقريبا..
وهذا يعني أن دقة القياس هي من 20 مليلي فولت
أي أن قياس جهد متغير مثلا من 0 الة 5 فولت سيكون بقفزات متتالية لجهد يزيد كل مرة ب 20 ميلي فولت تقريبا.
طبعا في الكود ندخل عميات حسابية تعرض الرقم يالشكل الذي نريد
كمثال : لو أظهرنا بطريقة ما العدد 11.738 على 5 عارضات او على شاشة Lcd هل هو فعلا قياس لجهد 11 فولت و700 ميلي فولت و30 ميلي فولت و 8 ميلي فولت؟
طبعا هذا مجرد تحليل شخصي قد يكون سليما أو به عيوب ناتجة عن سوء تقدير.