#include .section .data .section .bss .section .text .org 0x00 JMP START SevenSegment: .byte 0x3F,0x06,0x5B,0x4F, 0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C, 0x39,0x5E,0x79,0x71 START: LDI R16, 0xFF STS DDRB, R16 LDI R16, 0x3F STS PORTB, R16 LDI R17, 0x00 LOOP: WAIT0: LDS R16, PINA SBRC R16, 0 RJMP WAIT0 WAIT1: LDS R16, PINA SBRS R16, 0 RJMP WAIT1 LDI R16, 0x0F INC R17 AND R17, R16 LDI R16, 0x00 LDI ZL, lo8 (SevenSegment) LDI ZH, hi8 (SevenSegment) ADD ZL, R17 ADC ZH, R16 LPM R16, Z STS PORTB, R16 RJMP LOOP DELAY_MS: DELAY1: LDI R21, 16 DELAY2: LDI R22, 250 DELAY3: DEC R22 NOP BRNE DELAY3 DEC R21 BRNE DELAY2 DEC R20 BRNE DELAY1 RET