Вы находитесь на странице: 1из 9

MICROPROCESADOR 8051

L1.- LEDS Y PULSADORES

Introduccion.Los dispositivos de visualizacion mas comunmente


conocidos son los LEDs (light-emitting diode: diodo emisor
de luz).

Los dispositivos de introduccion de datos mas comun


por determinar un estado alto o bajo a la entrada de los
pines del microcontrolador es sin duda el pulsador

El microcontrolador seleccionado para el aprendisaje por sus caracteristicas es el AT89S51.


Para el modelo AT89C51 las conecciones minimas para este caso son: alimentacion electrica Vcc en el pin 40 a 5Vdc y
el pin 20 a Gnd.
Los pines 18 y 19 son destinados al cristal de oscilacion que indicara la velocidad de procesamiento del dispositivo.
Y por ultimo el reset , destinado al pin 9., dicho pin de reseteo se activa en flanco de bajada.
El pin 31 debe estar conectado a Vcc para que el microcontrolador lea el programa en su memoria interna.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Objetivo.Para inicial la programacion de microcontroladores ATMEL en lenguaje assembler, comenzaremos por el manejo de
dispositivos de visualizacion Leds y pulsadores, de esta manera la entrada y salida de datos del microcontrolador es
comprendida por el estudiante.

Hardware (L1-A).La finalidad de este circuito es conectar LEDs a la salida del puerto cero del microcontrolador y ejecutar en el una
secuencia de luces programadas con el software que se vera mas adelante, en la parte inferior del plano del circuito
tenemos los pines de alimentacion los cuales deben ser conectados al armado del circuito , el simulador oculta por defecto
estos pines de tal manera que no se encontraran en el bloque que representa el microcontrolador, el reset iniciara el
programa grabado dentro del microcontrolador con el archivo HEX que se obtendra al desarrollar el software, lod LEDs
de salida del puerto cero que son P0 a P7 , en el caso del circuito propuesto es una barra de leds que puede ser utilizado
por comodidad al armado del circuito , aunque tambien puede ser utilizado LEDs comunes a la salida de los pines a los
cuales se sugiere poner resistencias de proteccion de por lo menos 220ohms en un respack por ser el puerto cero open
colector , el cristal aca propuesto es de 11.0592 Mhz pero puede ser de otro valor dependiendo siempre del limite
propuesto por el fabricante para el dispositivo.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Software (L1-A)

Al inicio del programa despues del carcter ;


se encuentran los comentarios que describen el
proposito del programa, en lenguaje assembrer
es recomendable tener la mayor cantidad de
comentarios pues estos ayudan al momento de
ubicarse en determinar para que estan hechas
las lineas de codigo.
org indica el origen de la memoria de
programa donde se guardara el codigo a
continuacion.
setb c coloca el carry ( c ) en uno , lo setea.
clr
a pone a cero el acumulador ( a ), lo
limpia, le hace un clear.
Para mover al puerto cero basta con usar mov
acall es una instruccin de llamado a otro
programa en este caso a un retardo para que
podamos ver los datos desplegados en los pines
de salida, este retardo es un programa aparte
que se muestra mas abajo y que sera explicado
mas adelante.
rlc significa rotar a la izquierda con carry
rrc significa rotar a la derecha con carry
jnc significa saltar si el carry no esta en cero.
El programa tiene como objetivo el desplazar
los bits del acumulador y el carry y mostrarlos
por el puerto cero.
Para tal proposito pone en uno el carry y en cero
el acumulador, luego rota todo y lo muestra por
el puerto, luego se continua rotando mientras el
carry este en cero , cuando llega a estar en uno ,
se procede a rotar pero en la otra direcccion y
cuando este termina de rotar ciendo controlado
por el valor del carry , al concluir inicia
nuevamente en un bloque infinito.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Hardware (L1-B).-

El circuito propuesto arriba, es el mismo circuito al anterior con la diferencia del pulsador derecha / izquierda, este
pulsador esta conectado a vcc a travez de una resistencia de proteccion, con lo cual el valor del puerto sera inicialmente
de uno, estado alto, a menos que el pulsado sea precionado , en este caso el valor sera de cero.
No olvide en el armado del circuito usar una pack de resistencias, comunmente conocida como peine de resistencias de
por lo menos 10 pines y de un valor mayor a 1K , con lo cual garantizara poner en estado alto al pin 31, y de esta manera
el microcontrolador leera el program de su memoria interna.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Software (L1-B)

El programa propuesto a al derecha es un


codigo que controla la direccion de corrimiento
de los leds de derecha a izquierda y viceversa,
esta basado en el programa y circuito anterior,
el pin que controla la direccion de giro , es el
pin P2.0 y los leds se muestran por el puerto
cero P0.
Como en el anterior programa el bit de acarreo
esta seteado a 1 setb c y se limpia el
contenido del acumulador a clr a .
Despues de esto se verifica el valor del pin del
puerto 2 , el P2.0 , si este esta en uno, en nivel
alto, se rota a la izquierda el contenido del
acumulador con el carry rlc a , si por otro
lado el valor del pin P2.0 esta en cero, nivel
bajo, se rota a la derecha rrc a , para el
control de giro del tambien debemos
preguntar por el valor del acumulador si este
valor es cero significa que el carry esta en uno ,
esto nos sirve para reiniciar el programa y
continuar con el ciclo, pero si no esta en cero el
valor del acumulador ya rotado , ya sea de
derecha o de izquierda es mostrado al puerto
cero.
acall , es la llamada al retardo, que esta
diseado para ser un retardo de 0.5 segundos.
Mas adelante se explicara el calculo del
retardo.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Laboratorio.1.- Escribir el codigo fuente L1-A y L1-B compilarlo y simularlo con su respectivo circuito en proteus.
2.- Armar el cicrcuito L1-A y L1-B, quemar los HEX respectivos en el microcontrolador para cada uno de los circuitos
respectivamente y comprobar su funcionamiento.

El cuestionario debe ser resuelto a pulso.


Nombre.- _____________________________________________________________________________________________________

Cuestionario.1.- Que pines en el microcontrolador son los encargados de la alimentacion electrica?

2.- Qu pin del microcontrolador es el de RESET y en que flanco se activa?

3.- Cul es el voltage de alimentacion del microcontrolador y su consumo de corriente?

4.- En el led que pin es el catodo y cual el anodo? Y Cual la corriente promedio para encender un led?

5.- Que significado y finalidad tiene el pin 31.?

6.- Investigue cual es la mayor de velocidad de cristal que puede aplicarse al microcontrolador
AT89c51____________ AT89S51______________AT89C52_____________AT89S52_______________
7.- Investigue la cantidad de corriente de salida tiene los puertos del microcontrolador, el fanout, de puerto cero y de los
demas puertos, e investigue por que el puerto cero necesita una red de resistencias.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

8.- con que instruccin introduce un dato del puerto y con que instruccin se saca datos al puerto?

9.- Qu significa la instruccin jz y cual es su funcion.

10.- Dibuje el diagrama de flujo del programa L1-A y del programa L1-B , lado a lado, sin incluir la llamada a retardo.

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

11.- Realice el diagrama de flujo del programa retardo.

12.- Para el hardware del programa L1-A , disee un programa principal contador binario , diagrama de flujo y codigo
fuente, lado a lado. .(solo haga la llamada al retardo)

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

13.- Para el hardware L1-B, disee un programa contador binario ascendente y descendente controlado por el pin P2.0,
realice el diagrama de flujo y el codigo fuente lado a lado.(solo haga la llamada al retardo)

Puede descargar los dems laboratorios y guas de la siguiente pagina web


https://sites.google.com/site/cursodemicrocontroladores8051/

LEDS Y PULSADORES | Raul Alejandro Quispe Larico

Вам также может понравиться