Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define F_CPU 7372800UL
- #include <avr/io.h>
- #include <util/delay.h>
- #include <stdlib.h>
- #include <avr/interrupt.h>
- #include "lcd.h"
- void writeLCD(uint16_t adc){
- lcd_clrscr();
- char adcStr[16];
- itoa(adc, adcStr, 10);
- lcd_puts(adcStr);
- itoa(ADC, adcStr, 10);
- lcd_gotoxy(0, 1);
- lcd_puts(adcStr);
- }
- ISR(ADC_vect){
- uint16_t temp = ((ADC * 2.56/1024) - 0.5) * 1000/10;
- writeLCD(temp);
- }
- int main(void)
- {
- DDRD = _BV(4);
- TCCR1A = (1 << COM1B1) | (1 << WGM11) | (1 << WGM10);
- TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS11);
- OCR1A = 92;
- OCR1B = 92 * 0.3;
- lcd_init(LCD_DISP_ON);
- TCCR0 = (1 << WGM01) | (1 << CS02) | (1 << CS00);
- OCR0 = 180;
- ADMUX = (1 << REFS1) | (1 << REFS0);
- ADCSRA = (1 << ADEN) | (1 << ADIE) | (1 << ADATE) | (1 << ADPS2) | (1 << ADPS1);
- SFIOR = (1 << ADTS1) | (1 << ADTS0);
- sei();
- while (1)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement