Está en la página 1de 20

 

5/13/2018 AT89C52 - slide pdf.c om

AT89C52
Programación de los Microcontroladores 8052/8051

Datos personales

Ronald Mijail Dueñas D


Estudiante de Electronica y Sistemas
Ver todo mi perfil 

ELECTRONICA CUSCO

Mi lista de blogs

Puerto Paralelo DB25 

http://slide pdf.c om/re a de r/full/a t89c 52 1/20


 

5/13/2018 AT89C52 - slide pdf.c om

 Hace 3 años

INTERFACE SERIAL RS232 


 Hace 3 años

PROGRAMADOR DE ATMEL SERIE 89 


GRABADOR SERIE 89 ATMEL 
 Hace 3 años

GRABADOR ISP ATMEL AT89S51-AT89S52 


GRABADOR SIMPLE POR PUERTO PARALELO 
 Hace 3 años

martes 26 de agosto de 2008


Grabador ISP simple por puerto paralelo, para los AT89S51, AT89S52 ...
http://grabador-isp-atmel.blogspot.com/
Grabador, programador de Atmel serie 89 AT89C51 /52 /55 y los At89S51/52/55 ...
http://www.grabador-atmel.blogspot.com/
Programacion del pic17f877A
http://www.programacion-pic16f877a.es.tl/

domingo 24 de febrero de 2008


PROGRAMACION DEL AT89C52 
Todos los modelos de la familia 51 ejecutan cl mismo conjunto de instrucciones. Estas
instrucciones estan optimizadas para cl control de aplicaciones en 8 bits. Estan provistas
de una buena variedad de modos de direccionamiento para acceder a la memoria RAM
de datos internos del microcontrolador, facilitando operaciones del tipo byte sobre una
 pequeña estructura de datos. Permiten la manipulacion directa de control y
 procesamiento booleano de estructuras de datos del tamaño de un bit. En esta breve
introduccion se estudiaran los modos de direccionamiento y el juego de instrucciones
agrupadas por especialidades de esta manera:

· Instrucciones aritmeticas.
· Instrucciones logicas.

· Instrucciones para la transferencia de datos en:


a) RAM interna.

http://slide pdf.c om/re a de r/full/a t89c 52 2/20


 

5/13/2018 AT89C52 - slide pdf.c om

 b) RAM externa.


· Instrucciones para cl tratamiento de tablas.
· Instrucciones booleanas.
· Instrucciones de salto.

MODOS DE DIRECCIONAMIENTO 
Direccionamiento Directo

El operando se especifica en la instruccion por un campo de direccion de 8 bits. Solo la


RAM interna de datos (primeros 128 bytes) y la zona de SFR se pueden direccionar de
esta forma.

ejemplo: ADD A,38H; es decir, suma (ADD) el contenido del acumulador (A) con el
contenido de
la posicion de memoria (38):

Direccionamiento Indirecto

La instruccion especifica un registro que contiene la direccion del operando. Tanto la


memoria RAM interna (256 bytes/128 bytes) como la externa se pueden direccionar 

indirectamente.
Los registros para direccionar sobre el mapa de 8 bits pueden ser el R0 y R1 del banco
de registros seleccionado, o el Stack Pointer. El registro para direccionar sobre 16 bits
solo puede ser el Puntero de Datos (Data Pointer = DPTR).

Ejemplo: ADD A,@R0 ; Asi, si (RO)=38H la operaci6n sera: A << (A) + (38) Igual que
en el ejemplo anterior (@) es el identificador del direccionamiento indirecto.

Direccionamiento por registro

Los Microcontroladores 8052/8051, como se ha visto, contiene cuatro bancos de


registros seleccionados por los bits 3 y 4 del PSW, y cada banco de registros tiene ocho
registros del RO al R7 (vease Apartado 2.5). El propio codigo de operacion de la
instruccion especifica con que registro se opera; es decir, cuando la i nstru ccion es
ejecutada se accede a u no de los 8 reg istros del banco seleccionado.

http://slide pdf.c om/re a de r/full/a t89c 52 3/20


 

5/13/2018 AT89C52 - slide pdf.c om

Ejemplos:
MOV Rn,A ; operación: (Rn) << (A) MOV Rn,#dato; operación (Rn) << (#dato)

Direccionamiento implicito

Algunas instrucciones especifican, implicitamente, el registro sobre el que van a operar,


como el acumulador, el puntero de datos, etc. No necesitan especificar el operando
 porque esta implicito en el codigo de operacion.

ejemplos:

INC A ; Incrementa el contenido del acumulador: A << (A) + 1 INC DPTR ;


Incrementa puntero de datos: DPTR << (DPTR) + 1

Direccionamiento inmediato

Al codigo de operacion le sigue una constante en la memoria de programas.

Ejemplo:
MOV A, #255 ; Carga en el acumulador el numero decimal 255.
en hexadecimal: MOV A, #FFH MOV A, #11111111B ó en binario:

Direccionamiento indexado

Este direccionamiento solo es posible en la memoria de programas y solo permite la


lectura. Es utilizado para la lectura de tablas. Un registro base de 16 bits (cl DPTR o cl
contador de programa) apunta a la base de la tabla y cl contenido del acumulador es cl
offset que permite acceder a la lectura de esa posicion de la tabla. Es decir, la direccion
de la tabla que se va a acceder esta formada por la suma del acumulador y cl puntero
 base.
Se puede utilizar otro tipo de direccionamiento indexado en las instrucciones de salto.
En este caso la direccion de destino del salto se calcula como la suma del puntero base y
cl dato del acumulador.

CICLO DE INSTRUCCION

http://slide pdf.c om/re a de r/full/a t89c 52 4/20


 

5/13/2018 AT89C52 - slide pdf.c om

La ejecucion de un ciclo de instruccion comienza en cl estado 1 del ciclo maquina,


cuando cl codigo de operacion es almacenado en cl Registro de Instruccion. (Para
comprender este apartado tener a la vista la Figura 3.1 y la Tabla 4.5, Set de

Instrucciones. )

Como norma general, una instruccion requiere de uno q mas ciclos maquina, en funcion
de:

a) El codigo de operacion

Por ejemplo, la instruccion INC A (Figura 3.1 A) tiene 1 byte de instruccion y requiere
1 ciclo maquina, la instruccion INC DPTR, tambien, de 1 byte de instruccion requiere
de 2 ciclos maquina (Figura 3.1 C) y la instruccion MUL AB requiere de 4 ciclos
maquina para su total ejecucion y ocupa 1 byte en la memoria.

b) El numero de bytes 

Por ejemplo, la instruccion MOV A, #data tiene 2 bytes de instruccion y requiere de 1


ciclo maquina (Figura 3.1 B). En cambio la instruccion MOV direct, # data al constar de
3 bytes necesita de 2 ciclos maquina. Esto no ocurre siempre, es decir, a mas bytes mas
ciclos maquina, como puede verse en la Figura 3.1 B correspondiente a la instruccion
MOV A, #data y en la Figura 3.1 D MOVX A,@Ri, la primera instruccion tiene 2 bytes
y la segunda solo 1. en cambio la primera requiere 1 ciclo maquina y la segunda 2.

Ante la imposibilidad de establecer una norma o regla que facilite cl conocimiento del
numero de bytes y ciclo de instruccion se ha editado la Tabla 4.5 con el set completo de
instrucciones. Cabe destacar, tambien, en la Figura 3.1, que en cada ciclo maquina se
 producen 2 accesos a la memoria, cl primero, si es comienzo de ciclo de instruccion,
siempre leera cl codigo de operacion, cl segundo, que normalmente se descarta, se
utiliza para leer cl segundo byte, operando de la instruccion, como ocurre en la Figura
3.1 B.

TIPOS DE INSTRUCCIONES

El set de instrucciones del 8052/8051 se puede dividir segun las especialidades:

http://slide pdf.c om/re a de r/full/a t89c 52 5/20


 

5/13/2018 AT89C52 - slide pdf.c om

· Instrucciones aritmeticas.

· Instrucciones logicas.

· Instrucciones de transferencia de datos.

· Instrucciones booleanas

· Instrucciones de salto.
Página principal 

Suscribirse a: Entradas (Atom) 

INSTRUCCIONES ARITMETICAS

MUL AB (multiplica) y DIV AB (divide)

INSTRUCCIONES LOGICAS

http://slide pdf.c om/re a de r/full/a t89c 52 6/20


 

5/13/2018 AT89C52 - slide pdf.c om

Incluye las instrucciones de rotacion a izquierda y derecha

INSTRUCCIONES DE TRANSFERENCIA DE
DATOS

Las instrucciones Push y Pop actuan sobre el puntero a la pila (SP)

http://slide pdf.c om/re a de r/full/a t89c 52 7/20


 

5/13/2018 AT89C52 - slide pdf.c om

INSTRUCCIONES BOOLEANAS

ANL >> "and" / ORL >> "or" / CLR >> clear 

INSTRUCCIONES DE SALTO

http://slide pdf.c om/re a de r/full/a t89c 52 8/20


 

5/13/2018 AT89C52 - slide pdf.c om

INSTRUCCIONES DE SALTO CONDICIONAL

http://slide pdf.c om/re a de r/full/a t89c 52 9/20


 

5/13/2018 AT89C52 - slide pdf.c om

Microcontrolador ATMEGA16.
Microcontrolador de ATMEL a 8 bits ATMEGA16.
Características:
Memoria Flash: 16Kb.
Frecuencia de Operación: 16Mhz.
Pin count: 44
CPU: 8 bit AVR.
Canales de ADC: 10.
SRAM: 1Kb.
EEPROM: 512 Bytes
Voltaje de Operación: 1.8V a 5.5V.
# of touch channels: 16
Hardware Qtouch acquisition: no
Hoja de datos
Atmega16Datasheet
Información técnica
Atmega16TechnicalInfo
 

No hay críticas para este producto.

Escribir una crítica

http://slide pdf.c om/re a de r/full/a t89c 52 10/20


 

5/13/2018 AT89C52 - slide pdf.c om

Nombre:

Crítica:  Nota: HTML no sera traducido!

Calificación: Malo Bueno

Ingrese el siguiente código:

Continuar 

Programador de microcontroladores AVR Dragon

$ 800.00 MXN

Añadir al carrito

Tarjeta de Desarrollo Mehenil 2

$ 220.00 MXN

Añadir al carrito

http://slide pdf.c om/re a de r/full/a t89c 52 11/20


 

5/13/2018 AT89C52 - slide pdf.c om

Sensor de distancia infrarrojo salida analógica GP2Y0A21YK

$ 270.00 MXN

Añadir al carrito

KIT AVR Dragon + Mehenil 2.

$ 950.00 MXN

Añadir al carrito

AT90S2313 Microcontrolador ATMEL AVR

$ 74.99 MXN

Añadir al carrito

ATTINY26L Microcontrolador ATMEL AVR

$ 59.99 MXN

Añadir al carrito

ATTINY44 Microcontrolador ATMEL AVR

$ 59.99 MXN

http://slide pdf.c om/re a de r/full/a t89c 52 12/20


 

5/13/2018 AT89C52 - slide pdf.c om

Añadir al carrito

AT90S2343 Microcontrolador ATMEL AVR

$ 99.99 MXN

Añadir al carrito

AT90S8515 Microcontrolador ATMEL AVR

$ 79.99 MXN

Añadir al carrito

AT90LS8535 Microcontrolador ATMEL AVR

$ 99.99 MXN

Añadir al carrito

Etiquetas: microcontrolador 8 bits, atmel, atmega 16, 

Características generales del ATmega8/8L


Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo.

Arquitectura RISC avanzada.

- 130 instrucciones. La mayoría de un simple ciclo de clock de ejecución.


- 32 x 8 registros de trabajo de propósito general.
- Capacidad de procesamiento de unos 16 MIPS a 16 MHz.
- Funcionamiento estático total.
- Multiplicador On-Chip de 2 ciclos

http://slide pdf.c om/re a de r/full/a t89c 52 13/20


 

5/13/2018 AT89C52 - slide pdf.c om

Memorias de programa y de datos no volátiles.


- 8K bytes de FLASH autoprogramable en sistema.
Resistencia: 1.000 ciclos de escritura / borrado.
- Sección de código añadida opcional con bits de bloqueo independientes.
Programación en sistema con el programa añadido On-Chip.
Operación de lectura durante la escritura.
- 512 bytes de EEPROM.
Resistencia: 100.000 ciclos de escritura / borrado.
- 1K bytes de SRAM interna.
- Bloqueo (cerradura) programable para la seguridad del software.

Características de los periféricos.


- Dos Timer/Contadores de 8 bits con prescaler separado y modo
comparación.
- Un Timer/Contador de 16 bits con prescaler separado, modo comparación y
modo de captura.
- Comparador analógico On-Chip.
- Timer watchdog programable con oscilador separado On-Chip.
- Interface serie SPI maestro/esclavo.
- USART serie programable.
- Contador en tiempo real con oscilador separado.
- ADC de 8 canales en los encapsulados TQFP y MLF.
6 canales de 10 bits de precisión.
2 canales de 8 bits de precisión.
- ADC de 6 canales en el encapsulado PDIP.
4 canales de 10 bits de precisión.
2 canales de 8 bits de precisión.
- 3 canales de PWM.
- Interface serie de dos hilos orientada a byte.

Características especiales del microcontrolador.


- Reset de Power-on y detección de Brown-out programable.
- Oscilador RC interno calibrado.
- Fuentes de interrupción externas e internas.
- 5 modos de descanso: Idle, reducción de ruido ADC, Power-save,
Power-down y Standby.
 

I/O y encapsulados
- 23 líneas de I/O programables.
- PDIP de 28 pines, TQFP y MLF de 32 pines.

Tensiones de funcionamiento.
- 2.7 - 5.5V (ATmega8L).
- 4.5 - 5.5V (ATmega8).
 

http://slide pdf.c om/re a de r/full/a t89c 52 14/20


 

5/13/2018 AT89C52 - slide pdf.c om

 Niveles de velocidad.
- 0 - 8 MHz (ATmega8L).
- 0 - 16 MHz (ATmega8).

Consumo de energía a 4MHz, 3V, 25ºC.

- Activo: 3.6 mA.

- Modo idle: 1.0 mA.

- Modo power-down: 0.5 µA.

Características generales del ATmega16/16L


Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo.

Arquitectura RISC avanzada.

- 131 instrucciones. La mayoría de un simple ciclo de clock de ejecución.


- 32 x 8 registros de trabajo de propósito general.
- Capacidad de procesamiento de unos 16 MIPS a 16 MHz.
- Funcionamiento estático total.
- Multiplicador On-Chip de 2 ciclos

Memorias de programa y de datos no volátiles.


- 16K bytes de FLASH autoprogramable en sistema.
Resistencia: 1.000 ciclos de escritura / borrado.
- Sección de código añadida opcional con bits de bloqueo independientes.
Programación en sistema con el programa añadido On-Chip.
Operación de lectura durante la escritura.
- 512 bytes de EEPROM.
Resistencia: 100.000 ciclos de escritura / borrado.
- 1K bytes de SRAM interna.
- Bloqueo (cerradura) programable para la seguridad del software.

Interface JTAG.
- Mantenimiento de eliminación de errores On-Chip.
- Programación de FLASH, EEPROM, fusibles y bits de bloqueo a través de
la interface JTAG.
- Capacidades de Boundary Scan de acuerdo con el Standard (norma) JTAG.
 

Características de los periféricos.


- Dos Timer/Contadores de 8 bits con prescaler separado y modo
comparación.
- Un Timer/Contador de 16 bits con prescaler separado, modo comparación y
modo de captura.

http://slide pdf.c om/re a de r/full/a t89c 52 15/20


 

5/13/2018 AT89C52 - slide pdf.c om

- Comparador analógico On-Chip.


- Timer watchdog programable con oscilador separado On-Chip.
- Interface serie SPI maestro/esclavo.
- USART serie programable.
- Contador en tiempo real con oscilador separado.
- ADC de 10 bit
8 canales y 8 canales. simple
de terminación
7 canales diferenciales sólo en el encapsulado TQFP.
2 canales diferenciales con ganancia programable a 1x, 10x o 200x.
- 4 canales de PWM.
- Interface serie de dos hilos orientada a byte.

Características especiales del microcontrolador.


- Reset de Power-on y detección de Brown-out programable.
- Oscilador RC interno calibrado.
- Fuentes de interrupción externas e internas.
- 6 modos de descanso: Idle, reducción de ruido ADC, Power-save,
Power-down, Standby y Standby extendido.
 

I/O y encapsulados
- 32 líneas de I/O programables.
- PDIP de 40 pines, TQFP y MLF de 44 pines.

Tensiones de funcionamiento.

-- 2.7
4.5 -- 5.5V
5.5V (ATmega16L).
(ATmega16).
 

 Niveles de velocidad.
- 0 - 8 MHz (ATmega16L).
- 0 - 16 MHz (ATmega16).

Características generales del ATmega32/32L


Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo.

Arquitectura RISC avanzada.

- 131 instrucciones. La mayoría de un simple ciclo de clock de ejecución.

-- 32 x 8 registros
Capacidad de trabajo de de
de procesamiento propósito
unos 16general.
MIPS a 16 MHz.
- Funcionamiento estático total.

http://slide pdf.c om/re a de r/full/a t89c 52 16/20


 

5/13/2018 AT89C52 - slide pdf.c om

- Multiplicador On-Chip de 2 ciclos

Memorias de programa y de datos no volátiles.


- 32K bytes de FLASH reprogramable en sistema.
Resistencia: 1.000 ciclos de escritura / borrado.
- Sección de código añadida opcional con bits de bloqueo independientes.
Programación en sistema con el programa añadido On-Chip.
Operación de lectura durante la escritura.
- 1024 bytes de EEPROM.
Resistencia: 100.000 ciclos de escritura / borrado.
- 2K bytes de SRAM interna.
- Bloqueo (cerradura) programable para la seguridad del software.

Interface JTAG.
- Mantenimiento de eliminación de errores On-Chip.
- Programación de FLASH, EEPROM, fusibles y bits de bloqueo a través de
la interface JTAG.
- Capacidades de Boundary Scan de acuerdo con el Standard (norma) JTAG.
 

Características de los periféricos.


- Dos Timer/Contadores de 8 bits con prescaler separado y modo
comparación.
- Un Timer/Contador de 16 bits con prescaler separado, modo comparación y
modo de captura.

-- Comparador
Timer watchdoganalógico On-Chip.
programable con oscilador separado On-Chip.
- Interface serie SPI maestro/esclavo.
- USART serie programable.
- Contador en tiempo real con oscilador separado.
- ADC de 10 bit y 8 canales.
8 canales de terminación simple.
7 canales diferenciales sólo en el encapsulado TQFP.
2 canales diferenciales con ganancia programable a 1x, 10x o 200x.
- 4 canales de PWM.
- Interface serie de dos hilos orientada a byte.

Características especiales del microcontrolador.


- Reset de Power-on y detección de Brown-out programable.
- Oscilador RC interno calibrado.
- Fuentes de interrupción externas e internas.
- 6 modos de descanso: Idle, reducción de ruido ADC, Power-save,
Power-down, Standby y Standby extendido.
 

I/O y encapsulados
- 32 líneas de I/O programables.
- PDIP de 40 pines, TQFP y MLF de 44 pines.

http://slide pdf.c om/re a de r/full/a t89c 52 17/20


 

5/13/2018 AT89C52 - slide pdf.c om

Tensiones de funcionamiento.
- 2.7 - 5.5V (ATmega32L).
- 4.5 - 5.5V (ATmega32).
 

 Niveles de velocidad.
- 0 - 8 MHz (ATmega32L).
- 0 - 16 MHz (ATmega32).

Características generales del ATmega64/64L


Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo.

Arquitectura RISC avanzada.

- 130 instrucciones. La mayoría de un simple ciclo de clock de ejecución.


- 32 x 8 registros de trabajo de propósito general + registros de control
 
 periféricos.
- Capacidad de procesamiento de unos 16 MIPS a 16 MHz.
- Funcionamiento estático total.

- Multiplicador On-Chip de 2 ciclos


 

Memorias de programa y de datos no volátiles.


- 64K bytes de FLASH reprogramable en sistema.
Resistencia: 1.000 ciclos de escritura / borrado.
- Sección de código añadida opcional con bits de bloqueo independientes.
Programación en sistema con el programa añadido On-Chip.
Operación de lectura durante la escritura.
- 2K bytes de EEPROM.
Resistencia: 100.000 ciclos de escritura / borrado.
- 4K bytes de SRAM interna.
- Hasta 64K bytes de espacio de memoria externa opcional.

http://slide pdf.c om/re a de r/full/a t89c 52 18/20


 

5/13/2018 AT89C52 - slide pdf.c om

- Bloqueo (cerradura) programable para la seguridad del software.


- Interface SPI para la programación en sistema.
 

Interface JTAG.
- Mantenimiento de eliminación de errores On-Chip.
- Programación de FLASH, EEPROM, fusibles y bits de bloqueo a través de
la interface JTAG.
- Capacidades de Boundary Scan de acuerdo con el Standard (norma) JTAG.
 

Características de los periféricos.


- Dos Timer/Contadores de 8 bits con prescaler separado y modo
comparación.
- Dos Timer/Contadores extendidos de 16 bits con prescaler separado, modo
comparación y modo de captura.
- Comparador analógico On-Chip.
- Timer watchdog programable con oscilador separado On-Chip.
- Interface serie SPI maestro/esclavo.
- Doble USART serie programable.
- Contador en tiempo real con oscilador separado.
- ADC de 10 bit y 8 canales.
8 canales de terminación simple
7 canales diferenciales
2 canales diferenciales con ganancia programable a 1x, 10x o 200x.
- 2 canales de PWM de 8 bit.
- 6 canales PWM con resolución programable desde 1 a 16 bits.
- Interface serie de dos hilos orientada a byte.

Características especiales del microcontrolador.


- Reset de Power-on y detección de Brown-out programable.
- Oscilador RC interno calibrado.
- Fuentes de interrupción externas e internas.
- 6 modos de descanso: Idle, reducción de ruido ADC, Power-save,
Power-down, Standby y Standby extendido.
- Frecuencia de clock seleccionable por software.
- Modo de compatibilidad con el ATmega103 seleccionado por un
 
fusible.
- Pull-up global deshabilitado.
 

I/O y encapsulados
- 53 líneas de I/O programables.
- TQFP de 64 pines y MLF de 64 pines.

Tensiones de funcionamiento.
- 2.7 - 5.5V (ATmega64L).
- 4.5 - 5.5V (ATmega64).
 
 Niveles de velocidad.

http://slide pdf.c om/re a de r/full/a t89c 52 19/20


 

5/13/2018 AT89C52 - slide pdf.c om

- 0 - 8 MHz (ATmega64L).
- 0 - 16 MHz (ATmega64).

http://slide pdf.c om/re a de r/full/a t89c 52 20/20

También podría gustarte