X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=led_plex%2Fport.asm;h=f57bda919a0dd809fd7856ec5528a03998a16609;hb=32e3f51bc0f4248019379fe784d38c7fb770f952;hp=eefa04fcccbf0c04d653c8b7feb0be3b0a040666;hpb=7b9bd2b13a2445b7c1ebd50a66d2841e124e0d0d;p=my-code%2Fatmel.git diff --git a/led_plex/port.asm b/led_plex/port.asm index eefa04f..f57bda9 100644 --- a/led_plex/port.asm +++ b/led_plex/port.asm @@ -27,6 +27,12 @@ PORT_INIT: ; ser -> low cbi PORTD,6 + ; port d 2 -> output (debug clk!) + sbi DDRD,2 + + ; port d 3 -> output (debug vertical!) + sbi DDRD,3 + ; release hc595 register clear sbi PORTB,3 @@ -37,14 +43,26 @@ SET_HC595: ; storage clock -> low cbi PORTB,1 + ; zero to everything ... + cbi PORTB,3 ; clear hc595 registers + sbi PORTB,1 ; store shift register data + cbi PORTB,1 ; release hc595 register clear + sbi PORTB,3 ; storage clock -> low + ; source driver ; clock -> low cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,7 + sbrc hc595_source,0 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,0 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -52,8 +70,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,6 + sbrc hc595_source,1 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,1 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -61,8 +85,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,5 + sbrc hc595_source,2 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,2 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -70,8 +100,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,4 + sbrc hc595_source,3 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,3 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -79,8 +115,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,3 + sbrc hc595_source,4 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,4 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -88,8 +130,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,2 + sbrc hc595_source,5 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,5 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -97,8 +145,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,1 + sbrc hc595_source,6 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,6 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -106,8 +160,14 @@ SET_HC595: cbi PORTB,2 ; set ser line cbi PORTD,6 - sbrc hc595_source,0 + sbrc hc595_source,7 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_source,7 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -119,6 +179,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,7 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,7 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -128,6 +194,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,6 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,6 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -137,6 +209,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,5 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,5 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -146,6 +224,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,4 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,4 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -155,6 +239,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,3 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,3 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -164,6 +254,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,2 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,2 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -173,6 +269,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,1 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,1 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2 @@ -182,6 +284,12 @@ SET_HC595: cbi PORTD,6 sbrc hc595_sink,0 sbi PORTD,6 +.ifdef DEBUG_PORTS + ldi uart_rxtx,0x30 + sbrc hc595_sink,0 + ldi uart_rxtx,0x31 + rcall UART_TX +.endif ; clock -> high sbi PORTB,2