ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Motor A Pasos


Enviado por   •  7 de Julio de 2015  •  1.612 Palabras (7 Páginas)  •  186 Visitas

Página 1 de 7

Objetivos

Utilizar el compilador de mikro C para programar el PIC18F4550

Programar un PIC18F4550 para controlar un LCD 16X2

Materiales

PIC18F4550.

LCD 16X2 (162ª)

Protoboard

POTENCIOMETRO DE 10 K Ω

Push botton

Cable para conexiones.

Resistencias de 1k Ω

Introducción

El compilador MikroC PRO

La programación de microcontroladores se basa en un código de máquina que es conocido como código ensamblador, este código contiene una a una las instrucciones del programa, este código ensamblador o también conocido como código asembler es minucioso, y tedioso de editar. El asembler crea códigos de programa extensos y de difícil comprensión. La creación de compiladores de alto nivel facilitó la edición y creación de programas en todo modo de programación lógica, por supuesto los microcontroladores no fueron la excepción, comercialmente existen varios compiladores de diferentes fabricantes y diferentes lenguajes de alto nivel.

MikroC PRO es un paquete de software con una amplia variedad de ayudas y herramientas que facilita la creación de proyectos y aplicativos para los microcontroladores PICMicro.

El estudio de este entorno de desarrollo es posible debido a que el estudiante puede descargar una versión demo o estudiantil, que tiene las mismas características de la versión completa, la única limitación es la dimensión del código de máquina que no puede exceder 2K bytes, sin embargo es una capacidad suficiente al tratarse de un prime aprendizaje. La versión demo se puede descargar de la pagina: www.mikroe.com.

Marco teórico

La mayoría de los dispositivos de lógica secuencial, entre ellos los CPU, son de naturaleza síncrona. Es decir, están diseñados y operan en función de una señal de sincronización. Esta señal, conocida como señal de reloj, usualmente toma la forma de una onda cuadrada periódica. Calculando el tiempo máximo en que las señales eléctricas pueden moverse en las varias bifurcaciones de los muchos circuitos de un CPU, los diseñadores pueden seleccionar un período apropiado para la señal de reloj.

Para el correcto funcionamiento del microcontrolador debemos definir la frecuencia del oscilador pues determinará los ciclos de instrucción; podemos utilizar un oscilador interno o externo, sin embargo es recomendable utilizar un oscilador de cristal externo para evitar un mal funcionamiento frente a las variaciones de temperatura dentro del microcontrolador.

Cálculo del ciclo máquina

Para calcular el ciclo máquina, primero debemos saber qué es, el ciclo máquina no es nada más ni nada menos que el tiempo que se tarda en ejecutar una instrucción, este valor está compuesto por el ciclo de reloj multiplicado por cuatro (debido al pipeline), multiplicado por el valor del preescaler multiplicador por el registro que se va a utilizar, es decir TMR0L (16).

Ciclo de reloj:

CR=1/f=1/4MHz=0.25µs

Ciclo de instrucción:

CI=CR*4=0.25*4=1µs

Ciclo máquina:

CM=CI*Preescaler*TMR0L

CM=(1/4MHz*4)(256)(16)=0.0409ms

Subrutina de retardo

Para repetir el número del CM n veces, se tiene que utilizar un subrutina que realice un retardo, para ello, primero definamos lo que es una subrutina.

En computación, una subrutina o subprograma (también llamada procedimiento, función o rutina), como idea general, se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el nombre función para referirse a subrutinas que devuelven un valor.

Para realizar nuestra subrutina de retardo, debemos realizar lo siguiente en ensamblador:

RETARDO MOVLW .3 ;RETARDA TRES VECES

MOVWF CICLO

CERO CLRF TMR0L ;REINICIA EL TIMER0

CHECK BTFSS TMR0L,4 ;REVISA EL MSB TIMER0L

GOTO CHECK

DECFSZ CICLO ;DECREMENTA CICLO

GOTO CERO ;

RETURN

Instrucciones RETURN, DECFSZ

Como podemos observar, en la subrutina anterior utilizamos RETURN DECFSZ las cuales, RETURN regresa de la pila de subrutinas de donde fue llamada esta subrutina (RETARDO) y DECFSZ se utiliza para decrementar en uno el registro CICLO.

Display de 7 segmentos

El visualizador de siete segmentos (llamado también display por calco del inglés, aunque no recomendado en español) es una forma de representar números en equipos electrónicos. Está compuesto de siete segmentos que se pueden encender o apagar individualmente. Cada segmento tiene la forma de una pequeña línea. Se podría comparar a escribir números con cerillas o fósforos de madera.

Cada uno de los segmentos que forman la pantalla, están marcados con las siete primeras letras del alfabeto (de la letra ‘a’ a la letra 'g'), y se montan de forma que permiten activar cada segmento por separado, consiguiendo formar cualquier dígito numérico. A continuación se muestran algunos ejemplos:

Si se activan o encienden todos los segmentos se forma el número "8".

Si se activan sólo los segmentos: "a, b, c, d, e, f," se forma el número "0".

Si se activan sólo los segmentos: "a, b, g, e, d," se forma el número "2".

Si se activan sólo los segmentos: "b, c, f, g," se forma el número "4".

Ánodo común

En los de tipo de ánodo común, todos los ánodos de los leds o segmentos están unidos internamente a una patilla común que debe ser conectada a potencial positivo

...

Descargar como (para miembros actualizados)  txt (12 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com