1 / 23

Programa del Curso (Primer Día):

Introducción a la Programación en C sobre uC 9S08 de Freescale Lenguaje C sobre Microcontrolador 9S08 de 8 bits para novatos. Programa del Curso (Primer Día):. Arquitectura 9S08. Modelo de Programación. Registros. Mapa de Memoria. Periféricos. Registros de Configuración. (45 minutos).

Télécharger la présentation

Programa del Curso (Primer Día):

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción a la Programación en C sobre uC 9S08 de FreescaleLenguaje C sobre Microcontrolador 9S08 de 8 bits para novatos

  2. Programa del Curso (Primer Día): • Arquitectura 9S08. Modelo de Programación. Registros. Mapa de Memoria. Periféricos. Registros de Configuración. (45 minutos). • Entorno de Programación Codewarrior. Creación de Proyectos. Simulación. (45 minutos). • Primitivas del lenguaje C. Variables, Estructuras de Control. Expresiones. (45 minutos). • Puertos de Entrada-Salida. Configuración Básica. Encendido de un LED. (45 minutos) Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  3. Arquitectura 9S08. Modelo de Programación. Registros. Mapa de Memoria. Periféricos. Registros de Configuración. (45 minutos). Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  4. Un microcontrolador moderno posee: • CPU (Central Processing Unit) • Sistema de CONTROL • Uno o más PERIFERICOS • Sistema de MEMORIA (RAM y FLASH) • Sistema de DEBUG TODO CONECTADO POR: • BUSES (DATOS y DIRECCIONES) • LINEAS DE CONTROL Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  5. Componentes de un Microcontrolador Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  6. Microcontrolador I • Es un dispositivo programable. • Posee Registros y Comunicación mediante uno o más BUSES • Permite realizar • Operaciones Aritméticas ( +, −, X, / ) • Operaciones Lógicas ( AND, OR, XOR, NOT) • Decisiones basadas en comparaciones ( < ≤ = > ≥ ≠ ). • Saltos (Condicionales / Incondicionales) • Llamados a Subrutina (Funciones) • Movimiento de datos RR, RM, MM CPU Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  7. Microcontrolador II • Interrupciones • COP ( CPU operating properly) / (CPU Operando Correctamente) • Distintos modos de Reset (reinicio) • Monitor de tensión de alimentación Sistema de Control Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  8. PERIFERICOS Microcontrolador III • Puertos de Entrada / Salida • Timer • Convertidor Analógico-Digital • Comparador Analógico • Sensor de Temperatura • Comunicaciones (I2C, SPI, SCI, USB, CAN) • Fuentes de Reloj. Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  9. Microcontrolador IV Sistema de Memoria • Memoria RAM • Memoria Flash • Control de Escritura de Flash • Controlador de Debug / CPU • Módulo de Debug / Perifericos Sistema de Debug Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  10. Arquitectura 9S08 Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  11. Microcontrolador MC9S08SH8 Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  12. Módulos que vamos a usar Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  13. Encapsulado de 20 patas Puertos A, B y C accesibles 12 entradas de conversor Analógico/Digital Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  14. Encapsulado de 16 patas Solo Puertos A y B accesibles Solo 8 entradas de conversor Analógico/Digital Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  15. Encapsulado de 8 patas Solo Puerto A accesible Solo 4 entradas de conversor Analógico/Digital Sin posibilidd de Reloj/Cristal Externo Sólo un PWM Sin posibilidad de usar SCI / SPI Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  16. Modelo de Programación Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  17. REGISTROS DE LA CPU ACUMULADOR (A) • El Acumulador es un registro de 8 bits y sobre este registro se realizan la mayor parte de las operaciones aritméticas y lógicas CONDITION CODE REGISTER (CCR o FLAGS) • El Registro de Códigos de Condición es un registro de 8 bits, que permite ver distintos FLAGS relacionados con los resultados de la última operación realizada sobre A • C: CARRY ( ACARREO) • Z: ZERO • N: NEGATIVO • I: MASCARA DE INTERRUPCIONES • H: MEDIO ACARREO • V: OVERFLOW (DESBORDE) Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  18. REGISTROS DE LA CPU PROGRAM COUNTER (PC). • Es un Registro de 16 bits que indica de que lugar de la memoria se va a obtener la próxima instrucción. • En realidad son dos registros de 8 bits, (H y X) que pueden ser utilizados por separado o juntos formando un registro de 16 bits • Sirven como Registros de direccionamiento que permiten usar modos de direccionamiento avanzados para obtener los operandos desde memoria (datos o instrucciones) en forma eficiente. • Almacenan operandos y resultados de instrucciones como MULTIPLICACION y DIVISIÓN. • La parte baja (X) puede ser incrementada, decrementada, puesta a cero, complementada, negada, rotada o desplazada. • También puede ser transferida al Acumulador eficientemente REGISTRO DE ÍNDICE (H:X) Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  19. REGISTROS DE LA CPU STACK POINTER (SP) • El Registro de Puntero de Pila es un registro de 16 bits que es fundamental para el uso eficiente de interrupciones y para la implementación de lenguajes de alto nivel como C. • Permite establecer un lugar de almacenamiento dinámico, ubicado en la misma memoria RAM donde guardar temporalmente información, descartándola luego de ser usada. • Se debe tener precaución con la pila en microcontroladores con poco espacio de RAM, ya que si se abusa de su uso, puede producirse la situación llamada “desborde de pila” que lleva a un fallo del programa. Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  20. REGISTROS DE PERIFERICOS • Los periféricos usan registros de configuración, de programación y de resultados. • Están ubicados en dos secciones de la memoria. • Pagina Directa: entre las direcciones 0x0000 y 0x007F (128 Bytes) • Página Alta: entre las direcciones 0x1800 y 0x185F (96 Bytes) • La CPU accede a Página Directa más eficientemente que a otras direcciones. Por eso se colocan allí los registros de periféricos mas usados. • En Página Alta el acceso es menos eficiente y se colocan los registros que se usan pocas veces durante el programa. • Además hay otros registros especiales que se almacenan en FLASH en el momento de programar. Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  21. Memoria MEMORIA RAM • La Memoria RAM, es una memoria de lectura/escritura, en la cual los procesos de lectura y escritura se hacen a velocidad similar, compatible con la velocidad del reloj que controla la CPU. MEMORIA FLASH • La Memoria FLASH, Tambien es una memoria de lectura y escritura, pero la lectura puede hacerse a la velocidad del reloj de la CPU, mientras que la escritura es lenta, y necesita una scuencia de comandos especiales para realizarla. Por eso se utiliza para almacenar el código de programa Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  22. MAPA DE MEMORIA Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

  23. Hemos visto: • Partes de un Microcontrolador en general • Partes del Microcontrolador MC9S08SH8 • Partes que usaremos del MC9S08SH8 • Encapsulados del MC9S08SH8 • Modelo de Programación • Registros de la CPU 9S08 • Registros de Periféricos del MC9S08SH8 • Tipos de Memoria del MC9S08SH8 • Mapa de Memoria del MC9S08SH8 Introducción a la Programación en C sobre uC 9S08 de Freescale -SASE 2013-

More Related