OBJETIVO GENERAL •
Mediante el uso del programa MikroC y el programa Proteus, realizar los siguientes ejercicios para demostrarlos por simulación.
EJERCICIO N O 1 1.- OBJETIVO •
El programa debe realizar una adquisición de datos mediante el ADC, el cual adquirirá intensidad luminosa (lumen), esta información debe desplegarse mediante el puerto serial.
2.- ALGORITMO 1) 2) 3) 4) 5) 6)
Configur Configurarlos arlos el puerto puerto A como como entrad entrada a de datos Configur Configurarlos arlos el puerto puerto d como como salida salida de de datos datos Se adquie adquiere re la la informac información ión median mediante te el puerto puerto A Se procesa procesa esta inform información ación traduci traduciendo endo voltaje voltaje a intensid intensidad ad luminosa luminosa (lumen) (lumen) Se despli despliega ega la la informac información ión median mediante te el puerto puerto serial. serial. SE REPITE EL PASO 3
4.- CIRCUITO
5.- PROGRAMA //*************************** //******************************************* ****************************** ****************************** ******************** **** // FILE NAME : A2DTEST.C
// // TITLE : EXAMPLE USAGE OF SOME AVR LIBRARY FUNCTIONS // REVISION : 1.0 // NOTES : // TARGET MCU : ATMEL AVR SERIES // EDITOR TABS : 4 // // REVISION HISTORY : // WHEN WHO DESCRIPTION OF CHANGE // ------------------------------------------ // 20-OCT-2002 PSTANG CREATED THE PROGRAM //***************************************************************************** //----- INCLUDE FILES --------------------------------------------------------#INCLUDE
// INCLUDE I/O DEFINITIONS (PORT NAMES, PIN NAMES, ETC) #INCLUDE // INCLUDE "SIGNAL" NAMES (INTERRUPT NAMES) #INCLUDE // INCLUDE INTERRUPT SUPPORT #INCLUDE "GLOBAL.H" #INCLUDE "UART.H" #INCLUDE "RPRINTF.H" #INCLUDE "TIMER.H" #INCLUDE "A2D.H"
// INCLUDE OUR GLOBAL SETTINGS // INCLUDE UART FUNCTION LIBRARY // INCLUDE PRINTF FUNCTION LIBRARY // INCLUDE TIMER FUNCTION LIBRARY (TIMING , PWM, ETC) // INCLUDE A/D CONVERTER FUNCTION LIBRARY
//----- BEGIN CODE -----------------------------------------------------------UNSIGNED INT TEMP _ RES,TEMP _ RES1;
INT MAIN(VOID)
{
U16 A=0; U08 I=0; UARTINIT(); RPRINTFINIT(UARTSENDB YTE); TIMERINIT(); A2DINIT(); RPRINTF("______________________________________ \N \R"); RPRINTF("
*** SENSOR DE TEMPERATURA *** \ N \R"); RPRINTF(" **--TEMPERATURA EN CELSIUS--** \ N \R"); RPRINTF(" **--TEMPERATURA EN FAHRENHEIT--** \ N \R"); RPRINTF("______________________________________ \N \R"); DDRA = 0X00; PORTA = 0X00; A2DSETPRESCALER(ADC_PRESCALE_DIV32); A2DSETREFERENCE (ADC_REFERENCE_AVCC); WHILE(1)
{ TEMP _ RES=(((A2DCONVERT 8BIT(0)*5.0)/10.5)); RPRINTF ("-CANTIDAD
DE LUMENS % D: %D
\N \R", 0 ,TEMP _ RES);
TEMP _ RES1=((TEMP _ RES)*100.0)/5; RPRINTF("-PORCENTAJE
% D: %D
\N \R", 0 ,TEMP _ RES1);
RPRINTF ("*******************************************\ N \R"); RPRINTF("MUESTRA
# : %D \N \R", A++);
} RETURN
0;
} 6.- CAPTURAR LA PANTALLA SIMULADOR