/***************************************************************** 功能:初始化自动清扫 *****************************************************************/ void Init_Sweep(void) { /******初始化显示***********/ clr_display(); Dis_On = TRUE; //显示标志。 Dis_PrOn = TRUE; //预约天数亮 Dis_HourOn = TRUE; //小时亮 Dis_MinuteOn = TRUE; //分钟亮 Dis_ColOn = TRUE; //时间点亮 Dis_WeekOn = TRUE; //星期亮 Dis_SpeedOn = TRUE; //速度亮 Dis_PowerOn = TRUE; //电池图标亮 Dis_ChargeOn = FALSE ; //充电图标亮 Dis_ColGlint = TRUE ; //显示时间点为闪烁 Dis_AuGlint = TRUE; Dis_SpeedGo = TRUE; /******初始化设置的值********************/ gsv_work_mode.work_mode = SWEEP; //工作模式为清扫 mode.mode = SWEEP; clr_ram(); Enable_Sweep(); Enable_earth(); Enable_wall(); enable_hwincept();//允许红外接收电源 Reset_Speed_Send(); //允许红外发送 Display_Real(); Init_Action(); mode.step = 0xfe; WriteWorkState(); }
void main(){ Setup_IOports(); atod_init(); _delay(200); lcd_init(); Serial_Init(); Timer1_Init(); enableInterrupt(); clr_display(); printf("Body Temperature "); position(2,1); printf(" and Heart Rate "); __delay_ms(5000); clr_display(); while(1){ switch (Mode){ case 0 : a2d_read(); __delay_ms(100); check_pc(); break; case 1 : Tx_Control = 1; Serial_Print( "*#DREQ=123" ); Serial_NewLine(); Tx_Control = 0; break; case 2 : Tx_Control = 1; Serial_Print( "*#123=" ); Serial_NewLine(); Tx_Control = 0; break; case 3 : Tx_Control = 1; Serial_Print( "*#123=" ); Tx_Control = 0; position(1,1); printf("Data request... "); position(2,1); printf(" "); break; case 4 : Tx_Control = 1; Serial_NewLine(); Tx_Control = 0; case 5 : clr_display(); break; default: break; } } }
void interrupt isr(){ if(TMR1IF==1){ msecond ++; if(msecond == 10){ second ++; //enableInterrupt(); LED1 = !LED1; msecond = 0; if( second == 60){ minute ++; lcd_init(); clr_display(); second = 0; /*~~~~~ write data to eeprom for time period ~~~~~*/ int x; x = minute%time_period ; if ( x == 0){ //eeprom_temp(); //nop(); } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ if( minute == 60){ minute = 0; hour ++; if( hour == 24) hour == 0; } } } TMR1IF = 0; TMR1L = 0xB0; TMR1H = 0x3C; } if( RCIF == 1){ if ((FERR == 0) && (OERR == 0)) // no error { wtmp = RCREG; if( RCREG=='*' || j > BUFFER_SIZE-1 ){ j=0; } buffer[j] = RCREG; j ++; } else // error occoured { CREN = 0; // clear error FERR = 0; wtmp = RCREG; wtmp = RCREG; CREN = 1; // enable again } RCIF = 0; } if(OERR == 1) { CREN = 0; // clear error //RCSTA.2 = 0; //Clear framming error wtmp = RCREG; wtmp = RCREG; CREN = 1; // enable again } }