1- داله تعريف مايكرو
كود:
void init()
{
anselh=2;// RB0_bit is anloge
trisa.f4=1;
ansel=0;// porta is digital
/// output////
segment_dir=output;
seg_en1_dir=seg_en2_dir=output;
led_Tmax_dir=led_Tmin_dir=output;
led_load_dir=led_alarm_dir=output;
speaker_dir=output;
// input //
sw_Tinc_dir=sw_Tdec_dir=sw_setting_dir=input;
senser_dir=input;
// off all output//
segment=0;// off 7seg
led_Tmax=led_Tmin=off;
led_load=led_alarm=off;
seg_en1=seg_en2=disenable ;
adc_Init();
Sound_Init(&portb,7);
if(eeprom_read(0)>100)eeprom_write(0,20);
if(eeprom_read(3)>100)eeprom_write(3,25);
tmin=eeprom_read(0);
tmax=eeprom_read(3);
}
**************************************
شرح الاكواد
*********
هذا كود جعل portb.f0 طرف أنلوك وباقي ديجيتل
كود:
anselh=2;// RB0_bit is anloge
اما هذا كود
كود:
ansel=0;// porta is digital
هو جعل بورت a ديجيتل
اما هذه الاكواد تعريف الاخراج
كود:
segment_dir=output;
seg_en1_dir=seg_en2_dir=output;
led_Tmax_dir=led_Tmin_dir=output;
led_load_dir=led_alarm_dir=output;
speaker_dir=output;
اما هذه الاكواد تعريف الادخال
كود:
sw_Tinc_dir=sw_Tdec_dir=sw_setting_dir=input;
senser_dir=input;
اما هذه الاكواد الاطفاء لكل الاخراج
كود:
segment=0;// off 7seg
led_Tmax=led_Tmin=off;
led_load=led_alarm=off;
seg_en1=seg_en2=disenable
هذه كود تعريف الانلوك
هذا كود تعريف وجود سماعه في بورت b في بن 7
كود:
Sound_Init(&portb,7);
اما هذا كود وهو مهم لعمل دائره في حاله برمجه لاول مره لانه ايبروم قيم مخزونه فيها هي ff وهذه اما انت تقوم بكتابه قيم الاوليه في ايبروم او تكتب هذه الاكواد
وهي تطبق مره واحده فقط
كود:
if(eeprom_read(0)>100)eeprom_write(0,20);
if(eeprom_read(3)>100)eeprom_write(3,25);
اما هذا كود حفظ قيم الضبط للحراره في حاله الاطفاء كهرباء
كود:
tmin=eeprom_read(0);
tmax=eeprom_read(3);
انتهى شرح داله تعريف حيث يتم ذكر فيها جميع الاطراف الي هي ادخال او الاخراج
اطفاء كل مخارج
تعريف مايكرو باي داله مثل تعريف الانلوك او استخدام سماعه او .....