Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <avr/io.h>
- #include <util/delay.h>
- #include "lcd.h"
- #include <stdlib.h>
- #include <avr/interrupt.h>
- uint16_t temp = 0;
- void writeLcd(uint16_t adc)
- {
- lcd_clrscr();
- char adcStr[16];
- itoa(adc, adcStr, 10);
- lcd_puts(adcStr);
- }
- ISR(ADC_vect)
- {
- temp = ((ADC * 5.0/1024) - 0.5) * 1000/100;
- writeLcd(temp);
- }
- int main(void)
- {
- DDRD = _BV(4);
- TCCR1A = _BV(COM1B1) | _BV(WGM10);
- TCCR1B = _BV(WGM12) | _BV(CS11);
- OCR1B = 64;
- lcd_init(LCD_DISP_ON);
- ADMUX = _BV(REFS0);
- ADCSRA = _BV(ADEN) | _BV(ADIE) | _BV(ADPS1) | _BV(ADPS2);
- sei();
- while (1)
- {
- ADCSRA |= _BV(ADSC);
- _delay_ms(1000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement