SlideShare una empresa de Scribd logo
1 de 66
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES  Presentado por: Gonzalo Castillo. Magda Alejandra Socha.
Introducción  Para iniciar la travesía en el campó de la programación de microcontroladores necesario comprender su filosofía de trabajo, así como su vocabulario que para nuestro caso se trata del set de instrucciones, las cuales en el presente capitulo se visualizaran en un cuadro resumen
REGISTROS DE USO GENERAL  Existen unos registros que se encuentran constantemente interactuando con el micro controlador, efectuando tareas de acuerdo con las instrucciones que se vallan realizando. Estos registros son:
ACUMULADOR:Comúnmente se utiliza para almacenar operandos, resultados de cálculos aritméticos y de manipulación de datos. Cuando se almacenan datos numéricos se debe tener en cuenta la notación de la base a utilizar para introducir las cantidades,  S: cantidad hexadecimal %: cantidad binaria  t: cantidad decimal
REGISTRO INDICE (x):Se emplea para los modos de direccionamiento indexados o bien puede usarse como acumulador auxiliar, esta constituido por 8 bits, valor que puede ser cargado directamente o desde una posición de memoria. El valor provisto por la instrucción puede puede ser de 0, 1 o 2 bytes de largo.
REGISTRO INDICE (H:X) Este registro puede ser visto como un solo formado por 16 bits o como dos registros de 8 bits independientes, H y X. Este registro se utiliza en los modos de direccionamiento indexados y sirve como un apuntador, siendo capaz de cubrir todo el mapa de memoria con 16 bits.
PUNTERO DE PILA (SP) (stack pointer): Es un registro de 16 bits que contiene la dirección de la posición disponible en el stack. El stack pointer puede funcionar como un registro de indexado para acceder a datos en el stack. una pila stack es una estructura de datos de tipo LIFO que permite almacenar y recuperar datos mediante operaciones push (apilar) y por (desapilar) estas operaciones se realizan sobre un único extremo de la pila llamado cima.
CONTADOR DE PROGRAMA (PC): Es un registro de 16 bits que contiene la dirección de la siguiente instrucción u operación a procesar. En otras palabras se podría decir que el registro contador de programa (PC) es usado por la CPU para no perder de vista la dirección de la próxima instrucción a ejecutar. En muchas de las variantes de la familia HC08, algunos de los bits superiores del contador de programa no son usados y están siempre en cero.
REGISTRO DE BANDERAS (CCR): Es un registro de 8 bits que contiene el bit de enmascarado general de interrupciones y 5 banderas de estado, las cuales indican ciertas condiciones originadas por la instrucción previamente ejecutada. El registro de código de condición(o registro de banderas)contienen una mascara de interrupción y cuatro indicadores de estado que reflejan el resultado de operaciones aritméticas y de otro tipo de la CPU. Las cinco banderas son semi-acarreo (H), mascara de interrupción (I), negativo (N), cero (Z) y acarreo/prestamo(C).
Este registro contiene in conjunto de banderas que dan información sobre el resultado de la ultima operación ejecutada. La mayoría de las instrucciones de salto utilizan estas banderas como condición. Aquí se encuentra también el habilitador global de interrupciones. Los bits que componen este registro son:
V: BANDERA DE REBOSAMIENTO: Esta bandera es el equivalente de C para operaciones con signo. Se activa si el resultado sale del rango de -128 a 127. Este bit puede ser modificado también por instrucciones no aritméticas. La CPU coloca esta bandera en 1 cuando al efectuar el complemento a dos ocurre rebosamiento. 1: Rebosamiento 0: No rebosamiento
H: BANDERA DE MEDIO CARRY: Indica si existió un desbordamiento en los primeros 4 bits del resultado. Funciona de la misma manera que C para instrucciones aritméticas, pero considerando solo los primeros 4 bits del resultado. La CPU coloca este bit en 1 cuando ocurre un carry entre los bits 3 y 4 durante una suma con o sin carry; el medio carry es requerido cuando se utiliza codificación en BCD. 1: Carry entre los bits 3 y 4 2: No carry entre los bits 3 y 4
I: MASCARA DE INTERRUPCION: Este bit es el habilitador global de interrupciones. Si se encuentra en 1, todas las interrupciones (exceptuando las no enmascarables) serán inhibidas y permanecerán pendientes hasta que este bit sea colocado en 0. Este habilitador se modifica en lenguaje C con las instrucciones (EnableInterrupts) (DisableInterrupts)
N: BANDERA DE VALOR NEGATIVO: Esta bandera refleja el estado del bit de signo (bit 7) del resultado anterior. Al igual que la bandera de cero, esto se extiende a otro tipo de instrucciones. Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética es negativa. 1: Resultado negativa 0: Resultado positivo
Z: BANDERA DE CERO: Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética o lógica de cómo resultado CERO. Esta bandera no solo es modificada por instrucciones aritméticas, por lo que se activara siempre que el valor del registro de destino de la instrucción sea igual a 0. 1: Resultado cero  2: Resultado no cero
C: BANDERA DE CARRY: En instrucciones aritméticas sin signo, esta bandera indica si ocurrió un desbordamiento en el resultad, es decir, si salió del rango de 0 a 255. Las instrucciones de corrimiento y rotación pueden también hacer uso de bit. Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética produce carry después del bit 7. El bit C se usa para indicar si ha habido o no acarreo de una suma o pedido de préstamo como resultado de una resta.
Las instrucciones de desplazamiento y rotación operan sobre y a través del bit C para facilitar operaciones de desplazamiento de múltiples bytes. El bit C es afectado además durante las instrucciones de evaluación de bit y de bifurcación. 1: carry 2: No carry
MODOS DE DIRECCIONAMIENTO  En todo proceso de programación se requiere realizar constantemente operaciones asignación de valores a registros y extraer valores existentes en otros registros para transferirlos y/o procesarlos con otros datos; este proceso de extracción y adjudicación se conoce como DIRECCIONAMIENTO.
Una de las operaciones que brindan actualmente los microcontroladores consiste en la habilidad para acceder a la memoria; aprovechando tal cualidad, los modos de direccionamiento existentes en la CPU proveen esta capacidad. Existe una gran variedad de formas de direccionar los datos, las cuales se clasifican según la forma en que una instrucción obtendrá el valor requerido para su ejecución. Debido a los diferentes modos de direccionamiento, una instrucción puede acceder al operando en una de las diversas maneras.
Cada variante del modo de direccionamiento de una instrucción debe tener un único código de operación de instrucción. Los microcontroladores Freescale usan seis modos de direccionamiento, que son: Inherente Inmediato Extendido Directo  Indexado    	sin desplazamiento 	con desplazamiento de 8 bits  	con desplazamiento de 16 bits Relativo
MODO DE DIRECCIONAMIENTO INMEDIATO En el modo de direccionamiento inmediato, el operando esta contenido en el byte inmediatos siguiendo al código de operación. Este modo se usa cuando se requiere un valor o constante conocido en el momento de escribir el programa y que cumple con el hecho de que no cambiara durante la ejecución del programa.
EJEMPLOS:  LDA	#$0f	;A=$0F EXPLICACION: Los pasos que se ejecutan en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el nuevo valor en el registro acumulador (A); en este caso, se almacena el valor de 0F en hexadecimal o 15 en decimal y se ajusta las banderas requeridas según la operación. LDX	#10T	;X=10
EXPLICACION Los pasos que se ejecuten en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el nuevo valor en el registro índice (x); en este caso se almacena el valor 10 y se ajusta las banderas requeridas según la operación. A continuación se muestra el listado de instrucciones que permiten la ejecución del direccionamiento inmediato.
MODO DE DIRECCIONAMIENTO INHERENTE Este modo de direccionamiento se caracteriza por que toda la información requerida para la operación ya es implícitamente conocida por la CPU y no es necesario utilizar valores adicionales para su ejecución. En caso de requerirse algún operando en particular, son solo los registros de la CPU o bien valores de datos almacenados en la pila.
EJEMPLOS: INCA		;Incrementar el acumulador EXPLICACION: Los pasos que se ejecutan en el momento de evaluar la anterior instrucción son los siguientes: La CPU lee el valor que se encuentra almacenado en el registro acumulador. La CPU le suma uno al valor actual del acumulador. La CPU almacena el nuevo valor en el acumulador y ajusta las banderas requeridas según la operación. CLRA		;borrar el Acumulador
EXPLICACION: Los pasos que se ejecuten en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el valor (00h) en el registro acumulador (A), borrando toda informacion que se encontrara almacenada previamente en este registro y ajusta las banderas requeridas según la operación.
A continuación se listan las instrucciones que pueden usar el modo de direccionamiento inherente.
MODO DE DIRECCIONAMIENTO EXTENDIDO: Uno de los métodos de direccionamiento mas importantes dentro de la programación de los microcontroladores es el modo de direccionamiento extendido, que consiste en extraer la información almacenada en una dirección de memoria que para representarla requiere 2 bytes (16 bits), y se escribe su valor seguido de la instrucción. Este modo se emplea para hacer referencia a cualquier posición de memoria dentro del espacio de memoria del MCU, incluyendo direcciones de puertos de entrada/salida, direcciones de la memoria RAM, ROM, EPROM, flash.
EJEMPLO: Supongamos que en la posición de memoria $0367 se encuentra almacenado el valor $0f, entonces: LDA $0367		;A=$0F,  es decir el valor 0Fh (15 en base 10) La anterior instrucción extrae el valor que se encuentra almacenado en la dirección extendida 0367h y lo almacena en el registro Acumulador (A).
EXPLICACION: La CPU lee la instrucción que significa cargar el acumulador usando el modo de direccionamiento extendido. La CPU lee el valor $03, el cual es interpretado como el valor correspondiente a los 8 bits de mayor peso de la dirección a leer.  La CPU arma la dirección extendida completa $0367 con los dos valores previamente leídos, esta dirección es colocada en el bus de direcciones y la CPU leerá el valor almacenado en la posición de memoria $0367 almacenándolo en el registro Acumulador (A) En el acumulador quedara almacenado el valor 0Fh para el caso del ejemplo.
A continuación se ilustra la tabla de instrucciones que permiten el uso de direccionamiento extendido.
MODO DE DIRECCIONAMIENTO DIRECTO    Uno de los modos de direccionamiento mas utilizados en la programación de microcontroladores es el modo de direccionamiento directo; este es muy similar al modo de direccionamiento extendido, con la diferencia de que le byte correspondiente a la parte alta de la dirección del operando (los 8 bits de mas peso del valor de la dirección) se asume con el valor $00, de tal forma que solo es necesario incluir el byte de menos peso de la dirección el operando (8 bits de menos peso del valor de la dirección) en la instrucción a ejecutar.
INDEXADO CON DESPLAZAMIENTO  DE 8 BITS
En este podemos encontrar la segunda subclase  de direccionamiento indexado denominada indexado con desplazamiento de 8 bits consiste  : ,[object Object]
Hay que tener  en cuenta  que el byte  de desplazamiento  suministrado en la instrucción  es un numero ENTERO  no signado de 8 bits
 Para tener en cuenta  es que a pesar de contarse con la suma de dos registros de 8 bits  cada uno, la suma de ambas cantidades no  debe superar  256 , lo que quiere decir  que de esta manera el modo de direccionamiento  permita acceder a las primeras 256 posiciones de memoria. ( desde $0000 hasta $00FF),[object Object]
INDEXADO CON DESPLAZAMIENTO DE 16 BITS
Esta es la tercera subclase del modo de direccionamiento indexado es la denominada indexado con desplazamiento de 16 bits. La dirección  efectiva es la suma del contenido del registro índice de 8 bits y los dos bytes desplazamiento a la instrucción a ejecutar El byte de desplazamiento suministrado en la instrucción es un numero de ENTERO sin signo de 16 bits Este modo especial constituye una instrucción de tres bytes, uno para  la instrucción  ejecutar  y los otros  dos bytes son para el desplzamiento.
EJEMPLO: supongamos que la posición de memoria $0315 se encuentra almacenado el valor $0F  y se desea acceder a esta posición utilizado el modo de direccionamiento indexado con desplazamiento de 16 bits; entonces:  solución : LDX#$5    ; X=$5  o (5h) dirección a ser apuntada  por el registro X LDA$0310,X ;  carga el registro A con el valor almacenado en la dirección de memoria  correspondiente  a la suma  del valor registrado índice X ($5) y el valor  constante de 16 bits que acompaña la instrucción ($0310);  $0310+$5=$0315 Lo anterior secuencia de instrucciones ilustra la forma  de  almacenar en le registro Acumulador  (A)  y el valor almacenado en la dirección 0315h, apuntada por el registro índice (X)  y complementada por un valor de corrimiento de 16 bits
   EXPLICACION:  la CPU lee la instrucciones  La CPU construye  la dirección La dirección resultante
MODO DE DIRECCIONAMIENTO RELATIVO
 uno de los modos de direccionamiento especiales y que se considera de gran  ayuda a la hora de programar   microcontroladores es el llamado modo de direccionamiento relativo. El cual es usado solamente por las instrucciones  de  bifurcación ( saltos condicionados ). Se debe tener en cuenta que las instrucciones de bifurcación a excepción   de las bifurcaciones en su versión de manipulación  de bits, generan dos bytes de código de maquina:  el primer byte se utiliza para instrucción   El segundo para el desplazamiento Ejemplo:  LDA   #40T ; A= 40, Acumulador =40 CMP   #30T ; compara A con 30 BNE salto1; Si no son igual a la etiqueta “salto1”, de lo contrario sique en la siguiente línea; como en este caso no son iguales, se produce el salto.
  EXPLICACION : La CPU lee las instrucciones de saltar  La CPU lee la dirección de memoria Si el bit Z=1  La tabla siguiente incluye una lista de todas las instrucciones que se puede usar en el modo de direccionamiento relativa
INTRUCCIONES QUE SE PUEDE USAR EN EL MODO DE DIRECCIONAMIENTO RELATIVO
DIRECCIONAMIENTO DE MEMORIA A MEMORIA
EL MOVER DE inmediato- Directo            Ej: MOV  #$30,$80 EL MOVER DE Directo- Directo            Ej: MOV  $80, $90 3.     EL MOVER DE Directo- Indexado            Ej: MOV  $80, X+ 4.     EL MOVER DE  indexado- directo            Ej: MOV X+, $90
DIRECCIONAMIENTO CON STACK POINTER Ej: LDA $50,SP         ; STACK POINTER A 8 BITS LDA  $ 0150,SP     ;   STACK POINTER A 16 BITS
MEMORIA RAM
Los microcontroladores posee 128 registros de propósito general en la memoria RAM, estos registros se utilizan para la adjudicación de variables necesarias dentro de un programa especifico Este espacio esta definido desde la dirección $0080 hasta $00FF
SET DE INSTRUCCIONES
Las instrucciones son aquellas ordenes que se dan al microcontrolador para que realice una tarea especifica. Como se puede observar, la programación de estos dispositivos se realiza en lenguaje Assember, el cual tiene la ventaja de efectúa tareas en forma muy rápida y el paso es casi directo al lenguaje comprendido por cualquier dispositivo electrónico; se trata  del lenguaje binario, el cual esta conformado por dos dígitos ( 1 y 0) Permite tambien su programación mediante compiladores en lenguaje de alto nivel como C.
c B 7 B  0 B7 B0 C
C B0 B7 B7 C B0
INTRODUCCION A LA PROGRAMACION DE MICROCONTROLADORES
INTRODUCCION A LA PROGRAMACION DE MICROCONTROLADORES

Más contenido relacionado

Destacado

Sensores para el sistema de control de Movimiento
Sensores para el sistema de control de MovimientoSensores para el sistema de control de Movimiento
Sensores para el sistema de control de Movimientotecautind
 
Conceptos básicos de electricidad y electromagnetismo
Conceptos básicos de electricidad y electromagnetismoConceptos básicos de electricidad y electromagnetismo
Conceptos básicos de electricidad y electromagnetismotecautind
 
Ajuste De Servos Y Transmisiones
Ajuste De Servos Y TransmisionesAjuste De Servos Y Transmisiones
Ajuste De Servos Y TransmisionesRomeodj1
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorCloud Rodriguez
 
EEP301: AC and DC servo motor study
EEP301: AC and DC servo motor studyEEP301: AC and DC servo motor study
EEP301: AC and DC servo motor studyUmang Gupta
 
Sensores para el control de movimiento
Sensores para el control de movimientoSensores para el control de movimiento
Sensores para el control de movimientoalexis caro
 
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...Jorge Alarcon
 
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro Moncada
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro  MoncadaTesis de Maestria Mg. Milagros Martinez y Mg. Pedro  Moncada
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro MoncadaSegundo Moncada Ortega
 
15 março - Consumidor
15 março - Consumidor15 março - Consumidor
15 março - ConsumidorSusanaCruz
 
Caperucita Roja
Caperucita RojaCaperucita Roja
Caperucita Rojaelefv
 
Capacitació Mandos Intermedios
Capacitació Mandos IntermediosCapacitació Mandos Intermedios
Capacitació Mandos IntermediosCarlesImprova
 
Dia mundial da água
Dia mundial da águaDia mundial da água
Dia mundial da águaSueli2012
 
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)organizacionescolar
 

Destacado (20)

Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Sensores para el sistema de control de Movimiento
Sensores para el sistema de control de MovimientoSensores para el sistema de control de Movimiento
Sensores para el sistema de control de Movimiento
 
Conceptos básicos de electricidad y electromagnetismo
Conceptos básicos de electricidad y electromagnetismoConceptos básicos de electricidad y electromagnetismo
Conceptos básicos de electricidad y electromagnetismo
 
Ajuste De Servos Y Transmisiones
Ajuste De Servos Y TransmisionesAjuste De Servos Y Transmisiones
Ajuste De Servos Y Transmisiones
 
Manejode actuadores
Manejode actuadoresManejode actuadores
Manejode actuadores
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
servomotorlobo
servomotorloboservomotorlobo
servomotorlobo
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del Procesador
 
Accionamientos[1]
Accionamientos[1]Accionamientos[1]
Accionamientos[1]
 
EEP301: AC and DC servo motor study
EEP301: AC and DC servo motor studyEEP301: AC and DC servo motor study
EEP301: AC and DC servo motor study
 
Servo
ServoServo
Servo
 
Sensores para el control de movimiento
Sensores para el control de movimientoSensores para el control de movimiento
Sensores para el control de movimiento
 
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...
Rediseño E Implementacion De Un Proceso Electro Hidraulico Usado En El Labora...
 
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro Moncada
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro  MoncadaTesis de Maestria Mg. Milagros Martinez y Mg. Pedro  Moncada
Tesis de Maestria Mg. Milagros Martinez y Mg. Pedro Moncada
 
15 março - Consumidor
15 março - Consumidor15 março - Consumidor
15 março - Consumidor
 
Caperucita Roja
Caperucita RojaCaperucita Roja
Caperucita Roja
 
Capacitació Mandos Intermedios
Capacitació Mandos IntermediosCapacitació Mandos Intermedios
Capacitació Mandos Intermedios
 
COMEV
COMEVCOMEV
COMEV
 
Dia mundial da água
Dia mundial da águaDia mundial da água
Dia mundial da água
 
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)
Exposicion 4.6 (Sandra Estébanez, Gema Calderón y Virginia Gutiérrez)
 

Similar a INTRODUCCION A LA PROGRAMACION DE MICROCONTROLADORES

3 programacion
3 programacion3 programacion
3 programacionsimon28c
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamientoEduardo Abalo
 
PLC y Electroneumática: automatización industrial: control Electromecánico y ...
PLC y Electroneumática: automatización industrial: control Electromecánico y ...PLC y Electroneumática: automatización industrial: control Electromecánico y ...
PLC y Electroneumática: automatización industrial: control Electromecánico y ...SANTIAGO PABLO ALBERTO
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTORafael Espina
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
7842803 capitulo2-arquitectura-del-a tmega32-espanol
7842803 capitulo2-arquitectura-del-a tmega32-espanol7842803 capitulo2-arquitectura-del-a tmega32-espanol
7842803 capitulo2-arquitectura-del-a tmega32-espanolDanny Sanchez
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosjbersosa
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCarlosenriqueVelasqu4
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del bancoAnibal Ulibarri
 
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)GreciaGonzlez9
 
4.1 programación del autómata programable
4.1 programación del autómata programable4.1 programación del autómata programable
4.1 programación del autómata programableRaul Condori Yucra
 

Similar a INTRODUCCION A LA PROGRAMACION DE MICROCONTROLADORES (20)

3 programacion
3 programacion3 programacion
3 programacion
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
Yeimir rincon 20%
Yeimir rincon 20%Yeimir rincon 20%
Yeimir rincon 20%
 
Atmel
AtmelAtmel
Atmel
 
PLC y Electroneumática: automatización industrial: control Electromecánico y ...
PLC y Electroneumática: automatización industrial: control Electromecánico y ...PLC y Electroneumática: automatización industrial: control Electromecánico y ...
PLC y Electroneumática: automatización industrial: control Electromecánico y ...
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
7842803 capitulo2-arquitectura-del-a tmega32-espanol
7842803 capitulo2-arquitectura-del-a tmega32-espanol7842803 capitulo2-arquitectura-del-a tmega32-espanol
7842803 capitulo2-arquitectura-del-a tmega32-espanol
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamiento
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
 
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
 
Taxímetro con Pic16F887
Taxímetro con Pic16F887Taxímetro con Pic16F887
Taxímetro con Pic16F887
 
4.1 programación del autómata programable
4.1 programación del autómata programable4.1 programación del autómata programable
4.1 programación del autómata programable
 
Multiciclo
MulticicloMulticiclo
Multiciclo
 

Más de tecautind

Conversor análogo
Conversor análogoConversor análogo
Conversor análogotecautind
 
Manejo de los timers con el microcontrolador motorola
Manejo de los timers con el microcontrolador motorolaManejo de los timers con el microcontrolador motorola
Manejo de los timers con el microcontrolador motorolatecautind
 
Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)tecautind
 
Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)tecautind
 
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALE
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALEINTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALE
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALEtecautind
 
introduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaleintroduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaletecautind
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salidatecautind
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivastecautind
 
Introduccion a microcontroladores
Introduccion a microcontroladoresIntroduccion a microcontroladores
Introduccion a microcontroladorestecautind
 
Control automatico de bandas transportadoras
Control automatico de bandas transportadorasControl automatico de bandas transportadoras
Control automatico de bandas transportadorastecautind
 
Contactores 1.pptx
Contactores 1.pptxContactores 1.pptx
Contactores 1.pptxtecautind
 
Presentacin1 110317070816-phpapp01
Presentacin1 110317070816-phpapp01Presentacin1 110317070816-phpapp01
Presentacin1 110317070816-phpapp01tecautind
 
Proceso automatico de estibado
Proceso automatico de estibadoProceso automatico de estibado
Proceso automatico de estibadotecautind
 
Galga extensiométrica
Galga extensiométricaGalga extensiométrica
Galga extensiométricatecautind
 
Lore automatismos 2
Lore automatismos 2Lore automatismos 2
Lore automatismos 2tecautind
 
Dispositivos de proteccion
Dispositivos de proteccionDispositivos de proteccion
Dispositivos de protecciontecautind
 
Exposicion yeison
Exposicion yeisonExposicion yeison
Exposicion yeisontecautind
 
Exposicion yeison
Exposicion yeisonExposicion yeison
Exposicion yeisontecautind
 
Primeras practicas con Labview
Primeras practicas con LabviewPrimeras practicas con Labview
Primeras practicas con Labviewtecautind
 

Más de tecautind (20)

Conversor análogo
Conversor análogoConversor análogo
Conversor análogo
 
Manejo de los timers con el microcontrolador motorola
Manejo de los timers con el microcontrolador motorolaManejo de los timers con el microcontrolador motorola
Manejo de los timers con el microcontrolador motorola
 
Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)Modulo de interrupcion por teclado (kbi)
Modulo de interrupcion por teclado (kbi)
 
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALE
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALEINTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALE
INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES MOTOROLA-FREESCALE
 
introduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaleintroduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescale
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
 
Puertos de entrada diapositivas
Puertos de entrada diapositivasPuertos de entrada diapositivas
Puertos de entrada diapositivas
 
Introduccion a microcontroladores
Introduccion a microcontroladoresIntroduccion a microcontroladores
Introduccion a microcontroladores
 
Control automatico de bandas transportadoras
Control automatico de bandas transportadorasControl automatico de bandas transportadoras
Control automatico de bandas transportadoras
 
Contactores 1.pptx
Contactores 1.pptxContactores 1.pptx
Contactores 1.pptx
 
Presentacin1 110317070816-phpapp01
Presentacin1 110317070816-phpapp01Presentacin1 110317070816-phpapp01
Presentacin1 110317070816-phpapp01
 
Proceso automatico de estibado
Proceso automatico de estibadoProceso automatico de estibado
Proceso automatico de estibado
 
Galga extensiométrica
Galga extensiométricaGalga extensiométrica
Galga extensiométrica
 
Lore automatismos 2
Lore automatismos 2Lore automatismos 2
Lore automatismos 2
 
Dispositivos de proteccion
Dispositivos de proteccionDispositivos de proteccion
Dispositivos de proteccion
 
Exposicion yeison
Exposicion yeisonExposicion yeison
Exposicion yeison
 
Exposicion yeison
Exposicion yeisonExposicion yeison
Exposicion yeison
 
Primeras practicas con Labview
Primeras practicas con LabviewPrimeras practicas con Labview
Primeras practicas con Labview
 

Último

Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..JoseRamirez247144
 
exportacion y comercializacion de palta hass
exportacion y comercializacion de palta hassexportacion y comercializacion de palta hass
exportacion y comercializacion de palta hassJhonnyvalenssYupanqu
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdfDIEGOSEBASTIANCAHUAN
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxKevinHeredia14
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxCONSTRUCTORAEINVERSI3
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosk7v476sp7t
 
Presentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosPresentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosmadaloga01
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODACarmeloPrez1
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfjesuseleazarcenuh
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzassuperamigo2014
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHkarlinda198328
 

Último (20)

Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..
 
exportacion y comercializacion de palta hass
exportacion y comercializacion de palta hassexportacion y comercializacion de palta hass
exportacion y comercializacion de palta hass
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdf
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptx
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
 
Presentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosPresentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financieros
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdf
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzas
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
 

INTRODUCCION A LA PROGRAMACION DE MICROCONTROLADORES

  • 1. INTRODUCCION A LA PROGRAMACION DE LOS MICROCONTROLADORES Presentado por: Gonzalo Castillo. Magda Alejandra Socha.
  • 2. Introducción Para iniciar la travesía en el campó de la programación de microcontroladores necesario comprender su filosofía de trabajo, así como su vocabulario que para nuestro caso se trata del set de instrucciones, las cuales en el presente capitulo se visualizaran en un cuadro resumen
  • 3. REGISTROS DE USO GENERAL Existen unos registros que se encuentran constantemente interactuando con el micro controlador, efectuando tareas de acuerdo con las instrucciones que se vallan realizando. Estos registros son:
  • 4. ACUMULADOR:Comúnmente se utiliza para almacenar operandos, resultados de cálculos aritméticos y de manipulación de datos. Cuando se almacenan datos numéricos se debe tener en cuenta la notación de la base a utilizar para introducir las cantidades, S: cantidad hexadecimal %: cantidad binaria t: cantidad decimal
  • 5. REGISTRO INDICE (x):Se emplea para los modos de direccionamiento indexados o bien puede usarse como acumulador auxiliar, esta constituido por 8 bits, valor que puede ser cargado directamente o desde una posición de memoria. El valor provisto por la instrucción puede puede ser de 0, 1 o 2 bytes de largo.
  • 6. REGISTRO INDICE (H:X) Este registro puede ser visto como un solo formado por 16 bits o como dos registros de 8 bits independientes, H y X. Este registro se utiliza en los modos de direccionamiento indexados y sirve como un apuntador, siendo capaz de cubrir todo el mapa de memoria con 16 bits.
  • 7. PUNTERO DE PILA (SP) (stack pointer): Es un registro de 16 bits que contiene la dirección de la posición disponible en el stack. El stack pointer puede funcionar como un registro de indexado para acceder a datos en el stack. una pila stack es una estructura de datos de tipo LIFO que permite almacenar y recuperar datos mediante operaciones push (apilar) y por (desapilar) estas operaciones se realizan sobre un único extremo de la pila llamado cima.
  • 8. CONTADOR DE PROGRAMA (PC): Es un registro de 16 bits que contiene la dirección de la siguiente instrucción u operación a procesar. En otras palabras se podría decir que el registro contador de programa (PC) es usado por la CPU para no perder de vista la dirección de la próxima instrucción a ejecutar. En muchas de las variantes de la familia HC08, algunos de los bits superiores del contador de programa no son usados y están siempre en cero.
  • 9. REGISTRO DE BANDERAS (CCR): Es un registro de 8 bits que contiene el bit de enmascarado general de interrupciones y 5 banderas de estado, las cuales indican ciertas condiciones originadas por la instrucción previamente ejecutada. El registro de código de condición(o registro de banderas)contienen una mascara de interrupción y cuatro indicadores de estado que reflejan el resultado de operaciones aritméticas y de otro tipo de la CPU. Las cinco banderas son semi-acarreo (H), mascara de interrupción (I), negativo (N), cero (Z) y acarreo/prestamo(C).
  • 10.
  • 11. Este registro contiene in conjunto de banderas que dan información sobre el resultado de la ultima operación ejecutada. La mayoría de las instrucciones de salto utilizan estas banderas como condición. Aquí se encuentra también el habilitador global de interrupciones. Los bits que componen este registro son:
  • 12. V: BANDERA DE REBOSAMIENTO: Esta bandera es el equivalente de C para operaciones con signo. Se activa si el resultado sale del rango de -128 a 127. Este bit puede ser modificado también por instrucciones no aritméticas. La CPU coloca esta bandera en 1 cuando al efectuar el complemento a dos ocurre rebosamiento. 1: Rebosamiento 0: No rebosamiento
  • 13. H: BANDERA DE MEDIO CARRY: Indica si existió un desbordamiento en los primeros 4 bits del resultado. Funciona de la misma manera que C para instrucciones aritméticas, pero considerando solo los primeros 4 bits del resultado. La CPU coloca este bit en 1 cuando ocurre un carry entre los bits 3 y 4 durante una suma con o sin carry; el medio carry es requerido cuando se utiliza codificación en BCD. 1: Carry entre los bits 3 y 4 2: No carry entre los bits 3 y 4
  • 14. I: MASCARA DE INTERRUPCION: Este bit es el habilitador global de interrupciones. Si se encuentra en 1, todas las interrupciones (exceptuando las no enmascarables) serán inhibidas y permanecerán pendientes hasta que este bit sea colocado en 0. Este habilitador se modifica en lenguaje C con las instrucciones (EnableInterrupts) (DisableInterrupts)
  • 15. N: BANDERA DE VALOR NEGATIVO: Esta bandera refleja el estado del bit de signo (bit 7) del resultado anterior. Al igual que la bandera de cero, esto se extiende a otro tipo de instrucciones. Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética es negativa. 1: Resultado negativa 0: Resultado positivo
  • 16. Z: BANDERA DE CERO: Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética o lógica de cómo resultado CERO. Esta bandera no solo es modificada por instrucciones aritméticas, por lo que se activara siempre que el valor del registro de destino de la instrucción sea igual a 0. 1: Resultado cero 2: Resultado no cero
  • 17. C: BANDERA DE CARRY: En instrucciones aritméticas sin signo, esta bandera indica si ocurrió un desbordamiento en el resultad, es decir, si salió del rango de 0 a 255. Las instrucciones de corrimiento y rotación pueden también hacer uso de bit. Este bit se coloca en 1 lógico cuando el resultado de una operación aritmética produce carry después del bit 7. El bit C se usa para indicar si ha habido o no acarreo de una suma o pedido de préstamo como resultado de una resta.
  • 18. Las instrucciones de desplazamiento y rotación operan sobre y a través del bit C para facilitar operaciones de desplazamiento de múltiples bytes. El bit C es afectado además durante las instrucciones de evaluación de bit y de bifurcación. 1: carry 2: No carry
  • 19. MODOS DE DIRECCIONAMIENTO En todo proceso de programación se requiere realizar constantemente operaciones asignación de valores a registros y extraer valores existentes en otros registros para transferirlos y/o procesarlos con otros datos; este proceso de extracción y adjudicación se conoce como DIRECCIONAMIENTO.
  • 20. Una de las operaciones que brindan actualmente los microcontroladores consiste en la habilidad para acceder a la memoria; aprovechando tal cualidad, los modos de direccionamiento existentes en la CPU proveen esta capacidad. Existe una gran variedad de formas de direccionar los datos, las cuales se clasifican según la forma en que una instrucción obtendrá el valor requerido para su ejecución. Debido a los diferentes modos de direccionamiento, una instrucción puede acceder al operando en una de las diversas maneras.
  • 21. Cada variante del modo de direccionamiento de una instrucción debe tener un único código de operación de instrucción. Los microcontroladores Freescale usan seis modos de direccionamiento, que son: Inherente Inmediato Extendido Directo Indexado sin desplazamiento con desplazamiento de 8 bits con desplazamiento de 16 bits Relativo
  • 22. MODO DE DIRECCIONAMIENTO INMEDIATO En el modo de direccionamiento inmediato, el operando esta contenido en el byte inmediatos siguiendo al código de operación. Este modo se usa cuando se requiere un valor o constante conocido en el momento de escribir el programa y que cumple con el hecho de que no cambiara durante la ejecución del programa.
  • 23. EJEMPLOS: LDA #$0f ;A=$0F EXPLICACION: Los pasos que se ejecutan en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el nuevo valor en el registro acumulador (A); en este caso, se almacena el valor de 0F en hexadecimal o 15 en decimal y se ajusta las banderas requeridas según la operación. LDX #10T ;X=10
  • 24. EXPLICACION Los pasos que se ejecuten en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el nuevo valor en el registro índice (x); en este caso se almacena el valor 10 y se ajusta las banderas requeridas según la operación. A continuación se muestra el listado de instrucciones que permiten la ejecución del direccionamiento inmediato.
  • 25.
  • 26. MODO DE DIRECCIONAMIENTO INHERENTE Este modo de direccionamiento se caracteriza por que toda la información requerida para la operación ya es implícitamente conocida por la CPU y no es necesario utilizar valores adicionales para su ejecución. En caso de requerirse algún operando en particular, son solo los registros de la CPU o bien valores de datos almacenados en la pila.
  • 27. EJEMPLOS: INCA ;Incrementar el acumulador EXPLICACION: Los pasos que se ejecutan en el momento de evaluar la anterior instrucción son los siguientes: La CPU lee el valor que se encuentra almacenado en el registro acumulador. La CPU le suma uno al valor actual del acumulador. La CPU almacena el nuevo valor en el acumulador y ajusta las banderas requeridas según la operación. CLRA ;borrar el Acumulador
  • 28. EXPLICACION: Los pasos que se ejecuten en el momento de evaluar la anterior instrucción son los siguientes: La CPU almacena el valor (00h) en el registro acumulador (A), borrando toda informacion que se encontrara almacenada previamente en este registro y ajusta las banderas requeridas según la operación.
  • 29. A continuación se listan las instrucciones que pueden usar el modo de direccionamiento inherente.
  • 30. MODO DE DIRECCIONAMIENTO EXTENDIDO: Uno de los métodos de direccionamiento mas importantes dentro de la programación de los microcontroladores es el modo de direccionamiento extendido, que consiste en extraer la información almacenada en una dirección de memoria que para representarla requiere 2 bytes (16 bits), y se escribe su valor seguido de la instrucción. Este modo se emplea para hacer referencia a cualquier posición de memoria dentro del espacio de memoria del MCU, incluyendo direcciones de puertos de entrada/salida, direcciones de la memoria RAM, ROM, EPROM, flash.
  • 31. EJEMPLO: Supongamos que en la posición de memoria $0367 se encuentra almacenado el valor $0f, entonces: LDA $0367 ;A=$0F, es decir el valor 0Fh (15 en base 10) La anterior instrucción extrae el valor que se encuentra almacenado en la dirección extendida 0367h y lo almacena en el registro Acumulador (A).
  • 32. EXPLICACION: La CPU lee la instrucción que significa cargar el acumulador usando el modo de direccionamiento extendido. La CPU lee el valor $03, el cual es interpretado como el valor correspondiente a los 8 bits de mayor peso de la dirección a leer. La CPU arma la dirección extendida completa $0367 con los dos valores previamente leídos, esta dirección es colocada en el bus de direcciones y la CPU leerá el valor almacenado en la posición de memoria $0367 almacenándolo en el registro Acumulador (A) En el acumulador quedara almacenado el valor 0Fh para el caso del ejemplo.
  • 33. A continuación se ilustra la tabla de instrucciones que permiten el uso de direccionamiento extendido.
  • 34. MODO DE DIRECCIONAMIENTO DIRECTO Uno de los modos de direccionamiento mas utilizados en la programación de microcontroladores es el modo de direccionamiento directo; este es muy similar al modo de direccionamiento extendido, con la diferencia de que le byte correspondiente a la parte alta de la dirección del operando (los 8 bits de mas peso del valor de la dirección) se asume con el valor $00, de tal forma que solo es necesario incluir el byte de menos peso de la dirección el operando (8 bits de menos peso del valor de la dirección) en la instrucción a ejecutar.
  • 36.
  • 37. Hay que tener en cuenta que el byte de desplazamiento suministrado en la instrucción es un numero ENTERO no signado de 8 bits
  • 38.
  • 40. Esta es la tercera subclase del modo de direccionamiento indexado es la denominada indexado con desplazamiento de 16 bits. La dirección efectiva es la suma del contenido del registro índice de 8 bits y los dos bytes desplazamiento a la instrucción a ejecutar El byte de desplazamiento suministrado en la instrucción es un numero de ENTERO sin signo de 16 bits Este modo especial constituye una instrucción de tres bytes, uno para la instrucción ejecutar y los otros dos bytes son para el desplzamiento.
  • 41. EJEMPLO: supongamos que la posición de memoria $0315 se encuentra almacenado el valor $0F y se desea acceder a esta posición utilizado el modo de direccionamiento indexado con desplazamiento de 16 bits; entonces: solución : LDX#$5 ; X=$5 o (5h) dirección a ser apuntada por el registro X LDA$0310,X ; carga el registro A con el valor almacenado en la dirección de memoria correspondiente a la suma del valor registrado índice X ($5) y el valor constante de 16 bits que acompaña la instrucción ($0310); $0310+$5=$0315 Lo anterior secuencia de instrucciones ilustra la forma de almacenar en le registro Acumulador (A) y el valor almacenado en la dirección 0315h, apuntada por el registro índice (X) y complementada por un valor de corrimiento de 16 bits
  • 42. EXPLICACION: la CPU lee la instrucciones La CPU construye la dirección La dirección resultante
  • 43.
  • 45. uno de los modos de direccionamiento especiales y que se considera de gran ayuda a la hora de programar microcontroladores es el llamado modo de direccionamiento relativo. El cual es usado solamente por las instrucciones de bifurcación ( saltos condicionados ). Se debe tener en cuenta que las instrucciones de bifurcación a excepción de las bifurcaciones en su versión de manipulación de bits, generan dos bytes de código de maquina: el primer byte se utiliza para instrucción El segundo para el desplazamiento Ejemplo: LDA #40T ; A= 40, Acumulador =40 CMP #30T ; compara A con 30 BNE salto1; Si no son igual a la etiqueta “salto1”, de lo contrario sique en la siguiente línea; como en este caso no son iguales, se produce el salto.
  • 46. EXPLICACION : La CPU lee las instrucciones de saltar La CPU lee la dirección de memoria Si el bit Z=1 La tabla siguiente incluye una lista de todas las instrucciones que se puede usar en el modo de direccionamiento relativa
  • 47. INTRUCCIONES QUE SE PUEDE USAR EN EL MODO DE DIRECCIONAMIENTO RELATIVO
  • 49. EL MOVER DE inmediato- Directo Ej: MOV #$30,$80 EL MOVER DE Directo- Directo Ej: MOV $80, $90 3. EL MOVER DE Directo- Indexado Ej: MOV $80, X+ 4. EL MOVER DE indexado- directo Ej: MOV X+, $90
  • 50. DIRECCIONAMIENTO CON STACK POINTER Ej: LDA $50,SP ; STACK POINTER A 8 BITS LDA $ 0150,SP ; STACK POINTER A 16 BITS
  • 52. Los microcontroladores posee 128 registros de propósito general en la memoria RAM, estos registros se utilizan para la adjudicación de variables necesarias dentro de un programa especifico Este espacio esta definido desde la dirección $0080 hasta $00FF
  • 54. Las instrucciones son aquellas ordenes que se dan al microcontrolador para que realice una tarea especifica. Como se puede observar, la programación de estos dispositivos se realiza en lenguaje Assember, el cual tiene la ventaja de efectúa tareas en forma muy rápida y el paso es casi directo al lenguaje comprendido por cualquier dispositivo electrónico; se trata del lenguaje binario, el cual esta conformado por dos dígitos ( 1 y 0) Permite tambien su programación mediante compiladores en lenguaje de alto nivel como C.
  • 55.
  • 56. c B 7 B 0 B7 B0 C
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. C B0 B7 B7 C B0