Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programa para Medir Valor Eficaz de Sinal de Entrada em Sistemas Digitais, Trabalhos de Engenharia Elétrica

Neste documento, é apresentado um programa em c para medir o valor eficaz de um sinal de entrada em um sistema digital. O programa utiliza a biblioteca <8051.h> e <math.h>, além da biblioteca <datapool.h> para ler valores do conversor a/d e realizar cálculos matemáticos. O algoritmo consiste em ler 500 amostras de sinal, calcular o valor pico e o valor rms, e exibir o resultado no display. O programa é escrito para o microcontrolador 8051.

Tipologia: Trabalhos

Antes de 2010

Compartilhado em 28/11/2009

anderson-manine-8
anderson-manine-8 🇧🇷

1 documento

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
// Sistemas Digitais 5
// Prof. Antônio Hamilton
// 3º Trabalho
// Alunos:
// Daniel Botinha
// Leonardo Muratori
// Ricardo Baldo
// Wagner Rigueira
#include <8051.h> //inclusao de biblioteca de funções próprias
#include <math.h> //inclusao de biblioteca de funções matemáticas próprias
#include <datapool.h> //inclusao de biblioteca de funções próprias
void main(void) // corpo do programa
{
float Vrms, Vpico, x; // variáveis globais
ini_dsp(); // inicializa o display
clr_dsp(); // limpa o display
Put_message(0,0,"Valor Eficaz do sinal de Entrada"); // mostra no display a frase "Valor
Eficaz do sinal de Entrada"
for(;;) // loop infinito
{
Vrms=0;
Vpico=0;
unsigned char j;
j=0;
while (j < 500)
{
x=get_adc(); // Ecoa valor lido no conversor A/D na variável i. A função
get_adc() está dentro do datapool.h
// get_adc entrega um número de 12 bits.
j++;
if (x>Vpico)
Vpico=x;
} // fim do while
Vpico/=4.095 // conversor ADC é de 12 bits, portanto vai de 0~4095.
// dividindo o Vpico por 4.095 tem-se o valor de pico real aplicado na
entrada.
Vrms=Vpico/sqrt(2); // divide Vpico pela raiz quadrada de 2
if (Vrms<10)
pf2

Pré-visualização parcial do texto

Baixe Programa para Medir Valor Eficaz de Sinal de Entrada em Sistemas Digitais e outras Trabalhos em PDF para Engenharia Elétrica, somente na Docsity!

// Sistemas Digitais 5 // Prof. Antônio Hamilton // 3º Trabalho // Alunos: // Daniel Botinha // Leonardo Muratori // Ricardo Baldo // Wagner Rigueira

#include <8051.h> //inclusao de biblioteca de funções próprias #include <math.h> //inclusao de biblioteca de funções matemáticas próprias #include <datapool.h> //inclusao de biblioteca de funções próprias

void main(void) // corpo do programa

float Vrms, Vpico, x; // variáveis globais ini_dsp(); // inicializa o display clr_dsp(); // limpa o display Put_message(0,0,"Valor Eficaz do sinal de Entrada"); // mostra no display a frase "Valor Eficaz do sinal de Entrada"

for(;;) // loop infinito { Vrms=0; Vpico=0; unsigned char j; j=0;

while (j < 500) {

x=get_adc(); // Ecoa valor lido no conversor A/D na variável i. A função get_adc() está dentro do datapool.h // get_adc entrega um número de 12 bits. j++; if (x>Vpico) Vpico=x; } // fim do while

Vpico/=4.095 // conversor ADC é de 12 bits, portanto vai de 0~4095. // dividindo o Vpico por 4.095 tem-se o valor de pico real aplicado na entrada.

Vrms=Vpico/sqrt(2); // divide Vpico pela raiz quadrada de 2

if (Vrms<10)

Vrms=/1000; put_number(1,1,4,Vrms); put_message (1,5,"mV"); } if (Vrms>=10) if (Vrms<100) { Vrms=/100; put_number(1,1,4,Vrms); put_message (1,5,"mV"); } if (Vrms>=100) if (Vrms<=1000) { put_number(1,1,4,Vrms); put_message (1,5,"V"); } if (Vrms>1000) put_message (1,1,"Sobretensão");

} // fim loop infinito

} // fim do corpo do programa