![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
uint8_t i; ⇐ ПредыдущаяСтр 7 из 7
if (--time_regim< =0) { i=view_regim; if (++i> sizeof(setup.time)-1) i=0; while(setup.time[i]==0){ if (i==view_regim) {time_regim=1; return; } if (++i> sizeof(setup.time)-1) i=0; } view_regim=i; time_regim=setup.time[i]; } } //------------------------------------- Void data_led(void) { Unsigned char i; for(i=0; i< 4; i++) lcd_buffer[i]=0x0; If (view_zadanie) { if (time_flag & BIT(_viewp)) { for(i=0; i< 4; i++) lcd_buffer[i]=str_setup[view_zadanie-1][i]; } else { lcd_buffer[0]=str_setup_1digit[view_zadanie-1]; t_in_bcd(setup.t_stat[view_zadanie-1], pwire0); } } Else { if (eep_eer) i=0xFF; else i=view_regim; if (time_flag & BIT(_viewp)) i=3; switch (i){ case 0: //t_П - отображается температура подачи воды t_in_bcd(setup.temper[0], pwire0); lcd_buffer[0]=font[f_Prus]; Break; case 1: //t_о - отображается температура обратки t_in_bcd(setup.temper[1], pwire1); lcd_buffer[0]=font[f_o]; Break; case 2: //t_Р - отображается реальная разница между подачей и обраткой t_in_bcd(setup.temper[0]-setup.temper[1], pwire1); lcd_buffer[0]=font[f_P]; Break; case 3: //показывает конец настроек lcd_buffer[1]=font[f_e]; lcd_buffer[2]=font[f_n]; lcd_buffer[3]=font[f_d]; Break; case 0xFF: lcd_buffer[1]=font[f_e]; lcd_buffer[2]=font[f_e]; lcd_buffer[3]=font[f_P]; Break; default: t_in_bcd(setup.temper[0], pwire0); } //if (PINDRIVE & swt_t2) //t_in_bcd(t_stat[ds0], pwire0); // t_in_bcd(setup.temper[0], pwire0); // else // t_in_bcd(t_stat[ds1], pwire1); } } //------------------------------------- void data_eeprom_read(void){ unsigned char i, a, *adr; adr=(uint8_t *) & setup.t_stat[0]; for (a=i=0; i< sizeof(setup)-sizeof(setup.temper); i++, adr++) { *adr= EEPROM_read(i); a+=(*adr); } if (a! =EEPROM_read(EEP_crc)) eep_eer=1; } Int main(void) { uint8_t t_1sek=0; Cli(); Avr_init(); Data_eeprom_read(); PORTDRIVE & = ~(DRIVE_TEN_1|DRIVE_TEN_2); DetectPresence(); if (out_1wire){ writebyte(0xCC); //SKIP ROM [CCh] writebyte(0xBE); //READ SCRATCHPAD [BEh] readbyte(& temper[0], & temper[0]); //LSB readbyte(& temper[0], & temper[0]); //MSB readbyte(& temper[0], & temper[0]); readbyte(& temper[0], & temper[0]); readbyte(& temper[0], & temper[1]); //byte 4 Configuration Register* 0x1F-9bit 94msek; 3F-10bit 188msek; 0x5F-11bit 375msek; 0x7F - 12 bit 750mSek; if (((temper[0]! =0x7F)& & (pwire0 & out_1wire)) || ((temper[1]! =0x7F)& & (pwire1 & out_1wire))){ scratchpad_save(); //10ms time[0]=255; while(time[0]); time[0]=255; while(time[0]); } temper[0]=0; } While(1) { if (time_flag & BIT(_led))// { time_flag & = ~BIT(_led); time[_led]=70; //~0.00 Data_led(); Skan_key(); Key_action(); Display(); if (++znmesto==4) { znmesto=0; } Receive_t(); } if (time_flag & BIT(_01sek)) { time_flag & = ~BIT(_01sek); time[_01sek]=156; //~0, 01 Time_wire--; //if (--time_view_zadanie==0) view_zadanie=0; if (--time[_viewp]==0) time_flag & = ~BIT(_viewp); if (! (pwire0 & out_1wire)) PORTDRIVE & = ~(DRIVE_TEN_1|DRIVE_TEN_2); //PORTDRIVE & = ~DRIVE_TEN_1; // if (--t_1sek==0){ t_1sek=100; if (--time_view_zadanie==0) view_zadanie=0; Regim_count(); } } } }
|