UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO FACULTAD CULTAD DE INGENIE INGE NIERÍA RÍA SEMESTRE 2017-2 LABORATORIO LABORATORIO DE MICROCOMPUTA MICROCO MPUTADORAS DORAS M. I. RUBEN ANAYA GARCÍA PRÁCTICA 1. INTRODUCCIÓN GENERAL A UN MICROCONTROLADOR PIC16F77 ALUMNOS! OCA"A CASILLAS ANDREA #Y$AN YA"E% CADENA CRISTIAN CRIS TIAN DAVID DAVID FEC$A DE ENTREGA! 16-MAR%O-2017
DESARROLLO
Para cada uno de los siguientes ejercicios, realizar los programas solicitados y simular el funcionamiento de ellos. 1. Siguiendo las indicaciones previas, escribir el siguiente programa, ensamblar y simular el funcionamiento de este: PROGRAMA
processor 16f877 include
K equ h'26' R1 equ h'27' org 0 goto INII! org " INII!# $o%l& h'0"' dd&f K(0 $o%&f ) goto INII! end
2. Modicar el programa anterior, para ue a!ora los datos ue operar" se encuentren en las localidades reservadas para # y $ respectivamente y el resultado almacenarlo en otras direcciones, reservadas para %1 y &1 donde %1 representar" el valor de la bandera de acarreo y &1 el resultado. PROGRAMA
processor 16f877 include * equ h'2"' K equ h'26' R1 equ h'27' 1 equ h'28'
+Reser%ci,n de locliddes en $e$ori
org 0 goto INII! org " crreo# $o%l& 0-00 $o%&f 1 INII!# $o%f *(& +rg el contenido de * en dd&f K(& +/K > $o%&f R1 +urd el contenido de en R1 tfss 34543( +erific si huo crreo goto crreo +No > Inicio $o%l& 0-01 +3i > rg 0-1 en $o%&f 1 +on el contenido de en 1 goto INII! +inici otr %e9 el ciclo end
'. &ealice un programa ue ejecute la siguiente secuencia, misma ue deber" ver en la direcci(n de memoria de su elecci(n. Secuencia:
PROGRAMA
processor 16f877 include org 0 goto INII! org " INII!# $o%l& h'1' +rg en en %lor inicil de 1 $o%&f h'20' +:ue%e el %lor de l )oclidd 20h I)!# rlf h'20'(1 +;ce un rot$iento l I9quierd gurd en 20h tfss h'20'(7 +o$prue si el %lor que h en 20h es 80h goto I)! +N! > I)! goto INII! +3I > INII! end
). *esarrollar un programa ue presente la cuenta en numeraci(n decimal en la localidad de memoria de su elecci(n, como se indica a continuaci(n.
PROGRAMA
processor 16f877 include org 0= goto INII! org " )I:I5# clrf h'20' +)i$pi l loclidd 20h INII!# incf h'20'(1 +Incre$ent el %lor que h en 20h $o%l& h'' +rg en el %lor de h -or&f h'20'(& +Reli9 ?!R= del contenido de con contenido de 20h= tfss 34543(@ +erific si el resultdo de ?orA0 B9A1C
goto INII! +No(Repite el ciclo 3i( entocess lleg$os DIE@# $o%l& h'7' +rg en el %lor de 7 dd&f h'20' +3u$ /)oc h'20' pr otener el nu$ero siguiente pr seguir l secuenci de= nF$eros deci$les IN# $o%l& h'20' +rg el %lor de 20h en -or&f h'20'(& +Reli9 ?!R= del contenido de con el contenido de 20h tfsc 34543(@ +erific si el resultdo de ?orGA0 B9A0C goto )I:I5 +N!(entonces lleg$os l 20 %uel%e =e$pe9r l cuent incf h'20' +3i(incre$ent= $o%l& h'1' +rg el %lor de 1h en -or&f h'20'(& +Reli9 ?!R= del contenido de con el contenido de 20h tfsc 34543(@ +erific si el resultdo de ?orGA0 B9A0C goto DIE@ +No(%e DIE@= goto IN +3i(repite el ciclo end
+. laborar un programa ue encuentre el n-mero menor, de un conjunto de datos ubicados entre las localidades de memoria 2! a )!/ mostrar el valor en la direcci(n )1!. PROGRAMA
processor 16f877 include H equ h'20' org 0 goto inicio org " inicio# $o%l& h'21' $o%&f 3R $o%f H(0 $o%&f h'J1' e%lu# tfss 3R(6 l dirr J0C goto sigue tfss 3R(0 goto sigue goto fin sigue su&f IND(0 tfsc 34543( fue negti%C goto incre$ent goto nue%oM$enor nue%oM$enor# $o%f IND(0 incf 3R(1 $o%&f h'J1' $o%&f H goto e%lu
+%rile $uestr el resultdo +origen dirr 0 +slt inicio +origen dir "
+&A21he+3RA& +&AH +0-J1LA& +slt si it 6 de 3R es 0 Bsi llego
+lso % inicio +&AIND& +slt si crrero es 1 Bsi l rest +slt incre$ent +slt nue%o $enor +&AIND +3RA3R/1 +0-J1LA& +HA& +slt e%lu
incre$ent# incf 3R(1 $o%f H(0 goto e%lu fin# end
+3RA3R/1 +&AH +slt e%lu +fin
CONCLUSIONES
n esta pr"ctica tuvimos la oportunidad de familiarizarnos tanto con el 0* ue se estar" ocupando a lo largo del curso, MP3, as4 como con la l ista de mnem(nicos para el P0%156788. os ejercicios realizados fueron -tiles para recordar los conocimientos ue ya ten4amos sobre ensamblador y para analizar a fondo las instrucciones de este controlador .