Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define F_CPU 7372800UL
- #include <avr/io.h>
- #include <avr/interrupt.h>
- #include <util/delay.h>
- #include <string.h>
- #include "lcd.h"
- static uint16_t stot = 0;
- static uint16_t sec = 0;
- static uint16_t min = 0;
- static uint16_t h = 0;
- char str[16];
- char str2[16];
- static uint8_t flag = 0;
- ISR(TIMER0_COMP_vect){
- stot++;
- if(stot == 100){
- sec++;
- stot = 0;
- }
- if(sec == 60){
- min++;
- sec = 0;
- }
- if(min == 60){
- h++;
- min = 0;
- }
- if(h == 99){
- h = 0;
- }
- sprintf(str, "%02d:%02d:%02d", h, min, sec);
- //sprintf(str, "%02d:%02d:%02d", h, min, sec);
- lcd_clrscr();
- lcd_gotoxy(4, 0);
- lcd_puts(str);
- }
- int main(void){
- DDRA = 0xff;
- DDRD = 0xff;
- PORTA |= 0b10000000; //jer je boja stavljena na PORTA na 7.mjesto pa moramo dovest 1 na tu poziciju
- DDRB = 0xf0;
- PORTB = 0xff;
- TCCR1A = _BV(COM1B1) | _BV(WGM10);
- TCCR1B = _BV(WGM12) | _BV(CS10);
- OCR1B = 20;
- TCCR0 = _BV(WGM01) | _BV(CS00) | _BV(CS02);
- OCR0 = 72;
- TIMSK = _BV(OCIE0);
- sei();
- lcd_init(LCD_DISP_ON);
- lcd_clrscr();
- //lcd_puts("da");
- while (1){
- if(bit_is_clear(PINB, 0)){
- _delay_ms(100);
- if(OCR1B < 250){
- OCR1B++;
- }
- sprintf(str2, "%d", OCR1B);
- lcd_clrscr();
- lcd_gotoxy(11, 1);
- lcd_puts(str2);
- }
- if(bit_is_clear(PINB, 1)){ //dodavanje
- _delay_ms(100);
- if(OCR1B > 10){
- OCR1B--;
- }
- sprintf(str2, "%d", OCR1B);
- lcd_clrscr();
- lcd_gotoxy(11, 1);
- lcd_puts(str2);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement