MICROCONTROLADORES Alumno: Luis Manuel Rodrguez Mancera Carrera: Ingeniera en Mecatrnica Asignatura: Microcontroladores Registro: 11313!" #ro$esor: %arrn de la Cru& Ricardo Centro de Enseanza Tcnica Industrial #lantel: Colo'os Turno: (es)ertino *ec+a: 13,!,-1. Practica Registros del CPU LA figura 1 muestra los cinco registros del CPU08. Los registros del CPU08 no son parte del mapa de memoria. Acumulador El acumulador mostrado en la figura 2. Es un registro de 8 bits de propsito general. El CPU usa el acumulador para mantener los operandos y resultados de operaciones aritmticas y no aritmticas. Registro de ndices El registro de !ndices mostrado en la figura "# permite al usuario para inde$ar o direccionar un espacio de memoria de %& 'bytes. El registro concatenado de 1% bits es llamado ()*. El bit m+s alto del !ndice es llamado (. El bit m+s ba,o es llamado *. #/gina 2 de 5 Practica ( es restaurado por el reset. Cuando ( - 0 y cuando ninguna instruccin .ue afecte ( es usada# ()* es funcionalmente idntico al l* registro de la familia /%800. En los modos de direccionamiento inde$ados# el CPU usa el contenido de ()* para determinar la direccin efecti1a del operando. ()* tambin puede ser1ir como una ubicacin temporal de almacenamiento. Apuntador de pila (SP) El apuntador de pila mostrado en la figura & es un registro de 1% bits .ue contiene la direccin de la pr$ima ubicacin en la pila. 2urante un reset# el apuntador de pila se predefine a 30044 para proporcionar compatibilidad a la familia /%800. 567A) La instruccin 89P establece el :ltimo byte significati1o a 344 y no afecta al byte m+s significati1o. La direccin en el apuntador de pila decrementa cuando los datos se insertan a la pila e incrementa cuando los datos son remo1idos de ella. El 9P siempre apunta al pr$imo byte ;1ac!o< de la pila. El CPU08 tiene un apuntador de pila de 8 y 1% modos de redireccionamiento .ue permite al puntero de pila ser usado con un registro de !ndices para acceder temporalmente 1ariables a la pila. El CPU usa el contenido en el registro del 9P para determinar la direccin efecti1a del operando. 567A) Aun.ue se pre estable=ca a 30044# la ubicacin de la pila es arbitraria y puede ser relocali=ada por el usuario donde sea .ue la 8A/ resida dentro del mapa de memoria. /o1iendo el 9P fuera de la p+gina 0 ;30000 a 30044< se liberar+ espacio de memoria# el cual puede ser accedido usando el modo de re direccionamiento directo eficiente. Contador de Programa El contador de programa mostrado en la figura 0 es un registro de 1% bits .ue contiene la direccin de la pr$ima instruccin u operando a captar. #/gina 3 de 5 Practica 5ormalmente# la direccin en el contador de programa autom+ticamente se incrementa a la pr$ima ubicacin de memoria secuencial cada 1e= .ue una instruccin u operando es capturado. 9altar# deri1ar e interrumpir operaciones cargan el contador de programa con otra direccin diferente de la pr$ima ubicacin secuencial. 2urante el reset# la PC es cargada con el contenido del 1ector reset ubicada en 344EE y 34444. Esto representa la direccin de la primera instruccin para ser e,ecutada despus de .ue el estado reset sea e$citado. Registro de cdigo de condiciones: El registro de cdigo de condicin de 8 bits mostrado en la figura % contiene la m+scara de interrupciones y 0 banderas .ue indican los resultados de la instruccin recin e,ecutada. Los bits cinco y seis son permanentemente establecidos a un uno lgico. Los p+rrafos siguientes describen las funciones del registro de cdigo de condiciones. V Bandera de desbordamiento (!er"lo# $lag) El CPU establece la bandera de desbordamiento cuando un segundo complemento se desborda como resultado de una operacin. El bit de bandera de desbordamiento es utili=ado por la rama de instrucciones >?7# >?E# >LE# y >L7. Este bit es establecido por A9L# A98# L9L# L98# 86L# e instrucciones 868# aun.ue su 1alor resultante tiene ning:n significado. %&Bandera de Acarreo 'edio (%al" Carr( $lag) El CPU establece la bandera de acarreo medio cuando una carga ocurre entre tres y cuatro bits del acumulador durante una operacin A22 o A2C. La bandera de acarreo medio es re.uerida para operaciones aritmticas de cdigo binario ;>C2<. La instruccin 2AA usa el estado de las banderas ( y C para determinar el factor de correccin correcto. ) '*scara de )nterrupcin Cuando la m+scara de interrupcin es establecida# todos los interruptores son desacti1ados. Los interruptores son acti1ados cuando la m+scara se libera. Cuando #/gina 4 de 5 Practica una interrupcin ocurre# la m+scara de interrupcin se establece autom+ticamente despus .ue los registros del CPU se guarden en la pila# pero antes el 1ector de interrupcin es e$tra!do. Nota: Para mantener la compatibilidad del M6805, el registro H no es apilado automticamente. Si el interruptor de servicio de rutina usa X ( H no est desactivado!, entonces el usuario debe apilar desapilar H usando las instrucciones PSHH P"#H durante el servicio de rutina del interruptor. 9i una interrupcin ocurre mientras el interruptor de m+scara est+ acti1ado# el interruptor es encla1ado. Las interrupciones en orden de prioridad son atendidos tan pronto el bit 1 sea desacti1ado. El retorno de la instruccin de interrupcin ;87@< ,ala los registros de la CPU de la pila# restaurando la m+scara de interrupcin a su estado desacti1ado. 2espus de cual.uier reset# la m+scara de interrupcin es establecida y slo puede ser desacti1ada por una instruccin de softAare. + Bandera negati!a El CPU establece la bandera negati1a cuando una operacin aritmtica# operacin lgica# o la manipulacin de datos produce un resultado negati1o. , Bandera Cero (,ero $lag) El CPU establece la bandera negati1a cuando una operacin aritmtica# operacin lgica# o la manipulacin de datos produce un resultado de 300. C Bandera de acarreo-pr.stamo (Carr(-Borro# $lag) El CPU establece la bandera de acarreo Bprstamo cuando una operacin de adicin produce un acarreo fuera de C bits del acumulador o cuando una operacin resta re.uiere un prstamo. Algunas operaciones lgicas e instrucciones de manipulacin de datos tambin limpian o establecen la bandera de acarreoBprstamo ;como en pruebas de bits y ramas de instrucciones y cambios y giros<. #/gina 5 de 5