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 <stdlib.h>
- #include "lcd.h"
- void write2lcd(uint16_t adc){
- char str[16];
- itoa(adc, str, 10);
- lcd_clrscr();
- lcd_puts(str);
- }
- ISR(ADC_vect){
- uint16_t val = ((ADC * 5.0/1024) - 0.5) * 1000/10;
- write2lcd(val);
- _delay_ms(500);
- }
- int main(void){
- DDRD = _BV(4);
- TCCR1A = _BV(COM1B1) | _BV(WGM10);
- TCCR1B = _BV(WGM12) | _BV(CS10);
- OCR1B = 20;
- TCCR0 = _BV(WGM01) | _BV(CS00) | _BV(CS02);
- OCR0 = 180;
- TIMSK = _BV(OCIE0);
- sei();
- //INICIJALIZACIJA
- ADMUX = _BV(REFS0); //pomak za kanal
- ADCSRA = _BV(ADEN) | _BV(ADATE) | _BV(ADIE) | _BV(ADPS2) | _BV(ADPS0);
- SFIOR = _BV(ADTS1) | _BV(ADTS0);
- lcd_init(LCD_DISP_ON);
- lcd_clrscr();
- lcd_gotoxy(7, 0);
- lcd_puts("kys");
- while (1) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement