|
اخييي عمل مممتتتتتتتتتتتتتتتتتتتاز
ارجو شرح الكود سيغمون و كود حرف C
و هل يمكن اخي عمل كود عند وصول درجة الحرارة الى 110 يكتب كلمة
stop
|
كود سفن سكمنت
كود:
void show_7seg(unsigned int number,char time)
{
for(x=0;x<time;x++)
{
seg_en1=enable; seg_en2=disenable;
seg_en3=disenable; seg_en4=disenable;
segment=segment1[number/100];
delay_ms(2);
segment=0;// OFF 7 segment
seg_en4=disenable; seg_en3=disenable;
seg_en2=enable; seg_en1=disenable;
segment=segment1[(number%100)/10];
delay_ms(2);
segment=0;// OFF 7 segment
seg_en4=disenable; seg_en3=enable;
seg_en2=disenable; seg_en1=disenable;
segment=segment1[number%100%10];
delay_ms(2);
segment=0;// OFF 7 segment
//**** show C in 7 seg ***//
seg_en1=disenable; seg_en2=disenable;
seg_en3=disenable; seg_en4=enable;
segment=segment1[10];
delay_ms(2);
segment=0;// OFF 7 segment
}
سفن سكمنت متكونه من 4 أخانات أستخدمت ثلاثه منها لاظهار درجه حراره وأخيره أستخدمتها لاظهار حرف C
لكي يتم برمجه سفن سكمنت يجب اظهار رقم واحد في كل مره وهذا يعني انه يتم تفعيل خانه واحده وتعطيل بقيه الخانات
لاظهار الارقام سنستخدم القسمه والباقي القسمه
وبما انها ثلاثه سنقسم الرقم على 100 ونظهره في خانه الاولى انظر الكود
كود:
seg_en1=enable; seg_en2=disenable;
seg_en3=disenable; seg_en4=disenable;
segment=segment1[number/100];
delay_ms(2);
segment=0;// OFF 7 segment
حيث تم تفعيل خانه رقم 1 وتعطيل بقيه طبعا حتى يتم تفعيل لازم يكون طرف enable او com لهذه خانه =0 لانها من نوع كمن كاثود
وبعد أظهار رقم ننتظر زمن 2 ملي ثانيه وبعدها يتم أطفاء سفن سكمنت
وبعدها نظهر رقم ثاني على خانه ثانيه حيث نأخذ باقي قسمه على 100 ونقسم نتيجه على 10
انظر كود
كود:
seg_en4=disenable; seg_en3=disenable;
seg_en2=enable; seg_en1=disenable;
segment=segment1[(number%100)/10];
delay_ms(2);
segment=0;// OFF 7 segment
وبقيه رقم ثالث هنا نأخذ باقي قسمه من 10
كود:
seg_en4=disenable; seg_en3=enable;
seg_en2=disenable; seg_en1=disenable;
segment=segment1[number%100%10];
delay_ms(2);
segment=0;// OFF 7 segment
****************************************
اما لاظهار حرف C
كود:
seg_en1=disenable; seg_en2=disenable;
seg_en3=disenable; seg_en4=enable;
segment=segment1[10];
delay_ms(2);
segment=0;// OFF 7 segment
هو نفس الاسلوب ولكن مااستخدم القسمه وباقي قسمه لكوني اريد اظهار بيانات ثابته
انظر الصوره
http://img02.arabsh.com/uploads/imag...474366f30d.png