SlideShare una empresa de Scribd logo
UNIVERSIDAD “FERMIN TORO”
VICERRECTORADO ACADEMICO
FACULTAD DE INGENIERIA
CABUDARE EDO. LARA
MICROCONTROLADOR
ATMEL
Alumna:
María Daniela Álvarez
Cedula:
17784337
Materia:
Fundamento de Microprocesadores
Profesor:
Elvis Madrid
Cabudare, Junio 2015
EL microcontrolador Atmel de la serie AT89C51/AT89C52 contiene un
conjunto de instrucciones que están separadas por tipos, estos son:
TRANSFERENCIA DE DATOS
MOV A, <fuente> ; A = <fuente>
MOV <destino>,A ; <destino> = A
MOV <destino>,<fuente> ; <destino> = <fuente>
MOV DPTR,#dato 16 bits ; DPTR = constante de 16 bits inmediata.
PUSH <fuente> ; INC SP → <@SP> ← (fuente)
POP <destino> ; (destino) ← <@SP> ; DEC SP
XCH A, <byte> ; ACC y <byte> intercambia sus datos.
XCHD A, @Ri ; ACC y @Ri intercambian nibble bajo.
La instrucción MOV <dest>,<fuente> ; permite transferir datos de la memoria
interna RAM y del SFR sin pasar a través del Acumulador, mientras que las
instrucciones MOV A,<fuente> y MOV <dest>,A utilizan al Acumulador para el
movimiento de datos dentro de la memoria interna RAM.
La instrucción PUSH, primeramente incrementa el Stack Pointer (SP), y
después guarda el dato dentro de la localidad de memoria apuntada por el Stack.
La instrucción POP, primero toma el dato de la memoria y después
decrementa el SP.
La instrucción XCH A, <dirección> permite al Acumulador y al dato apuntado
por la dirección de intercambiarse entre sí. La instrucción XCHD A,@R0
intercambia los 4 bits menos significativos (low nibbble), de Acumulador con los 4
bits menos significativos del dato apuntado por el registro R0.
INSTRUCCIONES BOOLEANAS
El AT89C51/AT89C52 contiene un completo procesador Booleano (por bits), el
cual permite ejecutar instrucciones de movimiento, limpieza, establecimiento,
complementación de un solo bit, y operaciones de AND y OR entre bits. Las
instrucciones son las siguientes:
ANL C,bit ; C ← C AND bit
ANL C,/bit ; C ← C AND NOT bit
ORL C,bit ; C ← C OR bit
ORL C,/bit ; C ← C OR NOT bit
MOV C,bit ; C ← bit
MOV bit,C ; bit ← C
CLR C ; C ← 0
CLR bit ; bit ← 0
SETB C ; C ← 1
SETB bit ; bit ← 1
CPL C ; C ← NOT C
CPL bit ; bit ← NOT bit
JC rel ; salto a etiqueta si C = 1
JNC rel ; salto a etiqueta si C = 0
Ejemplo para su uso:
CONTROL ORG 20H
BANDERA BIT CONTROL,7
ORG 00H
MOV C,BANDERA
MOV P1.0,C
La etiqueta BANDERA representa, un bit direccionable de los 128 bits que se
encuentran en la memoria baja RAM interna (desde la dirección 20H a la 2FH), o
de los 128 bits de algunos registros del espacio SFR. En este caso particular,
pertenece al bit 7 de la palabra CONTROL que se encuentra en la dirección 20H
de la RAM interna, la línea 0 del Puerto 1 es establecida o limpiada dependiendo
del valor de BANDERA.
INSTRUCCIONES ARITMETICAS
El juego de instrucciones para resolver operaciones aritméticas son las
siguientes:
ADD A,<byte> ; A ← Suma A con <byte>
ADDCA,<byte> ; A ← Suma A con <byte> en conjunto con la bandera
de acarreo
SUBB A,<byte> ; A ← Suma A con <byte>
MUL AB ; A ← Multiplica A con B
DIV AB ; Divide A con B. Guarda el resultado en A y el residuo
en B
Ejemplo:
El acumulador contiene 251 (0FBH o 11111011B) y B contiene 18 (12H o
00010010B). La instrucción,
DIV AB
Dejará 13 en el acumulador (0DH o 00001101B) y el valor 17 (11h o
00010001B) en B, puesto que 251 = (13 x 18) + 17. Carry y OV serán limpiados.
INSTRUCCIONES DE SALTO
SALTOS CONDICIONADOS
El juego de instrucciones con saltos que están condicionados a la activación o
desactivación de algunas de las banderas del PSW son las siguientes:
JZ rel ; Salta si A = 0
JNZ rel
DJNZ <byte>, rel ; Decrementa y salta si no es igual a 0
CJNE A,<byte>,rel
CJNE <byte>,#dato,rel ; Sal
Ejemplo para su uso:
MOV CONTADOR,#10 ; N = 10
LAZO:(comienzo del conjunto de instrucciones)
DJNZ CONTADOR,LAZO
(Continúa)
En el PSW no se tiene la bandera Z, que prueba el CERO, más sin
embargo, aquí se muestran las instrucciones JZ y JNZ, las cuales prueban todo el
dato del Acumulador para esta condición. La instrucción DJNZ (decrementa y salta
sino es igual a cero), ejecuta un lazo N veces, hasta que un "contador" es igual a
cero.
SALTOS INCONDICIONADOS
Las instrucciones que permiten hacer los saltos incondicionados son las
siguientes:
JMP dirección ; Salta a la dirección.
JMP @A + DPTR ; Salta a la dirección A + DPTR
CALL dirección ; Llama a la subrutina "dirección".
RET ; Regreso a la subrutina.
RETI ; Regreso de la interrupción.
En las instrucciones anteriores se muestra una sola instrucción de Salto JMP
dirección pero en realidad existen 3 tipos de saltos; SJMP, LJMP y AJMP los
cuales difieren en el formato de la dirección de destino.
JMP es un Mnemónico genérico el cual puede ser usado (en algunos
compiladores) durante la programación sin tener en cuenta de que forma el salto
será codificado.
La instrucción SJMP, codifica la dirección como un desplazamiento relativo. La
instrucción es de 2 bytes, es decir el PCODE y el salto relativo. Su límite es de -
128 a +127 bytes a partir de instrucción siguiente al SJMP.
La instrucción LJMP, codifica la dirección como una constante de 16 bits. La
instrucción es de 3 bytes de largo, el OPCODE y la dirección en 2 bytes. Este salto
puede desplazarse en todos los 64K de memoria.
La instrucción AJMP codifica la dirección como una constante de 11 bits. La
instrucción es de 2 bytes de largo, el OPCODE el cual contiene3 bits de los 11 bits
de direcciones y el otro byte de 8 bits de direcciones. Cuando la instrucción es
ejecutada esos 11 bits son simplemente sustituidos por los 11 bits más bajos en el
PC. Los 5 bits más altos permanecen sin alterarse. Estos saltos pueden ser hasta
de 2K. En cualquiera de los casos el programador especifica la dirección al
ensamblador de la misma manera; como una etiqueta o constante de 16 bits. El
ensamblador deberá poner la dirección dentro del formato correcto de forma
automática.
La instrucción RETI es usada para el regreso de una rutina de servicio de
interrupción. la diferencia con la instrucción RET es que RETI llama al sistema de
control de interrupción mientras que la interrupción está en proceso. Si no existe
ninguna interrupción en proceso, entonces la instrucción RETI es igual a RET.
LAS HERRAMIENTAS DE SIMULACIÓN
Para trabajar esta familia de microcontroladores se recomienda el uso del
simulador PROTEUS, ya que este permite realizar el diseño del circuito,
simulación y compilación del código a programarse en el microcontrolador. Esta
herramienta es muy versátil y es muy amigable para su uso y posibilita la revisión
del código programado.
COMPILACIÓN Y PROGRAMACIÓN DEL MICROCONTROLADOR
Para poder compilar esta familia de microcontroladores se debe utilizar el
compilador A51 que está desarrollado MS-DOS, que traduce las instrucciones
listadas en un bloc de notas con terminación .ASM, si no existe errores en la
compilación, dicho programa crea un archivo .HEX el cual nos sirve para poder
programar el microcontrolador.
Para poder programar el microcontrolador se debe cargar el .HEX mediante el
uso de un programador atmel (ya que es el microcontrolador usado) y cargar a la
memoria ROM del microcontrolador a programar.

Más contenido relacionado

DOCX
Taller de microcontroladores i
PDF
Clase 2
DOCX
Tutorial ii proyectos en basic proton
PDF
Picprimerospasos
PDF
Practica 5 SAIA UFT VJSS
PDF
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
PDF
Laboratorio de Microcomputadoras - Práctica 03
DOC
Proyecto no7
Taller de microcontroladores i
Clase 2
Tutorial ii proyectos en basic proton
Picprimerospasos
Practica 5 SAIA UFT VJSS
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Laboratorio de Microcomputadoras - Práctica 03
Proyecto no7

La actualidad más candente (20)

DOC
Micc final feb14_2009
DOC
Micc final sept05_2009
DOCX
practica digitales victor navea
DOCX
Proyecto 7 - Claurimar Medina Quintero
PDF
Informe Practico (proyecto)
PPTX
Circuitos Digitales Secuenciales
PDF
Proyectos con el pic16 f84 cekit
PDF
PROYECTOS CON PIC 16F84
DOCX
PPT
Curso Micro Tema 3 2
DOCX
PDF
Practica 7 irc
DOCX
Manejo de Puertos PIC
PDF
Autómata de Pila
PPTX
circuitos digitales secuenciales
PDF
Laboratorio de Microcomputadoras - Práctica 06
PPTX
Clase 2 cdii
PPTX
Chipkit comunicacion puerto serie
PDF
Curso de microcontroladores capitulo 10
DOCX
Taller cruce por cero
Micc final feb14_2009
Micc final sept05_2009
practica digitales victor navea
Proyecto 7 - Claurimar Medina Quintero
Informe Practico (proyecto)
Circuitos Digitales Secuenciales
Proyectos con el pic16 f84 cekit
PROYECTOS CON PIC 16F84
Curso Micro Tema 3 2
Practica 7 irc
Manejo de Puertos PIC
Autómata de Pila
circuitos digitales secuenciales
Laboratorio de Microcomputadoras - Práctica 06
Clase 2 cdii
Chipkit comunicacion puerto serie
Curso de microcontroladores capitulo 10
Taller cruce por cero
Publicidad

Destacado (20)

PDF
Conference Call Presentation - November 10, 2014
PDF
Adicciones y hiv_modo_de_compatibilidad_......................
PDF
Img 0001
PDF
Dossier Software Gestión Médica Doctorgest
PPT
Sports MGT, Atlanta Falcons - Deliverables
PDF
METODOLOGIA PARA AFERIÇÃO DA EFETIVIDADE DE PROGRAMAS DE EFICIÊNCIA ENERGÉTIC...
DOCX
Teorema bayes
PPTX
Secco @ Next bank Barcelona 2015 - designing a bank with a blank sheet of paper
PPTX
Measurement validation peak load reduction
PDF
Javier Diez: La tecnología detrás de un Club de Benefits y los descuentos a e...
DOCX
Cierre y reflexion de la bitacora tic I
PPT
Natura epa4 2010 03 la causa del calentamiento global carlos bastiand
PDF
Charles Cunniffe Architects Brochure
PPTX
So Beautiful
PDF
Pág.crianças 5 novembro2011
PPT
Ppt consulting
PDF
Cuneo - Baby Boomer Article New
PPTX
Catalgo electronico tecno pack
PPTX
Estrella Damm
PPT
Mujeres Matematicas; Trabajo Para Entregar A Julio
Conference Call Presentation - November 10, 2014
Adicciones y hiv_modo_de_compatibilidad_......................
Img 0001
Dossier Software Gestión Médica Doctorgest
Sports MGT, Atlanta Falcons - Deliverables
METODOLOGIA PARA AFERIÇÃO DA EFETIVIDADE DE PROGRAMAS DE EFICIÊNCIA ENERGÉTIC...
Teorema bayes
Secco @ Next bank Barcelona 2015 - designing a bank with a blank sheet of paper
Measurement validation peak load reduction
Javier Diez: La tecnología detrás de un Club de Benefits y los descuentos a e...
Cierre y reflexion de la bitacora tic I
Natura epa4 2010 03 la causa del calentamiento global carlos bastiand
Charles Cunniffe Architects Brochure
So Beautiful
Pág.crianças 5 novembro2011
Ppt consulting
Cuneo - Baby Boomer Article New
Catalgo electronico tecno pack
Estrella Damm
Mujeres Matematicas; Trabajo Para Entregar A Julio
Publicidad

Similar a Atmel (20)

DOCX
Lenguajes ensambladores
PDF
UNIDAD 2 PROGRAMACIÓN BASICA
PPT
Organizacion de la unidad central de procesamiento
PPS
El Microprocesador Y Su Arquitectura
PDF
Microcomputadoras al detalle
PDF
Clase instrucciones PIC16F877A
PPT
Organizacion-de-la-unidad-central-de-procesamiento
DOC
microprocesadores y microcontroladores
DOCX
Microprocesadores
PPTX
Emsamblador
DOCX
Guia de laboratorio a
PDF
Lenguaje ensamblador del microprocesador
PDF
pic-16F628 generalidades y prog 1y2.pdf
PDF
Diseño de un Procesador 8 bits
DOCX
3.tercer ejercicio emu8086
PDF
3 programacion
PDF
Microcomputadoras al detalle
PDF
Microcomputadoras al detalle
PDF
Microcomputadoras al detalle
PPTX
LENGUAJE ENSAMBLADOR
Lenguajes ensambladores
UNIDAD 2 PROGRAMACIÓN BASICA
Organizacion de la unidad central de procesamiento
El Microprocesador Y Su Arquitectura
Microcomputadoras al detalle
Clase instrucciones PIC16F877A
Organizacion-de-la-unidad-central-de-procesamiento
microprocesadores y microcontroladores
Microprocesadores
Emsamblador
Guia de laboratorio a
Lenguaje ensamblador del microprocesador
pic-16F628 generalidades y prog 1y2.pdf
Diseño de un Procesador 8 bits
3.tercer ejercicio emu8086
3 programacion
Microcomputadoras al detalle
Microcomputadoras al detalle
Microcomputadoras al detalle
LENGUAJE ENSAMBLADOR

Más de mariadanielaalvarez (20)

DOCX
Second life
DOCX
DOCX
Tarea 1, Electiva II
DOCX
PPTX
DOCX
Mapa conceptual
PPTX
PDF
Manual del estacionamiento
PPTX
Mapa conceptual ms project
PPTX
EXITO EMPRESARIAL
PPTX
ÉXITO EMPRESARIAL
PPTX
ÉXITO EMPRESARIAL
DOCX
Modelo orientado a objetos
PDF
Manual del estacionamiento
PPTX
DOCX
Asignacion 5
DOCX
Asignacion 5
DOCX
Asignacion 5
Second life
Tarea 1, Electiva II
Mapa conceptual
Manual del estacionamiento
Mapa conceptual ms project
EXITO EMPRESARIAL
ÉXITO EMPRESARIAL
ÉXITO EMPRESARIAL
Modelo orientado a objetos
Manual del estacionamiento
Asignacion 5
Asignacion 5
Asignacion 5

Atmel

  • 1. UNIVERSIDAD “FERMIN TORO” VICERRECTORADO ACADEMICO FACULTAD DE INGENIERIA CABUDARE EDO. LARA MICROCONTROLADOR ATMEL Alumna: María Daniela Álvarez Cedula: 17784337 Materia: Fundamento de Microprocesadores Profesor: Elvis Madrid Cabudare, Junio 2015
  • 2. EL microcontrolador Atmel de la serie AT89C51/AT89C52 contiene un conjunto de instrucciones que están separadas por tipos, estos son: TRANSFERENCIA DE DATOS MOV A, <fuente> ; A = <fuente> MOV <destino>,A ; <destino> = A MOV <destino>,<fuente> ; <destino> = <fuente> MOV DPTR,#dato 16 bits ; DPTR = constante de 16 bits inmediata. PUSH <fuente> ; INC SP → <@SP> ← (fuente) POP <destino> ; (destino) ← <@SP> ; DEC SP XCH A, <byte> ; ACC y <byte> intercambia sus datos. XCHD A, @Ri ; ACC y @Ri intercambian nibble bajo. La instrucción MOV <dest>,<fuente> ; permite transferir datos de la memoria interna RAM y del SFR sin pasar a través del Acumulador, mientras que las instrucciones MOV A,<fuente> y MOV <dest>,A utilizan al Acumulador para el movimiento de datos dentro de la memoria interna RAM. La instrucción PUSH, primeramente incrementa el Stack Pointer (SP), y después guarda el dato dentro de la localidad de memoria apuntada por el Stack. La instrucción POP, primero toma el dato de la memoria y después decrementa el SP. La instrucción XCH A, <dirección> permite al Acumulador y al dato apuntado por la dirección de intercambiarse entre sí. La instrucción XCHD A,@R0 intercambia los 4 bits menos significativos (low nibbble), de Acumulador con los 4 bits menos significativos del dato apuntado por el registro R0. INSTRUCCIONES BOOLEANAS El AT89C51/AT89C52 contiene un completo procesador Booleano (por bits), el cual permite ejecutar instrucciones de movimiento, limpieza, establecimiento,
  • 3. complementación de un solo bit, y operaciones de AND y OR entre bits. Las instrucciones son las siguientes: ANL C,bit ; C ← C AND bit ANL C,/bit ; C ← C AND NOT bit ORL C,bit ; C ← C OR bit ORL C,/bit ; C ← C OR NOT bit MOV C,bit ; C ← bit MOV bit,C ; bit ← C CLR C ; C ← 0 CLR bit ; bit ← 0 SETB C ; C ← 1 SETB bit ; bit ← 1 CPL C ; C ← NOT C CPL bit ; bit ← NOT bit JC rel ; salto a etiqueta si C = 1 JNC rel ; salto a etiqueta si C = 0 Ejemplo para su uso: CONTROL ORG 20H BANDERA BIT CONTROL,7 ORG 00H MOV C,BANDERA MOV P1.0,C La etiqueta BANDERA representa, un bit direccionable de los 128 bits que se encuentran en la memoria baja RAM interna (desde la dirección 20H a la 2FH), o de los 128 bits de algunos registros del espacio SFR. En este caso particular, pertenece al bit 7 de la palabra CONTROL que se encuentra en la dirección 20H
  • 4. de la RAM interna, la línea 0 del Puerto 1 es establecida o limpiada dependiendo del valor de BANDERA. INSTRUCCIONES ARITMETICAS El juego de instrucciones para resolver operaciones aritméticas son las siguientes: ADD A,<byte> ; A ← Suma A con <byte> ADDCA,<byte> ; A ← Suma A con <byte> en conjunto con la bandera de acarreo SUBB A,<byte> ; A ← Suma A con <byte> MUL AB ; A ← Multiplica A con B DIV AB ; Divide A con B. Guarda el resultado en A y el residuo en B Ejemplo: El acumulador contiene 251 (0FBH o 11111011B) y B contiene 18 (12H o 00010010B). La instrucción, DIV AB Dejará 13 en el acumulador (0DH o 00001101B) y el valor 17 (11h o 00010001B) en B, puesto que 251 = (13 x 18) + 17. Carry y OV serán limpiados. INSTRUCCIONES DE SALTO SALTOS CONDICIONADOS El juego de instrucciones con saltos que están condicionados a la activación o desactivación de algunas de las banderas del PSW son las siguientes: JZ rel ; Salta si A = 0 JNZ rel DJNZ <byte>, rel ; Decrementa y salta si no es igual a 0 CJNE A,<byte>,rel
  • 5. CJNE <byte>,#dato,rel ; Sal Ejemplo para su uso: MOV CONTADOR,#10 ; N = 10 LAZO:(comienzo del conjunto de instrucciones) DJNZ CONTADOR,LAZO (Continúa) En el PSW no se tiene la bandera Z, que prueba el CERO, más sin embargo, aquí se muestran las instrucciones JZ y JNZ, las cuales prueban todo el dato del Acumulador para esta condición. La instrucción DJNZ (decrementa y salta sino es igual a cero), ejecuta un lazo N veces, hasta que un "contador" es igual a cero. SALTOS INCONDICIONADOS Las instrucciones que permiten hacer los saltos incondicionados son las siguientes: JMP dirección ; Salta a la dirección. JMP @A + DPTR ; Salta a la dirección A + DPTR CALL dirección ; Llama a la subrutina "dirección". RET ; Regreso a la subrutina. RETI ; Regreso de la interrupción. En las instrucciones anteriores se muestra una sola instrucción de Salto JMP dirección pero en realidad existen 3 tipos de saltos; SJMP, LJMP y AJMP los cuales difieren en el formato de la dirección de destino. JMP es un Mnemónico genérico el cual puede ser usado (en algunos compiladores) durante la programación sin tener en cuenta de que forma el salto será codificado.
  • 6. La instrucción SJMP, codifica la dirección como un desplazamiento relativo. La instrucción es de 2 bytes, es decir el PCODE y el salto relativo. Su límite es de - 128 a +127 bytes a partir de instrucción siguiente al SJMP. La instrucción LJMP, codifica la dirección como una constante de 16 bits. La instrucción es de 3 bytes de largo, el OPCODE y la dirección en 2 bytes. Este salto puede desplazarse en todos los 64K de memoria. La instrucción AJMP codifica la dirección como una constante de 11 bits. La instrucción es de 2 bytes de largo, el OPCODE el cual contiene3 bits de los 11 bits de direcciones y el otro byte de 8 bits de direcciones. Cuando la instrucción es ejecutada esos 11 bits son simplemente sustituidos por los 11 bits más bajos en el PC. Los 5 bits más altos permanecen sin alterarse. Estos saltos pueden ser hasta de 2K. En cualquiera de los casos el programador especifica la dirección al ensamblador de la misma manera; como una etiqueta o constante de 16 bits. El ensamblador deberá poner la dirección dentro del formato correcto de forma automática. La instrucción RETI es usada para el regreso de una rutina de servicio de interrupción. la diferencia con la instrucción RET es que RETI llama al sistema de control de interrupción mientras que la interrupción está en proceso. Si no existe ninguna interrupción en proceso, entonces la instrucción RETI es igual a RET. LAS HERRAMIENTAS DE SIMULACIÓN Para trabajar esta familia de microcontroladores se recomienda el uso del simulador PROTEUS, ya que este permite realizar el diseño del circuito, simulación y compilación del código a programarse en el microcontrolador. Esta herramienta es muy versátil y es muy amigable para su uso y posibilita la revisión del código programado. COMPILACIÓN Y PROGRAMACIÓN DEL MICROCONTROLADOR Para poder compilar esta familia de microcontroladores se debe utilizar el compilador A51 que está desarrollado MS-DOS, que traduce las instrucciones listadas en un bloc de notas con terminación .ASM, si no existe errores en la compilación, dicho programa crea un archivo .HEX el cual nos sirve para poder programar el microcontrolador.
  • 7. Para poder programar el microcontrolador se debe cargar el .HEX mediante el uso de un programador atmel (ya que es el microcontrolador usado) y cargar a la memoria ROM del microcontrolador a programar.