Sei sulla pagina 1di 30

Microcontroladores

Microcontroladores Microprocesadores y microcontroladores
Microcontroladores
Microprocesadores
y
microcontroladores

El diagrama de un sistema de un microcontrolador sería algo así

de un sistema de un microcontrolador sería algo así Los dispositivos de entrada pueden ser un
de un sistema de un microcontrolador sería algo así Los dispositivos de entrada pueden ser un
de un sistema de un microcontrolador sería algo así Los dispositivos de entrada pueden ser un
de un sistema de un microcontrolador sería algo así Los dispositivos de entrada pueden ser un

Los dispositivos de entrada pueden ser un teclado, un interruptor, un sensor, etc.

Los dispositivos de salida pueden ser LED's, pequeños parlantes, zumbadores, interruptores de potencia (tiristores, optoacopladores), u otros

dispositivos como relés, luces, en fin

lo que quieras

representación en bloques del microcontrolador

representación en bloques del microcontrolador

Memoria ROM (Memoria de sólo lectura)

Memoria RAM (Memoria de acceso aleatorio)

Líneas de entrada/salida (I/O) También llamados puertos

Lógica de control Coordina la interacción entre los demás bloques

• de un set de 35 instrucciones

PIC16C84/F84

• encapsulado más común para estos microcontrolador es el DIP (Dual In line Pin) de 18 pines, y utiliza un reloj de 4 MHz (cristal de cuarzo).

para estos microcontrolador es el DIP (Dual In line Pin) de 18 pines, y utiliza un

El oscilador externo

RC. Oscilador con resistencia y condensador.

XT. Cristal.

HS. Cristal de alta velocidad.

LP. Cristal para baja frecuencia y bajo consumo de potencia.

El cristal debe ir

El cristal debe ir

Si no requieres mucha precisión en el oscilador, puedes utilizar una resistencia y un condensador

Si no requieres mucha precisión en el oscilador, puedes utilizar una resistencia y un condensador

Reset

Reset

Memoria de datos

• Tiene dos zonas diferentes • PIC16F84A se halla dividida en dos bancos (banco 0 y banco 1) de 128 bytes cada uno (7Fh)

Configuración de los puertos del PIC

• la memoria de datos, la cual como dijimos, está dividida en el BANCO 0 y BANCO 1.

Los registros importantes en la configuración de los puertos son:

STATUS dirección 0x3

PORTA

dirección 0x5

PORTB

dirección 0x6

TRISA

dirección 0x5

TRISB

dirección 0x6

• Al configurar los puertos deberás tener en cuenta que:

Si asignas un CERO (0) a un pin, éste quedará como salida y Si le asignas un UNO (1), quedará como entrada

Esta asignación se hace en:

TRISA para los pines del PUERTO A (5 bits) TRISB para los pines del PUERTO B (8 bits)

Por Ejemplo:

• Si TRISA es igual a 11110 todos sus pines serán entradas salvo RA0 que esta como salida

• STATUS es un Registro de 8 bits u 8 casillas, en el cual la

STATUS es un Registro de 8 bits u 8 casillas, en el cual la Nº 5 (RP0) define la posición del banco en donde nos encontramos

Si pones un CERO (0) a RP0 estaremos en el BANCO 0 Si le pones un UNO (1) ya ves, estaremos en el BANCO 1

Instrucciones

Crear un programa que sume dos a la entrada del puerto A y lo visualice por el puerto B

bsf

bcf

movf

PUERTA,W

addlw

movwf

goto

por el puerto B • bsf • bcf • movf PUERTA,W • addlw • movwf •

;SEGUNDO.ASM Programa que lee el n£mero binario introducido mediante 3

;interruptores conectados a la puerta PA (RA0,RA1,RA2), luego suma 2 unidades

;a ese valor y visualiza el resultado mediante 4 diodos led conectados a la

;puerta PB (RB0, RB1,RB2,RB3).

 

;----------------------------------------------------------------------------

LIST

P=16f84A

;Comando que indica el PIC usado

RADIX HEX

 

;Los valores se representar n en hexadecimal

;----------------------------------------------------------------------------

PUERTAA EQU

0X05

;La etiqueta "PUERTAA" queda identificada con

 

»

;la direcci¢n 0x05, que si corresponde con el

»

;banco 0 es el valor de PUERTAA y si es del

»

;banco 1 con el de TRISA.

 

PUERTAB EQU

0X06

;Equivalencia de la etiqueta PUERTAB

ESTADO

EQU

0X03

;Estado corresponde con el valor 0x03.

W

EQU

0

;Identifica W con el valor 0.

;----------------------------------------------------------------------------

ORG

0

;Comando que indica al Ensamblador la

;direcci¢n de la memeoria donde se

 

»

;situar la instruci¢n siguiente

;----------------------------------------------------------------------------

bsf

ESTADO,5

;Pone a 1 el bit 5 de ESTADO para direccionar

movlw

0xff

;la p gina 1 de la memoria de datos. ;W <-- FF(Hex)

movwf

PUERTAA

;W --> TRISA

movlw

0x00

;W <-- 0

movwf

PUERTAB

;W --> TRISB (Las l¡neas de PB salidas)

bcf

ESTADO,5

;Pone a 0 el bit 5 de ESTADO pasando a ;acceder al banco 0.

inicio movf

PUERTAA,W

;W <-- PUERTAA. Se introduce el valor ;binario de los interruptores.

addlw

2

;W <-- W + 2

movwf

PUERTAB

;W --> PUERTAB. El valor de W sale por las

goto

inicio

;l¡neas de PB a los led. ;Salta a la instrucci¢n precedida por la

;etiqueta de inicio.

END

Crear un programa que permita inversión de giro de un motor trifásico (cundo RB1 sea 1 derecha)(cundo RB1 sea 0 derecha ) y lo visualice por el puerto B

• movf addlw

• movwf

• goto

PUERTA,W

RB1 sea 1 derecha)(cundo RB1 sea 0 derecha ) y lo visualice por el puerto B

Cree un programa que me permita Controlar cuatro interruptores independientemente y crear una subrutina automática de control ( automatización de llenado de botellas)

Faja , llenado ,tapado, etiquetado

a) Diseñe la lógica de control

Coloque una (1) si es entrada y una (0) si es salida y una (x) si no se usa

si es entrada y una (0) si es salida y una (x) si no se usa

b) Diseñe la lógica y diagramé el circuito

• c) Realice el diagrama de bloques del programa

• d) Realice el programa de microcontrolador

• . Encabezado

• . mapa de memoria (designación de registros)

• . Configuración de puertos-

• . Programa

Instrucciones

CLRW

CLRF

BTFSC

BTFSS

ADDWF = Suma el contenido de w

y el registro, y el resultado lo

guarda en d ( ADDWF

f,d)

ANDWF f,d

• BTFSS • ADDWF = Suma el contenido de w y el registro, y el resultado