Vous êtes sur la page 1sur 5

UNIVERSIDAD NACIONAL

AUTNOMADE MXICO
FACULTAD DE INGENIERA
Microprocesadores y Microcontroladores
Prctica #4:
Bsqueda de nmeros BCD en una base
de datos
Grupo 8
Castro Gonzlez Fabrizio
20 de Marzo del 2015

OBJETIVO
- Que el alumno desarrolle un programa que seleccione los nmeros BCD de una
base de datos

TRABAJO PREVIO
a) Qu es un lenguaje ensamblador?
b) Qu es un lenguaje de alto nivel?
c) Qu es una interrupcin de un microcontrolador?
a) Es un tipo de lenguaje de bajo nivel utilizado para escribir programas. Este
constituye la representacin ms cercana al cdigo mquina. Se le asigna un
cdigo nemotcnico a cada comando del lenguaje mquina para que este
sea de entendimiento para el programador. El lenguaje es un tanto difcil de
entender, pero los programas son ms rpidos y consumen menos recursos.
b) Es aquel lenguaje que expresa los algoritmos de una manera ms cercana al
lenguaje humano.
c) Una interrupcin es un evento que hace que el microcontrolador deje de
ejecutar la tarea que est realizando para atender un acontecimiento y luego
regresar y continuar la tarea que estaba realizando antes de que se
presentara la interrupcin. En el MSP430 existen 3 tipos de interruciones:
reinicio del sistema, no enmascarable y mascarable.

TRABAJO DE LABORATORIO
- Asigne la base de datos de la prctica 3 a partir de la localidad 0200h como
bytes.
- Desarolle un programa que coloque los nmeros BCD de la base anterior a
partir de la localidad 0230h.
a) Diagrama de flujo.
b) Guardar como: Prac4.asm

CDIGO DEL PROGRAMA


.Cdecls C, LIST, "MSP430G2553.h"
.text
.retain
.retainrefs
INICIO mov #5A80h, &120h
mov.b #0Ah, &0200h
mov.b #0F7h, &0201h
mov.b #0Dh, &0202h
mov.b #04h, &0203h
mov.b #32h, &0204h
mov.b #2Fh, &0205h
mov.b #8Ah, &0206h
mov.b #1Ah, &0207h
mov.b #04h, &0208h
mov.b #3Bh, &0209h
mov.b #0FFh, &020Ah
mov.b #00h, &020Bh
mov.b #4Dh, &020Ch
mov.b #03h, &020Dh
mov.b #0FBh, &020Eh
mov.b #25h, &020Fh
mov.b #0CAh, &0210h
mov.b #2Fh, &0211h
mov.b #1Ch, &0212h
mov.b #02h, &0213h
mov.b #1Ah, &0214h
mov.b #3Bh, &0215h
mov.b #0FFh, &0216h
mov.b #5Ah, &0217h
mov.b #1Dh, &0218h
mov.b #0A4h, &0219h
mov.b #80h, &021Ah
mov.b #29h, &021Bh
mov.b #2Ch, &021Ch
mov.b #4Bh, &021Dh
mov.b #3Bh, &021Eh
mov.b #0B6h, &021Fh
mov .b #200h, R4
mov.b #230h, R5
clr R6

SIG

mov.b @R4,R6
bic.b #0Fh,R6
cmp #0Ah,R6
jhs NOES
mov.b @R4,R6
bic.b #0F0h,R6
cmp #0A0h,R6
jhs NOES
mov.b @R4+,0(R5)
inc R5
COM cmp #220h,R4
jnz SIG
FIN
jmp FIN
NOES inc R4
inc R5
jmp COM
.sect ".reset"
.short INICIO
.end
CUESTIONARIO
1.- Qu es un nmero BCD?
R= Es una formar de representar nmeros decimales en binario. Cada nmero
decimal se codifica en 4 bits.
2.- De cuntos dgitos BCD consta un byte?
R= Un byte consta de 8 bits y un nmero BCD consta de 4 bits, entonces un byte
tiene 2 dgitos BCD.
3.- Mencione una aplicacin real para este programa.
R= Una variante de este programa servira para cuando a un usuario se le pide
introducir un conjunto de dgitos y este accidentalmente o concientemente
introduce letras. Entonces el programa notificaria error y pedira nuevamente
el ingreso de los nmeros.

CONCLUSIONES
- Esta prctica tuvo el fin de reforzar lo visto en la prctica anterior en cuanto al
uso de los saltos condicionales. A diferencia de la prctica 3 donde solo se
comparaba el bit menos significativo para diferenciar si era un nmero par o impar,
en esta se compararon los 4bits menos signifativos y posteriormente los 4 bits
ms significativos para determinar si el byte estaba compuesto por nmeros
BCD.
Con estas dos ltimas prcticas he aprendido ya como se ven afectadas las
banderas del apuntador del stack y as elegir las instrucciones adecuadas para
escribir el programa que se pida.
FUENTES DE REFERENCIA

http://www.etsisi.upm.es/museo_virtual/2g/lenguajeensamblador
http://www.circuitoselectronicos.org/2011/03/manejo-de-interrupciones-en-los.html
Apuntes de la asignatura.

Vous aimerez peut-être aussi