Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

Siemens 80C167




Enviado por Pablo Turmero



    Monografias.com

    Objetivos
    Familiarizarse con el manejo de un micro (procesador/controlador)
    Arquitectura
    Organización de un SED
    Entender la documentación
    Entender la especificación de un SED
    Desde el punto de vista de la aplicación
    Desde el punto de vista del propio SED
    Requisitos de CPU
    Requisitos de memoria
    Requisitos de I/O
    Desarrollar habilidades de diseño y depuración de un SED
    Parte hardware
    Parte software (en C y/o Ensamblador)

    Monografias.com

    Programa
    Introducción
    Arquitectura del microcontrolador SIEMENS 80C167
    Registros
    Lenguaje Ensamblador: Juego de instrucciones
    Modos de direccionamieno
    Memoria y mapa de memoria
    Periféricos
    Puertos paralelo/serie
    Timers
    Otros: Displays, teclados, etc.
    Interrupciones
    Programación en alto nivel: Lenguaje C
    Proyecto
    Hardware/software

    Monografias.com

    Normas y bibliografía
    Evaluación (consultar información oficial)

    Nota = .7 Teoría+ .3 Lab
    Teoría
    .3 Pruebas intermedias + .7 Prueba final
    Habrá varias pruebas intermedias (Evaluación continua)
    Habrá ejercicios para casa (algunos evaluables)
    Se pedirá la participación del alumno en clase
    Incluso se podrán cambiar los porcentajes
    Fundamental: la asistencia

    Bibliografía
    Página WEB: Teoría, calendario, prácticas
    Manuales Siemens
    Libro de programación en C

    Monografias.com

    Introducción al SIEMENS 80C167

    Monografias.com

    SIEMENS 80C167
    Microcontrolador (Embedded Processor) de 16 bits
    ALU y Registros de 16 bits
    Diseñado para tareas de control industrial
    Robusto frente al ruido electromagnético
    P.e. PLC’s del LAB
    Rango direccionamiento: 16 Mbytes (memoria)
    Con memoria RAM interna
    Ciertas versiones disponen también de ROM interna
    Con muchos dispositivos integrados en el chip
    Controladores de comunicaciones serie
    Puertos paralelo
    Temporizadores (timers)
    Convertidor analógico/digital (A/D)
    Moduladores PWM (electrónica de potencia).

    Monografias.com

    Modelo de programador” del 167
    Memoria
    R8
    00 0000
    00 0001
    FF FFFF
    R9
    R12
    R10
    R14
    R13
    R15
    R0
    R1
    R4
    R3
    R2
    R6
    R5
    R7
    PC
    R11
    PSW
    SP
    Registros
    CPU
    00 FE00
    00 FE02
    00 FE0X
    I/O
    (GPR’s)
    (SFR’s)
    (SFR’s)

    Monografias.com

    Memoria
    Organizada en “celdas” de 1 BYTE (8 bits)
    Cada byte tiene su DIRECCIÓN
    Dada en 24 bits (16 Mbytes)
    Se accede a la memoria usando la dirección. Ejemplos
    Lectura/escritura (datos/direcciones: 1’s y 0’s)

    Registros (CPU): Posiciones de memoria de acceso rápido
    I/O. En el 167 el acceso a puertos es similar al acceso a memoria

    dato = READ (dirección)
    WRITE(dato, dirección)

    Monografias.com

    Primer ejemplo
    Suma de dos datos en ASS 167

    Suma (940)+(942) en (942)

    Para llenar R0 hacen falta dos bytes! (2 bytes por dato)
    En direcciones consecutivas de memoria (940/941)
    Parte baja del dato (en R0) en dirección par

    MOV R0,0x940 ; READ
    ADD R0,0x942
    MOV 0x942,r0 ;WRITE

    Monografias.com

    Más ejemplos: Programas en C y Ensamblador
    Primer ejemplo: bucle “for”
    En lenguaje C

    En lenguaje ensamblador
    N = 5; j en 00FA00 H ( j no está inicializada !)

    for (i=1; i N
    506 DD 05 JMPR cc_sgt,512 ; then goto 512H
    508 04 F1 00 FA ADD 0fa00,R1 ; j += 1
    50C 08 01 ADD R0,#1 ; i += 1
    50E FA 00 04 05 JMPR cc_uc,504 ; salto sin condición
    512

    Monografias.com

    Notas
    En Ensamblador más largo que en C
    Línea ensamblador = operación elemental
    “mov” de un dato de memoria-registro (registro-memoria)
    Suma dos datos
    Compara dos datos
    Saltos (con y sin condición)
    Las instrucciones se almacenan en memoria en formato BINARIO (1’s y 0’s)
    Las instrucciones ocupan 2 ó 4 bytes
    Las instrucciones se almacenan en posiciones de memoria CONSECUTIVAS. Se ejecutan en orden
    Salvo el los saltos
    La DIRECCIÓN (de memoria) de la próxima instrucción a ejecutar se almacena en el PC (Contador de Programa)

    Monografias.com

    Cómo se ejecuta un programa ?
    Dos pasos:
    Captura de la instrucción (Instruction Fetch, usando el PC)
    Ejecución (usando la ALU)

    Fetch: Trae la instrucción de memoria, incrementa PC
    CPU = MEM(PC); PC++;
    Execute: La ALU realiza la operación (suma, resta, etc.)

    Monografias.com

    Programa ensamblador
    Traduce las instrucciones de “pnemónico” a binario
    Por ejemplo, la instrucción

    Se convierte en (Codificación de instrucciones)

    Nuestra primera instrucción
    que suponemos cargada en la posición 500 H de memoria
    Tipos de ensambladores
    De línea: No soporta etiquetas (reside en el monitor de la tarjeta)
    De PC: Soporta etiquetas (reside en el PC)

    MOV R0,#1
    E0 10

    Monografias.com

    Ejemplo con etiquetas (ensamblador en PC)
    Las etiquetas facilitan la programación en ASS

    Los campos que forman una instrucción en ASS

    Los campos etiqueta y comentario son opcionales
    TAB si no se usa el campo de etiqueta

    MOV R0,#1 ; r0 (i)
    MOV R1,#1 ; auxiliar
    bucle: CMP R0,#5 ; if i>N
    JMPR cc_sgt,fin ; then goto ´fin’
    ADD 0fa00H,R1 ; j += 1
    ADD R0,#1 ; i += 1
    JMPS bucle ; = jmpr cc_uc,
    fin:
    etiqueta: operación operandos ;comentario

    Monografias.com

    Operaciones y operandos (resumen)
    Operaciones
    Transferencia: mov
    Aritméticas: add, sub, cmp, neg, mul, div
    Lógicas: and, or, cpl
    Desplazamientos: shr, shl
    Saltos: jmpr cc_uc (cc_eq, cc_ne, cc_ugt, cc_sgt, cc_ule, …)
    Operandos, modos de direccionamiento
    Inmediato: #1
    Directo a registro: R0
    Directo a memoria: 0fa00
    Indirecto: [R0]
    Números
    Decimal 15
    Hexadecimal 0fa00 H (0 por delante si empiezan por letra)
    Binario 01001000 B

    Monografias.com

    Modos de direccionamiento.
    Directo a registro
    mov r0,r1 ; R0

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter