Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN. Introducción:

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

Download "Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN. Introducción:"

Transcripción

1 NOTA DE APLICACIÓN Ejemplo de implementación del microcontrolador MC68HC908GP32 en la multiplexación de displays usando módulo TIM por César Gianfelici, LabDSP FCEFyN UNC supervisado por Ing. Diego Dujovne, LabDSP FCEFyN UNC Introducción: Se realizó ésta aplicación con el fin de que sirva de ejemplo para los que quieran implementar el microcontrolador MC68HC908GPxx de Motorola en cualquier proyecto donde se necesite multiplexar displays de 7 segmentos. El ejemplo que se plantea es un cronógrafo donde se utilizan cuatro displays. Características: Cronógrafo_v1.0 es un programa hecho para el microcontrolador HC908GP32 de Motorola (y puede ser adaptado fácilmente a cualquiera de los otros de la gama) que maneja cuatro display 7 segmentos para realizar la muestra de segundos y minutos de un reloj. Se utilizan para el mismo 4 display de ánodo común. El punto del display 3 (siempre contando de izquierda a derecha en modo de visualización) denotará los segundos, se realizó de ésta forma con la idea de que, con pocas modificaciones, se pueden marcar minutos y horas quedando el punto de los segundos como referencia de éstos. El reloj marcará los segundos con los displays 1 y 2, además de los minutos que se realiza con los displays 3 y 4. Descripción: Para que se tenga una visualización mejor, antes de describir cada sección del programa se presentará el correspondiente diagrama de flujo. Las secciones que conforman el soft son: Página 1/25 Febrero 2002

2 Main Rutina de Interrupción del multiplexado de displays Rutina de Interrupción del timer del clock Descripción cuantitativa de cada sección: Main CONFIGURACIÓN DEL MICRO * Definición de bloques de memoria RAM ROM. * Definición de macro. * Definición de variables de la RAM. PROGRAMA PRINCIPAL * Configurar puerto A como salida. * Configurar puerto B como salida. * Configurar puerto D como salida. * Desabilitar el COP. * Cargar en las variables DISPLAY1 a DISPLAY4 $3F (0 en 7 segmentos) y $04 en la variable NDISP cantidad de displays). * Limpiar variables SEGUNDOS, MINUTOS, ENTRADA. * Configurar TIM1 para que interrumpa cada 1,5 milisegundos. * Configurar TIM2 para que interrumpa cada 0,5 segundos. LOOP Espera interrupción. Página 2/25

3 Al comienzo del programa se definen las posiciones de memoria del comienzo de la RAM, el del comienzo de la ROM y el del vector de inicio. La sentencia $Include 'gpregs.inc' incluye a este archivo en la compilación, el mismo, contiene la dirección de todos los registros del micro (por lo que no hace falta declarar la dirección de los registros utilizados en el programa). Luego se define una Macro, llamada t7s. Una macro es una plantilla para una secuencia de códigos. Después de que la macro es definida, donde se referencia al nombre de la macro se remplazará por la secuencia de códigos. Esta macro realiza la conversión de BCD a 7 segmentos. Luego se definen todas las variables de RAM que se usarán en el programa. La variable SEGUNDOS como la variable MINUTOS retienen las respectivas cuentas de segundos transcurridos y minutos. Las variables DISPLAYn tienen el valor que se mostrará directamente en dichos displays. La variable NDISP tiene el número del total de displays que se estarán multiplexando. En la variable ENTRADA solo se utiliza el bit menos significativo para que se encienda y apague el led indicador de segundos cada 0,5 segundos y habilita la cuenta del reloj cada vez que éste bit está en 1. Y la variable cont se utiliza como contador de uso general en la subrutina BINBCD (conversión formato binario a binario codificado en decimal). En el siguiente bloque se configuran los módulos a utilizar por medio de sus respectivos registros. Así, se configuran los puertos A, B y D como salida cargando en los registros DDRA, DDRB y DDRD respectivamente el dato $FF; se carga un 1 en el LSB del registro CONFIG1 llamado COPD, inhabilitando el COP del micro. La instrucción RSP inicializa el stack pointer, porque como en la mayoría de los M68HC05, la RAM sólo llega hasta $00FF. Sin embargo en la mayoría de los M68HC08 la RAM se extiende mas allá de $00FF. Por consiguiente, es necesario inicializar la pila en ésta dirección de memoria (se especifica desde que posición de RAM se utiliza como pila, entonces en cada PUSH la dirección de la pila se decrementará una posición). En el siguiente paso se cargan a cada una de las variables DISPLAY con $3F que es el número cero en codificación de 7 segmentos, así se mostrará, al iniciar la cuenta del reloj, a todos los displays en cero. Luego se carga a la variable NDISP con $04, el cual debe ser el número (en decimal) de displays que se estén por multiplexar. Después se limpian las variables SEGUNDOS, MINUTOS y ENTRADA para que comiencen con valor cero. Como la base de tiempo del reloj es el TIM2 y la base de tiempo para el multiplaxado de los displays es el TIM1, y al trabajar éstos con interrupciones, se los debe configurar antes de utilizarlos. Así, se carga al registro T1MODH con $0B y al registro T1MODL con $F6, ambos conforman parte alta y baja, respectivamente, del registro de 16 bits T1MOD, el cual se compara Página 3/25

4 constantemente con el contador de 16 bits; así que cuando se llegue a éste número, el timer generará un pedido de interrupción. El número $0BF6 (3062 en decimal) se calculó de forma que el pedido de interrupción se genere con una frecuencia de 400 hertz (2,5 mseg), teniendo en cuenta que el internal bus clock que ingresa al prescaler es la frecuencia del cristal utilizado para el micro dividida por un factor de cuatro. Entonces: F 4 clock 1 TMOD = ( F ) INTERRUPCION 1 TMOD = ( FINTERRUPCION) F 4 CLOCK 1 1 T 1MOD = 1 0,0025 _ seg Hz T1MOD = 3062 $0BF 6 Después se debe cargar el registro de control T1SC: Los bits PS0, PS1 y PS2 se cargan con ceros, ya que no se desea dividir el internal bus clock; luego se ponen a uno los bits TOIE y TRST, el primero de éstos Página 4/25

5 habilita la generación del pedido de interrupción por parte de TIM1 y el segundo limpia la cuenta para empezar a contar desde $0000. Al colocar un cero en el bit TSTOP se activa la cuenta. Así, se debe cargar a T1SC con $50. Para el TIM2, donde se quiere interrumpir cada 0,5 segundos, tenemos que el número a cargar en el registro T2MOD es: 0,5_ seg T 2MOD = Hz 416 T 2MOD = $9589 Nótese que el clock del cristal, lo dividimos otra vez por 16; ésta es la acción del prescaler que configuramos en T2SC: Entonces para que el prescaler divida al internal bus clock por 16 cargaremos 100 en los tres menos significativos PS2, PS1 y PS0 (ver página 357 del technical data), luego un 1 en TOIE y TRST. Por lo tanto se debe cargar al registro de control T2SC con $54. Con todo este procedimiento quedan configurados y andando los temporizadores, teniendo interrupciones cada 2,5 milisegundos con TIM1 y cada 0,5 segundos con TIM2. A partir de aquí, se entra en un ciclo loop llamado main_loop, donde se usa la instrucción wait que habilita las interrupciones y espera la petición de las mismas por los diferentes módulos. Página 5/25

6 Rutina de interrupción de multiplexado de displays dec NDISP NDISP=3? Yes DISPLAY1 --> PTB Selección de DISPLAY1 No NDISP=2? Yes DISPLAY2 --> PTB Selección de DISPLAY2 No NDISP=1? Yes DISPLAY3 --> PTB Selección de DISPLAY3 No DISPLAY4 --> PTB Selección de DISPLAY4 4 --> NDISP limpiar TOF Volver La variable NDISP se utiliza para seleccionar el display que se encenderá durante el multiplexado, en los cambios de valor que va experimentando realiza el barrido de los N displays. El puerto B se utiliza para los datos que se mostrarán en los displays y los bits 3, 4, 5, 6 del puerto A multiplexan a los mismos. Limpiar TOF es cargar éste bit del registro T1SC con un cero, marcando que ya se atendió la interrupción y dando lugar a que luego pueda solicitarse nuevamente la interrupción de este módulo. Página 6/25

7 Rutina interrupción del timer del clock inc ENTRADA apago el led del segundero Yes LSB de ENTRADA=0? No inc SEGUNDOS enciendo el led del segundero SEGUNDOS= 60? No Yes 0 --> SEGUNDOS inc MINUTOS MINUTOS= 60? No Yes 0 --> MINUTOS OUT2 Ir a BINBCD Ir a BCD7SEG OUT3 Limpiar TOF de T2SC Volver Página 7/25

8 La variable ENTRADA se utiliza para encender y apagar el led del segundero, así cuando el LSB de la variable ENTRADA vale cero, el programa salta a OUT3 para salir, si tuviera el valor uno sigue con la rutina. Por lo tanto la variable SEGUNDOS será incrementada en el doble del tiempo de la petición de interrupción del TIM2, es decir cada un segundo, que es lo pretendido. Cuando la verificación de que la variable SEGUNDOS o MINUTOS ha llegado al valor de 60 (decimal) es fácil, sólo se carga el número a comparar con la variable en el acumulador mediante lda #60T y luego se utiliza la instrucción cmp de la forma: cmp SEGUNDOS, ésta compara el valor de la variable SEGUNDOS con el valor que contiene el acumulador y según el resultado, modifica las banderas de estado. Si las variables no alcanzaron el valor de 60, el programa actualiza los datos de los displays por medio de dos subrutinas: BINBCD y BCD7SEG, luego sale de la rutina de interrupción. Si en cambio, se llegó a este valor la variable vuelve a cero y se incrementa en uno la variable posterior o, en caso de ser MINUTOS la que llegó a 60, solamente sale de la rutina por OUT2. OUT3 siempre se ejecuta inmediatamente después que OUT2, ya que es la que pone a cero al bit TOE del registro T2SC y así luego, pedir nuevamente la ejecución de toda esta rutina por medio de la correspondiente interrupción. 1) Subrutina BINBCD Ésta convierte un número binario a binario codificado en decimal. Página 8/25

9 SEGUNDOS --> A Ir a Resta cont --> DISPLAY2 DISPLAY1 --> A MINUTOS --> A Ir a Resta cont --> DISPLAY4 DISPLAY3 --> A Volver Página 9/25

10 Subrutina Resta 0 --> cont A <-- A - 10 N =1? No Yes inc cont A <-- A + 10 Volver Se carga el valor de la variable SEGUNDOS en el acumulador para que en la subrutina Resta, la instrucción sub realice la diferencia entre el acumulador (A) y el valor diez (10) decimal cargándose el resultado nuevamente en A y modificando las banderas de estado. Ahora: Si el resultado es negativo, el bit N (bandera) del registro CCR (condition code register) o registro de banderas, el programa suma diez al acumulador y sale de la subrutina Resta. Si el resultado no es negativo, se incrementa la variable cont y se vuelve a repetir el ciclo desde restarle diez a A. Luego se vuelve a la rutina principal y se vuelca el valor de cont en DISPLAY2, el valor que quede en el acumulador será colocado en el DISPLAY1. Se vuelve a repetir todo este proceso hasta aquí, para la variable MINUTOS, teniendo en cuenta que el valor de cont se volcará en DISPLAY4 y el del acumulador sobre DISPLAY3. Así, por ejemplo, si tenemos $0B en SEGUNDOS, al restarle $A (10 decimal) quedará el acumulador con un valor de 6 y cont con 1, cuando se vuelve a realizar la resta por $A el acumulador queda con un valor de $FC, pero como en ésta operación el bit N de CCR se puso en uno el programa sale de la subrutina Repite sumando $A al acumulador y sin Página 10/25

11 incrementar la variable cont. Así que el acumulador queda con un valor de $FC + $A = $06 y cont = $01; como la variable cont se carga en el DISPLAY2 y el acumulador en el DISPLAY1, en los dos displays que conforman la parte de los segundos del reloj, quedará conformado el número 16 (en decimal, ya que éstos resultados se convierten antes en código siete segmentos). El proceso de ejemplo que se describió, se repite para la variable MINUTOS. 2) Subrutina BCD7SEG Aplicar Macro t7s a DISPLAY1 Aplicar Macro t7s a DISPLAY2 Aplicar Macro t7s a DISPLAY3 Aplicar Macro t7s a DISPLAY4 Volver En éste caso se optó por la utilización de una macro para la conversión BCD a 7 segmentos, ya que código es repetitivo. Se aplica la Macro al valor que se mostrará en cada uno de los displays. $MACRO y $MACROEND son directivas de pre-procesador, la primera comienza la definición de una macro y la segunda indica que la macro ha sido definida. El %1 que acompaña a la instrucción lda toma el valor de la variable a Página 11/25

12 la que se aplica la macro, valor que es cargado en el acumulador. Luego, tax transfiere el contenido del acumulador a la parte baja del registro de indexado H:X, como éste registro es de 16 bits, se colocan ceros en la parte alta con la instrucción clrh. La siguiente instrucción: lda Tabla7seg,x toma de la tabla definida con db los valores según el valor de x, es decir que si x=0 tomará el primer valor que se encuentra en la tabla y si el valor es x=8 tomará el octavo valor de la tabla contando desde cero. En la definición de la tabla el símbolo % hace que el valor que le precede sea el valor que devuelva la tabla; por lo que éste es el valor que se carga en el acumulador. Por consiguiente en la tabla se definen todos los números que se necesitarán para la correcta visualización de los números en los displays. Observe que cada posición en la tabla corresponde a un número decimal el cual está representado por su número binario, colocado después del símbolo %, que es el código en 7 segmentos respectivo. Al final, la instrucción sta %1 transfiere el valor que está en el acumulador a la variable a la que se le aplicó la macro. Así se ha tomado el de cada variable DISPLAY y se lo a convertido a su equivalente en código de 7 segmentos para que pueda ser representado y visualizado en cada display. Con el rts último se vuelve a la rutina de interrupción, donde solo queda poner a cero el bit YOE del registro T2SC y salir de la rutina, para volver al bucle main_loop y aguardar por el próximo pedido de interrupción. Código del programa: RAMStart EQU $0040 RomStart EQU $E000 ; sector válido como ROM en GP20 y GP32 VectorStart EQU $FFDC $Include 'gpregs.inc' ; incluye todas las direcciones de los registros $MACRO t7s lda %1 tax clrh lda Tabla7segs,x sta %1 $MACROEND ; Macro que convierte de BCD a 7 segmentos Página 12/25

13 org RamStart MINUTOS ds 1 SEGUNDOS ds 1 DISPLAY1 ds 1 DISPLAY2 ds 1 DISPLAY3 ds 1 DISPLAY4 ds 1 NDISP ds 1 ENTRADA ds 1 cont ds 1 ; Se definen todas las variables a utilizar org RomStart *************************************************************** * Main_Init - Este es el punto donde comienza a ejecutarse el * * código después de un RESET. * *************************************************************** Main_Init: mov #$FF,DDRB ; Puerto B: Salida mov #$FF,DDRA ; Puerto A: Salida mov #$FF,DDRD ; Puerto D: Salida bset 0,CONFIG1 ; Desabilito COP rsp clra clrx ; SP <- $FF ; Inicializo A,X para que el ; proceso de interrupción no se ; detenga corriendo el riesgo de ; que no se inicialicen con el push A,X en stack mov #$3F,DISPLAY1 ; cargo 0 en DISPLAY1 (en 7 seg) mov #$3F,DISPLAY2 ; cargo 0 en DISPLAY2 mov #$3F,DISPLAY3 ; cargo 0 en DISPLAY3 mov #$3F,DISPLAY4 ; cargo 0 en DISPLAY4 mov #$04,NDISP clr SEGUNDOS clr MINUTOS clr ENTRADA ; variable que marca la entrada a rutina de TIM2 mov #$0B,T1MODH ; Timer mux display (400 hz) mov #$F6,T1MODL mov #$95,T2MODH ; Timer clock (0.5 hz) mov #$89,T2MODL mov #$54,T2SC ; inicia cuenta en TIM2 mov #$50,T1SC ; inicia cuenta en TIM1 main_loop: wait bra main_loop ; habilita y espera interrupciones Página 13/25

14 ****************************************** * Rutina de multiplexado de los displays * * Interrupción cada 2.5 mseg * ****************************************** TIMo1_isr: dec NDISP lda #$03 ; NDISP igual 3? cbeq NDISP,Y1 ; lda #$02 ; NDISP igual 2? cbeq NDISP,Y2 ; lda #$01 ; NDISP igual 1? cbeq NDISP,Y3 ; mov DISPLAY4,PTB mov #$BF,PTA ; selecciona Display4 mov #$04,NDISP bra OUT1 Y1: mov DISPLAY1,PTB mov #$F7,PTA ; selecciona Display1 bra OUT1 Y2: mov DISPLAY2,PTB mov #$EF,PTA ; selecciona Display2 bra OUT1 Y3: mov DISPLAY3,PTB mov #$DF,PTA ; selecciona Display3 OUT1: bclr 7,T1SC rti ***************************************** * Rutina de manejo del timer del reloj. * * Interrupción cada 0.5 segundo. * ***************************************** TIMo2_isr: inc ENTRADA ; este proceso es para encender el punto de los segundos bclr 0,PTD ; justo cuando se marca un nuevo segundo brclr 0,ENTRADA,OUT3 inc SEGUNDOS bset 0,PTD lda #60T cmp SEGUNDOS ; comparo para ver si SEGUNDOS llegó a 60 bne OUT2 clr SEGUNDOS inc MINUTOS lda #60T cmp MINUTOS ; comparo para ver si MINUTOS llegó a 60 bne OUT2 clr MINUTOS OUT2: jsr BINBCD ; subrutina de conversión binario --> BCD jsr BCD7SEG ; subrutina de conversión BCD --> 7 segmentos OUT3: bclr 7,T2SC rti Página 14/25

15 Tabla7segs: ; Tabla de conversión a 7 seg, utilizada por la Macro t7s db % ;0 db % ;1 db % ;2 db % ;3 db % ;4 db % ;5 db % ;6 db % ;7 db % ;8 db % ;9 BINBCD: lda SEGUNDOS jsr Resta ; salto a rutina Restador mov cont,display2 ; muestro en DISPLAY2 el resultado de la rutina Restador sta DISPLAY1 ; muestro en DISPLAY1 el ultimo digito del numero a convertir lda MINUTOS jsr Resta ; salto a rutina Restador mov cont,display4 ; muestro en DISPLAY4 el resultado de la rutina Restador sta DISPLAY3 ; muestro en DISPLAY3 el ultimo digito del numero a convertir rts Resta: clr cont Repite: sub #10T bmi Salida inc cont bra Repite Salida: add #10T rts BCD7SEG: t7s DISPLAY1 ; utilización de Macro para conversión BCD --> 7seg t7s DISPLAY2 t7s DISPLAY3 t7s DISPLAY4 rts ************************************************************** * DUMMY_ISR - Servicio de rutina a interrupción inservible. * * Solo hace que se retorne desde la interrupción. * ************************************************************** dummy_isr: rti ; retorna Página 15/25

16 ************************************************************** * Vectores - Servicio a interrupciones. * * Vectorización de las interrupciones * ************************************************************** org VectorStart dw TIMo2_isr dw TIMo1_isr dw main_init ; Time Base Vector ; ADC Conversion Complete ; Keyboard Vector ; SCI Transmit Vector ; SCI Receive Vector ; SCI Error Vector ; SPI Transmit Vector ; SPI Receive Vector ; TIM2 Overflow Vector ; TIM2 Channel 1 Vector ; TIM2 Channel 0 Vector ; TIM1 Overflow Vector ; TIM1 Channel 1 Vector ; TIM1 Channel 0 Vector ; PLL Vector ; ~IRQ1 Vector ; SWI Vector ; Reset Vector Harware utilizado: Página 16/25

17 Conclusión: Se trató de desarrollar un ejemplo en el que se utilice el Timer Interface Module (TIM) para mostrar su configuración y el cálculo de los valores a cargar en los registros TxMOD, que son los valores que se comparan con el del contador, para determinar así intervalos de tiempo. Se eligió este tipo de ejemplo, porque se consideró propicio para mostrar y/o repasar diferentes técnicas de programación básicas, utilizando el set de instrucciones de éstos microcontroladores, tales como Macros, configuración de temporizadores, interrupciones, multiplexación de displays, indexación de tabla, conversión binario a BCD, conversión BCD a 7 segmentos. El uso del Timer Interface Module es flexible ya que se pueden obtener las diferentes temporizaciones que se deseen utilizando también el prescaler, lo que aumenta las posibilidades de tener diferentes temporizaciones a emplear. El manejo de las interrupciones por vectorización de parte del micro hace mucho más práctico el diseño del soft a implementar, ya que brinda una mejor organización de las mismas. Bibliografía: TECHNICAL DATA - MC68HC908GP32 (HCMOS Microcontroller Unit) de MOTOROLA. TIM08 - Timer Interface Module (Reference Manual) de MOTOROLA. CENTRAL PROCESSOR UNIT (Reference Manual) de MOTOROLA. EVAL08GP - Manual del usuario de Electrocomponentes S.A. CASM08Z - 68HC08 Assembler Help de P&E Microcomputer Systems. Agradecimientos: Agradecemos la colaboración de Motorola por el apoyo ofrecido al Laboratorio y, en este caso, por el aporte de la bibliografía aquí utilizada. Además, agradecemos a la empresa Electrocomponentes S.A. que nos brindó la placa de emulación en circuito con los programas correspondientes para el uso de la misma, permitiéndonos así, programar, simular y emular nuestros proyectos. Dichos programas son, respectivamente, WINIDE v1.2, CASM08Z v3.16, ICS08GP v1.32, ICD08SZ v1.32 todos de P&E Microcomputer Systems, Inc. Página 17/25

18 List file del programa crono1.asm Assembled with CASM08Z 26/02/02 05:20:18 p.m RAMStart EQU $ RomStart EQU $E VectorStart EQU $FFDC $Include 'gpregs.inc' 8 ; 68HC908GP20/GP32 Equates PTA EQU $ PORTA EQU $ PTB EQU $ PORTB EQU $ PTC EQU $ PORTC EQU $ PTD EQU $ PORTD EQU $ DDRA EQU $ DDRB EQU $ DDRC EQU $ DDRD EQU $ PTE EQU $ PORTE EQU $ DDRE EQU $000C PTAPUE EQU $000D PTCPUE EQU $000E PTDPUE EQU $000F SPCR EQU $ SPSCR EQU $ SPDR EQU $ SCC1 EQU $ SCC2 EQU $ SCC3 EQU $ SCS1 EQU $ SCS2 EQU $ SCDR EQU $ SCBR EQU $ INTKBSCR EQU $ INTKBIER EQU $001b TBCR EQU $001c ; Time base module INTSCR EQU $001d Página 18/25

19 CONFIG2 EQU $001e CONFIG1 EQU $001f T1SC EQU $0020 ; Timer T1CNTH EQU $ T1CNTL EQU $ T1MODH EQU $ T1MODL EQU $ T1SC0 EQU $ T1CH0H EQU $ T1CH0L EQU $ T1SC1 EQU $ T1CH1H EQU $ T1CH1L EQU $002a T2SC EQU $002b ; Timer T2CNTH EQU $002c T2CNTL EQU $002d T2MODH EQU $002e T2MODL EQU $002f T2SC0 EQU $ T2CH0H EQU $ T2CH0L EQU $ T2SC1 EQU $ T2CH1H EQU $ T2CH1L EQU $ PCTL EQU $0036 ; PLL PBWC EQU $ PMSH EQU $ PMSL EQU $ PMRS EQU $003A PMDS EQU $003B ADSCR EQU $003C ; A to D converter ADR EQU $003D ADCLK EQU $003E SBSR EQU $fe00 ; System integr SRSR EQU $fe SUBAR EQU $fe SBFCR EQU $fe INT1 EQU $fe04 ; Interrupt status INT2 EQU $fe INT3 EQU $fe FLTCR EQU $fe07 ; Flash test/progr FLCR EQU $fe08 98 Página 19/25

20 as this BRKH EQU $fe09 ; Hardware breakp BRKL EQU $fe0a BRKSCR EQU $fe0b LVISR EQU $fe0c ; L voltage detect FLBPR EQU $ff80 ; Flash b. protect COPCTL EQU $ffff ; COP ;(C)opywrite P&E Microcomputer Systems 112 ; You may use this code freely as long 113 ; is included $MACRO t7s 117 lda %1 118 tax 119 clrh 120 lda Tabla7segs,x 121 sta % $MACROEND org RamStart MINUTOS ds SEGUNDOS ds DISPLAY1 ds DISPLAY2 ds DISPLAY3 ds DISPLAY4 ds NDISP ds ENTRADA ds cont ds E org RomStart Main_Init: E000 [04] 6EFF mov #$FF,DDRB E003 [04] 6EFF mov #$FF,DDRA E006 [04] 6EFF mov #$FF,DDRD E009 [04] 101F 147 bset 0,CONFIG1 148 Página 20/25

21 E00B [01] 9C 149 rsp E00C [01] 4F 150 clra E00D [01] 5F 151 clrx E00E [04] 6E3F mov #$3F,DISPLAY1 E011 [04] 6E3F mov #$3F,DISPLAY2 E014 [04] 6E3F mov #$3F,DISPLAY3 E017 [04] 6E3F mov #$3F,DISPLAY4 E01A [04] 6E mov #$04,NDISP E01D [03] 3F clr SEGUNDOS E01F [03] 3F clr MINUTOS E021 [03] 3F clr ENTRADA E023 [04] 6E0B mov #$0B,T1MODH E026 [04] 6EF mov #$F6,T1MODL E029 [04] 6E952E 162 mov #$95,T2MODH E02C [04] 6E892F 163 mov #$89,T2MODL E02F [04] 6E542B 164 mov #$54,T2SC E032 [04] 6E mov #$50,T1SC main_loop: E035 [01] 8F 168 wait E036 [03] 20FD 169 bra main_loop TIMo1_isr: E038 [04] 3A dec NDISP E03A [02] A lda #$03 E03C [05] cbeq NDISP,Y1 E03F [02] A lda #$02 E041 [05] cbeq NDISP,Y2 E044 [02] A lda #$01 E046 [05] 31461B 178 cbeq NDISP,Y3 E049 [05] 4E mov DISPLAY4,PTB E04C [04] 6EBF mov #$BF,PTA E04F [04] 6E mov #$04,NDISP E052 [03] bra OUT1 E054 [05] 4E Y1: mov DISPLAY1,PTB E057 [04] 6EF mov #$F7,PTA E05A [03] 200E 185 bra OUT1 E05C [05] 4E Y2: mov DISPLAY2,PTB E05F [04] 6EEF mov #$EF,PTA E062 [03] bra OUT1 E064 [05] 4E Y3: mov DISPLAY3,PTB E067 [04] 6EDF mov #$DF,PTA E06A [04] 1F OUT1: bclr 7,T1SC E06C [07] rti TIMo2_isr: E06D [04] 3C inc ENTRADA E06F [04] bclr 0,PTD E071 [05] 01471C 198 brclr 0,ENTRADA,OUT3 E074 [04] 3C inc SEGUNDOS Página 21/25

22 E076 [04] bset 0,PTD E078 [02] A63C 201 lda #60T E07A [03] B cmp SEGUNDOS E07C [03] 260C 203 bne OUT2 E07E [03] 3F clr SEGUNDOS E080 [04] 3C inc MINUTOS E082 [02] A63C 206 lda #60T E084 [03] B cmp MINUTOS E086 [03] bne OUT2 E088 [03] 3F clr MINUTOS E08A [05] CDE09D 210 OUT2: jsr BINBCD E08D [05] CDE0BF 211 jsr BCD7SEG E090 [04] 1F2B 212 OUT3: bclr 7,T2SC E092 [07] rti Tabla7segs: E093 3F 217 db % ;0 E db % ;1 E095 5B 219 db % ;2 E096 4F 220 db % ;3 E db % ;4 E098 6D 222 db % ;5 E099 7C 223 db % ;6 E09A db % ;7 E09B 7F 225 db % ;8 E09C db % ; BINBCD: E09D [03] B lda SEGUNDOS E09F [05] CDE0B2 232 jsr Resta E0A2 [05] 4E mov cont,display2 E0A5 [03] B sta DISPLAY1 E0A7 [03] B lda MINUTOS E0A9 [05] CDE0B2 236 jsr Resta E0AC [05] 4E mov cont,display4 E0AF [03] B sta DISPLAY3 E0B1 [04] rts Resta: E0B2 [03] 3F clr cont 243 Repite: E0B4 [02] A00A 244 sub #10T E0B6 [03] 2B bmi Salida E0B8 [04] 3C inc cont E0BA [03] 20F8 247 bra Repite 248 Salida: E0BC [02] AB0A 249 add #10T E0BE [04] rts 251 Página 22/25

23 BCD7SEG: E0BF macro 254 t7s DISPLAY1 E0BF [03] B LDA %1 E0C1 [01] TAX E0C2 [01] 8C 257 CLRH E0C3 [04] D6E LDA TABLA7SEGS,X E0C6 [03] B STA %1 E0C8 macro 260 t7s DISPLAY2 E0C8 [03] B LDA %1 E0CA [01] TAX E0CB [01] 8C 263 CLRH E0CC [04] D6E LDA TABLA7SEGS,X E0CF [03] B STA %1 E0D1 macro 266 t7s DISPLAY3 E0D1 [03] B LDA %1 E0D3 [01] TAX E0D4 [01] 8C 269 CLRH E0D5 [04] D6E LDA TABLA7SEGS,X E0D8 [03] B STA %1 E0DA macro 272 t7s DISPLAY4 E0DA [03] B LDA %1 E0DC [01] TAX E0DD [01] 8C 275 CLRH E0DE [04] D6E LDA TABLA7SEGS,X E0E1 [03] B STA %1 E0E3 [04] rts dummy_isr: 281 E0E4 [07] rti 283 FFDC 284 org VectorStart 285 FFDC E0E4 286 ; Time Base V. FFDE E0E4 287 ; ADC FFE0 E0E4 288 ; Keyboard FFE2 E0E4 289 ; SCI Transmit FFE4 E0E4 290 ; SCI Receive FFE6 E0E4 291 ; SCI Error FFE8 E0E4 292 ; SPI Transmit FFEA E0E4 293 ; SPI Receive FFEC E06D 294 dw TIMo2_isr ; TIM2 Overfl. FFEE E0E4 295 ; TIM2 Channel 1 FFF0 E0E4 296 ; TIM2 Channel 0 FFF2 E dw TIMo1_isr ; TIM1 Overfl. FFF4 E0E4 298 ; TIM1 Channel 1 FFF6 E0E4 299 ; TIM1 Channel 0 FFF8 E0E4 300 ; PLL Vector FFFA E0E4 301 ; ~IRQ1 Vector FFFC E0E4 302 ; SWI Vector FFFE E dw main_init ; Reset Vector Página 23/25

24 Symbol Table ADCLK 003E ADR 003D ADSCR 003C BCD7SEG E0BF BINBCD E09D BRKH FE09 BRKL FE0A BRKSCR FE0B CONFIG1 001F CONFIG2 001E CONT 0048 COPCTL FFFF DDRA 0004 DDRB 0005 DDRC 0006 DDRD 0007 DDRE 000C DISPLAY DISPLAY DISPLAY DISPLAY DUMMY_ISR E0E4 ENTRADA 0047 FLBPR FF80 FLCR FE08 FLTCR FE07 INT1 FE04 INT2 FE05 INT3 FE06 INTKBIER 001B INTKBSCR 001A INTSCR 001D LVISR FE0C MAIN_INIT E000 MAIN_LOOP E035 MINUTOS 0040 NDISP 0046 OUT1 E06A OUT2 E08A OUT3 E090 PBWC 0037 PCTL 0036 PMDS 003B PMRS 003A PMSH 0038 PMSL 0039 PORTA 0000 PORTB Página 24/25

25 PORTC 0002 PORTD 0003 PORTE 0008 PTA 0000 PTAPUE 000D PTB 0001 PTC 0002 PTCPUE 000E PTD 0003 PTDPUE 000F PTE 0008 RAMSTART 0040 REPITE E0B4 RESTA E0B2 ROMSTART E000 SALIDA E0BC SBFCR FE03 SBSR FE00 SCBR 0019 SCC SCC SCC SCDR 0018 SCS SCS SEGUNDOS 0041 SPCR 0010 SPDR 0012 SPSCR 0011 SRSR FE01 SUBAR FE02 T1CH0H 0026 T1CH0L 0027 T1CH1H 0029 T1CH1L 002A T1CNTH 0021 T1CNTL 0022 T1MODH 0023 T1MODL 0024 T1SC 0020 T1SC T1SC T2CH0H 0031 T2CH0L 0032 T2CH1H 0034 T2CH1L 0035 T2CNTH 002C T2CNTL 002D T2MODH 002E T2MODL 002F T2SC 002B T2SC Página 25/25

26 T2SC TABLA7SEGS E093 TBCR 001C TIMO1_ISR E038 TIMO2_ISR E06D VECTORSTART FFDC Y1 E054 Y2 E05C Y3 E064 Copyright 2002 LabDSP FCEFyN UNC Córdoba, Argentina Página 26/25

Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN. Introducción:

Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN. Introducción: NOTA DE APLICACIÓN Ejemplo de implementación del microcontrolador MC68HC908GP32 en la multiplexación de displays usando módulo TIM por César Gianfelici, LabDSP FCEFyN UNC supervisado por Ing. Diego Dujovne,

Más detalles

Introducción. Características. Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN

Introducción. Características. Laboratorio de Procesamiento Digital de Señales Universidad Nacional de Córdoba NOTA DE APLICACIÓN NOTA DE APLICACIÓN Implementación de la multiplexación de displays en un Contador de Eventos sobre un microcontrolador MC68HC908JK1. por Martin Serra, LabDSP FCEFyN UNC supervisado por Ing. Diego Dujovne,

Más detalles

Analog To Digital Converter. Module (ADC) Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II ING.

Analog To Digital Converter. Module (ADC) Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II ING. Analog To Digital Converter Module (ADC) Analog to Digital Convertor Module Clock Generation Module (CGM) System Integration Module (SIM) LVR COP BREAK IRQ RESET 68HC8 CPU Timer Interface Module (TIM)

Más detalles

Capítulo 2 LOS MICROCONTROLADORES MC68H(R)C908JL3/JK3/JK1. Capítulo 3 INTRODUCCIÓN A LA PROGRAMACIÓN DE LOS MICROCONTROLADORES MOTOROLA- FREESCALE

Capítulo 2 LOS MICROCONTROLADORES MC68H(R)C908JL3/JK3/JK1. Capítulo 3 INTRODUCCIÓN A LA PROGRAMACIÓN DE LOS MICROCONTROLADORES MOTOROLA- FREESCALE CONTENIDO Mensaje del editor...iii Web de Apoyo...iv Agradecimientos...vi El autor...vii Contenido...ix Prólogo de Freescale...xv Introducción... xvii Capítulo 1 INTRODUCCIÓN A LOS MICROCONTROLADORES MOTOROLA-FREESCALE

Más detalles

Generación de PWM para la familia HC08JL

Generación de PWM para la familia HC08JL Introducción Generación de PWM para la familia HC08JL Todos los microcontroladores HC08 incluyen al menos un módulo de Timer que es muy útil para generar o capturar señales, ya sean estas periódicas en

Más detalles

RESETS & INTERRUPCIONES

RESETS & INTERRUPCIONES RESETS & INTERRUPCIONES EN EL CPU08 Resets & Interrupciones Los Resets inicializan al CPU a un estado conocido!!!!. Todos los resets son manejados por medio del System Integration Module (S.I.M ) Tipos

Más detalles

Flia. HC908. Detalles de la Arquitectura. Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II

Flia. HC908. Detalles de la Arquitectura. Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II Flia. HC908 Detalles de la Arquitectura MC68HC908 Detalles de la Arquitectura Familia MC68HC908 Nomenclatura Diagrama en Bloques Pines Mapa de Memória Nomenclatura: Como se podrá observar en el próximo

Más detalles

NT0106. Notas Técnicas de Uso y Aplicación 2.6 CAPTURA DE ENTRADA INPUT CAPTURE CAPTURA DE EVENTOS EXTERNOS MEDICIÓN DEL PERÍODO. 2.6.

NT0106. Notas Técnicas de Uso y Aplicación 2.6 CAPTURA DE ENTRADA INPUT CAPTURE CAPTURA DE EVENTOS EXTERNOS MEDICIÓN DEL PERÍODO. 2.6. Notas Técnicas de Uso y Aplicación 2.6 CAPTURA DE ENTRADA INPUT CAPTURE CAPTURA DE EVENTOS EXTERNOS MEDICIÓN DEL PERÍODO Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing. Electromecánica

Más detalles

2.1 CONTROL DE EVENTOS TEMPORIZADOS TIMER

2.1 CONTROL DE EVENTOS TEMPORIZADOS TIMER Notas Técnicas de Uso y Aplicación 2.1 CONTROL DE EVENTOS TEMPORIZADOS TIMER MODULE GENERACIÓN DE RETARDOS DE HARDWARE Preparado por: Elías Lombardo Batista Y por: Rangel Alvarado Estudiante Graduando

Más detalles

RESETS & INTERRUPCIONES

RESETS & INTERRUPCIONES RESETS & INTERRUPCIONES EN EL CPU08 Resets & Interrupciones Los Resets inicializan al CPU a un estado conocido!!!!. Todos los resets son manejados por medio del System Integration Module (S.I.M ) Tipos

Más detalles

Problemario: Memoria / Entrada Salida / Buses / Interrupciones

Problemario: Memoria / Entrada Salida / Buses / Interrupciones Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I Problemario: Memoria / Entrada Salida / Buses / Interrupciones PARTE

Más detalles

QUÉ ES UN MICRONTROLADOR?

QUÉ ES UN MICRONTROLADOR? QUÉ ES UN MICRONTROLADOR? Página 1 Un microcontrolador es la forma más básica y simple de un sistema computarizado En un solo integrado o chip se encuentra el microprocesador propiamente dicho o CPU, la

Más detalles

Buceando en el HC908...

Buceando en el HC908... COMENTARIO TÉCNICO Buceando en el HC908... Por Ing. Daniel Di Lella Dedicated Field Application Engineer www.edudevices.com.ar dilella@arnet.com.ar Como implementar un control remoto por infrarrojo en

Más detalles

Control automático del nivel de luz.

Control automático del nivel de luz. Control automático del nivel de luz. Dose, Aldo Franke, Favián Lima, Carlos aldo_dose@yahoo.com.ar favian.franke@gmail.com carlos_ariel20081@hotmail.com Eje temático: 4. Aplicaciones en dispositivos hogareños

Más detalles

NT0104. Notas Técnicas de Uso y Aplicación 2.4 MODULACIÓN POR ANCHO DE PULSO UNBUFFERED PWM CONFIGURACIÓN DEL PWM UNBUFFERED Y SUS LIMITANTES

NT0104. Notas Técnicas de Uso y Aplicación 2.4 MODULACIÓN POR ANCHO DE PULSO UNBUFFERED PWM CONFIGURACIÓN DEL PWM UNBUFFERED Y SUS LIMITANTES Notas Técnicas de Uso y Aplicación 2.4 MODULACIÓN POR ANCHO DE PULSO UNBUFFERED PWM CONFIGURACIÓN DEL PWM UNBUFFERED Y SUS LIMITANTES Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing.

Más detalles

(SPI) Módulo Serial Sincrónico

(SPI) Módulo Serial Sincrónico SERIAL PERIPHERAL INTERFACE (SPI) Módulo Serial Sincrónico SERIAL PERIPHERAL INTERFACE MODULE Clock Generation Module (CGM) System Integration Module (SIM) LVI COP IRQ BREAK RESET 68HC08 CPU Timer Interface

Más detalles

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Ciclos de máquina Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Acceso a periféricos: función del pin IO/M Este μp cuenta con dos instrucciones específicas para I/O, llamadas

Más detalles

Uso de la memoria FLASH de los MCUs HC908 para el Almacenamiento de Datos Temporales.

Uso de la memoria FLASH de los MCUs HC908 para el Almacenamiento de Datos Temporales. COMENTARIO TECNICO Uso de la memoria FLASH de los MCUs HC908 para el Almacenamiento de Datos Temporales. Por el Ing. Daniel Di Lella, Depto. Técnico EduDevices www.edudevices.com.ar Una pregunta común

Más detalles

Diseño de Controladores Digitales: Trabajo Practico Final

Diseño de Controladores Digitales: Trabajo Practico Final Diseño de Controladores Digitales: Trabajo Practico Final Pablo Rendtorff Dispenser programable de alimento balanceado para mascotas. Diagrama: El Dispense consta de: Un tanque Un dosificador (para el

Más detalles

1.10 PUERTOS GENERALES DE ENTRADA Y SALIDA

1.10 PUERTOS GENERALES DE ENTRADA Y SALIDA Notas Técnicas de Uso y Aplicación 1.10 PUERTOS GENERALES DE ENTRADA Y SALIDA USO DE PUERTOS PARA GENERAR SEÑALES Y DETECTAR SEÑALES DIGITALES Preparado por: Rangel Alvarado Estudiante Graduando de Lic.

Más detalles

Diseño de Controladores Digitales. Informe Proyecto Final. Control de Temperatura

Diseño de Controladores Digitales. Informe Proyecto Final. Control de Temperatura Diseño de Controladores Digitales Control de Temperatura Profesor: Juárez, José Alumno: LIO, Guillermo Gustavo Legajo: 7620 1 Introducción El proyecto consiste en un control de temperatura con modulación

Más detalles

Laboratorio 1 Entorno de desarrollo y subrutinas

Laboratorio 1 Entorno de desarrollo y subrutinas Laboratorio 1 Entorno de desarrollo y subrutinas Objetivos Dar los primeros pasos con el uso de la placa. Desarrollar subrutinas que acceden a puertos de entrada y salida (E/S). Validar subrutinas básicas

Más detalles

NT0012. Notas Técnicas de Uso y Aplicación 1.12 CONVERTIDOR ANALÓGICO DIGITAL UNA CONVERSIÓN CONFIGURACIÓN DE LECTURA DEL ADC

NT0012. Notas Técnicas de Uso y Aplicación 1.12 CONVERTIDOR ANALÓGICO DIGITAL UNA CONVERSIÓN CONFIGURACIÓN DE LECTURA DEL ADC Notas Técnicas de Uso y Aplicación 1.12 CONERTIDOR ANALÓGICO DIGITAL UNA CONERSIÓN CONFIGURACIÓN DE LECTURA DEL ADC Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing. Electromecánica ÍNDICE

Más detalles

1.8 PROGRAMACIÓN DEL MICROCONTROLADOR

1.8 PROGRAMACIÓN DEL MICROCONTROLADOR Notas Técnicas de Uso y Aplicación 1.8 PROGRAMACIÓN DEL MICROCONTROLADOR REGISTROS, LOCALIDADES DE MEMORIA Y MAPA DE MEMORIA MAPA DE MEMORIA DE LOS MICROCONTROLADORES JK3/JL3 Preparado por: Rangel Alvarado

Más detalles

CLOCK GENERATION MODULE (CGM) Módulo de Generación de Clock

CLOCK GENERATION MODULE (CGM) Módulo de Generación de Clock CLOCK GENERATION MODULE (CGM) Módulo de Generación de Clock Clock Generation Module Clock Generation Module (CGM) System Integration Module (SIM) LVI COP IRQ BREAK RESET 68HC08 CPU Timer Interface Module

Más detalles

Motorola MC68HC908JK3/JK1

Motorola MC68HC908JK3/JK1 Sistema de desarrollo para microcontrolador Motorola. MC68HC908JK3/JK1 Motorola MC68HC908JK3/JK1 GUSTAVO A. GALEANO info@propuestadinamica.com JUAN ANDRÉS CASTAÑO WELGOS welgos@telesat.com.co Sin invertir

Más detalles

Ejemplo del uso de las subrutinas

Ejemplo del uso de las subrutinas Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays

Más detalles

3.2 MÓDULO DE INTERFACE DE COMUNICACIONES

3.2 MÓDULO DE INTERFACE DE COMUNICACIONES Notas Técnicas de Uso y Aplicación 3.2 MÓDULO DE INTERFACE DE COMUNICACIONES SERIALES ASÍNCRONAS SCI COMUNICACIÓN HALF DÚPLEX CON HYPERTERMINAL (SOLO GP32) Preparado por: Rangel Alvarado Estudiante Graduando

Más detalles

Programación de Microcontroladores

Programación de Microcontroladores Programación de Microcontroladores Simulación en Crocodile Technology Práctica Nº 1 Encender un led cuando arranque el microcontrolador. Práctica Nº 2 Encender un led tres veces consecutivas. 1 Práctica

Más detalles

Practica 1: It s alive!

Practica 1: It s alive! Pág.: 1 Practica 1: It s alive! 1.1 - Objetivo El objetivo de esta primera práctica es plantear un problema sencillo, que requiera implementar el hardware básico de un microcontrolador y comprobar su funcionamiento

Más detalles

Puertos de Entrada/Salida

Puertos de Entrada/Salida Dispositivos Entrada / Salida en Flía CPU08 Sistemas con Microcontroladores y Microprocesadores http://www.herrera.unt.edu.ar/procesadores Puertos de Entrada/Salida El mc posee 13 líneas de entrada/salida

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

ACIÓN DEL MICROCONTROLADOR CPU08 CPU08 DE

ACIÓN DEL MICROCONTROLADOR CPU08 CPU08 DE Notas Técnicas de Uso y Aplicación 1.7 PROGRAMACIÓN DEL MICROCONTROLADOR CPU08 CPU08 DE LOS MICROCONTROLADORES DE LA FAMILIA HC08 Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing. Electromecánica

Más detalles

APENDICE A Microcontrolador de 8 bits MC68HC11F1

APENDICE A Microcontrolador de 8 bits MC68HC11F1 APENDICE A Microcontrolador de 8 bits MC68HC11F1 Características generales: Memoria RAM de 1Kbyte Memoria EEPROM de 512 bytes Cuatro modos de operación o Bootstrap o Expandido o Single chip o Test Siete

Más detalles

Set de Instrucciones del CPU08 Sistemas con Microprocesadores y Microcontroladores

Set de Instrucciones del CPU08 Sistemas con Microprocesadores y Microcontroladores Set de Instrucciones del CPU08 Sistemas con Microprocesadores y Microcontroladores http://www.herrera.unt.edu.ar/procesadores Temas a Tratar Tipos de Instrucciones. Movimiento de Datos Procesamiento Aritméticas

Más detalles

Práctica 3 - Arquitectura del CPU

Práctica 3 - Arquitectura del CPU Práctica 3 - Arquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 A partir de cada uno de los siguientes vuelcos parciales de memoria y estados del procesador, realizar

Más detalles

Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II. CPU08 Core ING. DANIEL DI LELLA

Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II. CPU08 Core ING. DANIEL DI LELLA INTRODUCCION AL CPU08 CPU08 Clock Generation Module (CGM) System Integration Module (SIM) LVI COP IRQ BREAK RESET 68HC08 CPU Timers Interface Modules (TIM) 8 BIT A/D Converter Module (ADCM) Internal Bus

Más detalles

Registros SFR vistos hasta ahora: Microcontroladores PIC

Registros SFR vistos hasta ahora: Microcontroladores PIC Registros SFR vistos hasta ahora: Microcontroladores PIC Microcontroladores PIC: Timer Características del Timer TMR0: Cumple básicamente la función de contador de eventos (o divisor de frecuencia). El

Más detalles

P1.0,... P1.7 7 EN3 EN2

P1.0,... P1.7 7 EN3 EN2 Ing. O. Richer Microprocesadores I Práctica #7 Manejo de un Display Trabajo en grupo. Conecte al microcontrolador 8051 un display formado por 5 dígitos a base de LED s de siete segmentos, como se muestra

Más detalles

NT0112. Notas Técnicas de Uso y Aplicación 2.12 MÓDULO DE AUTORECUPERACIÓN AWU PARA MICROCONTROLADORES DE LA SERIE Q

NT0112. Notas Técnicas de Uso y Aplicación 2.12 MÓDULO DE AUTORECUPERACIÓN AWU PARA MICROCONTROLADORES DE LA SERIE Q Notas Técnicas de Uso y Aplicación 2.12 MÓDULO DE AUTORECUPERACIÓN AWU PARA MICROCONTROLADORES DE LA SERIE Q Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing. Electromecánica Universidad

Más detalles

MONITOR ROM MODULE (MON08)

MONITOR ROM MODULE (MON08) ROM MODULE (MON08) Que es el Monitor ROM?? Es un módulo exclusivo de la familia HC908 FLASH de Freescale, que permite forzar al MCU a un estado especial de comunicación con el mundo exterior. Este modo

Más detalles

Diseño de Controladores Digitales.

Diseño de Controladores Digitales. Universidad Nacional de Quilmes. Ingeniería en Automatización y Control Industrial. Diseño de Controladores Digitales. Presentación final. Proyecto de aplicación del Microcontrolador MC68HC11F1. Diseño

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

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

Electrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital

Electrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital Electrónica Digital Actividad Dirigida Implementación de un Cronómetro Digital Trabajo a realizar La actividad consiste en la implementación de un cronómetro digital con capacidad de cuenta de minutos

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

Control remoto del EDUKIT08 vía PC...

Control remoto del EDUKIT08 vía PC... COMENTARIO TECNICO Mundo EDUKIT08 Por: Ing. Roberto Simone Ingeniero de aplicaciones Freescale robertosimone@arnet.com.ar Ing. Daniel Di Lella D.F.A.E www.edudevices.com.ar dilella@arnet.com.ar (MDO_EDUKIT_012)

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

Tema: Lazos y Control de Flujo en HC12.

Tema: Lazos y Control de Flujo en HC12. Microprocesadores. Guía 2 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Laboratorio de Microprocesadores (Edificio 3, 2a planta). Tema: Lazos y Control

Más detalles

Mapas de Memoria y E/S

Mapas de Memoria y E/S Mapas de Memoria y E/S Sistemas con Microprocesadores http://www.herrera.unt.edu.ar/procesadores Conexiones internas del CPU08 Dentro del mc el CPU08 se vincula con memoria y con los dispositivos de E/S

Más detalles

3.1 MÓDULO DE GENERACIÓN DE RELOJ CGMC

3.1 MÓDULO DE GENERACIÓN DE RELOJ CGMC Notas Técnicas de Uso y Aplicación 3.1 MÓDULO DE GENERACIÓN DE RELOJ CGMC GENERACIÓN DE FRECUENCIA DE BUS CON EL MÓDULO CGMC (SOLO GP32) Preparado por: Rangel Alvarado Estudiante Graduando de Lic. en Ing.

Más detalles

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED

PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED PRACTICA 4. REALIZAR ENCENDIDO-APAGADO DE DIODOS LED DESCRIPCIÓN. En esta práctica vamos a realizar el encendido y apagado de diodos led. Para ellos iremos activando y desactivando las salidas de la puerta

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

INSTRUCCIONES. Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como:

INSTRUCCIONES. Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como: INSTRUCCIONES Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como: Instrucciones de carga Manipulación de bit Aritméticas Transferencias Lógicas Rotación

Más detalles

LENGUAJE C PARA SISTEMAS DEDICADOS

LENGUAJE C PARA SISTEMAS DEDICADOS LENGUAJE C PARA SISTEMAS DEDICADOS FUNDAMENTOS Computadora Se dispone de un S.O. El S.O. inicia y configura los periféricos. El S.O. brinda al usuario subrutinas para utilizar los periféricos ( system

Más detalles

2.7 MODOS DE CONFIGURACIÓN PARA ENTRADA A MONITOR PROGRAMADOR UNIVERSAL CON LA TARJETA DE DESARROLLO TD68HC908

2.7 MODOS DE CONFIGURACIÓN PARA ENTRADA A MONITOR PROGRAMADOR UNIVERSAL CON LA TARJETA DE DESARROLLO TD68HC908 Notas Técnicas de Uso y Aplicación 2.7 MODOS DE CONFIGURACIÓN PARA ENTRADA A MONITOR PROGRAMADOR UNIVERSAL CON LA TARJETA DE DESARROLLO TD68HC908 Preparado por: Rangel Alvarado Estudiante Graduando de

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

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Responsable Area Educación ELKO / ARROW www.elkonet.com

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

EDUKIT08. Características. Aplicaciones. Descripción general

EDUKIT08. Características. Aplicaciones. Descripción general Características. Placa Didáctica / Entrenamiento Para las flias. HC908 / HC9S08 y Serie Flexis HC9S08 / V1 ColdFire Placa didáctica con hardware completo para prácticas con cada módulo típico del HC908

Más detalles

Diseño Basado en Microcontroladores.

Diseño Basado en Microcontroladores. Diseño Basado en Microcontroladores. Tema 3: Hardware del microcontrolador M16C/62 de Mitsubishi. (4 horas) 3.1. Características generales. 3.2. Arquitectura interna. Diagrama de bloques. 3.3. Mapa de

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

Uso de la herramienta de desarrollo y los modos de direccionamiento del HC12.

Uso de la herramienta de desarrollo y los modos de direccionamiento del HC12. Microprocesadores. Guía 1 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Laboratorio de Microprocesadores (Edificio 3, 2a planta). Uso de la herramienta

Más detalles

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo SISTEMAS NUMERICOS SISTEMAS NUMERICOS Si bien el sistema de numeración binario es el más importante de los sistemas digitales, hay otros que también lo son. El sistema decimal es importante porque se usa

Más detalles

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA INTRODUCCIÓN AL PIC NOMENCLATURA ARQUITECTURA. TEMPORIZACIÓN. SET DE INSTRUCCIONES. MODOS DE DIRECCIONAMIENTO.

Más detalles

Microprocesadores, Tema 3 (2):

Microprocesadores, Tema 3 (2): Microprocesadores, Tema 3 (2): Programación del Microcontrolador PIC18 a Bajo Nivel Guillermo Carpintero Marta Ruiz Universidad Carlos III de Madrid Ubicando el programa en la memoria del PIC18 Figura

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Responsable Area Educación ELKO / ARROW www.elkonet.com

Más detalles

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Arq. de Computadora I Ing. Carlos Ortega H. 1 Interrupciones FUNCIÓN INT

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

Microcontrolador PIC16F84: Arquitectura

Microcontrolador PIC16F84: Arquitectura Microcontrolador PIC16F84: Arquitectura La arquitectura del PIC es tipo Harvard: Mem. de Programa (instrucciones) (tipo FLASH) Control DIR DATOS µp (tipo RISC, pipeline de 2 etapas) Control DIR DATOS 14

Más detalles

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos 17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos Cuál será el valor de precarga necesario para que este sistema nos indique que ha transcurrido un tiempo de 6 minutos? Seria depositar

Más detalles

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) TEMARIO Objetivo: El estudiante comprenderá la evolución de los microcontroladores y microprocesadores así como sus diferencias, desarrollara su habilidad

Más detalles

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS SISTEMA DE NUMERACIÓN Y CÓDIGOS CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS CÓDIGO Un código es un grupo de símbolos que representan algún tipo de información reconocible. En los sistemas digitales, los

Más detalles

INTRODUCCIÓN III. Figura 1. Señal con codificación digital NRZI.

INTRODUCCIÓN III. Figura 1. Señal con codificación digital NRZI. 1 Codificación Digital Luís Miguel Capacho V. capacho4@hotmail.com, Nelson Antonio Becerra C. nelsonabc25@hotmail.com, Jaime Alberto López R. jaimealopezr@yahoo.com, Diego Felipe García. felipeg_84@hotmail.com.

Más detalles

Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I

Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I Problemario: Memoria / Entrada Salida / Buses / Punto Flotante PARTE

Más detalles

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC)

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC) Aplicar los conocimientos básicos de electrónica de manera teórica (lenguaje ANSI-C) y práctica (montaje de circuitos). Conocer las funciones que gobiernan las entradas y salidas del microcontrolador PIC18F47J53.

Más detalles

Tablero Indicador de Turnos para Oficinas Públicas

Tablero Indicador de Turnos para Oficinas Públicas Tablero Indicador de Turnos para Oficinas Públicas Maggiolo Gustavo Caballero Raul Reula Germán Pfarher Iván Email: {gustavomaggiolo, raul_caballero, germanreula}@frp.utn.edu.ar ivan_pfarher@hotmail.com

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

SOMI XVIII Congreso de Instrumentación ELECTRONICA ASC1876

SOMI XVIII Congreso de Instrumentación ELECTRONICA ASC1876 SD_908, SISTEMA PARA DESARROLLO CON MICROCONTROLADORES DE LA FAMILIA 68HC908 Autor: Antonio Salvá Calleja División de Ingeniería Eléctrica Facultad de Ingeniería UNAM salva@dctrl.fi-b.unam.mx RESUMEN Los

Más detalles

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O O B J E T I V O Realizar un contador decimal que se exhiba en un display de 7 segmentos, cada número deberá estar exhibido durante un segundo. I N T R O D U C C I O N En la mayoría de los sistemas electrónicos

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

Unidad 2. Organización y diseño básico de computadoras

Unidad 2. Organización y diseño básico de computadoras Unidad 2 Organización y diseño básico de computadoras Temario códigos de instrucción Registros de la computadora Instrucciones de la computadora Temporización y control Ciclo de instrucción Instrucciones

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

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

Ejercicios. Arquitectura de Computadoras. José Garzía

Ejercicios. Arquitectura de Computadoras. José Garzía Ejercicios de Arquitectura de Computadoras José Garzía Se pretende diseñar una sección de control con 32 estados, que genere 4 señales de control, reciba 2 señales de condición y en un estado se puedan

Más detalles

ARQUITECTURA DEL PIC16F84A

ARQUITECTURA DEL PIC16F84A ARQUITECTURA DEL PIC16F84A Arquitectura interna del PIC16F84A CPU ALU Decodificador de Instrucciones - Buses Registro de trabajo W PC Contador de Programa Organización de la memoria Memoria de Programa

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

SISTEMA MULTITAREA BASADO EN PRIORIDADES - KERNEL

SISTEMA MULTITAREA BASADO EN PRIORIDADES - KERNEL Documento en desarrollo como Notas Técnicas de Uso y Aplicación SISTEMA MULTITAREA BASADO EN PRIORIDADES - KERNEL PARA MICROCONTROLADORES CON CPU08 Preparado por: Rangel Alvarado Estudiante Graduando de

Más detalles

Tema 5: La pila, las macros y los procedimientos

Tema 5: La pila, las macros y los procedimientos Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante 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

Buceando en el HC908...

Buceando en el HC908... COMENTARIO TÉCNICO Buceando en el HC908... Por Ing. Daniel Di Lella Dedicated Field Application Engineer www.edudevices.com.ar dilella@arnet.com.ar Guía de Conversión de los MC908QT/QYx a MC908QTxA/QYxA.

Más detalles

Capítulo 1. Introducción a los PIC de 8 bits

Capítulo 1. Introducción a los PIC de 8 bits Capítulo 1. Introducción a los PIC de 8 bits 1.1 Memorias y Registros Entre los componentes básicos de un microcontrolador podemos definir el contador, sus registros, la memoria, el watchdog timer, el

Más detalles

PROGRAMA INSTRUCCIONAL PROGRAMACION III

PROGRAMA INSTRUCCIONAL PROGRAMACION III UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACION PROGRAMA INSTRUCCIONAL PROGRAMACION III CODIGO DENSIDAD HORARIA PRE - SEMESTRE U.C. ASIGNADO EQUIVALENTE H.T.

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 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

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

Interrupciones. Sistemas con Microcontroladores y Microprocesadores. Interrupciones Sistemas con Microcontroladores y Microprocesadores http://www.herrera.unt.edu.ar/procesadores Interrupciones en la vida real 1. Un estudiante está estudiando (Ejecuta una tarea) 2. Le golpean

Más detalles

Trabajo Práctico 3 - Simon

Trabajo Práctico 3 - Simon Trabajo Práctico 3 - Simon Organización del Computador 1 Verano 2006 8 de marzo de 2006 Introducción En los años 80 hizo furor entre la muchachada un juego bastante simple pero entretenido: el Simon. Este

Más detalles

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera.

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera. USO DE MEMORIA Y PERIFÉRICOS CON EMU8086 Kervin Sánchez Herrera. Estructura del Computador MEMORIA Uso de Memoria La memoria ROM ya está escrita y contiene el programa BOOT de inicio, este programa se

Más detalles