|
directo | |
|
directo | |
|
||
|
||
|
directo | |
|
||
|
||
|
Criterios de evaluación de la asignatura
Tablón de Avisos:
Para ver los distintos avisos, pinche aquí.
Notas del examen de diciembre de 2014
Notas del acta de diciembre de 2014
Notas del examen de febrero de 2015
Notas del acta de febrero de 2015
Notas provisionales del examen de 22 de mayo de 2015
Notas provisionales del examen de 6 de julio de 2015
Horario de tutorías:
1er. Cuatrimestre:
Para tutorías por la tarde, antes debe consultarse al profesor para asegurarse de que esa semana las habrá.
LUNES |
Desde las 9:00 hasta las 12:00 |
MIÉRCOLES | Desde las 9:00 hasta las 12:00 |
Advertencia: el siguiente material,
correspondiente al curso 2011-2012 puede sufrir este curso actualizaciones
de última hora, así como la corrección de alguna errata
Borrador (actualizado a
oct-2008) de los primeros temas de la asignatura: 1, 2, 3, 4 y 7
Organización de las E/S (bibliografía Tema 5)
Transparencias del tema de
Entradas/Salidas
Transparencias del repertorio de instrucciones del 8086
Buses (bibliografía Tema 8)
Programación del microprocesador
8086
(capítulos 1,2,3,4,5 y 6 del libro Programación en lenguaje ensamblador
del microprocesador 8086, 2ª edición, ISBN 84-932299-X)
Código fuente de los
ejemplos del capítulo 7 del libro anterior
MUY IMPORTANTE: Recuérdese que las soluciones de estos ejemplos muchas veces empiezan con propuestas que contienen errores intencionados (del tipo de los que frecuentemente cometería un principiante) o enfoques muy poco eficientes o elegantes (son las versiones más avanzadas las que van corrigiendo o mejorando las soluciones). Por tanto, síganse los comentarios que se hacen en el capítulo 7 del libro para apreciar dónde están los errores y cómo se va optimizando el código propuesto (en relación con el uso del repertorio de instrucciones, los modos de direccionamiento, la lanificación de recursos y la implementación algorítmica).
Presentaciones Powerpoint:
El repertorio de instrucciones
El microprocesador 8086 (aspectos hardware)
Ejemplo de diseño de código en lenguaje ensamblador 8086
Foros
En Moodle se han abierto dos foros sobre los contenidos de la asignatura Informática Industrial. Se anima al alumnado a participar en estos foros. Una participación numerosas redundará en beneficio de todo el alumnado.
Prácticas de la asignatura:
Cada alumno podrá realizar las del curso en que las trabajó. Deberá comunicarse al profesor las de qué año realiza cada alumno y entonces se indicará las que son de obligada realización y las que son optativas.
Si algún alumno no hubiese trabajado nunca las prácticas, se recomiendo las del pasado curso 2011-2012:
Guiones de las prácticas 2013-2014 (completas, son las mismas que las del último curso impartido presencialmente) y sólo los enunciados en formato doc
Plantillas de las prácticas 2012-2013
Ejercicios:
Ejercicios de examen sin resolver
Ejercicios, de examen, de programación
en ensamblador 8086
Ejercicios, sin resolver, de microcontroladores
de la familia 8051.
Solución de algunos de
los ejercicios anteriores
Solución a los problemas
del examen del día 18 de febrero de 2005
(revisado y
con erratas corregidas)
Solución a los problemas del examen del día 4 de diciembre de 2006
Solución a los problemas del examen del día 8 de febrero de 2007
Solución a los problemas del examen del día 7 de febrero de 2008
Solución al examen del día 20 de septiembre de 2012
Solución al examen del día 11 de diciembre de 2012
Solución a los problemas del examen del día 8 de febrero de 2013
Solución al examen del día 7 de junio de 2013 (revisado y con erratas corregidas)
Solución al examen del día 6 de septiembre de 2013 (revisado y con erratas corregidas)
Solución al examen del día 30 de enero de 2014 (revisado y con erratas corregidas)
Solución al examen del día 6 de febrero de 2014 (revisado y con erratas corregidas)
Solución al examen del día 20 de mayo de 2014 (revisado y con erratas corregidas)
Solución al examen del día 25 de junio de 2014 (revisado y con erratas corregidas)
Solución al examen del día 12 de diciembre de 2014
Software:
Emulador de 8086 (más
abajo hay un comentario sobre esta herramienta.)
Otro depurador (CodeView)
(ver comentario) y Prontuario
del depurador
Otros:
Hojas de características de circuitos integrados clásicos
de la familia 8086 (OKI e Intersil):
- Microprocesador 80C86
- Controlador de
DMA 82C37
- Puerto paralelo
PPI 82C55
- Controlador de interrupciones
82C59
- Puerto serie USART
82C51
- Cerrojo octal 82C82
- Generador de reloj y control
82C84
- Transceptor 82C86
Enlaces interesantes a sitios relacionados con los procesadores 80x86:
Al día de la fecha de esta página, los enlaces están actualizados y son fiables. No obstante, dada la frecuencia con que los fabricantes de semiconductores revisan y modifican sus webs, podría darse el caso de que a día de hoy algún enlace haya quedado obsoleto; se agradecerá que avisen de tal circunstancia.
Plano del sitio de Intel
relacionado los microprocesadores
Manuales de los procesadores Intel Pentium 4 (Arquitectura IA64/IA32):
Cambios en
los manuales para el programador
Volumen
1 (Arquitectura Básica)
Volumen
2A (Repertorio de Instrucciones, A-M)
Volumen
2B (Repertorio de Instrucciones, N-Z)
Volumen
3A (Guía de Programación de Sistemas)
Volumen 3B (Guía de Programación de Sistemas)
Documentación técnica de los procesadores compatibles x86 de AMD (Advanced Micro Devices):
AMD Opteron
AMD Turion
AMD
Sempron
AMD
Athlon
AMD
Geode
Manuales de la arquitectura
AMD64:
Volumen
1: Programación de aplicaciones
Volumen
2: Programación de sistemas
Volumen
3: Instrucciones de propósito general y de sistema
Volumen
4: Instrucciones multimedia de 128 bits
Volumen
5: Instrucciones multimedia de 64 bits y de coma flotante x87
AMD64
Technology 128-Bit SSE5 Instruction Set
Software Optimization Guide for AMD64 Processors
Software Optimization Guide for AMD Family 10h Processors
Hojas de características de la circuitería de la familia 80C86, de Intersil
Página de Randall Hyde.
Muy interesante; entre otras cosas, aquí se encuentra The
art of assembly language, con información sobre la programación
en lenguaje ensamblador 8086. Aquí se podrá descargar gratis
un texto PDF, de más de 4 megas, con la versión de ensamblador
para 16 bits. Esta versión tiene algunos errores, especialmente
a partir del capítulo 12. La versión para miembros de la
familia 32 bits está libre de errores, aunque su enfoque es de programación
bajo Windows.
En esta página existen
enlaces
interesantísimos hacia otros sitios con información y
herramientas relacionadas con la programación en lenguaje ensamblador
80x86.
Emulador de 8086 : se trata de una aplicación bajo Windows que emula un PC virtual basado en el 8086. Permite editar código, ensamblarlo y depurarlo virtualmente . Desde octubre de 2006 ya es posible, de nuevo, descargarse la versión de evaluación (versión 4, que permite trabajar durante tres meses sin restricción alguna; pasado este tiempo, se bloquea).
Si se desea tener una interfaz en español de emu8086 (versión
2.57), descárguese este fichero(el
cual deberá ubicarse donde se encuentre el ejecutable de emu8086,
y lo mismo deberá hacerse con el fichero _msg.dat que se
encuentra en la carpeta Translation, de emu8086). Se agradecerá
que cualquier anomalía en la versión española se me
comunique (existe una, al desplegar la opción Depurar dentro
de la ventana que se abre al mostrar el emulador, desde la ventana principal;
pero este error es original y sucede también en la versión
en inglés). Aún no se ha verificado si este fichero funciona
con las versiones 3.10 o 4.0 de emu8086.
Enlaces interesantes a sitios relacionados con los microcontroladores de la familia 80C51:
Al día de la fecha de esta página, los enlaces están actualizados y son fiables. No obstante, dada la frecuencia con que los fabricantes de semiconductores revisan y modifican sus webs, podría darse el caso de que a día de hoy algún enlace haya quedado obsoleto; se agradecerá que avisen de tal circunstancia.
Literatura
de INTEL sobre las familias MCS51/251
Manual
de referencia de la familia MCS51 (la "biblia" de los 8051)(15
Megas)
Página
web de NXP (antes PHILIPS) sobre su línea de productos de la familia 80C51 (con
enlaces a documentos, software, etc...)
Página
web de ATMEL sobre su línea de productos de la familia 80C51 (con
enlaces a documentación, software, etc...)
Web sobre todo lo
relativo a los microcontroladores 80C51
Demo
de entorno de desarrollo de KEIL (uVision C51 version 8.18). Es Excelente.
Manual tutorial o prontuario del
entorno de desarrollo uVision 4 de Keil
Demo
de entorno de desarrollo de RAISONANCE
Búsqueda
de herramientas de programación gratis para 80C51 (Google)
Fabricantes de dispositivos de la familia 8051 (incluyendo las versiones de 16 bits 251 y XA, así como otros dispositivos especiales. En negrita los fabricantes que más derivados ofrecen actualmente):
Analog
Devices (Familia ADuC8xx: dispositivos especiales MicroConverter®,
con ADC y DAC de gama alta)
Atmel (antes
Temic)
Cypress
(familias EZ-USB FX1, control USB. Eran de AnchorChips antes de ser adquirida esta empresa por
Cypress)
Dallas
Infineon
(antes Siemens)
ISSI (Integrated Silicon
Solution Inc.) MCUs
para tarjetas inteligentes
Intel
NXP
(derivados 80C51)
NXP
(familia XA)
Ramtron
Silicon Laboratories
(antes Cygnal)
ST
(familia
uPSD)
Texas Instruments (Familia MSC,
de Burr-Brown, ahora de TI. Es un núcleo 80C51 con conversores de
alta resolución)
Nuvoton (antes Winbond)
Otros:
Synopsys
(no es fabricante, pero ofrece una macrocélula, núcleo C51,
que puede usarse en la síntesis de ASIC o FPGA)
De manera similar, existen otras muchas empresas que también
ofreces núcleos sintetizables 80C51. Frecuentemente se trata de
el modelado del núcleo en un lenguaje descriptor hardware,
tipo VHDL por ejemplo, que el usuario puede utilizar e integrarlo junto
con su propio modelado de otros elementos o periferia adicional. Con las
oportunas herramientas de síntesis (compilador VHDL, simulador,
etcétera) es posible pasar a silicio (ASIC o FPGA, típicamente)
el dispositivo así modelado. Estos núcleos pueden ser de
libre uso o de tipo IP (intellectual property), en cuyo caso es
necesario el pago de los derechos oportunos. Los núcleos libres
suelen ser bastante básicos o carecer de la correspondiente verificación
de que funcionan correctamente al 100%.
Para encontrar empresas que ofrezcan estos núcleos puede utilizarse
un buscador, Google, por ejemplo, y poner como parámetro de búsqueda
8051
ip core, u 8051
ip core +VHDL, por ejemplo.
Disponibles más próximamente...
Página actualizada al día 6 de
febrero de 2015.