led7seg.s
changeset 23 a6afc0eb347f
parent 19 1e00790c5029
child 25 33496b1a964f
equal deleted inserted replaced
22:fd72c63b8db8 23:a6afc0eb347f
    13 .org SPIaddr
    13 .org SPIaddr
    14         rjmp        SPI_Interrupt
    14         rjmp        SPI_Interrupt
    15 
    15 
    16 .org ADCCaddr
    16 .org ADCCaddr
    17         rjmp        ADC_Interrupt
    17         rjmp        ADC_Interrupt
       
    18 
       
    19 .org 0x40
       
    20 
       
    21 ;; Syntax
       
    22 .include "macros.inc"
    18 
    23 
    19 ;; SPI
    24 ;; SPI
    20 .include "spi.inc"
    25 .include "spi.inc"
    21 
    26 
    22 ;; LCD
    27 ;; LCD
    85         ldi         r24, 0b00000001 
    90         ldi         r24, 0b00000001 
    86 
    91 
    87 _spin_next:
    92 _spin_next:
    88         ; display
    93         ; display
    89         mov         r16, r24
    94         mov         r16, r24
       
    95         mov         r17, r24
       
    96         com         r17
    90         rcall       LED7_ShowRaw
    97         rcall       LED7_ShowRaw
    91 
    98 
    92         ; delay
    99         ; delay
    93         mov         r16, r10
   100         rcall       ADC_Read8 
       
   101         ;mov         r16, r10
       
   102 
    94         ldi         r17, 64
   103         ldi         r17, 64
    95         mul         r16, r17
   104         mul         r16, r17
    96         mov         XL, r0
   105         mov         XL, r0
    97         mov         XH, r1 
   106         mov         XH, r1 
    98 
   107 
   107 
   116 
   108         rjmp        _spin_next
   117         rjmp        _spin_next
   109 
   118 
   110 Main:
   119 Main:
   111 init:
   120 init:
       
   121 	; DEBUG
       
   122 		sbi			DDRD, PORTD7
       
   123 		sbi			PORTD, PORTD7
       
   124 
   112     ; Stack
   125     ; Stack
   113         ldi         r16, high(RAMEND)
   126         ldi         r16, high(RAMEND)
   114         ldi         r17, low(RAMEND)
   127         ldi         r17, low(RAMEND)
   115         out         SPH, r16
   128         out         SPH, r16
   116         out         SPL, r17
   129         out         SPL, r17
   117 
   130 
   118     ; Enable interrupts
   131     ; Enable interrupts
   119         sei
   132         sei
   120 
   133 
   121     ; ADC (slowest to start up)
   134     ; ADC (slowest to start up)
   122         ; rcall       ADC_Init
   135         rcall       ADC_Init
   123     
   136     
   124     ; Timer
   137     ; Timer
   125         rcall       Timer_Init
   138         rcall       Timer_Init
   126 
   139 
   127     ; SPI
   140     ; SPI