Problema 1.- Determine qué instrucciones permiten leer y escribir datos en la zona de registros de entrada/salida.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Problema 1.- Determine qué instrucciones permiten leer y escribir datos en la zona de registros de entrada/salida."

Transcripción

1 Problema 1.- Determine qué instrucciones permiten leer y escribir datos en la zona de registros de entrada/salida. Solución propueta: Atendiendo, exclusivamente, a las instrucciones de transferencia o movimiento de datos, se tienen: a) Instrucción MOV. Permite leer y copiar el contenido de un registro del banco de registros de propósito general, hacia otro registro del banco. b) Instrucción LDI. Escribe un dato inmediato de tamaño byte en cualquiera de los registros r16..r31 del banco. c) Instrucciones LD y ST, que utilizan modos de direccionamiento indirectos en cualquiera de sus modalidades (indirecto, con postincremento y con predecremento). Las primeras, instrucciones LD, cargan un dato en cualquiera de los 32 registros, mientras que las segundas, leen cualquiera de ellos. Además, dependiendo de la dirección referenciada por el registro X,Y o Z que se utilice, la instrucción LD podrá leer un registro del banco, mientras que la ST, además, podrá escribir el dato en algún registro. d)instrucciones LDD y STD, que utilizan el modo de direccionamiento indirecto con desplazamiento. Véase apartado c). e) Instrucciones IN y OUT. Intercambia bytes entre el banco de registros de propósito general y el banco de registros de entrada salida. f) Instrucciones LDS y STS, que utilizan el modo de direccionamiento directo. Uno de los operandos de ambas instrucciones es un registro del banco, mientras que el otro, una dirección absoluta, puede hacer referencia, también, dependiendo del valor de dirección, a otro registro del banco. g) Instrucciones PUSH y POP. Intercambia bytes entre la PILA y algún registro del banco. Problema 2.- Se desea diseñar una subrutina que permita sumar 20 bytes (positivos) almacenados a partir de la dirección $60 de la SRAM y almacenar el resultado en el registro R0( supóngase que no existe desbordamiento). Solución propuesta: Se inicializará el registro Z apuntando a la dirección $60 de RAM, donde comienzan los 20 bytes que han de sumarse. Cont=R16 Zlow=R30 Zhigh=R31 LDI Zhigh,0 LDI Zlow,$60 ;Puntero o registro Z = $0060 LDI Cont,0 ;Cont=0 Microprocesadores 19/12/06 1

2 CLR R0 ;R0=0 Bucle: LD R1,Z+ ADD R0,R1 INC Cont CPI Cont,20 BRNE Bucle Problema 3.- Repita el apartado anterior para el caso de que exista desbordamiento. (El resultado se almacena en las dirección $80 y $81). Solución propuesta: El resultado, temporalmente, se almacena en los registros r0 (parte más significativa) y r1 (la menos significativa). Zlow=R30 Zhigh=R31 ResH=R0 ResL=R1 Zero=R3 LDI Zlow,$60 LDI Zhigh,$0 ;Puntero o registro Z = $0060 LDI Cont,0 ;Cont=0 CLR ResH ;Res=0 CLR ResL CLR Zero ;Zero=0 Bucle: LD R2,Z+ ADD ResL,R2 ADC ResH,Zero ;Res =Res + Dato INC Cont CPI Cont,20 BRNE Bucle STS $80,ResH STS $81,ResL Problema 4.- Se desea diseñar un programa para el microcontrolador AT90S2313 que permita multiplicar dos números almacenados en los registros r1 y r2 y almacenar el resultado correcto a partir de la dirección de memoria $60 de la SRAM. Se requiere un diagrama de flujo y la definición de las variables usadas. Solución propuesta: Se aplicará el método de sumas sucesivas, sumando r2 tantas veces como indique el registro r1. Microprocesadores 19/12/06 2

3 A=R2 B=R1 Zero=R0 MULH=R16 MULL=R17.ORG 0x0 CLR Zero ;Pone a cero la variable Zero que se utilizará, después, para comparar con B CLR MULH CLR MULL ;Resultado temporal de la multiplicación MUL=0 Bucle: CP B,Zero BREQ Salto ADD MULL,A ADC MULH,Zero DEC B Bucle Salto: STS $60,MULH STS $61,MULL Fin: Fin Problema 5.- A partir de la dirección $60 se han almacenado, consecutivamente, 16 bytes de datos. Se pide la realización de un programa que obtenga el número de bits a 1 lógico que se encuentran en dichos 16 bytes, y lo almacene en el registro R16. Como paso previo a la realización del programa, se debe realizar una subrutina que permita obtener el número de bits a 1 existentes en el registro R1, y almacenar el resultado en el registro R2. El programa principal debe usar, obligatoriamente, dicha subrutina. Solución propuesta: Se utilizará el puntero Z para acceder, consecutivamente, a los 16 bytes de datos. Por otro lado, el resultado, RES, será de tamaño byte porque, en el peor de los casos, se obtendría 16*8=128 < 255. Zlow=R30 Zhigh=R31 InRutina=R1 OutRutina=R2 Cont=r16 Res=r17 ContRutina=R18 TEMP=R20.ORG LDI OUT CLR 0x0 TEMP,$DF SPL,TEMP Zhigh Microprocesadores 19/12/06 3

4 LDI Zlow,$60 ;Registro Z=$0060 CLR Cont ;Cont=0 CLR Res ;Res=0 Bucle: LD InRutina,Z+ RCALL Rutina ADD Res,OutRutina ;Res+=OutRutina INC Cont CPI Cont, 16 BRNE Bucle Fin: Fin Rutina: CLR ContRutina ;ContRutina = 0 CLR OutRutina ;OutRutina = 0 BucleRutina: LSR InRutina BRCC Salto INC OutRutina Salto: INC ContRutina CPI ContRutina,8 BRNE BucleRutina Problema 6.- Configure el AT90S2313 para que genere interrupciones cada 5ms aproximadamente, sabiendo que este microcontrolador dispone de un oscilador de cuarzo de 1Mhz. Solución propuesta: El intervalo de generación de interrupciones, Tint, se obtiene combinando el periodo de reloj, Tclk, que según el enunciado es de 1μs, el valor del prescaler, y el contenido del propio registro TCNT0. Tint = Tclk x PRESCALER x TCNT0 Se han de tener presentes las límitaciones del PRESCALER y el registro TCNT0. El primero sólo introduce factores multiplicativos de 1, 8,64, 256 y 1024, mientras que, el segundo, puede tener cualquier valor inferior a 256, por ser un contador de 8 bits. En la siguiente tabla se muestran todos los valores posibles de TCNT0, atendiendo a los diferentes escalas del PRESCALER y junto con el error que se comete en cada caso. TCNT0 = 5ms/( 1μs x PRESCALER) PRESCALER= TCNT0 (Exacto)= TCNT0= Error > > , μs , μs , μs Microprocesadores 19/12/06 4

5 Como puede observase en la tabla anterior, el valor real con el que deberá cargarse el contador TCNT0 procede de un redondeo del valor exacto. A partir de dicho valor redondeado, se procede a determinar la temporización real conseguida. Su diferencia con la enunciada en el problema determina el error que se muestra en la última columna de la tabla. De todas las opciones posibles que permiten generar interrupciones cada 5ms, la mejor será aquella que cometa un menor error y que, según lo mostrado en la tabla, se corresponde con la que tiene un prescaler de 64. Obsérvese que el TCNT0 para dicha opción, es de 78, pero que el valor que hay que cargar, en realidad, en el TCNT0 es igual a , ya que las interrupciones se generan cuando el timer se desborda, es decir, cuando él pasa de 255 a 0. Así mismo, para conseguir mantener la periodicidad en la generación de interrupciones, la rutina de interrupción debe recargar este valor en el TCNT0..INCLUDE 2313DEF.INC ;Incluye el fichero de definiciones de los registros del microcontrolador. TEMP=R16.ORG.ORG 0x0 main 0x6 int Main: LDI TEMP,$3 OUT TCCR0,TEMP ;Configura el prescaler = 64 LDI TEMP,$DF OUT SPL,TEMP ;Inicializa el puntero de PILA LDI TEMP, OUT TCNT0,TEMP ;Carga en el registro TCNT0. LDI TEMP,0x2 OUT TIMSK, TEMP ; Habilita la generación de interrupciones por TOV0 SEI ;Habilitación de interrupciones en el SREG.... Int: IN TEMP, SREG PUSH TEMP LDI TEMP, OUT TCNT0,TEMP ;Carga en el registro TCNT0.... POP TEMP OUT SREG,TEMP I Problema 7.- El sistema digital de la figura está construido con un microcontrolador AT90S2313, dos registros de 8 bits (74573) y 2 visualizadores de siete segmentos. Se desea obtener un conjunto de subrutinas que permitan la representación de cualquier número entre 0 y 99 en los displays de 7 Microprocesadores 19/12/06 5

6 segmentos. Además se pide definir las interconexiones entre el microcontrolador y los latches y entre estos últimos y los displays de siete segmentos. a f b LATCH [8] e g c AT d h a LATCH [8] f e g b c d h Solución propuesta: Como se observa en la figura del enunciado, se utilizará un puerto, por ejemplo el PORTB, como bus que interconecta ambos latches con el microcontrolador. La conexión se lleva a cabo utilizando los pines D de cada latch. Además, para que estos registros capturen los datos que el microcontrolador sitúa en el bus, o puerto B, se deberán activar sendas señales, LE, manejadas por dos pines del puerto D del microcontrolador. Los terminales OE de cada registro deberán ponerse a tierra, para que estos estén continuamente activando los leds de los displays de 7 segmentos, que son del tipo cátodo común. La siguiente tabla resume una posible solución de interconexión. Microcontrolador Input Latches Output Display de 7 segmentos PB0 1D 1Q Segmento a PB1 2D 2Q Segmento b... PB6 7D 7Q Segmento g PB7 8D 8Q Segmento h PD0 PD1 LE1 LE2 La tabla con los códigos 7 segmentos se hará residente en la memoria de programa. Se accederá a un elemento de la tabla, utilizando la instrucción LPM. Se recuerda que esta instrucción requiere que el registro Z apunte a la zona de la memoria de programa donde se encuentra la tabla y, según si el contenido de Z es par o impar, se accederá al byte bajo o alto, respectivamente. Dicho byte se deposita en el registro R0. Microprocesadores 19/12/06 6

7 Supondremos que la rutina a diseñar recibe el número que tiene que representar en los displays en el formato BCD: Número La rutina recibe el número N en un registro. Cada dígito del mismo, se utilizará para obtener, junto con el registro Z, el código 7 segmentos correspondiente, el cual se sitúa en el puerto B y se genera el pulso en el pin PD para proceder a su carga. Se repite el procedimiento con el otro dígito..include 2313DEF.INC ;Incluye el fichero de definiciones de los registros del microcontrolador. TEMP=R16 N=R17.CSEG Tabla7seg:.DW 0x063F, 0x4F5B,... ; Tabla con códigos 7 segmentos... Rutina: LDI ZLOW, low(2*tabla7seg) LDI ZHIGH,high(2*tabla7seg) ;Z apuntando al inicio de la tabla MOV CLR TEMP,N ZERO ANDI TEMP,$0F ;Quita el dígito más significativo ADD ZLOW,TEMP ;Modifica Z para que apunte al código 7 segmentos del dígito LSB a representar. ADC ZHIGH,R1 Microprocesadores 19/12/06 7

8 LPM OUT PORTB, R0 ;Coloca el código 7 segmentos en el puerto SBI PORTD, 0 ;Activa el pin LE1 NOP CBI PORTD,0 ;Desactiva el pin LE1, el dato ya está cargado en el latch 1 LDI ZLOW, low(2*tabla7seg) LDI ZHIGH,high(2*tabla7seg) ;Z apuntando al inicio de la tabla MOV LSR LSR LSR LSR TEMP,N TEMP TEMP TEMP TEMP ANDI TEMP,$0F ;Quita el dígito más significativo CLR R1 ADD ZLOW,TEMP ;Modifica Z para que apunte al código 7 segmentos del dígito LSB a representar. ADC LPM ZHIGH,R1 OUT PORTB, R0 ;Coloca el código 7 segmentos en el puerto SBI PORTD,1 ;Activa el pin LE2 NOP CBI PORTD,1 ;Desactiva el pin LE2, el dato ya está cargado en el latch 2 NOTA: La rutina requiere la configuración de los pines del puerto B y los pines PD1 y PD0, como salidas. conf_pines: LDI R16,0XFF OUT DDRB,R16 LDI R16,3 OUT DDRD,R16 Problema 8.- Repita el ejercicio anterior para las siguiente estructura en la que se ha eliminado los latches. Además la alimentación de los displays dispone de unos transistores conectados, a través de resistencias, con salidas del microcontrolador. Esto implica que cuando la salida del microcontrolador está a 1, el transistor se activa permitiendo el flujo de corriente hacia el display correspondiente, mientras que si la salida está a 0 el transistor se desactiva provocando el corte de suministro al display, por lo que sus diodos se apagan. Microprocesadores 19/12/06 8

9 VCC VCC a a 1MHZ AT f g b f g b e c e c d h d h Solución propuesta: En este caso, se procederá a diseñar una rutina de interrupción que genere la secuencia de refresco y represente cada dígito a partir del número N (también BCD, ver problema anterior), almacenado en un registro determinado. Obsérvese que, ahora, los displays son del tipo ánodo común, por tanto, el código 7 segmentos de cada dígito BCD es la versión complementada del problema anterior (si se asume que las conexiones entre cada segmento a...h y los bits del puerto B, son las mismas). Dos pines del puerto D, PD1, y PD0, portarán la secuencia de refresco que tendrá una periodicidad de 100Hz (T = 10ms), con objeto de reducir molestos parpadeos. La interrupción del timer0 debe ser programada y con un periodo de 5ms (suponemos que la frecuencia de reloj es de 1MHz). Cada vez que se ejecute, se procederá a activar un nuevo dígito y a colocar su código 7 segmentos en el puerto B..INCLUDE 2313DEF.INC ;Incluye el fichero de definiciones de los registros del microcontrolador. TEMP=R16 N=R17 SEC=R18 ;Secuencia de refresco.org 0x0 main.org 0x6 int Main: LDI TEMP,$3 OUT TCCR0,TEMP ;Configura el prescaler = 64 LDI TEMP,$DF OUT SPL,TEMP ;Inicializa el puntero de PILA LDI TEMP, OUT TCNT0,TEMP ;Carga en el registro TCNT0. Microprocesadores 19/12/06 9

10 LDI TEMP,0x2 OUT TOIE0, TEMP ; Habilita la generación de interrupciones por TOV0 SEI ;Habilitación de interrupciones en el SREG. LDI TEMP,3 OUT DDRD,TEMP ;Configura PD1,PD0 como salidas LDI TEMP,$FF OUT DDRB,TEMP ;Configura el puerto B como salida LDI SEC,0 ;Contiene el dígito que se activará (0=LSB, 1=MSB)... Int: IN TEMP, SREG PUSH TEMP LDI TEMP, OUT TCNT0,TEMP ;Carga en el registro TCNT0. CPI SEC,0 BREQ MostrarMSB MostrarLSB: CLR SEC MOV TEMP,1 OUT PORTD,TEMP ;Activa el pin PD0 y desactiva el pin PD1 MOV TEMP,N ANDI TEMP,$F Mostrar7seg MostrarMSB: LDI SEC,1 MOV TEMP,2 OUT PORTD,TEMP ;Activa el pin PD1 y desactiva el pin PD0 MOV TEMP,N LSR TEMP LSR TEMP LSR TEMP LSR TEMP ANDI TEMP,$F Mostrar7seg: LDI ZLOW, low(2*tabla7seg) LDI ZHIGH,high(2*tabla7seg) ;Z apuntando al inicio de la tabla ADD ZLOW, TEMP LPM OUT PORTB,R0 POP TEMP OUT SREG,TEMP I Tabla7seg:.DW $7940, $ ;Tabla de códigos 7 segmentos. Problema 9.- Se desea diseñar un programa para el microcontrolador AT90S2313 que permita el contaje del número de veces que se pulsa una tecla conectada al puerto PB0 (tecla pulsada = 0, tecla sin pulsar =1), y muestre el valor de cuenta en un display de siete segmentos, tal como muestra la siguiente figura. (Se entiende que sólo es posible mostrar del 0 al 9 y por tanto se supone que no se Microprocesadores 19/12/06 10

11 generan más de esas pulsaciones). Se requiere el diagrama de flujo del programa, así como la definición de las posiciones ocupadas por cada variable. 5v PB0 1MHZ AT a f b g e c d h Solución propuesta: Aunque el enunciado del problema indica claramente que no se esperan recibir más de nueve pulsaciones, la solución que se muestra a continuación permite presentar el dígito menos significativo del número de pulsaciones realizadas. El puerto D se configura como salida y se utiliza para mostrar los códigos 7 segmentos del dígito LSB del número a representar. El pin 0 del puerto B se configura como entrada. Un 0 indica pulsación, mientras que un 1, liberación..include 2313DEF.INC ;Incluye el fichero de definiciones de los registros del microcontrolador. TEMP=R16 N=R17.ORG 0 Main: LDI TEMP,$DF OUT SPL,TEMP ; Inicia el puntero de PILA LDI TEMP,$7F OUT DDRD,TEMP ;Configura el puerto D como salida CBI DDRB,0 ;Configura el pin PB0 como entrada CLR N ;N=0 Pulsacion: SBIC PINB,0 Pulsacion ;Espera hasta que se presione la tecla INC N CPI N,10 BRCC Salto ;Si N>=10, entonces N=0 CLR N Salto: RCALL Presenta Microprocesadores 19/12/06 11

12 Liberacion: SBIS PINB,0 Liberacion ;Espera hasta que la tecla se libere nuevamente. Pulsacion Presenta: LDI ZLOW, low(2*tabla7seg) LDI ZHIGH,high(2*tabla7seg) ;Z apuntando al inicio de la tabla CLR R1 ADD ZLOW,N ;Suma el número de pulsaciones (N=0..9) ADC ZHIGH,R1 LPM OUT PORTD,R0 ;Coloca el código 7 segmentos en el puerto D Tabla7seg:.DW 0x063F, 0x4F5B,... ; Tabla con códigos 7 segmentos Problema 10.- Se desea diseñar un sistema que permita regular un cruce mediante semáforos tal y como se representa en la siguiente figura Los semáforos constan de luces de aviso a peatones, por lo que cada uno de ellos consta de 5 luces diferentes. El semáforo 1 y 3 se comportan de idéntica forma, y lo mismo ocurre con el 2 y 4. Es evidente que cuando los semáforos 1 y 3 permiten el tráfico por sus correspondientes vías, los 2 y 4 deben prohibirlo y a la inversa. El modo de funcionamiento de cada semáforo debe ser: La luz roja se mantiene encendida durante 30 segundos La luz verde durante 25 segundos La luz ámbar durante 5 segundos Microprocesadores 19/12/06 12

13 Cuando la luz verde se encuentra encendida, la bombilla roja que prohibe el paso de peatones debe estar activada. Cuando la luz roja se encuentra encendida, la bombilla verde del paso de peatones debe estar activada, salvo en los 10 últimos segundos en el que esta debe parpadear con un periodo de 1 segundo. Se supone que la frecuencia de reloj es de 1Mhz. Solución propuesta: El funcionamiento del cruce semafórico se resume en la siguiente tabla para los semáforos 1 y 2. Semáforo 1 Semáforo 2 S0 S1 S2 S3 S4 S5 Segundos= Luz Roja Luz Ámbar Luz Verde Luz RojaP Luz VerdeP Luz Roja Luz Ámbar Luz Verde Luz RojaP Luz VerdeP La variable segundos (acotada entre 0 y 59) y que se incrementa periódicamente, determina el funcionamiento del cruce. Si el contenido de la variable es inferior a 20, se deben activar la luz roja y la verde de peatón del semáforo 1 y la luz verde y roja de peatón del semáforo 2. Si el contenido de esa variable está comprendido entre 20 y 24 (ambos extremos incluidos), la luz verde de peatón del semáforo 1 debe empezar a parpadear cada segundo (obsérvese que si la variable segundos es impar, la luz debe estar apagada y si es par, encendida), y así sucesivamente, según lo descrito en la tabla, siguiendo una secuencia de seis estados (columnas en la tabla) repetitiva. Para controlar el cruce se necesitan 10 salidas o pines del microcontrolador, según se recoge en la siguiente tabla. Luz Roja Luz Ámbar Luz Verde Luz RojaP Luz VerdeP Semáforos 1 y 3 PB0 PB1 PB2 PB3 PB4 Semáforos 2 y 4 PD0 PD1 PD2 PD3 PD4 Para cada uno de los estados (S0-S5) por los que debe pasar el automatismo del cruce, las salidas del microcontrolador deben ser (usando las dos tablas anteriores): Microprocesadores 19/12/06 13

14 S0 S1 S2 S3 S4 S5 PORTB 0x11 0x11 o 0x01 0x11 o 0x01 0xC 0xC 0xA PORTD 0xC 0xC 0xA 0x11 0x11 o 0x01 0x11 o 0x01 También se deberá configurar el TIMER0 para que genere interrupciones de forma periódica, e incremente la variable Segundos de forma autónoma al programa principal. Según la frecuencia de reloj del microcontrolador, 1Mhz, se puede establecer interrupciones periódicas cada 10ms aproximadamente, si el prescaler está configurado a 256, y el timer0 genera desbordamientos cada 39 ciclos (Tint = 39 x 1024 x 1μs = 9,984ms). Cada vez que se ejecute la rutina de interrupción, se incrementará la variable Aux, que permitirá incrementar, a su vez, la variable Segundos, cuando aquella alcance el valor de 100..INCLUDE 2313DEF.INC ;Incluye el fichero de definiciones de los registros del microcontrolador. TEMP=R16 Segundos=R17 AUX=R18.ORG 0x0 main vector del RESET.ORG 0x6 int vector del TIMER0 Main: LDI TEMP,$34 OUT TCCR0,TEMP ;Configura el prescaler = 256 LDI TEMP,$DF OUT SPL,TEMP ;Inicializa el puntero de pila LDI TEMP, OUT TCNT0,TEMP ;Carga en el registro TCNT0. LDI TEMP,0x2 OUT TOIE0, TEMP ; Habilita la generación de interrupciones por TOV0 SEI CLR CLR LDI Segundos AUX TEMP,$1F ;Habilitación de interrupciones en el SREG. OUT DDRB,TEMP :Configura los pines del puerto B como salidas que activan las luces de los semáforos 1 y 3 OUT DDRD,TEMP :Configura los pines del puerto D como salidas que activan las luces de los semáforos 2 y 4 S0: LDI TEMP, $11 OUT PORTB,TEMP ;Activa luces del semáforo 1 según el estado S0 LDI TEMP, $0C OUT PORTD,TEMP ;Activa luces del semáforo 2 según el estado S0 EsperaS0: CPI Segundos,20 BRCS EsperaS0 Microprocesadores 19/12/06 14

15 S1: SBRS Segundos,0 ;Comprueba si el bit 0 de la variable segundos es 0 o 1. Dependiendo de su valor, se activa, o no, la luz verde de peatón. saltos1 CBI PORTB,4 ;Apaga verde de peatón EsperaS1 saltos1 SBI PORTB,4 ;Activa verde de peatón EsperaS1: CPI Segundos,25 BRCS S1 S2: OUT PORTD,$A ;Activa luz ámbar y apaga la luz roja del semáforo 2. BucleS2 SBRS Segundos,0 ;Comprueba si el bit 0 de la variable segundos es 0 o 1. Dependiendo de su valor, se activa, o no, la luz verde de peatón. saltos2 CBI PORTB,4 ;Apaga verde de peatón EsperaS2 saltos2 SBI PORTB,4 ;Activa verde de peatón EsperaS2: CPI Segundos,30 BRCS BucleS2 S3: LDI TEMP, $0c OUT PORTB,TEMP ;Activa luces del semáforo 1 según el estado S3 LDI TEMP, $11 OUT PORTD,TEMP ;Activa luces del semáforo 2 según el estado S3 EsperaS3: CPI Segundos,50 BRCS EsperaS3 S4: SBRS Segundos,0 ;Comprueba si el bit 0 de la variable segundos es 0 o 1. Dependiendo de su valor, se activa, o no, la luz verde de peatón. saltos4 CBI PORTD,4 ;Apaga verde de peatón EsperaS4 SaltoS4: SBI PORTD,4 ;Activa verde de peatón EsperaS4: CPI Segundos,55 BRCS S4 S5: OUT PORTB,$A ;Activa luz ámbar y apaga la luz roja del semáforo 1. BucleS5 SBRS Segundos,0 ;Comprueba si el bit 0 de la variable segundos es 0 o 1. Dependiendo de su valor, se activa, o no, la luz verde de peatón. saltos5 CBI PORTD,4 ;Apaga verde de peatón EsperaS5 saltos5 SBI PORTD,4 ;Activa verde de peatón EsperaS5: CPI Segundos,60 BRCS BucleS5 Int: PUSH TEMP CLR Segundos ;Borra la variable segundos, para iniciar un nuevo ciclo S0 ;Vuelve al estado S0. IN PUSH LDI TEMP, SREG TEMP TEMP, Microprocesadores 19/12/06 15

16 Fin_int OUT TCNT0,TEMP ;Carga en el registro TCNT0. INC CPI BRNE INC CLR POP OUT POP I AUX AUX,100 Fin_int Segundos AUX TEMP SREG,TEMP TEMP Problema 11.- Se desea comunicar un sistema basado en el AT90S2313 con un PC a través de un puerto serie usando un enlace full-dúplex a 9600bps, 8 bits de datos, 1 bit de stop y sin paridad. Diseñe la rutina que permita configurar la UART para tal efecto suponiendo que la frecuencia de reloj es de 4Mhz. Config_UART: LDI R16,$18 ;Configura recepción y transmisión sin generación de intrrupciones. Transmisión con ;8 bits de datos y sin posibilidad de transmitir un noveno bit. Sólo se puede configurar ;un único bit de stop. OUT UCR,R16 LDI R16,25 ;Se aplica la relación BAUD= Fclk/(16*(UBRR+1)). UBRR=25 OUT UBRR,R16 Problema 12.- Diseñe una rutina que permita transmitir un conjunto de N bytes almacenados a partir de la dirección Buffer_tx de la memoria de datos..equ N=... CONT=R16.. rutina_tx: LDI CONT,,N ;Inicializa el contador con el número de bytes a transmitir LDI ZL,lowBUFFER_TX) LDI ZH,high(BUFFER_TX) ;Inicializa el registro Z Espera: SBIS USR,UDRE ;Espera a que el buffer de transmisión esté vacío Espera LD R0,Z+ OUT UDR,R0 ;Transmite el dato DEC CONT CPI CONT,0 BRNE Espera....DSEG BUFFER_TX:.BYTE N Microprocesadores 19/12/06 16

17 Problema 13.- Repita el problema anterior siguiendo una configuración por interrupciones..equ N=... CONT=R16...ORG $8 rutina_tx:... rutina_tx: LD R0,Z+ OUT UDR,R0 ;Transmite el dato DEC CONT CPI CONT,0 BRNE FIN CBI UCR,UDRIE FIN: I....DSEG BUFFER_TX:.BYTE N Config_UART: LDI R16,$38 ;Configura recepción y transmisión con intrrupción de transmisor. Transmisión con ;8 bits de datos y sin posibilidad de transmitir un noveno bit. Sólo se puede configurar ;un único bit de stop. OUT UCR,R16 LDI R16,25 ;Se aplica la relación BAUD= Fclk/(16*(UBRR+1)). UBRR=25 OUT SEI UBRR,R16 LDI CONT,,N ;Inicializa el contador con el número de bytes a transmitir LDI ZL,low(BUFFER_TX) LDI ZH,high(BUFFER_TX) ;Inicializa el registro Z Problema 14.- Diseñe una subrutina que permita almacenar, a partir de la dirección de memoria Buffer_rx, el conjunto de datos que se han recibido por la UART. El tamaño de la zona reservada a almacenar los datos recibidos es de N bytes. La subrutina, irá depositando los datos recibidos en posiciones consecutivas hasta el tope. Una vez alcanzado éste, se proseguirá almacenando datos a partir de la dirección inicial. Supóngase que la rutina no debe quedarse esperando la recepción de un dato, de forma que, cada vez que se invoque, si existe un dato éste se leerá y almacenará, devolviendo el control al programa principal y, si no existe dato, simplemente, la rutina devuelve el control al programa principal..equ N=... CONT=R16 Microprocesadores 19/12/06 17

18 Config_UART: LDI R16,$10 ;Habilita recepción OUT UCR,R16 CLR CONT ; Inicializa el contador LDI ZL,low(BUFFER_RX) LDI ZH,high(BUFFER_RX) ;Inicializa el registro Z rutina_rx: SBIS USR,RX IN R0,UDR ST R0,Z+ INC CONT CPI CONT, N BRNE FIN CLR CONT ; Inicializa el contador LDI ZL,low(BUFFER_RX) LDI ZH,high(BUFFER_RX) ;Inicializa el registro Z FIN:.DSEG BUFFER_RX:.BYTE N Problema 15.- Repita el problema anterior siguiendo una configuración por interrupciones..equ N=... CONT=R16.ORG $7 rutina_rx Config_UART: LDI R16,$90 ;Habilita recepción por interrupciones OUT UCR,R16 CLR CONT ; Inicializa el contador LDI ZL,low(BUFFER_RX) LDI ZH,high(BUFFER_RX) ;Inicializa el registro Z SEI rutina_rx: IN R0,UDR ST R0,Z+ INC CONT CPI CONT, N BRNE FIN CLR CONT ; Inicializa el contador LDI ZL,low(BUFFER_RX) LDI ZH,high(BUFFER_RX) ;Inicializa el registro Z Microprocesadores 19/12/06 18

19 FIN: I.DSEG BUFFER_RX:.BYTE N Problema 16.- Se desea diseñar una subrutina que permita configurar la UART a 2400bps y en canal full-dúplex. Se deben habilitar la generación de interrupciones por recepción y por búffer de transmisión vacío. La SDU podría contener un bit de paridad? En caso afirmativo haga una función que permita calcularlo e introducirlo en la SDU y otra que se invoque cada vez que existe un dato nuevo y permita determinar si hay, o no, error de paridad. La SDU podría contener 2 bits de stop?. En caso afirmativo, indique cómo. Es posible que la SDU contenga un número de bits menor a 8?. Supóngase que la frecuencia de reloj del Microcontrolador es de 4Mhz. Solución propuesta: Existen varios apartados en este problema. En primer lugar se procederá a realizar una rutina que permita establecer una comunicación full-duplex a 2400bps que sea gestionada mediante interrupciones. Registro UCR. Su contenido debe ser $B8. Esto permite habilitar el receptor (RxEN), el transmisior (TxEN), interrupciones de recepción (RxCIE) y de buffer de transmisión vacío (UDRIE). Registro UBRR. Configura la velocidad de TX y RX según la relación BAUD= Fclk/(16*(UBRR+1)). Puesto que BAUD=2400, Fclk=4Mhz, despejando UBRR de la relación anterior, se obtiene un valor igual a 103. Config_UART: LDI R16,$B8 OUT UCR,R16 LDI R16,103 OUT UBRR,R16 SEI ;Habilitación global de interrupciones. La SDU podría contener un bit de paridad? En caso afirmativo haga una función que permita calcularlo e introducirlo en la SDU y otra que se invoque cada vez que existe un dato nuevo y permita determinar si hay, o no, error de paridad. La SDU que genera la UART del microcontrolador, permite la transmisión y recepción de un noveno bit, a continuación del octavo bit de datos. Esta opción debe programarse activando el bit 2 (CHR9) del registro UCR. Una vez activada la función, el noveno bit que se transmite en la SDU se recoge del bit 0 del UCR, denominado TXB8, y el noveno bit recibido, se almacena, para su posterior lectura, en el bit 1 del UCR (RXB8). Desgraciadamente, la UART no contiene ninguna electrónica adicional que permita generar o chequear el noveno bit, en el caso en el que éste se escoja como bit de paridad. Esta operación hay que realizarla mediante software. Supongamos que se trata del bit de paridad par y que el dato a enviar se encuentra en un registro de propósito general. Dato=R18 TEMP=R16 Cont=R17 Microprocesadores 19/12/06 19

20 Iteracion=R19....ORG $007 Recibe_dato ;Vector de interrupción de dato recibido. Envia_dato ;Vector de interrupción de buffer de transmisión vacío.... Config_UART: LDI R16,$BC ;Configura también el envío y recepción de 9 bits de datos. OUT UCR,R16 LDI R16,25 OUT UBRR,R16 SEI ;Habilitación global de interrupciones. Envia_dato: IN TEMP,SREG PUSH TEMP ;Salva SREG en PILA. RCALL Calcula_par ; SBI SBRS UCR, TXB8 Cont,0 CBI UCR,TXB8 ;Si la variable paridad es 1, TXB8=1 y si es cero, TXB8=0 OUT UDR,Dato ;Transmite el dato junto con el bit de paridad POP OUT I TEMP SREG,TEMP Calcula_par: MOV TEMP,Dato Bucle: ROR TEMP CLR Cont ;Contador de número de unos CLR Iteracion ;se realizan 8 iteraciones BRCC Salto INC Cont ;Si tras la rotación se introduce un 1 en el bit C, se incrementa la variable Cont Salto: INC Iteracion CPI BRNE Iteracion,8 Bucle ; La variable Cont es par o impar dependiendo del número de 1's de Dato. El bit 0 de la variable Cont se debe usar como bit de paridad par. La rutina de recepción quedaría del siguiente modo:... Error,R30 Recibe_dato: IN TEMP,SREG PUSH TEMP ;Salva SREG en PILA. SEC SBIS CLC UCR,RXB8 ;C=1 ;C=RXB8 Microprocesadores 19/12/06 20

21 IN TEMP,UDR ;Dato recibido se pone en variable temporal MOV Dato,TEMP ;y se copia en Dato CLR LDI Cont Bucle: BRCC Salto INC Iteracion,9 Cont Salto: ROR TEMP DEC BRNE LDI Iteracion Salto Error,1 SBRS Cont,0 ;Si Cont es par, no hay error, en caso contrario, Cont[0]=1, se activará la variable de Error. CLR I Error La SDU podría contener 2 bits de stop?. En caso afirmativo, indique cómo. Sí, mientras que el noveno bit está siempre a 1, y no se desee generar bit de paridad. El procedimiento a seguir tan sólo requiere que el bit TXB8 del registro UCR esté siempre a 1. Es posible que la SDU contenga un número de bits menor a 8?. No. La UART del microcontrolador sólo permite el manejo de datos de 8 bits, no se pueden enviar longitudes inferiores. Problema 17.- Diseñe un programa que permita configurar al microcontrolador como un repetidor. En concreto, éste recibirá, por la línea de recepción de la UART, un conjunto de caracteres que irá almacenando en una cola. Cuando existan 10 elementos almacenados, estos se transferirán por la línea de transmisión del puerto serie y así, sucesivamente. La comunicación serie trabaja a 2400bps y el reloj del microcontrolador está a 4Mhz. a) Supóngase que la recepción y transmisión se realiza sin el uso de interrupciones. b) Supóngase ahora que, ambas, deben ser gestionadas por interrupciones. Solución propuesta: Para ambos apartados, se utilizarán un conjunto de rutinas que permitan la definición, inicialización y manejo (introducir y extraer datos) de la COLA. La COLA se situará en la SRAM, a partir de la dirección $60. Puede reservarse una porción de memoria de la SRAM utilizando la directiva.byte, tal y como se muestra en el trozo de programa que aparece a continuación. Se necesita un puntero de lectura, el registro X, y otro de escritura, el registro Y, para extraer e introducir, respectivamente, datos en COLA..EQU N=10 ;Etiqueta que define el tamaño de la COLA. TEMP=R16 Microprocesadores 19/12/06 21

22 TAM=R17.ORG $60.DSEG COLA:.BYTE N.ORG $0.CSEG... inicia_cola: LDI TAM,0 ;Pone a cero el número de elementos contenidos en la COLA. LDI YLOW,low(COLA) ;Inicializa punteros de lectura y escritura. LDI YHIGH,high(COLA) MOV XLOW,YLOW MOV XHIGH,YHIGH meter_cola: CPI TAM,N ;La rutina de meter en cola utiliza el puntero Y BRCS Sigue_en_cola ;Si TAM=12, la cola está llena y no puede introducirse ningún dato adicional. sigue_en_cola: INC TAM ;Se incrementa el tamaño de la cola ST Y+,R0 ;.. y se mete el dato que se ha depositado en el registro R0 CP YLOW,COLA+N ;Se comprueba que el puntero de escritura no haya superado el límite superior BRCS fin_en_cola LD YHIGH,high(COLA) ;... sino se restaura al inicio de la COLA LD YLOW,low(COLA) fin_en_cola: sacar_cola: CPI TAM,0 ;La rutina de sacar de la cola utiliza el puntero X. BREQ fin_out_cola ; Si TAM=0, la cola está vacía. No se puede extraer ningún dato. LD R0,X+ ; En caso contrario, el puntero de lectura nos indica el dato a leer. DEC TAM ;Se decrementa el contenido de la cola CP XLOW,COLA+N ;Se comprueba que el puntero de escritura no haya superado el límite superior BRCS fin_out_cola LD XHIGH,high(COLA) ;... sino se restaura al inicio de la COLA LD XLOW,low(COLA) fin_out_cola: a) La UART debe trabajar en full-dúplex y a 2400bps, por consiguiente el registro UCR debe tener los bits TxEN y RxEN activos (habilitación de receptor y transmisor) y el registro UBRR = Fclk/(16 x 2400 ) -1 =103. config_uart: LDI TEMP, $18 ;Habilita el transmisor y el receptor asíncrono OUT UCR,TEMP LDI TEMP,103 OUT UBRR,TEMP ;Configura velocidad de 2400bps. Microprocesadores 19/12/06 22

23 Se necesita una rutina de recepción, que consulte si existe un nuevo dato en el registro de recepción y lo introduzca en la COLA y otra rutina de interrupción que, cuando el registro de transmisións e quede vacío, sacará un dato de la COLA y lo introducirá en él. RX: SBIS USR,RXC ;El bit RxC del registro USR informa que se ha recibido un dato cuando se pone a 1. IN R0, UDR ;Mete el dato recibido en el registro R0. RCALL meter_cola ;..y lo introduce en la COLA. TX: SBIS USR,UDRE ;El bit UDRE indica que el buffer de transmisión se ha quedado vacío. RCALL sacar_cola ;Se saca un dato de la COLA OUT UDR,R0 El programa principal queda del siguiente modo..cseg.org $0 Main: LDI TEMP,$DF OUT SPL,TEMP ;Inicia el puntero de PILA. RCALL RCALL inicia_cola Config_UART Bucle_main: CPI TAM, N BREQ RCALL bucle_aux RX Bucle_main Bucle_aux: CPI TAM,0 BREQ RCALL RCALL Bucle_main TX RX Bucle_aux b) La interrupción de recepción deberá estar siempre activa, mientras que la de transmisión no siempre. Por tanto la configuración de la UART requiere activar el bit RXCIE del registro UCR y se diseñarán dos rutinas que permitan habilitar, una, e inhabilitar, la otra, las interrupciones de transmisión mediante la puesta a 1 y a 0, respectivamente, del bit UDRIE del registro UCR. config_uart: LDI TEMP, $98 ;Habilita el transmisor y el receptor asíncrono OUT UCR,TEMP LDI TEMP,103 OUT UBRR,TEMP ;Configura velocidad de 2400bps. Microprocesadores 19/12/06 23

24 habilita_int_tx: SBI UCR,UDRIE ;Pone a 1 el bit UDRIE inhabiltia_int_tx: CBI UCR,UDRIE ;Pone a 0 el bit UDRIE Las rutina de interrupción de recepción lee el dato del registro UDR y lo deposita en la COLA. La de transmisión hace el proceso inverso. El programa principal, junto con las rutinas de interrupción puede quedar del siguiente modo..org $0 RESET.ORG $7 INT_RX INT_TX ;Vectores de interrupción de recepción y transmisión RESET: LDI TEMP,$DF OUT SPL,TEMP ;Inicia el puntero de PILA. RCALL inicia_cola RCALL Config_UART SEI ;Habilitar de interrupciones Bucle: CPI TAM,10 BRNE Bucle RCALL Habilita_int_TX bucle_aux: CPI TAM,0 BRNE bucle_aux RCALL inhabilita_int_tx bucle INT_RX: IN R0,UDR RCALL meter_cola I INT_TX: RCALL sacar_cola OUT UDR,R0 I Microprocesadores 19/12/06 24

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

SISTEMAS ELECTRÓNICOS DIGITALES

SISTEMAS ELECTRÓNICOS DIGITALES SISTEMAS ELECTRÓNICOS DIGITALES PRÁCTICA 6 SISTEMA DE ENCRIPTACIÓN 1. Objetivos - Estudio del funcionamiento de memorias RAM y CAM. - Estudio de métodos de encriptación y compresión de datos. 2. Enunciado

Más detalles

Arquitectura Interna del 8088

Arquitectura Interna del 8088 Arquitectura Interna del 8088 Intel diseñó el 8088/8086 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y búsqueda de instrucciones. Para conseguir esto, el 8088

Más detalles

Relación de Problemas I

Relación de Problemas I Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros

Más detalles

Figura 2. Formato de un dato serie síncrono.

Figura 2. Formato de un dato serie síncrono. ELECTRÓNICA DIGITAL II 1 COMUNICACIÓN SERIE EN EL 8051 En la comunicación serie los datos se transfieren bit por bit. Una interfaz en el microcontrolador los transfiere el dato en paralelo del CPU a serie

Más detalles

Programación en ensamblador y en alto nivel (C)

Programación en ensamblador y en alto nivel (C) Programación en ensamblador y en alto nivel (C) Taller de Microcontroladores año 2012 Optativa de grado y Curso de Posgrado El ISAdel AVR Preliminares 32 registros de 8 bits: R0 a R31 Los registros pueden

Más detalles

2.5-1 USART Introducción.

2.5-1 USART Introducción. 2.5-1 USART Introducción. El USART (universal synchronous asynchronous receiver transmitter) es uno de los dos puertos series de los que dispone los PIC16F87X. Puede funcionar de forma síncrona (half duplex)

Más detalles

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III APUNTE DEL 8155 ELECTRÓNICA DIGITAL III Revisión 1.1 Marzo, 2011 Interfaz a periférico 8155 Descripción general El chip 8155 es un dispositivo introducido por Intel en 1977. Contiene memoria RAM (SRAM)

Más detalles

Nelson David Muñoz Politécnico CJIC TUTORIAL DISPLAYS

Nelson David Muñoz Politécnico CJIC  TUTORIAL DISPLAYS 1 TUTORIAL DISPLAYS OBJETIVOS Familiarizarse con el manejo de displays de 7 segmentos por medio de microcontroladores. Crear y manipular variables y vectores de constantes. Realizar la implementación física

Más detalles

Timer Interface Module

Timer Interface Module Timer Interface Module M.C. Jorge Eduardo Ibarra Esquer Timer Interface (TIM) El TIM es un timer de 2 canales que proporciona una referencia de temporización con captura de entrada, comparador de salida

Más detalles

Guía de programación ATMega328pa

Guía de programación ATMega328pa Guía de programación ATMega328pa Autor: Alberto J. Molina Última modificación: 6/05/13 Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite

Más detalles

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Departamento de Arquitectura y Tecnología de Sistemas Informáticos Octubre 2009 1. Sea un computador con palabras y direcciones

Más detalles

Módulo 2 n. Figura 2.1. Simbología de un contador

Módulo 2 n. Figura 2.1. Simbología de un contador Contadores 2.1. Introducción Los contadores son aplicaciones clásicas de los flip-flop, es un dispositivo electrónico capaz de contar el número de pulsos que llegan a su entrada de reloj. En muchas ocasiones

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O Interfaz con Dispositivos I/O Interfaz con Dispositivos de Salida y Salida Unidad 4, Segunda Parte Port Mapped Memory mapped 1 2 Ejecución de la Instrucción OUT Ejecución de la instrucción OUT Dirección

Más detalles

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255 MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255 INTRODUCCIÓN Este integrado de la firma INTEL, conocido como PPI 8255 (Programmable Peripherical Interfase) realizado

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU) INDICE Capitulo 1. Qué es un computador? 1.1. Introducción 1 1.2. El computador como dispositivo electrónico 2 1.3. Cómo se procesa la información? 3 1.4.Diagrama de bloques de un computador 1.4.1. Información

Más detalles

EL BUS I2C CARACTERISTICAS. Fernando Remiro

EL BUS I2C CARACTERISTICAS. Fernando Remiro CARACTERISTICAS Fernando Remiro 1 CARACTERÍSTICAS Utiliza 2 líneas para transportar la información entre los distintos periféricos conectados al bus SDA (datos) SCL (reloj) Cada dispositivo se identifica

Más detalles

EVOLUCIÓN HISTÓRICA DE LOS µp

EVOLUCIÓN HISTÓRICA DE LOS µp EVOLUCIÓN HISTÓRICA DE LOS µp El primer procesador fue inventado por los Babilonios en el año 500 ac En 1642 se perfeccionó la primera calculadora por Blas Pascal A mediados del siglo pasado se inventaron

Más detalles

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Entrada / Salida Ejemplo de arquitectura:

Más detalles

Arquitectura del Procesador I

Arquitectura del Procesador I Arquitectura del Procesador I PRACTICO Nº 2 Circuitos Secuenciales Ejercicio 21 (a): Se necesita crear un circuito que divida por 3 una frecuencia de reloj. Si consideramos que el funcionamiento de todo

Más detalles

ESTRUCTURA BÁSICA DEL µc AT89C51

ESTRUCTURA BÁSICA DEL µc AT89C51 Desde mediados de la década de los 80 s gran parte de los diseños basados en la automatización (electrodomésticos, sencillas aplicaciones Industriales, instrumentación medica, control numérico, etc.) utilizaban

Más detalles

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC 18F45XX CARACTERÍSTICAS GENERALES PIC 18F45XX CARACTERÍSTICAS GENERALES 1. Características generales CPU con arquitectura Harvard (77 instrucciones) Todas las instrucciones constan de 1 sola palabra de 16 bits (2 bytes) excepto las de

Más detalles

PRÁCTICA 6: Gobierno del display 7 segmentos

PRÁCTICA 6: Gobierno del display 7 segmentos SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 6: Gobierno del display 7 segmentos Display 7 segmentos - 1 - Ingeniería de Sistemas y Automática 1. Objetivos: Gobierno

Más detalles

Practica Nº4 Multiplexores

Practica Nº4 Multiplexores Practica Nº4 Multiplexores OBJETIVO: El estudiante al terminar esta práctica estará en capacidad de poder analizar y diseñar circuitos combinacionales Multiplexores y circuitos lógicos aritméticos. PRELABORATORIO:

Más detalles

Segundo Parcial Programación en Mikro C PIC16F877

Segundo Parcial Programación en Mikro C PIC16F877 Segundo Parcial Programación en Mikro C para microcontroladores PIC PIC16F877 Operadores a nivel de bits Operador operacion & AND; compara pares de bits y regresa 1 si ambos son 1 s, de otra manera regresa

Más detalles

INTERRUPCIONES Y ENTRADA/SALIDA DE PULSOS EN EL CPM2A/CPM2C

INTERRUPCIONES Y ENTRADA/SALIDA DE PULSOS EN EL CPM2A/CPM2C INTERRUPCIONES Y ENTRADA/SALIDA DE PULSOS EN EL CPM2A/CPM2C ESTE MANUAL CONTIENE: 1 FUNCIONES CPM2A/CPM2C 2 INTERRUPCIONES DE ENTRADA 3 INTERRUPCIONES DE TEMPORIZADOR DE INTERVALO 4 INTERRUPCIONES DE CONTADOR

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

Arquitectura de computadoras

Arquitectura de computadoras Arquitectura de computadoras Técnicas Digitales III Ing. Gustavo Nudelman 2013 Que entendemos por arquitectura Un sistema con una CPU, memoria y dispositivos de entrada y salida puede considerarse un sistema

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP 3 Interfaz PC DSP 3.1 Introducción a las comunicaciones serie Las comunicaciones serie se utilizan para enviar datos a través de largas distancias, ya que las comunicaciones en paralelo exigen demasiado

Más detalles

Examen 5 de Febrero de 2010

Examen 5 de Febrero de 2010 Instrucciones Examen 5 de Febrero de 2010 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique la cantidad total de hojas que entrega en la primera. Escriba las

Más detalles

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X Se envía a través de una conexión RS232 8N1 de 9600 baudios una trama de datos que debe ser recibida por una PC. La trama tiene el siguiente formato : * N N X X X X X X X X X X X X X X X X X X X X Donde:

Más detalles

ORGANIZACIÓN DE LA MEMORIA

ORGANIZACIÓN DE LA MEMORIA Existen dos tipos de memoria en todos los µc, memoria de programa y memoria de datos. La primera (EPROM, EEPROM, FLASH, etc) contiene los códigos de operación que se ejecutarán para seguir una secuencia

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Electrónica Digital II. Contadores

Electrónica Digital II. Contadores Contadores 1.-Diseñe un contador síncrono descendente modulo 13.El tipo de biestable que se utiliza para su diseño 7476. El contador que se diseña posee un RESET externo que lo inicializa en su mayor conteo.

Más detalles

Conceptos básicos de Interrupciones y E/S Atmel

Conceptos básicos de Interrupciones y E/S Atmel Conceptos básicos de Interrupciones y E/S Atmel Taller de Microcontroladores año 212 Optativa de grado y Curso de Posgrado Interrupciones: conceptos básicos Mecanismo de control de flujo implementado en

Más detalles

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo.

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo. TITULO : Biestables, Monoestables y Astables 1.-Objetivos: Practica 1 (3.5 %) Estudiar y analizar el comportamiento de los biestables asíncronos y sincronos. Realizar montajes con diferentes tipo de Monoestables.:

Más detalles

TEMA 8. REGISTROS Y CONTADORES.

TEMA 8. REGISTROS Y CONTADORES. TEMA 8. REGISTROS Y CONTADORES. TECNOLOGÍA DE COMPUTADORES. CURSO 2007/08 8.1. Registros. Tipos de registros. Registros de desplazamiento. Los registros son circuitos secuenciales capaces de almacenar

Más detalles

Medidas de Distancia mediante Rayos Infrarrojos

Medidas de Distancia mediante Rayos Infrarrojos Medidas de Distancia mediante Rayos Infrarrojos Con un nuevo módulo sensor de proximidad. La casa Sharp ha fabricado un nuevo sensor, en la forma del módulo GP2D02 que, con la ayuda de un microcontrolador,

Más detalles

RECURSOS FUNDAMENTALES

RECURSOS FUNDAMENTALES RECURSOS FUNDAMENTALES Los recursos que se considerarán son : Temporizadores Puertos de E/S La Palabra de Configuración EEPROM de datos 1 TEMPORIZADORES Una labor habitual en los programas de control suele

Más detalles

2).Diseñar los circuitos cuyas tablas de estados son las siguientes:

2).Diseñar los circuitos cuyas tablas de estados son las siguientes: EJERCICIOS Tema 7 Ejercicios Síncronos 1) Deduce las tablas de estado que se correponden con los siguientes diagramas de estado. 2).Diseñar los circuitos cuyas tablas de estados son las siguientes: 0 1

Más detalles

CURSO BÁSICO MICROCONTROLADORES PIC

CURSO BÁSICO MICROCONTROLADORES PIC CURSO BÁSICO MICROCONTROLADORES PIC CONFIGURACIÓN BÁSICA FUSIBLES Los fusibles son palabras de configuración que definen las condiciones de funcionamiento del microcontrolador. Algunos fusibles importantes

Más detalles

Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios

Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 3: Bucles Bucles: o Bucles infinitos o Bucles finitos o Bucles anidados Medir tiempos con MPLAB Ejemplos y ejercicios -

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

Introducción a AVR-STUDIO

Introducción a AVR-STUDIO DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Introducción a AVR-STUDIO Enunciados de Prácticas de Laboratorio 1. Introducción y objetivos Los objetivos de la

Más detalles

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 2 INSTRUCCIONES DE UN COMPUTADOR ÍNDICE Definiciones Formatos de instrucción Modos de direccionamiento Tipos de instrucciones Diagrama de flujo Lenguaje del computador Definiciones: conceptos de arquitectura

Más detalles

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1) LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1) 1. CONVERSORES DE CODIGO La disponibilidad de una gran variedad de códigos para los mismos elementos discretos de información origina el uso de

Más detalles

PROYECTO DE DISEÑO 2 INFORMACIÓN PRELIMINAR

PROYECTO DE DISEÑO 2 INFORMACIÓN PRELIMINAR INSTITUTO TECNOLÓGICO DE COSTA RICA ESCUELA DE INGENIERÍA ELECTRÓNICA IE-3308 LABORATORIO DE DISEÑO LÓGICO Profesor: Ing. Luis Carlos Rosales. PROYECTO DE DISEÑO 2 INFORMACIÓN PRELIMINAR Información General:

Más detalles

SISTEMA MÍNIMO BASADO EN EL PIC16F84

SISTEMA MÍNIMO BASADO EN EL PIC16F84 PRÁCTICA 0 CIRCUITO BASE SISTEMA MÍNIMO BASADO EN EL PIC16F84 1 PRÁCTICA 1_1 COMPUERTA AND DE TRES ENTRADAS Hardware X0 X1 X2 Y 2 Comportamiento esperado INICIO Configurar Puerto A como entradas y Puerto

Más detalles

Resumen de las instrucciones del 8086/8088

Resumen de las instrucciones del 8086/8088 Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede

Más detalles

Diseño de una calculadora

Diseño de una calculadora DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Diseño de una calculadora Sistemas Digitales Avanzados 1. Introducción y objetivos El propósito general de esta

Más detalles

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086) Tutoría 2. Banco de memoria de 8 y 16 bits (8086) RESUMEN Cuando el procesador opera en modo mínimo, éste genera las señales de control para la memoria y los dispositivos de E/S. [1, pág. 292]. Para utilizar

Más detalles

CONTADORES CARACTERISTICAS IMPORTANTES UTILIDAD CONTADORES DE RIZADO. CONTADOR DE RIZADO MODULO- 16.

CONTADORES CARACTERISTICAS IMPORTANTES UTILIDAD CONTADORES DE RIZADO. CONTADOR DE RIZADO MODULO- 16. CONTADORES Son circuitos digitales lógicos secuenciales de salida binaria o cuenta binaria, caracteristica de temporizacion y de memoria, por lo cual están constituidos a base de flip-flops. CARACTERISTICAS

Más detalles

5 - Lenguaje Ensamblador

5 - Lenguaje Ensamblador PROGRAMACIÓN EN ENSAMBLADOR 62 Fuente.asm,.s51,... Fases del Ensamblado Ensamblado Objeto.obj,.r03 Objeto Enlazado Ejecutable.hex,.bin Librerías Eprom Simulador Emulador Monitor PROGRAMACIÓN EN ENSAMBLADOR

Más detalles

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES 1.1 Introducción 1.2 Fundamentos de los procesadores digitales secuenciales 1.2.1 Introducción 1.2.2 Arquitectura interna 1.2.2.1 Procesadores digitales

Más detalles

Clase Práctica Memoria Caché

Clase Práctica Memoria Caché Organización del Computador 1 Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 1 de Junio de 2010 Clase Práctica Memoria Caché Qué es la memoria caché? En el sentido general, un caché

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Terminales del P 8085 (vistos hasta ahora)

Terminales del P 8085 (vistos hasta ahora) Terminales del P 8085 (vistos hasta ahora) Buses de direcciones y datos Bus de control Alimentación, clock, reset Registros internos del P 8085 Transferencia: MVI r,dato MOV r1,r2 LDA dir STA dir Aritméticas:

Más detalles

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)

Más detalles

Práctica 0: Repaso de C básico

Práctica 0: Repaso de C básico Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática Aplicada Práctica 0: Repaso de C básico Contenido: Esta práctica está diseñada

Más detalles

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE 25 3 ENTRADA / SALIDA Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE Cada uno de estos puertos es de 8 bits, sin embargo no todos

Más detalles

Tema 9 Periféricos de Entrada

Tema 9 Periféricos de Entrada Tema 9 Periféricos de Entrada Periféricos e Interfaces Tema 9/1 Contenido TECLADOS DISPOSITIVOS APUNTADORES DIGITALIZADORES Teclados Tecnología y Tipos Estructura Funcionalidad Interfaz al computador:

Más detalles

9. Lenguaje ensamblador

9. Lenguaje ensamblador 9. Lenguaje ensamblador Lenguaje máquina: un programa o secuencia de instrucciones viene dado por una secuencia de códigos binarios. Lenguaje ensamblador: secuencia lógica de sentencias pertenecientes

Más detalles

TEMAS 1 y 2 TECNOLOGIA DE LAS COMUNICACIONES INGENIERÍA INFORMÁTICA

TEMAS 1 y 2 TECNOLOGIA DE LAS COMUNICACIONES INGENIERÍA INFORMÁTICA TEMAS 1 y 2 TECNOLOGIA DE LAS COMUNICACIONES INGENIERÍA INFORMÁTICA Tema1. Introducción Tema1. Introducción Tema1. Introducción Tema1. Introducción Tema1. Introducción Tema1. Introducción Tema1. Introducción

Más detalles

Departamento de Ingeniería Electrónica. Universidad de Sevilla Asignatura: Laboratorio de Microelectrónica Digital. Escuela Superior de Ingenieros

Departamento de Ingeniería Electrónica. Universidad de Sevilla Asignatura: Laboratorio de Microelectrónica Digital. Escuela Superior de Ingenieros Escuela Superior de Ingenieros Universidad de Sevilla Departamento de Ingeniería Electrónica Versión 1.2. 3 de Marzo de 2008 Práctica 3 LABORATORIO DE MICROELECTRÓNICA Jonathan N. Tombs Fernando Muñoz

Más detalles

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Índice Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Flujo de datos interactivo ACKs retardados Algoritmo de Nagle

Más detalles

Bus de direcciones. Bus de datos

Bus de direcciones. Bus de datos 1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset

Más detalles

Ejercicios de repaso. 1.- Diseñe un contador asíncrono ascendente módulo 16 utilizando 74XX76. Debe poseer RESET externo.

Ejercicios de repaso. 1.- Diseñe un contador asíncrono ascendente módulo 16 utilizando 74XX76. Debe poseer RESET externo. Ejercicios de repaso 1.- Diseñe un contador asíncrono ascendente módulo 16 utilizando 74XX76. Debe poseer 2.- Diseñe un contador asíncrono descendente módulo 16 utilizando 74XX76. Debe poseer 3.- Diseñe

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Módulos de Comunicación Serie Profesor Ing. Johan Carvajal Godínez Contenido Módulos de comunicación serie sincrónica I2C SPI Módulo de comunicación serie Asincrónico

Más detalles

Estructura de Computadores (II ISW) Boletín 1: Sistemas Digitales

Estructura de Computadores (II ISW) Boletín 1: Sistemas Digitales Estructura de Computadores (II ISW) Boletín 1: Sistemas Digitales Problema 1 Se dispone de cuatro registros con datos (R0, R1, R2 y R3) y una ALU, todo de n bits. Se desea diseñar un sistema que permita

Más detalles

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON Introducción El objetivo de esta nota técnica es que el usuario tenga la capacidad de configurar los parámetros de los módulos de toda la familia APPCON

Más detalles

MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC

MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC Tipos de datos en CCS TIPO TAMAÑO RANGO DESCRIPCION int1 short 1 bit 0 a 1 Binario int int8 8 bits 0 a 255 Entero int16 long 16 bits 0 a 65535

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

PIC 18F45XX EL TIMER 0

PIC 18F45XX EL TIMER 0 PIC 18F45XX EL TIMER 0 1. Hardware asociado 2. Características Se puede configurar como temporizador o contador de 8/16 bits. Se puede leer o escribir en él a través del registro TMR0. Dispone de un preescaler

Más detalles

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005 Práctica 9 Organización del Computador 1 2do. Cuatrimestre de 2005 Aclaración: Tiempo bus es el tiempo de bus requerido para transferir un buer (de un dispositivo) desde o hacia memoria principal según

Más detalles

Guía de práctica. Dispositivo

Guía de práctica. Dispositivo Guía de práctica Que queremos hacer? Vamos a hacer el Hello World del mundo de la electrónica que no es más que prender y apagar un LED a intervalos regulares. PROYECTO LAPEGÜE 1 = Prende Dispositivo 0

Más detalles

PRÁCTICA 5: Medida del tiempo en un PIC

PRÁCTICA 5: Medida del tiempo en un PIC SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 5: Medida del tiempo en un PIC TMR0 TMR1 Display 7 segmentos - 1 - 1. Objetivos: - Gestión de los temporizadores en los

Más detalles

Departamento de Sistemas e Informática

Departamento de Sistemas e Informática Departamento de Sistemas e Informática Programación en Assembler - Clase 4 Digital II Interrupciones Una interrupción es una llamada generada por hardware (o software) que interrumpe al programa principal

Más detalles

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria. Tema 4: SISTEMAS DE ENTRADA/SALIDA ÍNDICE 1. Introducción. 2. Módulos de Entrada/Salida: comunicación CPU - Periféricos. 3. Mapa de Entrada/Salida: común y separada. 4. Introducción a los métodos de programación

Más detalles

2.2-1 Visión Interna PIC16F873/876. SBM

2.2-1 Visión Interna PIC16F873/876. SBM 2.2-1 Visión Interna PIC16F873/876. 1 2.2-2 Visión Interna PIC16F874/877. 2 2.2-3 Sistema de memoria. Tienen arquitectura Harvard, separa la memoria de datos y la memoria de programa, y se accede a ellas

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales Organización de Computadoras 2003 Apunte 5: Circuitos Lógicos Secuenciales Introducción: En el desarrollo de los sistemas digitales es fundamental el almacenamiento de la información, esta característica

Más detalles

PRACTICAS CON ARDUINO

PRACTICAS CON ARDUINO PRACTICAS CON ARDUINO 1º DE BACHILLERATO PROYECTO INTEGRADO: TALLER DE ROBÓTICA Materiales: Placa Protoboard Microcontroladora Arduino Cable de conexión 1 LED 1 resistencia 120 Ω Cables PRÁCTICA Nº 1:

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica Problemas propuestos en examen PROBLEMAS TEMA 4: Unidad Aritmético Lógica 4.1 Se desea realizar una Unidad Aritmético Lógica que realice dos operaciones, suma y comparación de dos números X (x 2 ) e Y

Más detalles

Registros de desplazamiento

Registros de desplazamiento Registros de desplazamiento Definición de registro de desplazamiento básico Tipos de registro de desplazamiento Configuraciones específicas Aplicaciones más típicas VHDL Ejercicio propuestos Definición

Más detalles

ESTRUCTURA FÍSICA DEL µp 8086

ESTRUCTURA FÍSICA DEL µp 8086 Características generales: Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088 89 instrucciones Alimentación

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com Guía de Operación Reloj en tiempo real Modulo: RTCU2iempo real Clave: 719 El modulo 719 Reloj en tiempo real- utiliza

Más detalles

Electrónica Digital II

Electrónica Digital II Electrónica Digital II TIPOS DE MEMORIAS MEMORIA DDR MEMORIA DDR2 MEMORIA DDR3 COMPARACIÓN TIEMPOS DE ACCESO TIPOS DE LATENCIAS RAS CAS ACTIVIDAD PRECARGA TIPOS DE CONFIGURACIONES SINGLE CHANNEL DUAL CHANNEL

Más detalles

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI Guía de preparación para el examen ELECTRONICA CxTx En esta materia básicamente se evalúan temas tales como son: MULTIVIBRADORES, MEMORIAS, CONTADORES Y COMPUERTAS LOGICAS, SUMADOR RESTADOR Y MICROPOCESADORES

Más detalles

Examen de Estructura de Computadores ( ) Solución teoría

Examen de Estructura de Computadores ( ) Solución teoría Eamen de Estructura de Computadores (--) teoría ) Calcula las funciones de selección que determinan la ubicación de una ROM de K a partir de la dirección (CSrom), una RAM de 8K a partir de la dirección

Más detalles

MODBus RTU en los registradores CAMRegis

MODBus RTU en los registradores CAMRegis 157FHF1 E MODBus RTU en los registradores CAMRegis 1. INTRODUCCIÓN Este documento está orientado a describir al usuario el funcionamiento del protocolo serie de comunicaciones MODBus RTU implementado por

Más detalles

Práctica 5 - Memoria Cache

Práctica 5 - Memoria Cache Práctica 5 - Memoria Cache Organización del Computador 1 Verano 2008 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de

Más detalles