Advertisement
chof_machine

Sesion3.Ejercicio6

Mar 22nd, 2021
2,123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. *-----------------------------------------------------------
  2. * Title      : Sesión 3. LED's, pulsadores e interruptores.
  3. *           Ejercicio 6.
  4. * Written by : Sofía Andújar Muñoz
  5. * Date       : 07/03/2021
  6. * Description: Vamos a hacer un programa que cuente del 0 al 59 y
  7. *               vuelva a empezar, queremos que tarde un segundo.
  8. *-----------------------------------------------------------
  9.         ORG    $1000
  10.        
  11. RETARDO EQU 100 * Pongo un retardo de 1 s
  12. SEG8    EQU $E0000E
  13. SEG7    EQU $E0000C
  14.        
  15. START:  MOVE.B #0,$E00000
  16.        MOVE.B #0,$E00002
  17.        MOVE.B #0,$E00004
  18.        MOVE.B #0,$E00006
  19.        MOVE.B #0,$E00008
  20.        MOVE.B #0,$E0000A   * Así solo se ilumina los 7seg que estamos utilizando
  21.  
  22.        CLR.B D1 * En D1 llevaremos la cuenta del 0 al 59
  23.        MOVE.L #TABLA,A1 * Guardamos en A1 la dirección de la tabla
  24.        
  25. BUCLE   JSR COUNT
  26.        CLR.B D1
  27.        JMP BUCLE
  28.        
  29. SHOW_NUM MOVE.L D1,-(A7)
  30.        DIVU.W #10,D1 * Divido D1 entre 10 quedando el resto (unidades) en los 16 bits más significativos
  31.        MOVE.B 0(A1,D1),SEG7 * Muestro en el display de la izquierda el cociente de DIVU (decenas)
  32.        SWAP.W D1
  33.        MOVE.B 0(A1,D1),SEG8 * Y en el display de la derecha el resto de DIVU (las unidades)
  34.        MOVE.L (A7)+,D1
  35.        RTS
  36.        
  37. COUNT   JSR SHOW_NUM
  38.        JSR WAIT
  39.        ADD.B #$1,D1
  40.        CMP.B #60,D1 * Si D1 es menor que 60 -> repetimos
  41.        BCS COUNT
  42.        RTS
  43.        
  44. WAIT    MOVEM.L D0-D1,-(A7)
  45.        MOVE.L #RETARDO,D1
  46.        MOVE.L #23,D0
  47.        TRAP #15
  48.        MOVEM.L (A7)+,D0-D1
  49.        RTS
  50.  
  51.                
  52.        SIMHALT             ; halt simulator
  53.        
  54.        ORG $2000
  55.        
  56. TABLA   DC.B $3F DIGITO 0 -> 0011_1111 Se encienden todos los segmentos menos el de en medio y el punto
  57.        DC.B $06 DIGITO 1
  58.        DC.B $5B DIGITO 2
  59.        DC.B $4F DIGITO 3
  60.        DC.B $66 DIGITO 4
  61.        DC.B $6D DIGITO 5
  62.        DC.B $7D DIGITO 6
  63.        DC.B $07 DIGITO 7
  64.        DC.B $7F DIGITO 8
  65.        DC.B $6F DIGITO 9
  66.        DC.B $00 DIGITO OFF
  67.        DC.B $80 PUNTO          
  68.  
  69.    END    START        ; last line of source
  70.  
  71.  
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement