Advertisement
chof_machine

Sesion3.Ejercicio5

Mar 22nd, 2021
2,107
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 5.
  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 9 y del
  7. *           9 al 0 y vuelva a empezar, visualizando la cuenta en el
  8. *           7 segmentos  ($E00000)
  9. *-----------------------------------------------------------
  10.         ORG    $1000
  11.        
  12. RETARDO EQU 50 * Pongo un retardo de 0.5 s
  13. SEG1    EQU $E00000
  14.        
  15. START:
  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
  21.        MOVE.B #0,$E0000C
  22.        MOVE.B #0,$E0000E   * Así solo se ilumina el 7seg que estamos utilizando
  23.  
  24.        CLR.B D1 * En D1 llevaremos la cuenta del 0 al 9
  25.        MOVE #TABLA,A1 * Guardamos en A1 la dirección de la tabla
  26. BUCLE   JSR COUNT_UP * Primero tenemos que contar hacia arriba
  27.        JSR COUNT_DOWN * Después contamos hacia abajo
  28.        JMP BUCLE
  29.        
  30. SHOW_NUM MOVE.B 0(A1,D1),SEG1 * Sumamos al contenido de A1 el valor 0 y el contenido de D1 y lo movemos a SEG1
  31.        JSR WAIT
  32.        RTS
  33.        
  34. COUNT_UP JSR SHOW_NUM
  35.        ADD.B #$1,D1
  36.        CMP.B #$9,D1 * Si D1 es menor que 9 -> repetimos
  37.        BCS COUNT_UP
  38.        RTS
  39.        
  40. COUNT_DOWN JSR SHOW_NUM
  41.        SUB #$1,D1
  42.        CMP.B #$0,D1 * Si D1 es mayor que 0 -> repetimos
  43.        BHI COUNT_DOWN
  44.        RTS
  45.        
  46. WAIT    MOVEM.L D0-D1,-(A7)
  47.        MOVE.B #RETARDO,D1
  48.        MOVE.B #23,D0
  49.        TRAP #15
  50.        MOVEM.L (A7)+,D0-D1
  51.        RTS
  52.  
  53.                
  54.        SIMHALT             ; halt simulator
  55.        
  56.        ORG $2000
  57.        
  58. TABLA   DC.B $3F DIGITO 0 -> 0011_1111 Se encienden todos los segmentos menos el de en medio y el punto
  59.        DC.B $06 DIGITO 1
  60.        DC.B $5B DIGITO 2
  61.        DC.B $4F DIGITO 3
  62.        DC.B $66 DIGITO 4
  63.        DC.B $6D DIGITO 5 * TABLA + 5
  64.        DC.B $7D DIGITO 6
  65.        DC.B $07 DIGITO 7
  66.        DC.B $7F DIGITO 8
  67.        DC.B $6F DIGITO 9
  68.        DC.B $00 DIGITO OFF
  69.        DC.B $80 PUNTO          
  70.  
  71.    END    START        ; last line of source
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement