-; vim: set filetype=asm51 :
+; vim: set filetype=asx8051 :
; Fragmento del proyecto que lee la matriz de 8x8 y la muestra a intervalos
; columna por columna.
; Constantes
- LEDS = p0 ; el led de arriba es el más significativo
+ LEDS = p1 ; el led de arriba es el más significativo
MAT_LEN = 0x30 ; tamaño de la matriz (en columnas)
MAT_COL = 0x31 ; columna mostrándose actualmente
MATRIZ = 0x32 ; primera columna de la matriz
; Área de datos por default
.area DEFAULTS
MAT_LEN_D: ; tamaño de la matriz por default
- .db #8 ; 8x8 por default
+ .db 8 ; 8x8 por default
MAT_D: ; matriz por default
; bit 76543210
- .db #0b01000000 ; columna 0
- .db #0b00100000 ; columna 1
- .db #0b00010000 ; columna 2
- .db #0b00001000 ; columna 3
- .db #0b00000100 ; columna 4
- .db #0b00000010 ; columna 5
- .db #0b00000100 ; columna 6
- .db #0b00001000 ; columna 7
+ .db 0b01000000 ; columna 0
+ .db 0b00100000 ; columna 1
+ .db 0b00010000 ; columna 2
+ .db 0b00001000 ; columna 3
+ .db 0b00000100 ; columna 4
+ .db 0b00000010 ; columna 5
+ .db 0b00000100 ; columna 6
+ .db 0b00001000 ; columna 7
;
; bit columna
; 7 6 5 4 3 2 1 0
mov rcap2h, #>INTERVAL ; high byte del intervalo
mov ie, #0b10100000 ; Habilita interrupción timer 2
mov t2con, #0b00000100 ; Setup Timer 2 (auto-reload y start)
- sjmp #. ; Paveamos forever
+ sjmp . ; Paveamos forever
; Área del handler del timer2 (dibuja columna actual)