Sunteți pe pagina 1din 66

UNIVERSIDAD NACIONAL ABIERTA Y A

DISTANCIA

FACULTAD DE CIENCIAS BASICAS, TECNOLOGIAS E INGENIERIAS

MICROPROCESADORES Y MICROCONTROLADORES

Componente Práctico

PERALTA ALEAN ANDRES GABRIEL

CC .10884691

Grupo: 309696_7
22 DE MAYO DE 2014

MICROPROCESADORES Y
MICROCONTROLADORES
PRACTICA N° 1

REINSON LUNA BUSTACARA Código 1134854274


Fecha: 14/03/2014

estructura temática del aula del curso de


RESUMEN: Se utilizó un simulador como microprocesadores y microcontroladores
el SIMUPROC, para efectuar la en su unidad 1 con el lenguaje de
programación en forma práctica y fácil de programación Assembler, contribuyendo
las operaciones básicas, siendo de gran a los principios formativos para el mismo
ayuda para los es nuestra primera vez en aprendizaje.
programar en assembler.

PALABRAS CLAVE: Simulador, Ensamblador (Assembler).


SIMUPROC. Assembler.
Siendo así una interacción individual con
MATERIALES Y EQUIPOS: acompañamiento del tutor del CEAD en donde se
plasma de manera practica la
Materiales y equipos necesarios para
la elaboración de nuestra práctica.

-.Computador PC compatible con sistema


operativo Windows o que pueda
instalarse los paquetes de software
antes mencionados.

INTRODUCCION

Este trabajo cumple con el objetivo de


interactuar con los compañeros para dar
respuesta a una cierta actividad descriptiva
del módulo y temas a tratar, promoviendo
que el alumno haga una exploración total
de los temas de Microprocesador,
Principios Básicos, Familias de
Microprocesadores y sobre todo
tomar conciencia sobre la
Ta importancia de los
mbi microcontroladores y
én se pretende que microprocesadores, acentuando su
alumno pueda diseño utilidad, características e
compartir con sus implementación de manera clara y
distribuida en los diferentes
demás compañeros
equipos actualmente usados junto
el trabajo individual con los componentes de las mimas.
realizado para que los compañeros
generen comentarios que
le ayuden a perfeccionar Por último se puede inferir que en la
el trabajo, igualmente se realización de este trabajo la
extiende la invitación participación por medio de los
para que comentes el aportes es clave en este trabajo y su
trabajo de los demás. centro o raíz es gracias al aula virtual
dada por la Universidad Nacional
Abierta y a Distancia (Unad),
El trabajo ayuda a
1
área, el volumen, o encontrar la
dándole un enfoque diferente para
mejorar las capacidades de
solución a un sistema de
aprendizaje del alumno. ecuaciones lineales, puede optar
por sistemas básicos 2x2, 3x3 o un
programa que halle la solución a un
OBJETIVOS sistema nxn.

Objetivo general
PRACTICA 1
Diseñar un algoritmo para generar
el código fuente y de ahí TITULO: Calculadora Básica y área
compilarlo, depurarlo, guardarlo, de un triángulo con assembler.
cargarlo y ejecutarlo utilizando para
ello el intérprete DEBUGGER o
OBJETIVO: Implementar y
el simulador SIMUPROC.
demostrar
a través de un lenguaje de
programación en assembler se compila
y se ejecuta las operaciones básicas.

DESARRO
LLO DE
Objetivos LA
Específicos PRÁCTIC
l A: Diseñar
· Revisar un
complet programa
amente que permita
conteni recibir
dos de números y
la realizar las
unidad cuatro
1. operacione
s básicas de
· Diseñar un suma,
programa que resta,
permita multiplicac
ión y
división
utilizando
una
interfaz de
usuario
adecuada y
de fácil
manejo.
recibir EJERCICIO
tra
números y N°
baj
realizar las básica
os
cuatro con assembler
ind
operaciones
ivi
aritméticas
dua
básicas.
les
y
·
Discutir los
1: r D izar
Calculado a i las
entre construcci s cuatr
gar ón e o
un colectiva ñ opera
prod del a cione
ucto conocimie r s
final nto básic
como entorno al u as de
archi trabajo en n suma,
vo equipo, a resta,
que la p multi
conte definición r plicac
nga de roles o ión y
los en el g divisi
traba grupo y r ón
jos líder de a utiliz
indiv grupo. m ando
idual a una
es · Diseñar interf
sigui un q az de
endo programa u usuari
las que e o
pauta represente adecu
s de la p ada y
la solución e de
prese matemáti r fácil
nte ca a un m manej
guía problema, i o.
de por t
traba ejemplo, a PROCEDIMIENT
jo. hallar el O
r
· e Para
c desa
Integr i rroll
ar al b ar
grupo i esta
de r Ejer
trabaj cicio
o n es
colab ú conv
orativ m enie
o, e nte
con la r segu
social o ir
izació s los
n de sigui
los y ente
trabaj s
os r paso
indivi e s:
duale a Esta
s, la l blec
e t
r e
s
l
a y
s
d
v e
a m
r á
i s
a
b p
l a
e r
s á
, m
e
c t
o r
n o
s s
t
a
2
n
2
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y MICROCONTROLADORES

STA 51
relevantes MSG -------------------------------
en el diseño del
MSG *MENU*
algoritmo.
MSG SELECCIONES OPERACION
Diseñar el algoritmo y
MATEMÁTICA MSG 1 SUMAR
diagrama de flujo solución del
MSG 2 RESTAR
problema planteado. Generar
MSG 3 MULTIPLICAR
el código fuente, producto del
algoritmo diseñado. Guardar MSG 4 DIVIDIR
el código fuente en .COM MSG 5 SALIR
o .EXE. Compilar, depurar y MSG -------------------------------
ejecutar el programa generado. MSG
Guardar los cambios realizados. MSG
MSG ESCOGISTE
CODIGO DE LDT
CALCULADORA CMP 105
#SimuProc 1.4.3.0 JMA 112
MSG PRACTICA 1 CALCULADORA JEQQ 0
MSG ------------MENU-------------------- CMP 104
* JEQ 80
MSG 1 DESEO CALCULAR* CMP 103
MSG 2 SALIR* JEQ 150
MSG ----------------------------------------* CMP 102
LDT ELIJA UNA OPCIÓN JEQ 140
CMP 102 CMP 101
JMA 110 JEQ 130
JEQ 112 JME 118
CMP 101 #150
JEQ 114 LDA 50
JME 0 MUL 51
#100 EAP LA MULTIPLICACIÓN ES
0 JMP 118
1 HLT
10 #80
11 LDA 50
100 DIV 51
101 EAP LA DIVISION ES
#110 JMP 118
MSG SU NUMERO ES MAYOR HLT
JMP 0 #140
MSG "GAME OVER" LDA 50
HLT SUB 51
LDT PRIMER DIGITO EAP LA RESTA ES
STA 50 JMP 118
LDT INTRODUZCA EL SEGUNDO 3
NUMERO
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

HLT
#130
LDA 50
ADD 51
EAP LA SUMA ES
JMP 118
HLT

DIAGRAMA DE FLUJO
4
4
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

demás parámetros
relevantes en el diseño del
algoritmo.
Diseñar el algoritmo y
diagrama de flujo
solución del problema
planteado. Generar el
código fuente, producto
del algoritmo diseñado.
Guardar el código fuente
en .COM o .EXE.
Compilar, depurar y
ejecutar el programa
generado. Guardar los
cambios realizados.

DIAGRAMA DE FLUJO

5
5

EJERCICIO N° 2: Diseñe un
programa que represente la
solución matemática a un
problema.

Diseñe un programa que permita


representar la solución
matemática a un problema, por
ejemplo hallar el área, el
volumen, o encontrar la solución
a un sistema de ecuaciones
lineales, puede optar por sistemas
básicos 2x2, 3x3 o
un programa que halle la
solución a un sistema nxn.

PROCEDIMIENTO

Para desarrollar este ejercicio es


conveniente seguir los siguientes
pasos: Establecer las variables,
constantes y
MSG 2 SALIR DEL
PROGRAMA MSG
----------------------
LDT INTRODUZCA EL
NUMERO DE SU OPCION
;LEE EL VALOR DEL
TECLADO Y LO LLEVA A AX
CMP 102 ;COMPARA EL VALOR DE
AX CON 102
JMA 110 ; SI ES MAYOR SALTA A
110
JEQ 112 ; SI ES IGUAL SALTA A 112
CMP 101 ; COMPARA EL
VALOR CON 101
JEQ 114 ; SI ES IGUAL SALTA A 114
JME 0 ; SI ES MENOR SALTA A 0
#100
0
1
10
#110
MSG SU NUMERO NO ESTA
EN LAS OPCIONES
JMP 0
MSG FAVOR
COMIENCE
NUEVAMENTE
HLT ;TERMINA PROGRAMA
LDT INTRODUZCA VALOR
LADO A; LEE VALOR DE
TECLADO
STA 50 ; GUARDA
VALOR EN DIRECCION
50
LDT INTRODUZCA VALOR
LADO B ;LEE VALOR DEL
TECLADO STA 51
LDT INTRODUZCA VALOR
CODIGO DE ÁREA Y
ALTURA; LEE VALOR
VOLUMEN
DEL TECLADO
#SimuProc 1.4.3.0
STA 52 ;GUARDA VALOR EN
MSG PROGRAMA QUE
DIRECCION 52
CALCULA AREA Y
LDA 50 ;CARGA EL VALOR DE 50
VOLUMEN
MUL 51 ; MULTIPLICA CON 51
MSG DE UN
EAP EL AREA DEL
RECTANGULO MSG
MENU RECTANGULO ES ;
MSG 1 INTRODUCIR MUESTRA EL VALOR DEL
VALORES AREA
MUL 52 ; MULTIPLICA CON 52
6
6
EAP EL VOLUMEN En el SimuProc existen una gran variedad
DEL RECTANGULO ES ; de instrucciones que facilitan
MUESTRA EL VALOR DEL
RECTANGULO
M
S
G

M
S
G

HLT

CONCLUSI
ONES
la solución de de Assembler de los
cualquier problema, microcontroladores
pero así mismo tantas y microprocesadores se
posibilidades hacen pudo contextualizar los
algo demorada la conceptos básicos relacionados
búsqueda de las con la arquitectura y
necesarias para programación de los
generar el programa y microprocesadores y familias de
resolver bastantes Microcontroladores más
problemas con gran comunes y despertar esa
variedad de los capacidad de desarrollar
mismos, y todo esto proyectos con las familias más
con la seguridad de conocidas de
poder equivocarse y Microcontroladores.
no afectar ningún
equipo. Los microcontroladores
y microprocesadores y su
El lenguaje máquina comprensivo desea que se
o assembler es facilite la búsqueda de nuevos
importante dentro de caminos de crecimiento en un
la identificación de mundo acelerado y propicio
las para aprovechar la complejidad
estructuras de como fuente
un microprocesador, 7
junto con sus 7

funciones; el
aprovechamiento del
mismo depende de
reconocer su
funcionalidad y
las diferentes
instrucciones para
programarlo.

El conocimiento del
Assembler permite
una optimización y
manejo de
microcontroladores
y microprocesadores
para solucionar
problemas en las
fuentes de cómputo,
siendo este un
ejercicio simple de las
grandes necesidades
que presentan en la
sociedad.

Comprendiendo los
conceptos y lenguaje
http://es.wikipedia.org
de la innovación y el
crecimiento acelerado, se trata /wiki/Lenguaje _ensamblador el
entonces de explicar
MICRO
PR
O
CE
SA
D
O
RE
S
Y
MI
CR
O
C
O
NT
R
OL
AD
O
RE
S
P
R
A
C
T a en la día 23 de septiembre.
mayoría 2012.
I de
C procesos,
A de
las RESUMEN:
telecomu
N nicacione En la
° s elabor
sirviendo ación
dentro de del
2 la control
estrategia con
REINSON LUNA de las pulsad
BUSTACARA empresas or de
Código 1134854274 la
y sus
secuen
Fecha: 04/04/2014 compone cia de
ntes 8 LED
físicos ´S por
práctica gran operativo
mente desarroll medio
s. de un
cómo se o de
microc
puede la
REF ontrola
crecer en tecnolog dor
ERE
una red ía PIC16f
NCI
inteligen electróni 877A,
AS
te ca en se
utilizánd más de utilizó
Téllez A.
olos y medio por
Freddy R
entendie siglo, su
(2009). versatil
ndo los
Protocolo idad
como aparatos
Académico. por
funciona que los
n. incorpor Microproces contar
an han adores & con
cambiad Microcontro una
Los
o la ladores. cantida
mic
Escuela de d de
ropr forma de
Ciencias caracte
oce trabajar rísticas
e Básicas,
sad ,
investig Tecnologías
ores siendo
ar de la e Ingenierías
y uno de
mic humanid Universidad
los
roc ad, en la Nacional utilizad
ontr historia Abierta y a os en
olad ninguna Distancia - el
ores herramie UNAD mundo
son nta Bogotá D. C. de la
mue creada electró
Enero 2009.
stra por el nica.
s hombre Se
influenci utilizó
del
u u p ón y su
n n o posteri
c r or
l i t montaj
e o a e.
n n n
g a t PAL
u m e ABR
a i p AS
j e a CLA
e n r VE:
t a
Simul
d o
ador,
e v
d e SIMU
p e r PRO
r i C.
o n f Asse
g u i mbler
r e c .,
a s a Prote
m t r us,
a r s PIC,
c o u Led’s
i ,
ó c o Micr
n i p ocont
r e rolad
e c r
or,
n u a
i c Pulsa
C t i dor.
, o

e e
n n
8
8
q P
u r
e o
t
s e
e u
s
s ,
i
m S
u i
l e
a n
d
e o
l
i
f m
características, convenciones en la
escritura y todo lo relacionado
MATERIALES Y EQUIPOS:

Materiales y equipos necesarios


para la elaboración de nuestra
práctica.
· Lenguaje de programación en C.
· Programador de PIC´S.
·
Comput
ador.
· Simulador Proteus

INTRODUCCION

Este trabajo cumple con el


objetivo de presentar el
desarrollo de las prácticas de
laboratorio del curso
de microcontroladores
y microprocesadores en el cual se
evidencia la construcción de un
juego de luces led construyendo
el código fuente usando el
programa MPLAB, de igual
manera se estudiara y programara
un microcontrolador PIC 16f84A
el cual nos servirá para hacer le
montaje físico de la práctica.
Siendo así una presentación
individual de una guía de
laboratorio que a
continuación presentamos,
en donde se plasma de
manera sintetizada la
estructura temática del aula
del curso de
microprocesadores
y microcontroladores en su
módulo, contenido y
recursos y demás aspectos
formativos para el
mismo aprendizaje.
Para lograr llevar a cabo
esta práctica usaremos
la programación en
lenguaje Assembler y en el
transcurso del componente
práctico aprenderemos a
identificar las
con la programación en Lenguaje ahí compilarlo, depurarlo,
Assembler. guardarlo, cargarlo y
El trabajo ejecutarlo utilizando para ello
ayuda a el entorno de Desarrollo
tomar Integrado MPLAB.
conciencia
sobre la Objetivos Específicos
importancia
de los · Analizar con el diseño y
microcontrol solución de los problemas
adores y prácticos propuestos se
microprocesado busca aclarar dudas
res, acentuando conceptuales.
su diseño · Integrar las soluciones con
utilidad, el diseño de algoritmos y
características e desarrollar las habilidades y
implementación competencias en la
de manera clara programación
y distribuida en de microcontroladores.
los diferentes · Discutir los trabajos
equipos individuales y entregar un
actualmente producto final como archivo
usados junto que contenga los trabajos
con los individuales siguiendo las
componentes de pautas de la presente guía
las de trabajo.
mimas.
9
9

BJETIV

OS

Objetiv

General

Diseñar un
algoritmo para
generar el código
fuente en lenguaje
ensamblador y de
· Integrar al grupo de trabajo
¿Qué es el Lenguaje Assembler?
colaborativo, con la
socialización de los trabajos
individuales, la construcción
colectiva del conocimiento
entorno al trabajo en equipo, a
la definición de roles en el
grupo y líder de grupo.

PRACTICA 2

TITULO: Programación básica


de Microcontroladores
Microchip PIC y Motorola
Freescale.

OBJETIVO:

Diseñar la solución a los


problemas prácticos propuestos
que buscan aclarar dudas
conceptuales.

DESARROLLO DE LA

PRÁCTICA: Diseñar un

algoritmo para generar


el código fuente en
lenguaje ensamblador y de
ahí compilarlo, depurarlo,
guardarlo, cargarlo y
ejecutarlo utilizando para
ello el entorno de
desarrollo Integrado
MPLAB o WINIDE

DESARROLLO
TEÓRICO

1. Conocer las características


y funcionalidades del lenguaje
Assembler para empezar a
estructurar códigos
fuente los cuales
ejecutaremos más
adelante.
El lenguaje de procesamiento (las
ensamblador, instrucciones), los
o assembler registros del procesador,
(assembly las posiciones de memoria,
lenguage en y otras características del
inglés) es un lenguaje.
lenguaje de
programación ¿Para que se usa?
de bajo nivel código máquin de
para los de
computado aobjetiv lE
computadores, r o. l
microprocesado ensamblad realiza u
res,
Es usado para traducir
microcontrolad
sentencias del lenguaje
ores, y
ensamblador al
otros circuitos
integrados
programables.
Implementa
traducción más o menos isomorfa
una
representación (un mapeo de uno a uno)
desde las sentencias
simbólica de
los códigos de mnemónicas a las
instrucciones y datos de
máquina
binarios y máquina. Esto está en
contraste con los
otras constantes
necesarias lenguajes de alto nivel, en
los cuales una sola
para programar
una arquitectura declaración generalmente
da lugar a muchas
dada de CPU
y constituye instrucciones de máquina.
la
representación ¿Cuáles son sus características?
más directa del
10
código máquina
10
específico para
cada
arquitectura
legible por un
programador.
Esta
representación
es usualmente
definida por el
fabricante de
hardware, y
está basada en
los
mnemónicos
que simbolizan
los pasos
El código escrito en lenguaje ¿Dónde puede ser usado
el
ensamblador posee una cierta Microcontrolador pic
dificultad de ser entendido ya que 16f84A? Pude der usado
su estructura se acerca al lenguaje en numerosas
máquina, es decir, es un lenguaje aplicaciones, que van
de bajo nivel. desde los automóviles a
El lenguaje ensamblador es decodificadores de
difícilmente portable, es decir, un televisión. Es muy
código escrito para un popular su uso por los
microprocesador, puede necesitar aficionados a la robótica y
ser modificado, para poder ser electrónica. Puede
usado en ser programado tanto en
otra máquina distinta. Al cambiar lenguaje ensamblador
a una máquina con arquitectura como en Basic y
diferente, generalmente es principalmente en C, para
necesario reescribirlo el que existen numerosos
completamente. compiladores. Cuando
Los programas hechos por se utilizan los
un programador experto en compiladores Basic, es
lenguaje ensamblador son posible desarrollar útiles
generalmente mucho más aplicaciones en tiempo
rápidos y consumen menos récord, especialmente
recursos del sistema (memoria dirigidas al campo
RAM y doméstico y educacional.
ROM) que el programa equivalente
Estructura del Microcontrolador
compilado desde un lenguaje de pic 16f84A
alto nivel. Al programar Se trata de uno de
cuidadosamente en lenguaje los microcontroladores
ensamblador se pueden crear más populares del mercado
programas que se ejecutan más actual, ideal para
rápidamente y ocupan menos principiantes, debido a
espacio que con lenguajes de alto su arquitectura de 8 bits,
nivel. 18 pines, y un set de
Con el lenguaje ensamblador se instrucciones RISC muy
tiene un control muy preciso de amigable para memorizar
las tareas realizadas por un y fácil
microprocesador por de entender, internamente consta
lo que se pueden crear segmentos de:
de
código difíciles y/o muy
ineficientes de programar en un Memoria Flash de programa (1K x 14).
lenguaje de alto nivel, ya que,
entre otras cosas, en el lenguaje
ensamblador se dispone una rutina en ejecutarse, e impedir que se
de instrucciones del CPU interrumpa durante su
que generalmente no están
ejecución
disponibles en los lenguajes de
alto nivel. También se puede
controlar el tiempo en que tarda
· Memoria EEPROM de datos Un temporizador/contador (timer de
(64 x ·
8 bits).
Un divisor de frecuencia.
x 8). ·
· Varios puertos de entrada-
2. Conocer las salida (13 pines en dos
características y puertos, 5 pines el puerto A
funcionalidades y 8 pines el puerto B).
del Microcontrolador pic
16f84A. Otras características son:
11
11
guardarlo, cargarlo y
· Manejo de interrupciones ejecutarlo en los siguientes
(de 4 fuentes). ejercicios:
· Perro guardián (watchdog).
· Bajo consumo. 1. Realizar una secuencia de
· Frecuencia de reloj externa luces led en los cuales se
máxima evidencie su encendido y
10MHz. (Hasta 20MHz en apagado de uno en uno.
nuevas versiones). La DIAGRAMA DE FLUJO
frecuencia de reloj interna es · No c
un cuarto de la externa, lo que pos o
significa que con un reloj de ee n
20Mhz, el reloj interno sería ana v
de e
lóg
5Mhz y así pues se ejecutan 5 r
ico
Millones de Instrucciones por s
sdi
Segundo (5 MIPS) git o
al r
ana e
lóg s
ico
s. n
i

d
i
g
i
t
a
l
-
· Pipe-line más).
de 2 Repertorio
etapas, 1 ·
para de
búsqueda instrucciones
de reducido
instrucció (RISC), con tan
n y otra solo 30
para la instrucciones
ejecución distintas.
de la 4 tipos distintos
·
instrucció
de
n (los
instrucciones,
saltos
orientadas a
ocupan un byte, orientadas
ciclo
a
bit, PRÁCTICA
oper s
ació Usar un
n
entr microcontrol c

e
P

l
e ador PIC a
regi 16f84A
stro usando todo c
s, de el puerto B s
salt en modo de
o. salida y usar
ó
el software o
MPLAB
para
compilarlo, d
depurarlo,

i
1

g
DESAR

ROLLO o
e

DE LA
f
o sto lo
n realiza
u q mos es
u las dos
e primera
e 1 m s
i líneas:
c ; En el
r archiv
n . o e
c P16F8
o 4A.inc
t 2 n se
tr encuen
; **** o tran
e Encabezado l las
**** a definic
; d iones
: P o de las
r r direcci
i e ones
m s de los
e t registr
r a os
o m específ
E q o icos,
u s los bits
e tr utiliza
J n a dos en
a b cada
d a registr
E a j o y los
d a fusible
e n s del
R b d micro.
e o list p=16F84A
m , #include
o e P16F84A.inc
C
s
e 12
s 12
I p
e
c
C i
f
i
I c
a
r
O c
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

;Configuración de fusibles. Hay Nivel Directiva


ciertos aspectos del PIC que han Operandos ; Comentarios
de ser
activados o desactivados mediante equ 0; Definimos Led
Led
hardware a la hora de como el bit cero de un registro,
programarlo. Esto quiere decir en este caso PORTB.-
que no se pueden volver a
cambiar hasta que el chip no se equ 4 ; Definimos
Pulsador
reprograme de nuevo. El Pulsador como el bit 4, en este
PIC16F84A dispone de 4 fuses caso será para PORTA
(los modelos superiores tienen
más). Cada fuse activa o ;**** Configuración de
desactiva una opción de puertos *** Configuración
funcionamiento. de puertos.
OSC: Este fuse controla el modo Para la configuración
de oscilación que usará el PIC para necesitamos los siguientes
funcionar. Como ya sabemos, el registros:
oscilador se puede configurar de 4 STATUS > 0x03; PORTA
maneras distintas, dependiendo de > 0x05; PORTB > 0x06;
la velocidad y del tipo de circuito TRISA > 0x86 y TRISB >
oscilador empleado. 0x86.
WDT: El famoso "perro Por defecto los puertos quedan
guardián" del PIC se configura configurados como entradas de
aquí. Esta es una capacidad del datos y si se quiere cambiar
microcontrolador de hay que configurarlos. Esto se
autorresetearse. realiza con los registros TRISA
PWRT: Si activamos este fuse, lo y TRISB, teniendo en cuenta
que conseguimos es que se genere que si se asigna un cero (0) a un
un retardo en la pin, quedara como salida y si se
inicialización del asigna un uno (1), quedara
microcontrolador. como entrada.
CP: Activando este fuse En nuestro caso se necesita colocar
tendremos la TRISA igual a 11111 (o se puede
garantía de que el código que dejar por default) y TRISB
escribamos en el PIC no pueda 11111110. Ahora bien, cuando el
ser leído por otra persona, para PIC arranca se encuentra en el
que no nos lo copien, Banco 0, TRISA y TRISB se
modifiquen, etc. (Code encuentran en el Banco 1,
Protection). Esto no impide que el entonces debemos cambiar de
PIC funcione como siempre, ni Banco. Esto se realiza con el bit
que no se pueda sobrescribir su RP0 del registro STATUS. Si
contenido este se pone un cero a RP0,
CONFIG _CP_OFF & estaremos en el Banco 0. Si se
_WDT_OFF coloca un uno, estaremos en el
& _PWRTE_ON & _XT_OSC Banco 1.
Registro W: es el registro
;**** Definición de variables más importante que
**** tiene el
; Definición de variables que microcontrolador y es
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

de nominado ACUMULADOR.
utilizaremos en nuestro proyecto. En Reset org 0x00;
este caso solo definiremos bits, por Aquí comienza el
micro.- ejemplo Led y Pulsador.
goto Inicio; Para organizar nuestro programa lo
Salto a inicio de mi programa.- estructuraremos de la siguiente manera:
org 0x05;
Origen del código de programa.-
13
13
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

lis
t
p
=
16
F
84
A
Inicio bsf #include P16F84A.inc
STATUS, RP0; CONFIG _CP_OFF & _WDT_OFF
Pasamos de
& _PWRTE_ON & _XT_OSC
Banco 0 a Banco 1.-
mo b'11111
vlw '; ;**** Definición de variables ****
Muevo 11111 a
W.-
movwf TRISA; TIEMPO
equ 0X0C Cargo en TRISA.-
TIEMPO2 equ 0X0D
movlw pulsado equ 3 ;
b'1111 r1 equ 4 ;
1110' pulsado
r2
movwf
TRISB
bcf STATUS, ;**** Configuración
de puertos *** RP0 ; Paso del Banco 1 al Reset
org 0x00 ;
Banco 0 bsf go Inicio ;
to 0x05 ;
PORTB,Led ; or
Comienza g
encendido.- Inicio bsf STATUS,RP0 ;
movlw
b'11000'
; movwf
TRISA
; movlw
b'000000
00';
;**** Control de Led **** movwf TRISB ;
Ya configurado nuestro PIC, bc STATUS,RP0 ;
vamos a realizar la rutina que f
ejecutara. movlw
secuencia
1
Bucle btfsc b'000000
00'
PORTA, Pulsador; movwf PORTB
Preguntamos
si esta en 0 lógico.- call
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

RETARDO
goto encender; Está a 1 call
RETARDO lógico, encendemos Led.-
call RETARDO bcf PORTB,Led; Está
movlw b'00000001'
a 0 lógico, apagamos Led.- movwf PORTB
goto Bucle; Testeamos call
RETARDO
nuevamente la condición del Pulsador.- call call RETA
RDO
RETA
RDO
encender bsf movlw b’00000010’
PORTB,Led; encendemos Led.- movwf PORTB
goto Bucle; call RETARDO
Testeamos nuevamente la ca RETA
condición del ll RDO
ca RETA
Pulsador.-
ll RDO
movlw b'00000100'
end movwf PORTB
call RETARDO
EJERCICIO 1.3 call call RETA
RDO
RETA
RDO
; **** Encabezado **** movlw b'00001000'
14
14
PO movl RETA
mov RTB mov RDO
wf RETARDO call RETA
call RETARDO call RDO
call RETARDO RETA
call
mov
b'00010 cal RDO
000' l b'0001
lw PORTB 0000'
mov cal
RETAR l PORT
wf DO B
call cal
RETAR l RETA
call
call
DO mov RDO
RETAR lw RETA
DO mov RDO
wf RETA
cal RDO
l b'00001000'
cal
l
cal
l
mov ca
A b
lw mR '
mR 0
ca b'100 0
ca 0000 0
ca 0' 0
m 0
1
0
0
'

P
O
R
T
B
R
E
T
A
R
D
O

R
E
T
A
R
D
O BA R b R
b' g RE
mo 000 ca T
vw
mP RA
f RR
PO secD
RT ncO
B
m
cal
wR
l
RE
RE
RT
T
b' A
A
0000
R
R
D '
D
O m PO
ca R R m O
ca E c RR
goto
m T c T
E
A m B
T
R m
s A
e D c R
R
c O c E
D
u m T
O
e R m A
b'
n E R
00
ci T D 00
a A O 00
2 R 1
D RP
O EO
b' TR
000 AT
000 RB
1 D
P OR
O E
R RT
T EA
B TR
AD
R RO
E D
15
T O 15
A b'
R 000
D P
O O
R
R T
E B
T
RETAR cal RETARDO
call DO l b'0100
call RETAR mov 0010'
mov DO lw PORT
lw b'01000 mov B
mov 000' wf RETA
wf PORTB cal RDO
call RETAR l RETA
call DO cal RDO
call RETAR l RETA
DO cal RDO
RETAR l
b'00100100'
DO mov
movlw
lw b'00000010'
movwf PORTB
mP R
ca b'001 E
ca 0000 T
ca 0' A
mP R
m b'000 D
ca 0010 O
ca 0'
ca R
m E
T
A
R
D
O

R
E
T
A
R
D
O
b
'
0
0
0
1
1
0
0
0
'

P
O
RR b P
B b'00000000'
mo '
movwf PORTB
vw 0 R mP R
f 0 b ca b'100 E
PO 0 100 ca 0000 T
RT 0 P ca 1' A
B 0 B m POR R
c 0 R m TB D
a b ca R
0 O
l 010 ca
0 P
l ' R
B
ca R all E
R
R mb call T
E m' movlw A
T C0 R
A C0 D
R C0 O
D m1
O m0 R
ca 0 E
s ca 0 T
e 0
goto A
c '
goto R
u D
e P O
s O
n b'100
e R
c 0000
c
i T 1'
u
a B P
e
5 R O
n R
c R
b T
m i ' B
o a 0
v 4
0 R
l
0 E
w
0 T
1 A
c
0 R
a
0 D
l
0 O
l
'
R
R
P E
E
O T
T
R A
A
T R
R
B D
D
R O
O R
R
m
E T 16
bucle5 g DEC
go secuenc ot RETAR
to ia5 o DO2
go g
to ot
o bucle1 btfsc
PORTA,pulsador1
RETARDO2 movlw
D'255';
goto
s movwf
bt e
goto
c D
u
goto E
e
goto C goto
n 2
c
i
a
2
P
O
R
T
A
,
p
u
l
s
a
d
o
r
2

s
e
c
u
e
n
c
i
a
5

s
e
c
u
e
n
T o 2
r
2 s
b e
u s c
c e u
l
c e
e
u n
3
e c
b n i
t c a
d bucle f i 3
e 2 s a
c bucle3
btfsc c
f POR
s bucle4 btfsc
TA,p P PORTA,pulsador1
z ulsad O goto
s Se debe
or1 bt e
goto
s O R b crear
T T c
goto extensión
b P b
I A u
goto .asm:
goto
E , e
goto
goto
M p n
P goto
u c
O l i
2 s a
D a 5
E d P
C o O
2 r R
1 T
goto
s
be A
c
goto ,
u p
goto
e u
goto
n l
c s
i a
a d
4 o
P r
O 2
R
T s
A e
c
,
u
p
e
u
n
l
c
s
i
a
a
d
3
d :
1
7
1

c cle5
u
bucle5
e
btfsc
PORTA, n
pulsador1 c
goto
secuenci i
bt a1 a D'
goto
P 2
5
goto
O 5
b
goto 5'
R u
;
T m A
A Dde
, E TI
Rp C
Eu
Tl
As
Ra
Dd
Oo
mr
2

s
e
c
u
e
n
c
i
a
4

s
e
desplazamiento de la luz
de izquierda a derecha o
viceversa.

Se convierte en lenguaje assembler:

Ahora se pasa a crear elarchivo asm:

Se
ca
rg
ar
el
ar
ch
iv
o
H
ex
el
a
b
or
a
d
o
Ahora play y empezamos a en
evidenciar la simulación: M
P
L
A
B
:
a
r

u
n
a

s
e
c
u
e
n
c
Play i
em a
sa
evid d
la e
sim
: l
u
c
e
s

l
e
d

e
n

l
o
s

c
u
a
l
e
s
3
. s
e
R evidencie el
e
a 18
l 18
i
z
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

El conocimiento del
Assembler permite
una optimización y
manejo de
microcontroladores
y microprocesadores
para solucionar
problemas en las
fuentes de cómputo,
siendo este un
ejercicio simple de
las grandes
necesidades que
presentan en la
sociedad.

Es importante conocer las


instrucciones y los estados
que generan dichas
instrucciones en los
registros.
El estudio previo
del lenguaje Assembler
dado en las practicas
anteriores dita el éxito
de la siguiente práctica,
como lenguaje máquina
y programador. La
participación activa con
el tutor guía de práctica
es indispensable para el
éxito de la práctica.

de poder equivocarse y no afectar ningún


CONCLUSIONES equipo.

En el Proteus existen una El lenguaje máquina o assembler es


gran variedad de importante dentro de la identificación de las
instrucciones que facilitan estructuras de un microprocesador, junto con
la solución de cualquier sus funciones; el aprovechamiento del mismo
problema, pero así mismo depende de reconocer su funcionalidad y las
tantas posibilidades diferentes instrucciones para programarlo.
hacen algo demorada la
búsqueda de las necesarias
para generar el programa
y resolver bastantes
problemas con gran
variedad de los mismos, y
todo esto con la seguridad
PRACTICAS Y LABORATORIOS MICROPROCESADORES Y
MICROCONTROLADORES

Es necesario conocer cuáles


Para poder son las partes básicas de un
programar
micro, memorias, entradas,
un
salidas, códigos, registros y
microprocesad
demás componentes para
or es
poder entender que sucede
necesario
durante la programación y
considerar el
durante la simulación de la
uso de
misma.
herramientas
de software
para realizar Los microprocesadores
los algoritmos y microcontroladores son
y para muestras del gran desarrollo de
programarlo la tecnología electrónica en más
en un de medio siglo, los aparatos que
simulador los incorporan han cambiado la
conociendo forma de trabajar e investigar
sus de la humanidad, en la historia
respectivos ninguna herramienta creada por
comandos el hombre influencia en la
básicos y su mayoría de
19
nemotecnia 19
http://es.wikipe
procesos, de las dia.org
telecomunicaciones sirviendo /wiki/Lenguaje
dentro de la estrategia de las _ensamblador el día 23
empresas y sus componentes de septiembre. 2012.
físicos operativos.
http://www.youtube.com/
REFERENCIAS watch? v=poatM
WOH55A el día 01 de
Téllez A. Freddy R (2009). noviembre de
Protocolo Académico. 2
Microprocesadores & 0
Microcontroladores. Escuela 1
de Ciencias Básicas, 2
Tecnologías e Ingenierías
Universidad Nacional Abierta
y a Distancia - UNAD Bogotá D.
C. Enero 2009.
López, J. (2003). Especificación
de Modelos de Información de
Gestión de Red Integrada
Mediante el Uso de Ontologías
y Técnicas de
Representación del
Conocimiento. Tesis
Doctoral. Universidad
Politécnica de Madrid España.
309696_26 MICROPROCESADORES Y
MICROCONTROLADORES PRACTICA N° 3
REINSON LUNA BUSTACARA Código 1134854274
Fecha: 02/05/2014

RESUMEN: En la elaboración de un
programa un lenguaje de programación, se
visualizara mensajes en un LCD, medio de
un microcontrolador
PIC16f877A, se utilizó por su versatilidad
por contar con una cantidad de
características, siendo uno de los utilizados
en el mundo de la electrónica. Se utilizó un
lenguaje de programación en C, en que se
simula el funcionamiento de nuestro circuito
en Proteus, Siendo importante para
verificar su operación y su posterior
montaje.

PALABRAS CLAVE: Simulador,


SIMUPROC. Assembler., Proteus, PIC,
Led’s, Microcontrolador, Pulsador.

MATERIALES Y EQUIPOS:
Materiales y equipos necesarios para microcontroladores en su módulo,
la elaboración de nuestra práctica. contenido y recursos y demás
aspectos
· ar los temas de
Lenguaje de la Unidad
programació 3 con temas
n en C. como la
· Programación
Programado y desarrollo de
r de PIC´S. proyectos con
· Microprocesad
ores
C y
o
m
p
u
t
a
d
o
r
.
·
Simulador
Proteus
·

·
Condensado
r
· Cristal
de 4MHZ
· LCD 2
X 16

IN
TR
OD
UC
CI
ON

Este trabajo
cumple con
el objetivo
de
contextualiz
for componente O e
mat práctico
ivo aprend b r
s eremo
par s a j a
a el identif
mis icar e l
mo las
apr caract t Diseñar la
end erístic
solución a
izaj as,
i los
e. conve
problemas
Par ncione
v prácticos
a s en la
propuestos
logr escritu
o que
ar ra y
buscan
llev todo
aclarar
ar a lo
dudas
cab relacio
G conceptual
nado
o es.
con la
esta e
progra
prá Objetivos
mació
ctic Específicos
n en n
a Microcontro microcontrolad
Lengu
usar ladores, el ores y
aje
em Diseño y microprocesado
Assem
os bler. desarrollo res en el cual se
la de evidencia la
pro proyectos elaboración de
O
gra con un programa en
ma Microcontr lenguaje en C,
B
ció oladores en el que
n y nuestro
J
en Microproc microcontrolad
len esadores, la or PIC16f877A
E
gua Programaci y por medio de
je ón básica, un LCD se
Ass T y la visualizara
em Programació 3 mensajes,
bler I n avanzada con un retardo
o con el de 500 ms
C+ V objetivo de y un borrado
+y presentar a el en dada
en O desarrollo de instrucción
el las prácticas para evidenciar
tran S de los cambios de
scur laboratorio una fila a la
so del curso otra.
del de
· capaz Siendo así TITULO:
de una Despliegue de
Diseñ config presentación mensajes por
ar el urar individual de LCD.
algori un una guía de
tmo, Micro laboratorio OBJETIVO:
gener contro que a Implementar y
ar el lador continuación demostrar a
códig para presentamos,
través de un
o contro en donde se
lenguaje de
fuente lar plasma de
programación
en dispos manera
itivos en C,
lengu sintetizada la
aje extern estructura
ensam os temática del
blador forma aula del
, ndo curso
compi esque de
larlo, mas de microproces
depur contro adores
arlo, l más y
guard compl
arlo, ejos y
cargar funcio
lo y nales.
ejecut Sustentar
arlo ·
utiliza el
ndo desarroll
para o de la
ello el práctica
Entor ante el
no de tutor
Desar encargad
rollo o de
Integr laborator
ado io.
MPL
AB o P
WINI R
DE. A
C
· T
I
C
Imp A
lem
enta 3
ry .
ser
la visualización de mensajes en un cristal
líquido controlado por un
microcontrolador.

DESARROLLO DE LA PRÁCTICA

Tomando como referencia los ejemplos y


programas propuestos en la Unidad 3 el
estudiante o grupo colaborativo debe
diseñar e implementar Diseñe e implemente
un circuito para la visualización de
mensajes en una pantalla de cristal líquido.

FAMILIA DE LOS PIC16F877A

El microcontrolador PIC16F877 de
Microchip pertenece a una gran
familia de microcontroladores de 8
bits (bus de datos) que tienen las
CARACTERISTICAS
siguientes características generales que

Arquitectura Harvard · Consumo muy reducido, del orden de


7.5mW
· Tecnología RISC
· Tecnología CMOS Pantalla de caracteres ASCII, además de
·
Estas características se conjugan los caracteres japoneses Kanji,
para lograr un dispositivo caracteres griegos y símbolos
altamente eficiente en el uso de la matemáticos. Desplazamiento de los
memoria de datos y programa y por caracteres hacia la izquierda o a la
lo tanto en la velocidad de ejecución. derecha.
Empaquetado (desde 8 patitas hasta Memoria de 40 caracteres por línea de
·
68 patitas)
pantalla, visualizándose 16 caracteres
Tecnología de la memoria incluida
por línea.
(EPROM, ROM, Flash). Voltajes de
operación (desde 2.5 v. Hasta 6v).
Frecuencia de operación (Hasta 20
MHz) Ahora se muestra como está
integrado nuestro microcontrolador

PIC16F877A, con cada uno de sus


Los microcontroladores que produce
Microchip cubren un amplio rango
de dispositivos cuyas
características pueden variar t les tipo
como sigue: e PDIP:
r
m
i
n
a
P
R SIMULA
O CION
G
A Código en
M C para la
A programa
C ción
I secuencia
O de ocho
N led. //
declaración
Y de
variables Unsigned char *Nombre = Lcd_Out (2, 3, Practica); // se
“Grossy”;// variable asignadone un muestra el 3er mensaje (fila 2,
carácter de tipo columna 3) Delay_ms (500); // es la
letra demora normal para crear una
Unsigned char *Universidad=”UNAD”; mejor visualización.
Unsigned char *Practica=”Practica No Lcd_cmd(Lcd_CLEAR); //se borra lo
3”; que aparece en el LCD
Void main{} Lcd_Out(1, 3, Practica); // se muestra el
{//configuración de puertos para la 3er mensaje (fila 1, columna 3)
información Delay_ms(500); // es la demora
TRISB=0; //puerto b como salida al LCD normal para crear una mejor
Lcd_Init({PORTB); visualización.
Lcd_Cmd(Lcd_CURSOR_OFF); //se }
apaga el curso del }
LCD //Ahora:
Se declaran las variables que este caso
son nombre, universidad y materia.
Se configuran los puertos que vamos a
trabajar con TRISB=0, colocando el
puerto B como salida. Se llama la
rutina de la librería para el manejo de
la LCD. Se apaga el cursor de la LCD.
While(1)
{
Lcd_cmd(Lcd_CLEAR); //se borra lo
que aparece en el LCD Lcd_Out(2, 6,
Nombre); // se muestra el 1er
mensaje (fila 2, columna 6)
Delay_ms(500); // es la demora
normal para crear una mejor Se utilizó el comando Infinito de While,
visualización. Lcd_cmd para que nos repita las
(Lcd_CLEAR); //se borra lo que instrucciones constantemente.
aparece en el LCD Lcd_Out(1, 6, Se apaga el cursor de la LCD, después se
Nombre); // se muestra el 1er mensaje limpia la LCD, se borran los caracteres
(fila 1, columna 6) visualizados.
Lcd_Out (2, 7, Universidad); // se muestra el Se muestra el primer mensaje (fila
2do mensaje (fila 2, columna 2, columna 6).
7) Retardo de tiempo de 500 ms, para crear
Delay_ms (500); // es la demora el efecto visual de desplazamiento
normal para crear una mejor vertical. Posterior se limpia la LCD, se
visualización. borran los caracteres visualizados.
Lcd_cmd (Lcd_CLEAR); //se Se muestra el primer mensaje “Grossy” (fila
borra lo que aparece en el LCD 1, columna 6).
Lcd_Out (1, 7, Universidad); // se Se muestra el segundo mensaje “UNAD”
muestra el 2do mensaje (fila 1, (fila 2, columna 6).
columna Se muestra el segundo mensaje “UNAD”
7)
(fila 1, columna 6). Se muestra el tercer
mensaje “Practica 3” (fila 2, columna 6). memoria no volátil del micro o
Se limpia la LCD, se borran los EEPROM, para el ejercicio la clave
caracteres va a ser 0804.
visualizados. Por último Se muestra el
tercer de debe incurrir en el encendido de
mensaje “Practica 3” (fila 1, columna 6). un LED Verde, conectado a un pin
del puerto.

debe
incurrir
en el
encendi
do de
un
LED
Rojo
conecta
do a un
pin del
puerto.

indicar
que e p
siste l
está i
para r
recib
una l
nuev a
clave
p
r
á
P
c
R
t
A
C i
T c
I a
C
A s
2. o
3 n
:

L
a
s

a
c
c
i
o
n
e
s

q
u
e

d
e
b
e

c
u
m
config _XT_OSC & _WDT_OFF
& _PWRTE_ON

;,,,,,,,,,,,,,,,,,,,,,,,,,,

reg1 equ
0x20;deja reg1 en la posicion
20
cont equ
0x21;deja reg2 en la posicion
21
TIEMPO equ 0x22
TIEMPO2 equ 0x23
TIEMPO3 equ 0x24
TIEMPO4 equ 0x25
equ 0x26
TIEMPO5
equ 0x27
TIEMPO6
EQU 0X31
UNO
EQU 0X32
DOS 0X33
TRES EQU
EQU 0X34
CUATRO 0X41
CUNOEQU 0X42
CDOS EQU
inicio del programa como condición EQU 0X43
CTRES
inicial, en el momento de estar listo EQU 0X44
CCUATRO 0
para recibir datos por el teclado debe AZUL EQU
encender el LED Amarillo o Azul. EQU 1
VERDE 2
ROJO EQU

la clave digitada y realizar


la
comparación con la clave interna el LED Amarillo o Azul autorizando
grabada y de ahí tomar una decisión un nuevo intento de ingreso.
con la acción correspondiente sobre
el LED.

permitir el ingreso de una nueva


clave, apagando los LED Verde o
LED Rojo y encendiendo nuevamente
;---------------------------- movwfTRISB
org 0 ;bits de puerto B, salidas
movlw B'00001111' movlw B'00000'
bsf movwfTRISA
STATUS,RP0;BANCO 1
;bits de puerto A, salidas
bcf STATUS,RP0
ALGORITMO
;BANCO 0
MOVWF
processor 16f84 B'00000000'
include <p16f84.inc> PORTB
MOVWF PORTA
MOVWF
BTFSC
;ASIGNACION DE CLAVE PORTB,2
CALL SDOS1
MOVLW D'8' BTFSC
MOVWF CUNO PORTB,3
MOVL D'0' CALL STRES1
W CDOS BCF
MOVWF D'4' PORTB,4
MOVL CTRES
W
MOVWF
MOVLW D'0' B1 BSF
MOVWF PORTB,5
CCUATRO ; PAR INICI DE CALL
ESPERA
CLAVE A O SCUATRO1
BTFS
C
BTFSC
PORTB,1

PORTB,2
ESPERA BSF CALL SCINCO1
PORTB,7 BTFSC
BCF PORTB,3
PORTB,4 CALL SSEIS1
BTFSC BCF
PORTB,1 PORTB,5
CALL INICIO
GOTO C1 BSF
ESPERA PORTB,6
BTFSC
INICIO BSF PORTB,1
PORTA,AZUL CALL SUNO1
BCF
PORTA,VERDE
BCF
PORTA,ROJO
BCF
PORTB,7
CALL retardo1

;INTRODUCCION PRIMER
DIGITO

A1 BSF
PORTB,4
BTFSC
PORTB,1
CALL SSIETE1
BTFSC D1 BSF
PORTB,2 PORTB,7
CALL SOCHO1 BTFSC
BTFSC PORTB,1
PORTB,3 CALL SAST1
CALL SNUEVE1 BTFSC
BCF PORTB,2
PORTB,6 CALL SCERO1
BTFS BTF
C PORTB,3 SC
CALL SNUM1 PORTB,2
BC CALL SOCHO2
F BTF
PORTB,7
GOTO A1 SC CALL SNUEVE2
BCF
;INTRODUCCION PORTB,6
SEGUNDO DIGITO
D BS
A2 CALL 2 F
retardo1 PORTB,7BTFSC
BSF PORTB,1
A22
PORTB,4 CALL SAST2
BTFSC BTFS
PORTB,1 PORTB,2C
CALL SUNO2 CALL SCERO2
BTFSC BTFS
PORTB,2 C
CALL SDOS2 PORTB,3
BTFSC CALL SNUM2
BC
PORTB,3 F
CALL STRES2 PORTB,7
BCF GOTO A22
PORTB,4 ;INTRODUCCION
TERCER
B2 B DIGITO
SF PORTB,5 A3 CALL
BTFSC retardo1
PORTB,1 A33
CALL SCUATRO2
BTFSC BSF PORTB,4
BTFSC
PORTB,2 PORTB,1
CALL SCINCO2 CALL SUNO3
BTF BTF
SC SC
PORTB,3 PORTB,2
CALL SSEIS2
BCF CALL SDOS3
BTFSC
PORTB,5 PORTB,3
CALL STRES3
C2 BS BCF
PORTB,6 F PORTB,4
BTFSC
PORTB,1 B3 BSF
CALL SSIETE2 PORTB,5
BTFSC A4 CALL
retardo1
PORTB,1
CALL SCUATRO3 A44 BSF
PORTB,4
BTFSC
POR TFSC
TB,2 PORT
CALL B,2
SCINCO3 CALL
B SCERO3
TFSC B
POR TFSC
TB,3 PORT
CALL B,3
SSEIS3 CALL
B SNUM3
CF B
POR CF
TB,5 PORT
B,7
BTFSC
POR
TB,1
CALL
SSIETE
B
TFSC
POR
TB,2
CALL
SOCHO
B
TFSC
POR
TB,3
CALL
SNUEV
B
CF
POR
TB,6

BTFSC
POR
TB,1
CALL
SAST3
B
B C R G O
T F CA R
F SC T
CO4 ; B
S P
B I ,
C O
CA N 3
R
SS T CA
P T
4 R L
O B
B O SNU
R ,
D EV
T 4 C4 U 4
B B
CA C B
, B4
SS C C
1 B
TE I F
CALL S
B O
SUNO F
CA N P
4 SOC
P O
B HO D
O R
T I
R BT T
F G
T B
S I
B ,
C T
, 6
O
P 5
O B
R T
T F
B S
, C
2
CALL P
SDOS O
4 R
B T
T B
F ,
S 1
C CAL
L
P SCU
O ATR
R O4
T B
B T
, F
3 S
CALL C
STRE
S4 P
B O
D4 BSF MOVWF
PORTB,7 CUATRO
BTFSC GOTO
PORTB,1 COMPARACION
CALL SAST4
BTFSC ;ASIGNACION NUMERO TRES
PORTB,2
CALL SCERO4
STRES1
MOVLW D'3'
B A2
TFS
C
POR
TB,3
D
CALL GOTO A44
SNUM4 STRES3
STRES2 MOVLW D'3'
MOVLW
D'3' MOVWF
B A
OT
3 O
;
ASI A4
GNA
CIO
N
NU
ME
RO
UNO
T TRO G
M G A2
STRES4 DO
O O SCUATRO2 S
V T MO
L O VL
W W
C D'4'
D O MO
' M VW
3 P F
' A GO
SUNO1 R TO
MOVLW D'1' A A3
MOVWF C
M I SCU
WF O AT
G C RO3
N
A2 U MO
A VL
W
T
D'4'
R
O DOS MOVWF GOTO A4 TR
G ES
SDOS1 MOVLW
O D'2' SCUATRO4
T MOVLW D'4'
M
O
VL MOVWF
SUN COMP
W CUATRO
O2 ARAC
G
MOV ION
LW O
D'1' SDOS2 MOVLW D'2'
MOVW GOTO
M DOS
F VWFCOMPARACION
D
O G
S O
GOTO A3 SDOS3 ;
;ASIGNACION MOVLW ASIGNACI
NUMERO SUNO3 D'2' ON
MOVWF NUMERO
MOVLW D'1'
CINCO
CUATRO TRES
M T
SCUA GOTO A4
WF
TRO1 SCINCO1 MOVLW
G
MOV D'5' SDOS4
A4
LW MOVLW D'2'
D'4' MOVWF UNO
SUNO4 GOTO A2
MOVLW D'1'
MOVWF UNO
M OVWF
CUA
SCINCO2 MOVLW D'5'
MOVWF DOS ;ASIGNACION NUMERO OCHO
GOTO A3
SCINCO3 MOVLW D'5' SOCHO1 MOVLW D'8'
MOVWF TRES MOVWF UNO
GOTO A4 GOTO A2
SCINCO4 MOVLW D'5' SOCHO2 MOVLW D'8'
MOVWF MOVWF
DOS
CUATRO GOTO A3
GOTO SOCHO3 MOVLW D'8'
COMPARACION MOVWF TRES
GOTO A4
;ASIGNACION NUMERO SEIS SOCHO4 MOVLW D'8'
MOVWF
SSEIS1 MOVLW D'6' CUATRO
MOVWF UNO GOTO
GOTO A2 COMPARACION
SSEIS2 MOVLW D'6'
MOVWF DOS ;ASIGNACION NUMERO NUEVE
GOTO A3
SSEIS3 MOVLW D'6' SNUEVE1 MOVLW D'9'
MOVWF TRES MOVWF UNO
GOTO A4 GOTO A2
SSEIS4 MOVLW D'6' SNUEVE2 MOVLW D'9'
MOVWF MOVWF
DOS
CUATRO GOTO A3
GOTO SNUEVE3 MOVLW D'9'
COMPARACION MOVWF TRES
GOTO A4
;ASIGNACION NUMERO SIETE SNUEVE4 MOVLW D'9'
MOVWF
SSIETE1 MOVLW D'7' CUATRO
MOVWF UNO GOTO
GOTO A2 COMPARACION
SSIETE2 MOVLW D'7'
MOVWF DOS ;ASIGNACION NUMERO CERO
GOTO A3
SSIETE3 MOVLW D'7' SCERO1 MOVLW D'0'
MOVWF TRES MOVWF UNO
GOTO A4 GOTO A2
SSIETE4 MOVLW D'7' SCERO2 MOVLW D'0'
MOVWF MOVWF
DOS
CUATRO GOTO A3
GOTO SCERO3 MOVLW D'0'
COMPARACION MOVWF TRES
GOTO A4 SUBWF UNO
SCERO4 MOVLW D'0' BTFSS
MOVWF STATUS,2 MAL
CUATRO GOTO CDOS,0
GOTO MOVF DOS
COMPARACION SUBWF
BTFSS
;ASIGNACION ASTERISCO STATUS,2
GOTO MAL

SAST1 MOVLW '*' MOVF


MOVWF UNO CTRES,0
GOTO A2 SUBWF TRES
SAST2 MOVLW '*' BTFSS
MOVWF DOS STATUS,2
GOTO A3 GOTO MAL
SAST3 MOVLW '*' MOVF
MOVWF TRES CCUATRO,0
GOTO A4
SUBWF
SAST4 MOVLW '*' CUATRO
MOVWF BTFSS
CUATRO STATUS,2 MAL
GOTO GOTO
COMPARACION
CLAVE
;SEÑALIZACION
CORRECTA
;ASIGNACION NUMERAL

SNUM1 MOVLW '#' BIEN BSF


MOVWF PORTA,VERDE
UNO BCF
SNUM2 GOTO A2 PORTA,AZUL
MOVLW '#'
MOVWF DOS GOTO NUEVA
GOTO A3
SNUM3 MOVLW '#' ;SEÑALIZACION CLAVE
MOVWF INCORRECTA
TRES
GOTO A4
SNUM4 MOVLW '#' MAL BSF
MOVWF PORTA,ROJO
CUATRO BCF
GOTO PORTA,AZUL
COMPARACION GOTO NUEVA
;COMPARACION DE LA CLAVE MOVF
CUNO,0
COMPARACION NOP
INTRODUCCION NUEVA
;ESPERA DE CLAVE
NUEVA BSF Dentro del lenguaje C utilizado
PORTB,7 concluimos no contribuye como
BCF herramienta para el flujo y estructuras
PORTB,4 sencillas y un buen conjunto de
BTFSC operadores, aunque no es un lenguaje
PORTB,3 de muy alto nivel, siendo sencillo y
CALL INICIO no está especializado en ningún tipo
GOTO NUEVA de aplicación; por ende esto lo hace
un lenguaje potente, con un campo de
;------------------------ aplicación ilimitado y sobre todo, y se
retardo aprende rápidamente.
movlw
b'100011';carga el Para el manejo del LCD fue necesario trata
acumulador con este valor sobre los detalles relacionados con el
movwfreg1;mueve ese Hardware: asignación de pines, bus de
valor a "reg1" datos, de control, control del
contraste,
decfsz cronogramas y por último los comandos
ss
reg1,f;Decrementa f, si es 0 de control del LCD y la secuencia de
inicialización
salta
goto ss;ir a "ss"
return;retorna al Fue necesario entrar en detalles de
funcionamiento de un LCD de 2 líneas de
punto donde lo llamaron 16
caracteres. Todos los displays de este tipo
;--------------------------------- disponibles en el mercado son
retardo1 movlw D'100' compatibles entre sí.
movwfTIEMPO2
carga movlw D'255' La participación activa con el tutor guía de
movwfTIEMPO práctica es indispensable para el éxito de
dec la práctica.
decfsz
TIEMPO Para poder programar un microprocesador
goto dec es necesario considerar el uso de
herramientas de software para realizar los
dec2 decfsz TIEMPO2 algoritmos y
para programarlo en un simulador
goto carga conociendo sus respectivos
return comandos básicos y su
nemotecnia
;------------------------ Es necesario conocer cuáles son las
FIN partes básicas de un micro, memorias,
end;fin del programa entradas, salidas, códigos, registros y
;------------------------ demás componentes para poder entender
que
CONCLUSIONES sucede durante la programación y durante
la simulación de la misma.
Los microprocesadores y
microcontroladores son muestras del gran
desarrollo de la tecnología electrónica en
más de medio siglo, los aparatos que los
incorporan han cambiado la forma de
trabajar e investigar de la humanidad, en
la historia ninguna herramienta creada por
el hombre influencia en la mayoría de
procesos, de las telecomunicaciones
sirviendo dentro de la estrategia de las
empresas y sus componentes físicos
operativos.

REFERENCIAS

Téllez A. Freddy R (2009). Protocolo


Académico. Microprocesadores &
Microcontroladores. Escuela de
Ciencias Básicas, Tecnologías e
Ingenierías Universidad Nacional
Abierta y a Distancia - UNAD Bogotá
D. C. Enero 2009.

http://www.youtube.com/watch?v=yTg4
KoYPbyg el día 01 de noviembre de 2012

http://www.todorobot.com.ar/documentos
/display.pdf. El día 31 de octubre. 2012

López, J. (2003). Especificación de


Modelos de Información de Gestión
de Red Integrada Mediante el Uso de
Ontologías y Técnicas de
Representación del Conocimiento.
Tesis Doctoral. Universidad
Politécnica de Madrid España.

UNIVERSIDAD NACIONAL ABIERTA Y


ADISTANCIA UNAD
Santa marta - Magdalena
2014

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