Sunteți pe pagina 1din 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

UNIVERSIDAD DEL PERÚ, DECANA DE AMÉRICA.

FACULTAD DE ING. ELECTRÓNICA Y ELÉCTRICA

LABORATORIO 1: Implementación de un circuito de muestreo con


un ARDUINO y el compilador BASCOM

CURSO : INGENIERIA DE CONTROL

PROFESOR : ING CIFUENTES

NOMBRE : CHÁVEZ GARCÍA RAÚL JORGE

CÓDIGO : 09190151

HORARIO : LUNES
INTRODUCCION
- En el presente laboratorio, veremos los diferentes usos y utilidades del programa BASCOM-
ARV, así como también las herramientas y funciones que contiene, las cuales nos
permitirán desarrollar futuros laboratorios haciendo un mejor uso del software para
facilitar la programación y entendimiento del curso.

OBJETIVO
- Familiarizarse y utilizar el SOFTWARE de programación BASCOM-ARV para desarrollar un
programa contundente para la aplicación de un contador por interrupciones utilizando un
ATMEGA8.

MATERIALES
- ATMEGA8

- LED’s

- ARDUINO UNO

PROCEDIMIENTO
1. Realizar la programación en el software BASCOM-AVR, en base a la programación sugerida
por el previo.
2. Una vez terminada la programación, se pasara a guardar el archivo del programa y después
se procederá a compilar en el BASCOM-AVR para seguir con la verificación.
3. Una vez verificada la programación mediante la simulación en el BASCOM-AVR usando los
led’s proporcionados por el programador.
4. Se procede ahora a conectar el ATMEGA8 al quemador y este último mediante el cable
serial/USB a la PC donde se encuentre el programa listo para ser escrito.
5. El programa reconocerá de manera automática el dispositivo utilizado (en este caso el
ATEMGA8).
6. Una vez reconocido el dispositivo, se procederá a su escritura o quemado en el
microcontrolador para que funcione de acuerdo a la programación solicitada.
7. Se implemente el circuito en un protoboard para verificar la completa funcionalidad del
dispositivo.
PROGRAMACION (BASCOM-AVR)

$regfile = "m328pdef.dat" 'indica al compilador el dispositivo a usar


$crystal = 16000000
'la frecuencia del reloj (16MHz) '
$hwstack = 32
$framesize = 16

Dim Cont As Byte


Dim A As Byte

Config Portb = Output 'Configura el puerto b como salida

'Configura el timer1 como contador, con preescalador de 64, y que se reinicie a luego 'de
tomar el valor

Config Timer1 = Counter , Prescale = 1024

, Clear Timer = 1
'especifiado por Compare1A
Timer1 = 0 'inicializa el timer1 en cero.

On Compare1a Muestreo1

'Muestreo1 es el LABEL a la cual debe saltar cuando de tiene una interrupcion

'Calcular el tiempo de muestro T


'se contara hasta el valor 31250 para un T=2s ' 31250=H7A12

Compare1a = &H7A12
Enable Compare1a 'Habilita la interrupcion por comparacion de
timer1
Enable Interrupts 'Habilita las interrupciones en general

Do
A=0
Loop
End 'final del programa

'Rutina de interrrupcion (actualizar salida)

Muestreo1:
Timer1 = 0
Incr Cont
Portb = Cont

'Desarrollar el algoritmo de control:

Return 'fin de la rutina de interrupcion

Simulación en proteus

Implementación:

S-ar putea să vă placă și