Programa:: / Ad - Paolo - Deber.c Created: 02/07/2015 23:12:20 Author: Home

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Programa:

/*
* ad_paolo_deber.c
*
* Created: 02/07/2015 23:12:20
* Author: Home
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#define CPU 8000000UL
#include <util/delay.h>
#include "avr_compiler.h"
#include "LCD.h"
void inicio_micro(void);
void conf_adc(void);
int
get_adc(char);
int variable,variable1;
int main(void)
{
variable1=45;
inicio_micro();
conf_adc();
sei();
lcd_init(LCD_DISP_ON);
lcd_clrscr();
while(1)
{
variable=get_adc(0);
OCR1B=variable;
lcd_gotoxy(0,0);
lcd_write_value(variable,3);
}
}
void conf_adc()
{
ADMUX |=(1<<REFS0)|(1<<ADLAR);
ADCSRA |= (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1); //habilito el el adc
//DIDR0=3;
}
int get_adc(char canal)
{
DIDR0|=(1<<canal);
ADMUX=(ADMUX & 0XE0)|(canal);
//EMPEZAR CONVERCION
ADCSRA|= (1<<ADSC);
while (ADCSRA & (1<<ADSC)); // espera hasta finalizar conversion
return ADCH; //retorna los 10 bits del adc
}
void inicio_micro(void)
{
DDRA=0;

PORTA=255;
DDRC=255;
PORTD=0;
DDRB=0b11111110;
PORTB=0b00000001;
DDRD=255;
PORTD=0;
TCCR0A=0b01010011;
OCR0A=99;
TCCR0B=0b00001001;
TCCR1A=0b00100011;
OCR1A=255;
TCCR1B=0b00011001;
PCICR=0b00000010;
PCMSK1=0b00000001;
sei();
}
ISR(PCINT1_vect)
{
if(!(PINB &(1<<0)))
{
PORTD|=(1<<7);
}
if (PINB &(1<<0))
{
PORTD&=(0<<7);
}
}

Simulacion:

You might also like