собственно сам код .
Код: Выделить всё
.equ portb = 0x05;
.equ ddrb = 0x04;
.equ pinb = 0x03;
.equ portc = 0x08
.equ ddrc = 0x07
.equ pinc = 0x06
.equ portd = 0x0b
.equ ddrd = 0x0a
.equ pind = 0x09
SER R16 ;
OUT ddrd,R16 ;
LDI R16,0xC7 ;
OUT ddrb,R16
LDI R16,0x30
OUT ddrc,R16
start:
LDI R16, 0xfe ;
OUT portd, R16
IN R17, pinc ;
ANDI R17, 0x02
BREQ led
rjmp start
led:
call led0
call w1s
call led1
call w1s
call led2
call w1s
call led3
call w1s
call led4
call w1s
led0:
ldi r16, 0b11000110
out portd,r16
sbi portb, 0 ;Set Bit in I/O Register
cbi portb, 0 ;Clear Bit in I/O Register
ret ; Return k mestu otkuda vizvali
led1:
ldi r16, 0b10000110
out portd,r16
sbi portb, 0
cbi portb, 0
ret
led2:
ldi r16, 0b11000001
out portd,r16
sbi portb, 0 ; podaet 1
cbi portb, 0 ; podaet 0
ret
led3:
ldi r16, 0b10000110
out portd,r16
sbi portb, 0
cbi portb, 0
ret
led4:
ldi r16, 0b10001100
out portd,r16
sbi portb, 0
cbi portb, 0
ret
w1s:
PUSH R16;Push Register on Stack
LDI R16,50
V4:
RCALL w20ms ;Relative Subroutine Call
DEC R16 ;Decrement
BRNE V4 ;
POP R16 ;Pop Register from Stack
RET



