|
وهنا سؤالي هل هناك دالة للتحويل الى النظام العشري دون استخدام الكود؟
(ملاحظة الكود الذي استخدمته يعمل فقط مع الأعداد الأقل من 100 واستخدمته بداعي التبسيط).
|
أهلا بك اخي وأشكرك على المتابعة وبصراحة فكرتك التي نفذتها جميلة جدة وتمكنت من استخدام الحيل البرمجية للحصول على ما تريد وهذه أهم صفة في المبرمج
بالنسبة لسؤالك
نعم توجد دالة تحول من العشري الى صيغة BCD وهي تخدمك في مشروعك هذا
لو استخدمتها يكون برنامجك كالتالي :
كود:
dim i as byte
main:
' Main program
trisb=0
for i=0 to 99
portb=Dec2Bcd(i)
delay_ms(1000)
next i
end.
كما أشكرك على تنبيهك لي حول الأخطاء الإملائية التي حصلت أثناء الشرح
x = ceil(0.3)
نجد أن x=0
ألا يجب أن تكون x=1
|
نعم يجب أن تكون x=1 واعتذر لهذا الخطأ الذي وقع سهوا
دالة ( dec) :
عكس الدالة السابقة يعني تنقص واحد عند كل تنفيذ
ماذا تتوقع نتيجة البرنامج التالي ؟
x=??
أترك الإجابة لك
هنا x=12
ولكن ما علاقة ذلك بالدالة dec ?
|
صدقت أخي المفروض يكون البرنامج كالتالي :
كود:
dim x,i as byte
Main
x= 5
For i=0 To 2
Inc(x)
Next i
For i=3 To 0 step -1
dec(x)
Next i
end.
لكن حتى في الحالة الأولى فإن x لاتساوي 12 .. راجع البرنامج بانتباه لطفا
أخيرا
بالمناسبة لم استطع استخدام الدوال: ceil,floor,fabs
البرنامج يقبلها ولكن عند الأمر compiled يعطيني دائما
error out of memory
|
هذه الدوال تتعامل مع الفارزة العائمة لذلك تستهلك قدرا كبيرا من ذاكرة البك
جرب استخدام pic بذاكرة أكبر وليكن 16f877a ستجد أنها تعمل دون مشاكل
أكرر شكري لك على هذا التفاعل
والى اللقاء في درس جديد قريب إن شاء الله تعالى