












Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
microcontroladores modulo adc...........
Tipologia: Notas de aula
1 / 20
Esta página não é visível na pré-visualização
Não perca as partes importantes!
A configuração do clock do ADC é feita com os bits ADCS1 e ADCS
ADCS1, ADCS0 – Bits de seleção de clock de conversão do A/D
CHS3-CHS0 – Bits de seleção do canal analógico
ADFM – bit de seleção de formato do resultado do A/D 1 – resltado da conversão justificado a direita. 0 – resultado da conversão justificado a esquerda. VCFG1 – bit de seleção de tensão da referencia negativa do conversor A/D 1 – referência negativa é aplicada no pino Vref- ; 0 – Vss é usado como referência negativa. VCFG0 – bit de seleção de referência positiva do conversor A/D 1 – referência positiva é aplicada ao pino Vref+ ; 0 – Vdd é usado como referência positiva.
Step 4 – Aguarde o requerido tempo de aquisição (aproximadamente 20uS) passar. Step 5 – Inicie a conversão setando o bit GO/DONE do registrador ADCON0. Step 6 – Aguarde a conversão terminar ADC. Se necessário, check em um loop se o bit GO/DONE foi limpo ou aguarde uma conversão ou aguarde uma interrupção do A/D (deve ser configurado previamente). Step 7 – Leia o resultado do ADC: Leia os registradores ADRESH e ADRESL.
Ex1: Exibir no display LCD o valor de tensão presente no pino RA2.
void main() { INTCON = 0; // todas interrupções desabilitadas ANSEL = 0x04; // pino RA2 é configurado como entrada analógica TRISA = 0x04; ANSELH = 0; // restante dos pinos configurados como digital Lcd_Init(); // inicialização do display LCD Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off) Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD) text = "Aula 13 - ADC"; // define a primeira mensagem Lcd_Out(1,1,text); // escreve a primeira mensagem na primeira linha text = "Exemplo LCD"; // define a segunda mensagem Lcd_Out(2,1,text); // escreve segunda mensagem ADCON1 = 0x82; // referencia de tensão do A/D é VCC Delay_ms(2000); text = "tensao:"; // define terceira mensagem
While (1) { // loop infinito adc_rd = ADC_Read(2); // conversão A/D. pino RA2. Lcd_Out(2,1,text); // escreve o resultado na segunda linha tlong = (long)adc_rd * 5000; // converte o resultado em milivolts tlong = tlong / 1023; // 0..1023 -> 0-5000mV ch = tlong / 1000; // extrai volts do resultado Lcd_Chr(2,9,48+ch); // escreve o resultado em formato ASCII Lcd_Chr_CP('.'); ch = (tlong / 100) % 10; // Lcd_Chr_CP(48+ch); // ch = (tlong / 10) % 10; // Lcd_Chr_CP(48+ch); // ch = tlong % 10; // Lcd_Chr_CP(48+ch); // Lcd_Chr_CP('V'); Delay_ms(1); } }
Ex1:Desenvolver um firmware em C para fazer a leitura de temperatura utilizando o CI LM35 e exibir o valor da temperatura em graus Celsius em um display LCD.
Ex2: Escreva um firmware para exibir o valor de resistência de um sensor de luminosidade LDR.