Universidad mayor de san andresETN-801Introduccion a los microcontroladores<br />Aux.Univ.    David Marza Herrera<br />
Microcontroladores  Intelfamilia MCS-51<br />La familia básica de microcontroladores de 8 bits de Intel. Esta familia es a...
Microcontroladores  Intelfamilia MCS-51<br />32 líneas de entrada/salida, distribuidas en 4 puertos de 8 bits cada uno.<br...
Microcontroladores de Atmel<br />Atmel Corporation tiene una familia de microcontroladores de 8 bits basados en la arquite...
Microcontroladores Atmel 8051y 8052<br />La familia MCS-51 tiene cuatro puertos: P0, P1, P2 y P3. <br />Los puertos son de...
Imágenes en<br />
MicrocontroladoresAtmel8051y 8052<br />ALE/PROG  (Addres Latch Enable) permite deshacer la multiplexación.<br />PSEN (Prog...
MicrocontroladoresAtmel8051y 8052<br />Organización de memoria<br />El 8051 esta disenado en base a la arquitectura Harvar...
Organización de memoria<br />
Area de memoria interna<br />Está estructurada en tres partes:<br />área de registros, formado por cuatro bancos con ocho ...
Area de memoria interna<br />
Area de registros especiales SFR<br />Esta entre 80H y FFH de la memoria interna y determinan el modo de funcionamiento y ...
Registros especiales SFR<br />
Registros especiales SFR<br />
Tipos de SFR<br />Podemos dividirlos en tres grupos:<br />1er grupo son los relacionados con la entrada y salida los 4 pue...
Descripcion de los SFRs<br />PCON  Se usa para controlar los modos alimentacion.<br />TCON Control de timers configura la ...
Tipos de direccionamiento<br />En concreto, las familias de microcontroladores MCS-51 y MCS-251<br />disponen de siete mod...
Conjunto de instrucciones de la familia MCS-51<br />IntruccionesAritmeticas<br />
Conjunto de instrucciones de la familia MCS-51<br />IntruccionesLogicas<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de rotacion<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de Transferencia<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de Transferencia<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de intercambio<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones a nivel de bit<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de salto<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de llamada y retorno de subrutina<br />
Conjunto de instrucciones de la familia MCS-51<br />Intrucciones que modifican las banderas<br />
Formato de una instrucción<br />Etiqueta	 Mnemónico 	1er Operando , 2º Operando<br />Retardo: 	MOV		 R0	 ,	 #70H<br />Suma...
Directivas de ensamblador<br />ORG <dirección><br /><símbolo> EQU <expresión><br />DB [[<espacio de datos>]]<br />END<br />
Ejemplo simple <br />
Tecnica de multiplexado para display’s<br />
Un programa ejemplo<br />ORG	00H<br />START:<br />	MOV	DPTR,#TABLE<br />	MOV	R2,#10000000B<br />	MOV	R1,#0<br />NEXT:<br /...
Interrupciones<br />Una interrupción la realiza de forma asíncrona un periférico<br />o un dispositivo conectado físicamen...
Interrupciones<br />
Encuesta (polling)<br />Siempre se ejecutan las instrucciones <br />Para verificar si ha habido cambios.<br />Siempre en e...
Interrupcion<br />Las instrucciones solo se ejecutan<br />si han sucedido cambios.<br />Puede suceder <br />en cualquier m...
Interrupciones<br />Cuando se produce una interrupción el microcontrolador ejecuta un proceso de atención a la interrupció...
Proceso de atencion a la interrupcion<br />
Interrupciones<br />A la dirección de salto a partir de la cual se almacena la rutina de RSIse denomina vector de interrup...
Vectores de interrupcion del MSC-51<br />Tres de las seis fuentes de interrupción son externas al microcontrolador: INT0, ...
Interrupciones<br />Otro factor importante en el proceso de interrupciones es la habilitación de máscaras y el establecimi...
Bits de habilitacion de interrupcion<br />
Bits de prioridad de interrupcion<br />
Bits de prioridad de interrupcion<br />
Ejemplo usando interrupcion <br />
Ejemplo usando interrupcion <br />ORG	00h<br />	AJMP	CONDINI<br />ORG	03H<br />	AJMP	ALAR0<br />ORG	13H<br />	AJMP	ALAR1	 ...
Ejemplo usando interrupcion <br />RETARDO:<br />	NOP<br />	DJNZ	R4,RETARDO<br />	DJNZ	R5,RETARDO<br />	RET<br />TABLA:<br ...
ETN-801 <br />Introduccion a los microcontroladoles<br />Gracias por su atencion<br />(Debe parecer circular)<br />4x3<br ...
Próxima SlideShare
Cargando en…5
×

Etn 801

807 visualizaciones

Publicado el

Introduccion a los microcontroladores 8051

Publicado en: Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
807
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
30
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Etn 801

  1. 1. Universidad mayor de san andresETN-801Introduccion a los microcontroladores<br />Aux.Univ. David Marza Herrera<br />
  2. 2. Microcontroladores Intelfamilia MCS-51<br />La familia básica de microcontroladores de 8 bits de Intel. Esta familia es adecuada para soportar aplicaciones sencillas y de mediana complejidad.<br />Otros fabricantes, como Siemems Components, Atmel, Philips Semiconductors, OKI Semiconductor, etc., proporcionan versiones especializadas de ésta.<br />
  3. 3. Microcontroladores Intelfamilia MCS-51<br />32 líneas de entrada/salida, distribuidas en 4 puertos de 8 bits cada uno.<br />Memoria RAM interna de hasta 256 bytes.<br />4 bancos de 8 registros de un byte cada uno.<br />Área de registros de función especial (SFR).<br />Espacio de memoria para programas de hasta 64k.<br />Espacio de memoria para datos de hasta 64k.<br />Hasta 3 temporizadores de 16 bits cada uno.<br />Comunicación serie asíncrona (UART full-duplex).<br />De 5 a 6 fuentes de interrupción con 2 niveles de prioridad.<br />2 modos especiales de bajo consumo (Power Down y Idle).<br />
  4. 4. Microcontroladores de Atmel<br />Atmel Corporation tiene una familia de microcontroladores de 8 bits basados en la arquitectura de la MCS-51. <br />- Memoria interna flash para programas.<br />- Memoria RAM interna.<br />- Patillas bidireccionales de I/O accesibles bit a bit.<br />- Varios temporizadores/ contadores de 16 bits.<br />- UART Full-Duplex.<br />- Múltiples fuentes de interrupción.<br />- La versión AT89S tiene 2K de memoria EEPROM interna, una interfaz SPI de bus serie y un temporizador de Watchdog.<br />
  5. 5. Microcontroladores Atmel 8051y 8052<br />La familia MCS-51 tiene cuatro puertos: P0, P1, P2 y P3. <br />Los puertos son de 8 bits, y cada bit puede ser configurado de forma individual como entrada o como salida (E/S).<br />P0 puerto open colector, E/S bidireccional, Presenta byte bajo de bus de direcciones.<br />P1 puerto bidireccional en 8052 sirven como P1.0 T2, P1.1 T2EX<br />P2 puerto bidireccional, presenta byte alto de bus de direcciones.<br />P3 puerto bidireccional, funciones de control adicionales: <br />P3.0 RxD, P3.1TxD, P3.2 INT0, P3.3 INT1, P3.4 T0, P3.5 T1<br />P3.6 WR , P3.7 RD <br />
  6. 6. Imágenes en<br />
  7. 7. MicrocontroladoresAtmel8051y 8052<br />ALE/PROG (Addres Latch Enable) permite deshacer la multiplexación.<br />PSEN (ProgramStoreEnable) se activa a 0 lógico cuando el microcontroladoraccede a la memoria externa de programas.<br />EA/VPP(External Acces) colocado a 1 lógico hace que el microcontrolador ejecute el código almacenado en la EPROM interna.<br />RESET cuando se pone a 1 reinicializa el microcontrolador.<br />XTAL1, XTAL2: estos terminales son la entrada<br /> de la señal de reloj del microcontrolador.<br />
  8. 8. MicrocontroladoresAtmel8051y 8052<br />Organización de memoria<br />El 8051 esta disenado en base a la arquitectura Harvard.<br />Memoria de programa interna viene en tamanos y tipos diferentes 4k, 8k, EPROM o FLASH. (hasta 64k incluyendo externa)<br />Memoria de datos interna de hasta 256 bytes (00 a FFh) 8051 solo 128.Tambien es posible externa de 64k.<br />La pila usa RAM solo 80 posiciones.<br />Existe un espacio asignado a los Registros de Funciones Especiales<br />
  9. 9. Organización de memoria<br />
  10. 10. Area de memoria interna<br />Está estructurada en tres partes:<br />área de registros, formado por cuatro bancos con ocho registros cada uno.<br />A losocho registros de cada banco de registros se les denomina R0, R1, R2, R3, R4, R5, R6 y R7.<br />b) área accesible bit a bit.<br />Existen 16 bytes, posiciones entre 20H y 2FH. <br />c) área de memoria RAM general. <br />Es una zona de 80 bytes comprendida entre 30H y 7FH.<br />En las versiones 8052 esta zona se amplía en 128 bytes.<br />
  11. 11. Area de memoria interna<br />
  12. 12. Area de registros especiales SFR<br />Esta entre 80H y FFH de la memoria interna y determinan el modo de funcionamiento y la configuración de los recursos internos.<br />Las versiones con 256 bytes de memoria interna tienen los 128 bytes altos situados entre las posiciones 80H y FFH. <br />En consecuencia, comparten las direcciones que del SFR (80H-FFH).<br />Se diferencia por el modo de direccionamiento.<br />
  13. 13. Registros especiales SFR<br />
  14. 14. Registros especiales SFR<br />
  15. 15. Tipos de SFR<br />Podemos dividirlos en tres grupos:<br />1er grupo son los relacionados con la entrada y salida los 4 puertos P0, P1, P2, P3.<br />2do grupo son SFRs que controlan la operación o la configuracion. Por ejemplo TCON controla temporizadores, SCON controla el puerto serie.<br />PCON, TCON, TMOD, SCON, IE, IP, PSW.<br />3er grupo Los restantes que se pueden considerara auxiliares, no configuran el microcontrolador. Por ejemplo SBUF donde se leen los datos a enviar o recibir por el puerto serie. <br />SP, DPL, DPH, TL0, TL1, TH0, TH1, SBUF, ACC, B.<br />
  16. 16. Descripcion de los SFRs<br />PCON Se usa para controlar los modos alimentacion.<br />TCON Control de timers configura la manera en que operan los timers T0 y T1.<br />Si cada timer esta parado o corriendo, contiene una bandera que indica el desborde, alberga tambien bits que indican la configuracion de las interrupciones externas.<br />TMOD Modo de timer 8 o 16 bits, autorecargable, trabajar con interrupciones.<br />SCON Comportamiento del puerto serie, velocidad en baudios, banderas que indican Tx o Rx exitosa.<br />IE Se usa para permitir o inhibir las interrupciones.<br />PSW Registro de banderas C, AC, OV, N, P, F0, R0, R1.<br />TL0/TH0 , TL1/TH1representan los timers 0 y 1 dependen de TCON.<br />DPL/DPL puntero de datos<br />SBUFbufer serie.<br />
  17. 17. Tipos de direccionamiento<br />En concreto, las familias de microcontroladores MCS-51 y MCS-251<br />disponen de siete modos de direccionamiento distintos:<br />- Direccionamiento inmediato.<br />- Direccionamiento directo.<br />- Direccionamiento por registro.<br />- Direccionamiento indirecto.<br />- Direccionamiento indexado.<br />- Direccionamiento relativo.<br />- Direccionamiento de bit.<br />
  18. 18. Conjunto de instrucciones de la familia MCS-51<br />IntruccionesAritmeticas<br />
  19. 19. Conjunto de instrucciones de la familia MCS-51<br />IntruccionesLogicas<br />
  20. 20. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de rotacion<br />
  21. 21. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de Transferencia<br />
  22. 22. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de Transferencia<br />
  23. 23. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de intercambio<br />
  24. 24. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones a nivel de bit<br />
  25. 25. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de salto<br />
  26. 26. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones de llamada y retorno de subrutina<br />
  27. 27. Conjunto de instrucciones de la familia MCS-51<br />Intrucciones que modifican las banderas<br />
  28. 28. Formato de una instrucción<br />Etiqueta Mnemónico 1er Operando , 2º Operando<br />Retardo: MOV R0 , #70H<br />Suma: ADD A , 70H<br /> MOV 20H , @R0<br /> INC A<br /> DJNZ R2 , Bucle<br /> SJMP Salir<br /> PUSH A<br />
  29. 29. Directivas de ensamblador<br />ORG <dirección><br /><símbolo> EQU <expresión><br />DB [[<espacio de datos>]]<br />END<br />
  30. 30. Ejemplo simple <br />
  31. 31. Tecnica de multiplexado para display’s<br />
  32. 32. Un programa ejemplo<br />ORG 00H<br />START:<br /> MOV DPTR,#TABLE<br /> MOV R2,#10000000B<br /> MOV R1,#0<br />NEXT:<br /> MOV A,R1<br /> MOVC A,@A+DPTR<br /> MOV P2,A<br /> MOV A,R2<br /> MOV P1,A<br /> CALL DELAY<br /> RR A<br /> MOV R2,A<br /> INC R1<br /> CJNE R1,#5,NEXT<br /> JMP START<br />;========================<br />; DELAY 5mS<br />;========================<br />DELAY: MOV R6,#10<br />DL1: MOV R7,#249<br /> DJNZ R7,$<br /> DJNZ R6,DL1<br /> RET<br />;=========================<br />TABLE: DB 3EH,48H,88H,48H,3EH<br />END<br />
  33. 33. Interrupciones<br />Una interrupción la realiza de forma asíncrona un periférico<br />o un dispositivo conectado físicamente al microcontrolador, cuando requiere a la CPU el desvío del flujo de ejecución del programa<br />para gestionar y controlar los diversos sucesos que no se encuentran bajo su supervisión directa.<br />Mejora la eficiencia de la CPU, ya que no tiene que estar continuamente pendiente de si acontece o no un suceso en un instante de tiempo determinado.<br />Atendiendo a los sucesos tan sólo cuando éstos se producen.<br />
  34. 34. Interrupciones<br />
  35. 35. Encuesta (polling)<br />Siempre se ejecutan las instrucciones <br />Para verificar si ha habido cambios.<br />Siempre en el mismo momento.<br />La encuesta significa mayor <br />tiempo de CPU ocupado.<br />La respuesta no puede ser inmediata.<br />
  36. 36. Interrupcion<br />Las instrucciones solo se ejecutan<br />si han sucedido cambios.<br />Puede suceder <br />en cualquier momento.<br />Evita ocupar la CPU cuando <br />es innecesario. <br />La respuesta es inmediata.<br />
  37. 37. Interrupciones<br />Cuando se produce una interrupción el microcontrolador ejecuta un proceso de atención a la interrupción.<br />La CPU deja de ejecutar la secuencia de instrucciones normal y pasa a ejecutar la rutina de servicio a la interrupción (RSI).<br />
  38. 38. Proceso de atencion a la interrupcion<br />
  39. 39. Interrupciones<br />A la dirección de salto a partir de la cual se almacena la rutina de RSIse denomina vector de interrupción. <br />Según el tipo de microcontrolador o microprocesador, las direcciones pueden ser fijas, o bien pueden ser definidas por el programador. <br />Los vectores de interrupción de las familias MCS-51 y<br />MCS-251 son fijos. <br />
  40. 40. Vectores de interrupcion del MSC-51<br />Tres de las seis fuentes de interrupción son externas al microcontrolador: INT0, INT1<br />y el puerto serie.<br />Las fuentes de interrupción restantes son los tres<br />temporizadores, Timer 0, <br />Timer 1 y Timer 2, y al array de contadores programable PCA<br />
  41. 41. Interrupciones<br />Otro factor importante en el proceso de interrupciones es la habilitación de máscaras y el establecimiento de prioridades.<br />La interrupción no es atendida a menos que su bit de habilitación correspondiente esté activado.<br />Puede haber una interrupción sin este bit, lo que se denomina interrupción no mascarable. <br />Se reservan para sucesos de suma importancia.<br />
  42. 42. Bits de habilitacion de interrupcion<br />
  43. 43. Bits de prioridad de interrupcion<br />
  44. 44. Bits de prioridad de interrupcion<br />
  45. 45. Ejemplo usando interrupcion <br />
  46. 46. Ejemplo usando interrupcion <br />ORG 00h<br /> AJMP CONDINI<br />ORG 03H<br /> AJMP ALAR0<br />ORG 13H<br /> AJMP ALAR1 ORG 30H<br />CONDINI:<br /> MOV IE,#10000101B MOV TCON,#00000101B<br /> MOV IP,#00000100B<br /> SETB P3.2 SETB P3.3<br /> MOV DPTR,#TABLA<br />PRINCIPAL:<br /> MOV A,R0<br /> MOVC A,@A+DPTR<br /> MOV P1,A<br /> ACALL RETARDO<br /> INC R0<br /> CJNE R0,#10H,PRINCIPAL<br /> MOV R0,#00H<br /> AJMP PRINCIPAL<br />ALAR0:<br /> CLR P2.0<br /> ACALL RETARDO<br /> SETB P2.0<br /> ACALL RETARDO<br /> INC R2<br /> CJNE R2,#06H,ALAR0<br /> MOV R2,#00H<br /> RETI<br />ALAR1:<br /> CLR P2.1<br /> ACALL RETARDO<br /> SETB P2.1<br /> ACALL RETARDO<br /> INC R3<br /> CJNE R3,#07H,ALAR1<br /> MOV R3,#00H<br /> RETI<br />
  47. 47. Ejemplo usando interrupcion <br />RETARDO:<br /> NOP<br /> DJNZ R4,RETARDO<br /> DJNZ R5,RETARDO<br /> RET<br />TABLA:<br /> DB 01H,4FH,12H,06H,4CH,24H,20H,0FH<br /> DB 00H,0CH,08H,60H,31H,42H,30H,38H<br /> END <br />
  48. 48. ETN-801 <br />Introduccion a los microcontroladoles<br />Gracias por su atencion<br />(Debe parecer circular)<br />4x3<br />16x9<br />

×