Your SlideShare is downloading. ×
0
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Cm Sesion No 2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cm Sesion No 2

1,243

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,243
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Microcontroladores ESPOL-FIEC Primer Semestre 2008-2009 Profesor: Dr. Ing. Carlos Valdivieso SESION No. 2
  • 2. Microcontrolador <ul><li>El µC es un sistema cerrado. Todas las partes del computador están contenidos en su interior y sólo salen al exterior las líneas que gobiernan los periféricos. </li></ul>µC
  • 3. Ejemplo <ul><li>Un horno microondas se gobierna mediante un µC en el que se almacena el programa de control de 382 instrucciones, cada una de las cuales ocupa una palabra de la memoria de instrucciones. Sabemos que para soportar el teclado y una pantalla LCD se necesitan 12 líneas de E/S. </li></ul><ul><li>¿Cuál de los tres µC mostrados será el más recomendable utilizar? </li></ul>Modelo Memoria de instrucciones Líneas E/S Precio PIC16F83 512 13 ¿? PIC16C84 1024 13 ¿? PIC16C74 4096 33 ¿?
  • 4. Arquitectura Interna <ul><li>El procesador </li></ul><ul><li>Memoria no volátil para el programa de control. </li></ul><ul><li>Memoria de escritura y lectura para los datos. </li></ul><ul><li>Líneas de E/S para el control de periféricos a) Comunicación paralelo b) Comunicación serie c) Puertos diversos configurables como entrada o salida </li></ul><ul><li>Recursos auxiliares a) Circuito de reloj b) Temporizadores c) Perro guardián (whatchdog) d) Convertidores ADC y DAC e) Comparadores analógicos f) Protección ante fallos de la alimentación g) Estado de reposo o de bajo consumo </li></ul>
  • 5. El Procesador <ul><li>La necesidad de conseguir eficiencia en el procesamiento de instrucciones ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard frente a las tradicionales que seguían la arquitectura de von Neumann. </li></ul><ul><li>Arquitectura de von Neumann: aquí el procesador se conecta con una memoria única a través de un sistema de buses, donde coexisten datos e instrucciones. </li></ul><ul><li>Arquitectura Harvard: en la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso, lo que permite optimizar sus características propiciando el paralelismo . Además, la capacidad de cada memoria es diferente. </li></ul><ul><li>Los procesadores modernos usan la técnica de tuberías ( pipe-line ) para procesar instrucciones, que consiste en la segmentación del procesador descomponiéndolo en etapas, que operan paralelamente para poder procesar varias instrucciones a la vez. </li></ul><ul><li>El procesador de los microcontroladores modernos responde también a la arquitectura RISC (conjunto de instrucciones reducido). </li></ul>
  • 6. Arquitectura Harvard <ul><li>En la arquitectura “Harvard” la memoria de instrucciones y la de datos son independientes. </li></ul>Memoria de Instrucciones El Procesador Memoria de Datos BUS DE DIRECCION DE INSTRUCCIONES 10 BITS BUS DE INSTRUCCIONES 14 BITS BUS DE DIRECCION DE DATOS 9 BITS BUS DE DATOS 8 BITS
  • 7. Características de arquitectura Harvard <ul><li>En una arquitectura Harvard la instrucción es buscada de la memoria de programa en un solo ciclo. </li></ul><ul><li>Mientras la memoria de programa está siendo accesada, la memoria de datos puede ser leída o escrita. </li></ul><ul><li>Esta arquitectura de buses separados permiten que una instrucción pueda ser ejecutada mientras la próxima es buscada. </li></ul>
  • 8. Características Fundamentales <ul><li>Instrucciones de palabra larga. </li></ul><ul><li>Instrucciones de una sola palabra </li></ul><ul><li>Solapamiento de instrucciones </li></ul><ul><li>Instrucciones de un solo ciclo </li></ul><ul><li>Conjunto de instrucciones reducido </li></ul><ul><li>Arquitectura de file de registros </li></ul><ul><li>Instrucciones ortogonales o simétricas </li></ul>
  • 9. Instrucciones de palabra larga <ul><li>Estas instrucciones usan un bus mayor, o sea de más bits, que un bus de memoria de datos de 8 bits. Esto es posible debido a que los dos buses son separados. </li></ul><ul><li>Esto permite que las instrucciones sean accesadas de forma diferente que con un ancho de palabra de un byte, con un uso más eficiente de la memoria de programa. </li></ul>
  • 10. Instrucciones de una palabra <ul><li>Las instrucciones se codifican en palabras de 14 bits, haciendo posible tener todas las instrucciones de una palabra. </li></ul><ul><li>La búsqueda de una instrucción en la memoria de programa de 14 bits demanda un solo ciclo de bus. </li></ul><ul><li>Con instrucciones de una palabra el número de localidades de memoria de programa es igual al número de instrucciones. </li></ul>
  • 11. Ejemplo de instrucción <ul><li>CLRF f operación: 0 -&gt; f, afecta Z código de máquina: 00 00011fff ffff Es una instrucción cuyo código ocupa una sola palabra larga de 14 bits que identifica a la misma y donde se señala la dirección fff ffff para accesar al registro f del file. </li></ul>
  • 12. Solapamiento de Instrucciones <ul><li>La tubería de instrucciones es de dos pasos, lo que quiere decir que se superpone la búsqueda y la ejecución de instrucciones. </li></ul><ul><li>La búsqueda de una instrucción toma un ciclo, mientras que la ejecución toma otro ciclo. </li></ul><ul><li>Pero se solapa la búsqueda de la instrucción en curso con la ejecución de la anterior. </li></ul><ul><li>Así, una instrucción es buscada y otra es ejecutada en el mismo ciclo. </li></ul>
  • 13. Solapamiento de Instrucciones
  • 14. Instrucciones de un solo ciclo <ul><li>Con el bus de memoria de programa de 14 bits, una instrucción completa es buscada en un solo ciclo. </li></ul><ul><li>Si se toma en cuenta la superposición de la búsqueda de una instrucción con la ejecución de la anterior, debido a la tubería de dos pasos, todas las instrucciones son de un solo ciclo, excepto las de ramificación o salto. </li></ul><ul><li>En las instrucciones de ramificación o salto, existe una demora adicional de un ciclo en la ejecución porque la misma modifica el contenido del contador del programa. </li></ul><ul><li>La modificación del contador del programa requiere que se limpie la tubería y que se busque una nueva instrucción de la memoria de programa. </li></ul><ul><li>Estas instrucciones de salto serán entonces de dos ciclos. </li></ul>
  • 15. Conjunto de instrucciones reducido <ul><li>Cuando un conjunto de instrucciones está bien diseñado es altamente ortogonal o simétrico, menos instrucciones son requeridas para realizar las tareas necesarias. </li></ul><ul><li>Con un menor número de instrucciones, el repertorio completo puede ser aprendido más fácilmente. </li></ul><ul><li>Para los PICs de la gama media los grupos de instrucciones son. 1- Operaciones sobre el file de registros orientadas a byte: 18 2- Operaciones sobre el file de registros orientadas a bit: 4 3- Operaciones de literales y de control: 13 </li></ul><ul><li>Total: 35 instrucciones </li></ul>
  • 16. Arquitectura de file de registros <ul><li>La memoria de programa puede ser direccionada en forma directa. </li></ul><ul><li>Los files de registros pueden ser directa e indirectamente direccionados. </li></ul><ul><li>Los registros de funciones especiales, incluyendo el contador del programa, están mapeados en la memoria de datos. </li></ul>
  • 17. Ejercicio1: Reflejo de Teclas sobre LEDS <ul><li>Leer el estado de 5 teclas E0, E1, …E4 conectadas a RA0, RA1,…RA4 y reflejar el estado lógico de las mismas sobre los leds LED0, LED1, ….LED4 conectados en RB0, RB1,…RB4 respectivamente. </li></ul><ul><li>Diseñar el programa con MPLAB y simularlo con PROTEUS. </li></ul>RA0 RA1 RA2 RA3 RA4 RB0 RB1 RB2 RB3 RB4 PIC16F84A LED0 LED1 LED2 LED3 LED4 E0 E1 E2 E3 E4
  • 18. Diagrama de Flujo <ul><li>El puerto A se configura como entrada y el puerto B como salida. </li></ul><ul><li>Un 0 configura salida. </li></ul><ul><li>Un 1 configura entrada </li></ul>Configurar PA como entrada y PB como salida Leer estado de PA Escribir estado de PA en PB INICIO Borrar las salidas
  • 19. Algunas directivas del Ensamblador <ul><li>list P=PIC16F84A, F=INHX8M, C=160, N=80, ST=OFF, MM=OFF, R=DEC </li></ul><ul><li>include P16F84A.INC </li></ul><ul><li>_config (_CP_OFF &amp; _PWRTE_ON &amp; _XT_OSC &amp; _WDT_OFF ) </li></ul><ul><li>errorlevel -302 ;ignora “error” cuando se graba en banco1 </li></ul><ul><li>title “ Ejercicio #1” </li></ul><ul><li>org 0x05 </li></ul><ul><li>End F indica al ensamblador tipo de formato a usarse al crear el archivo ejecutable PROG1.HEX C y N indican al ensamblador el número de columnas y filas en cada página del archivo PROG1.LST que se lo puede imprimir y observar el listado del programa. ST y MM indican al ensamblador si se incluye o no la tabla de símbolos y mapa de memoria en el archivo PROG1.LST. __config especifica la palabra de configuración del microcontrolador </li></ul>
  • 20. Ejemplo de instrucción sobre el file de registros <ul><li>CLRF f código: 0000011fff ffff f es un localidad de la memoria de datos formada por los registros especiales y los registros de propósito general, cuya dirección viene dada por xxxfffffff , donde xxx depende de los bits 7, 6 y 5 del registro de ESTADO y del modo de dirección indirecto o directo, como se estudiará más adelante. </li></ul>
  • 21. Instrucciones ortogonales o simétricas <ul><li>Estas instrucciones hacen posible realizar cualquier operación sobre cualquier registro usando cualquier modo de dirección. </li></ul><ul><li>Esta naturaleza simétrica y la ausencia de “instrucciones especiales” hacen la programación simple y eficiente. </li></ul><ul><li>El repertorio de instrucciones de los PIC de gama media tiene solamente dos instrucciones no orientadas a registros, las cuales son usadas para dos situaciones especiales. A) SLEEP: pone al micro en reposo o modo de bajo consumo de potencia. B) CLRWDT: esta relacionada con el circuito de vigilancia (whatchdog timer). Limpia el registro contador de este temporizador. </li></ul>
  • 22. Ejemplo de instrucciones ortogonales <ul><li>ADDWF f, d </li></ul><ul><li>SUBWF f, d </li></ul><ul><li>CLRF f </li></ul><ul><li>INCF f, d </li></ul><ul><li>DECF f, d </li></ul><ul><li>COMF f, d </li></ul><ul><li>XORW f, d </li></ul><ul><li>IORWF f, d </li></ul><ul><li>ANDWF f, d </li></ul><ul><li>RRF f, d </li></ul><ul><li>RLF f, d </li></ul><ul><li>SWAPF f, d </li></ul><ul><li>MOVWF f </li></ul><ul><li>MOVF f, d </li></ul><ul><li>BCF f, b </li></ul><ul><li>BSF f, b </li></ul><ul><li>BTFSC f, b </li></ul><ul><li>BTFSS f, b </li></ul>
  • 23. Familia PIC16F8X <ul><li>Los PIC16F8X son iguales a los PIC16C8X salvo que sustituyen flash por EPROM para la memoria de programa. </li></ul>µC MEMORIA DE PROGRAMA FLASH MEMORIA DE DATOS RAM EEPROM DATOS PIC16F83 512 BYTES 36 BYTES 64 BYTES PIC16F84 1 K BYTES 68 BYTES 64 BYTES
  • 24. PIC16F84A
  • 25. &nbsp;
  • 26. Característica Interna <ul><li>En el diagrama de bloques se puede apreciar la organización de los puertos de E/S de la familia PIC16F8X. </li></ul><ul><li>Tiene dos puertos de E/S y un temporizador TMR0. </li></ul><ul><li>El puerto A tiene 5 líneas (RA0 a RA4) en la que RA4 es compartida con la entrada T0CKI para el TMR0. </li></ul><ul><li>El puerto B posee 8 líneas de E/S (RB0 a RB7), en la que la línea RB0 es compartida con la entrada INT de la interrupción externa. </li></ul>
  • 27. Característica Interna <ul><li>Hay dos bloques de memoria en los PIC de gama media: la memoria de programa y la memoria de datos. </li></ul><ul><li>En la memoria de datos de los PIC de la gama media hay en general 4 bancos de memoria. </li></ul><ul><li>En los PIC16F8X existen solo dos bancos de memoria de datos, de 00H a 7FH y de 80H a FFH, como se estudiará mas adelante. </li></ul><ul><li>La memoria de programa está organizada en palabras de 14 bits. Esta memoria es de sólo lectura y únicamente se ejecutará el código contenido en ella. </li></ul>

×