رمز لدرجة الحرارة في ج

G

Guest

Guest
الأعزاء جميعا

م رمز للارسال هو من المعادلة الحرارية استخطاط التي كتبها لي في كايل - C51 languague. اريد ان يكون هذا الحجم رمز أكثر أقصر على الرغم من عملها. كيف يمكنني القيام بذلك. الرجاء مساعدتيرمز :////////////////// رفع إلى السلطة /////////////////////rtp مزدوجة (تعويم rtp_base ، rtp_power كثافة العمليات) (

كثافة العمليات ط ؛

rtp_result مزدوجة ؛rtp_result = 1 ؛(ط = 1 ؛ ط <= rtp_power ؛ ط ) (

rtp_result = rtp_result * rtp_base ؛

)عودة (rtp_result) ؛

)

////////////////////////////////////////////////// / / / /
/ / المعادلة استخطاطص = 0 2.508355e1 * V1 7.860106 ه - 2 * rtp (V1 ، 2) -- 2.503131e - 1 * rtp (V1 ، 3) 8.315270e - 2 * rtp (V1 ، 4) ، 1.228034e - 2 * rtp (V1 ، 5) 9.804036e - 4 * rtp (V1 ، 6) - 4.413030e - 5 * rtp (V1 ، 7) 1.057734 الإلكترونية 6 * rtp (V1 ، 8) ، 1.052755e - 8 * rtp ( V1 ، 9) ؛lcd_init () ؛

lcd_com (0x01) ؛ / / مسح العرض

lcd_com (0x0C) ؛ / / تعرضها في المؤشر
lcd_com (0x80) ؛

lcd_puts ( "درجة الحرارة =") ؛sprintf (بوف ، "٪ د" ، ذ) ؛

lcd_puts (بوف) ؛
 
مرحبا ،
يمكنك تجنب وظيفة السلطة باستخدام حساب العودية.
اسمحوا ف (س) = a4 س ^ 4 a3 س ^ 3 a2 س ^ 2 a1 س a0
يمكنك كتابة ذلك على النحو التالي :
ف (س) = (((a4 * س a3) * س A2) * س a1) * س a0

يمكنك حساب ف (خ) باستخدام حلقة من هذا القبيل :

ذ = a4
(ط = 3 ؛ ط> 0 ؛ ط --)
(
ص = س ص * (أ) (ط 1)
)وأضاف بعد 2 ساعة 38 دقيقة :يمكنك أيضا أن يقلل من النظام متعدد الحدود باستخدام البرمجيات بلدي في هذا الموضوع :

http://www.edaboard.com/viewtopic.php؟t=168209

يمكنك ثم استبدال النظام 9 متعدد الحدود مع النظام العديد من 3 متعددو الحدود.كل
3 النظام متعدد الحدود يستخدم على فاصل زمني الصغيرة.

 
اقتباس :

ف (س) = (((a4 * س a3) * س A2) * س a1) * س a0

 
إذا كنت تستخدم المنفذ المتوازي وLM35 مستشعر حراري لقراءة درجة الحرارة ثم راجع الكتاب لالمنفذ المتوازي.
إذا كنت تستخدم AVR متحكم دقيق مع LM35 استشعار درجة الحرارة ، ثم ش انظر الكتاب على AVR متحكم في البرمجة جيم باستخدام WinAVR

يمكنك الحصول عليه من مجموعة ياهو - booksbybibin
** ح ع : / / groups.yahoo.com / مجموعة / booksbybibin /

 
اقتباس :

في الواقع أنا لا وجود ماتلاب ذلك لا استطيع ان ارى عملك.

 
هل يمكن ان يرجى تقديم لي رمز لDS1621.

 
مرحبا ، هل يمكن لأحد مساعدتي ، وأنا فعلت هذا المشروع termometer.الآن أنا سوف أغير المشروع إلى مشروع termostat ، التي لا تزال نفسها ، وذلك باستخدام س 1621 وATtiny2313.فهل هذا صحيح التخطيطي؟و، فماذا أفعل في برمجة؟قد كنت لي القديمة شفرة المصدر (مجرد أمثلة قليلة تغيرت) ، أو لا بد لي من إعادة بناء مع قانون جديد للمصدر.شكرا.

هذا هو بلدي جديد التخطيطي للمشروع termostat<img src="http://images.elektroda.net/44_1174053377_thumb.jpg" border="0" alt="code in c for temperature" title="رمز لدرجة الحرارة في ج"/>
 
كثافة العمليات BIN2DEC (تشار * بن)
(
P2 = 0xff ؛

كثافة العمليات ن = 0 ؛
ليون كثافة العمليات ، ومبلغ = 0 ؛
ل (ك = 0 ؛ ك <= 7 ؛ ك )
(
ن = (بن [ك] -- '0') ؛ / / شار إلى قيمة رقمية
اذا كان ((ن> 1) | | (ن <0))
(/ / يضع ( "\ ن \ ن خطأ! ثنائي فقط 1 و 0! \ ن") ؛
عودة (0) ؛
)
ل(ب = 1 ، م = 7 ؛ م> ك ؛ م --)
(/ / 1 2 4 8 16 32 64...مكان القيم ، عكس هنا
ب *= 2 ؛
) / / باختصار

= مجموع المبلغ ن * ب ؛ / / printf ( "٪ ٪ * د د " ، ن ، ب) ؛ / / ncomment لاظهار يعمل هذا الطريق
)
عودة (المبلغ) ؛

)

 

Welcome to EDABoard.com

Sponsor

Back
Top