Escolar Documentos
Profissional Documentos
Cultura Documentos
h"
//========================================================
// Nombre del Programa: Ejemplo ADC
// Autor: Sebastian Augusto Baquero Pea
// UNIVERSIDAD PONTIFICIA BOLIVARIANA
//========================================================
/********************************************************/
/*------- Espacio para declaracion de constantes ------*/
/********************************************************/
#define ON 1
#define OFF 0
#define FAST_GLCD
/********************************************************/
/*--- Espacio para declaracion de variables globales --*/
/********************************************************/
char text_glcd[40];
char last_key=0x00;
char last_screen;
char text_glcd1[40];
char text_glcd2[40];
char text_glcd3[40];
char text_glcd4[40];
char text_glcd5[40];
char text_glcd6[40];
char text_glcd7[40];
char text_glcd8[40];
char text_glcd9[40];
float calculo;
/********************************************************/
/********************************************************/
/*-------------- Espacio para funciones ---------------*/
/********************************************************/
#include "GLCD_128x64_KS0108.c"
#include <graphics.c>
#include <math.h>
/******************************************************************************/
/******************************************************************************/
/*--------------------- Espacio de codigo principal --------------------------*/
/******************************************************************************/
#zero_ram
void main(){
mcu_init();
char cont[5];
int i,j,dato=0;
// Inicializa microcontrolador
SETUP_ADC_PORTS( sAN0); // Todos los puertos como dgitales
SETUP_ADC(ADC_CLOCK_INTERNAL); // ADC deshabilitado
glcd_init(ON); // Inicializa pantalla GLCD
glcd_fillScreen(OFF);
set_tris_a(0x0f);
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_e(0x00);
delay_ms(100);
sprintf(text_glcd,"Sebastian \n");
glcd_text57(4,4,text_glcd,1,ON);
sprintf(text_glcd,"Arquitectura");
glcd_text57(4,14,text_glcd,1,ON);
delay_ms(300);
glcd_update();
delay_ms(300);
glcd_fillScreen(OFF);
sprintf(text_glcd,"Ejemplo ADC");
glcd_text57(4,24,text_glcd,1,ON);
glcd_update();
delay_ms(300);
contador=0;
while(true){
glcd_fillScreen(OFF);
glcd_update();
delay_ms(280);
glcd_fillScreen(OFF);
}
}
#INT_TIMER2
interr_TIMER2(){
contador++;
canal1=read_adc()*0.012890625;
if(canal1>2){
contador1++;
if (contador1==1){
rpm++;
}
}
else{
contador1=0;
}
if(contador>=1000){
for(i=0; i<60; i++){
hist[i]=hist[i-1];
}
hist[0]=rpm;
for(i=0; i<60; i++){
pulso=hist[i]+pulso;
}
contador=0;
SET_TIMER2(0);
rpm=0;
}