//*********************************************** //*********************************************** //*********************************************** //*********************************************** interrupt [TIM0_OVF] void timer0_ovf_isr(void) { t0_init(); if(++t0_cnt>=20) { t0_cnt=0; b100Hz=1; if(++t0_cnt0>=10) { t0_cnt0=0; b10Hz=1; } if(++t0_cnt1>=20) { t0_cnt1=0; b5Hz=1; bFL=!bFL; } if(++t0_cnt2>=100) { t0_cnt2=0; b1Hz=1; } } }
//*********************************************** //*********************************************** //*********************************************** //*********************************************** void interrupt isr(void) { di(); if(T0IF) { t0_init(); T0IF=0; bit_100Hz=1; if((++cnt0)==10) { cnt0=0; bit_10Hz=1; if(++cnt1==10) { cnt1=0; bit_1Hz=1; } } } if(RCIF) { rx_buffer[rx_wr_index] = sci_GetByte(); bRXIN=1; if(++rx_wr_index>=RX_BUFFER_SIZE) rx_wr_index=0; if(++rx_counter>=RX_BUFFER_SIZE) { rx_wr_index=0; rx_rd_index=0; rx_counter=0; } } if(TXIF && TXIE) { char* ptr; if(tx_rd_index!=tx_wr_index) { ptr=tx_buffer; ptr+=tx_rd_index; sci_PutByte(*ptr); tx_rd_index++; if(tx_rd_index==TX_BUFFER_SIZE) { tx_rd_index=0; } } else TXIE=0; } ei(); }
void main(void) { EA = 0; t0_init(); t1_init(); init_t2(100000); EA = 1; for (;;) { process(); display(); } }
//=============================================== //=============================================== //=============================================== //=============================================== void main(void) { t0_init(); port_init(); TIMSK=0x02; #asm("sei") UCR=0xD8; UBRR=0x33; while (1) { if(bRXIN) { bRXIN=0; UART_IN(); } if(b100Hz) { b100Hz=0; } if(b10Hz) { b10Hz=0; but_an(); } if(b5Hz) { b5Hz=0; ind_hndl(); // cnt; //OUT(3,4,5,6,0,0,0); } if(b1Hz) { b1Hz=0; } #asm("wdr") } }
//*********************************************** //*********************************************** //*********************************************** //*********************************************** interrupt [TIM0_OVF] void timer0_ovf_isr(void) { t0_init(); if(++ind_cnt>5) ind_cnt=0; DDRB=0xff; PORTB=0xff; DDRD|=0b11111100; PORTD=(PORTD|0b11111100)&STROB[ind_cnt]; if(ind_cnt!=5) PORTB=ind_out[ind_cnt]; else { but_drv(); } if(++t0_cnt>=20) { t0_cnt=0; b100Hz=1; if(++t0_cnt0>=10) { t0_cnt0=0; b10Hz=1; } if(++t0_cnt1>=20) { t0_cnt1=0; b5Hz=1; bFL=!bFL; } if(++t0_cnt2>=100) { t0_cnt2=0; b1Hz=1; } } }
//*********************************************** //*********************************************** //*********************************************** //*********************************************** void interrupt isr(void) { di(); if(T0IF) { t0_init(); T0IF=0; bit_100Hz=1; if((++cnt0)==10) { cnt0=0; bit_10Hz=1; if(++cnt1==10) { cnt1=0; bit_1Hz=1; } } } ei(); }
//=============================================== //=============================================== //=============================================== //=============================================== void main(void) { t0_init(); ei(); PEIE=1; di(); ei(); TRISB=0x00; PORTB=0x00; PORTC|=(1<<led_ERR); prog_drv(); led_cnt=prog*8; // while (1) { if(bit_100Hz) { bit_100Hz=0; // PORTC^=0x0f; // PORTB^=0b01100000; in_read(); step_contr(); mdvr_drv(); but_drv(); but_an(); } if(bit_10Hz) { bit_10Hz=0; //out_out(); led_out(); err_drv(); prog_drv(); // TRISC=0; // if(bVR) PORTB^=(1<<NET); // PORTC^=0xff; } if(bit_1Hz) { bit_1Hz=0; di(); // PORTB^=0xff; /* if(prog==p1) PORTB^=(1<<PP1); else if(prog==p2) PORTB^=(1<<PP2); else if(prog==p3) PORTB^=(1<<PP3); */ ei(); } } }
//=============================================== //=============================================== //=============================================== //=============================================== void main(void) { t0_init(); ei(); PEIE=1; di(); ei(); TRISB=0x00; PORTB=0x00; PORTC|=(1<<led_ERR); sci_init(); while (1) { if(bRXIN) { bRXIN=0; UART_IN(); } if(bit_100Hz) { bit_100Hz=0; in_read(); step_contr(); mdvr_drv(); but_drv(); but_an(); } if(bit_10Hz) { bit_10Hz=0; // out_out(); led_out(); err_drv(); prog_drv(); // if(prog==p1) OUT(3,CMND,eeprom_read(DELAY1),eeprom_read(DELAY2)/*3,3*/,0,0,0); // else if(prog==p2) OUT(3,CMND,eeprom_read(DELAY3),eeprom_read(DELAY4),0,0,0); if(prog==p3) { if(!sub_ind)adress=DELAY1; else adress=DELAY2; } else if(prog==p4) { if(!sub_ind)adress=DELAY3; else adress=DELAY4; } else if(prog==p1) { if(!sub_ind)adress=DELAY5; else adress=DELAY6; } else if(prog==p2) { if(!sub_ind)adress=DELAY7; else adress=DELAY8; } OUT(3,CMND,/*prog*/eeprom_read(adress),sub_ind+1,0,0,0); } if(bit_1Hz) { bit_1Hz=0; } } }
//=============================================== //=============================================== //=============================================== //=============================================== void main(void) { t0_init(); ei(); PEIE=1; di(); ei(); TRISB=0x00; PORTB=0x00; PORTC|=(1<<led_ERR); sci_init(); while (1) { if(bRXIN) { bRXIN=0; UART_IN(); } if(bit_100Hz) { bit_100Hz=0; in_read(); step_contr(); mdvr_drv(); but_drv(); but_an(); } if(bit_10Hz) { bit_10Hz=0; // out_out(); led_out(); err_drv(); prog_drv(); if(prog==p1) OUT(3,CMND,eeprom_read(DELAY1),eeprom_read(DELAY2),0,0,0); else if(prog==p1) OUT(3,CMND,eeprom_read(DELAY3),eeprom_read(DELAY4),0,0,0); } if(bit_1Hz) { bit_1Hz=0; } } }
//=============================================== //=============================================== //=============================================== //=============================================== void main(void) { t0_init(); main_cnt=30; #asm("sei") while (1) { if(b100Hz) { b100Hz=0; if(!PIND.6) { if(in_cnt<5) { in_cnt++; if(in_cnt==5) { main_cnt=0; } } } else { in_cnt=0; } DDRD.6=0; PORTD.6=1; } if(b10Hz) { b10Hz=0; DDRD|=0b00110000; if(main_cnt<30)main_cnt++; if((main_cnt>0)&&(main_cnt<=13)) { PORTD.5=1; } else PORTD.5=0; if((main_cnt>5)&&(main_cnt<=13)) { PORTD.4=1; } else PORTD.4=0; } if(b5Hz) { b5Hz=0; } if(b1Hz) { b1Hz=0; DDRD|=0b00110000; PORTD.5=!PORTD.5; } #asm("wdr") } }