задача legion решена.
выполнил её так:
Код:
.dseg ;
.eseg ;
.cseg ;
.equ but =pd0
.equ led =pb0
.equ led1 =pb1
reset:
ldi tempH,$04 ;neobhodimaia
out SPH,tempH ;ustanovka
ldi tempL,$5F ;dlia
out SPL,tempL ;vseh MEG
ldi temp, 0b00000011 ;pin0,pin1 vihodi
out ddrb,temp ;zapis v reg
ldi temp,0b00000001 ; podt na pin0, led vkl
out portb,temp ;vivod na portb
ldi temp,0b00000001 ;pin0 vhod
out ddrd,temp ;
ldi temp,0b00000001 ; podt.na pin0
out portd,temp ;vivod na portd
start:
cbi portb,led1 ;vikl led2
sbic pind, but ;propustit sled kom, esli kn nazata
rjmp start ; vozvrat
m_1:
sbis pind, but ; prop sled kom, esli kn otp
rjmp m_1 ; ozidanie
m_2:
cbi portb,led ;vikl led1
sbi portb,led1 ;vkl led2
sbic pind, but ;propustit sled kom, esli kn nazata
rjmp m_2 ;vozvrat k metke
m_3:
sbis pind, but ; prop sled kom, esli kn otp
rjmp m_3 ;
m_4:
rjmp reset ;vozvrat k nachalu prog
Добавлено спустя 6 минут 53 секунды:я с тини12 решил поиграть, но в инициализации ошибки пишет.
даю весь код (не дописан):
Код:
.def temp =r16
.def temp =r17
.def temp =r18
.dseg
.eseg
.cseg
.equ bortL = pb5 ;
.equ bortR = pb4 ;
.equ left_up = pb2 ;
.equ rith_up =pb1 ;
.equ left_doun =pb0 ;
.equ rith_doun =pb3 ;
reset:
ldi tempH,$04 ;neobhodimaia
out SPH,tempH ;ustanovka
ldi tempL,$5F ;dlia
out SPL,tempL ;vseh MEG
;nastr pinov porta
ldi temp, 0b00001111 ;pini 0-3 vihod
out ddrb, temp ;zapis v reg
ldi temp, 0b00110110 ;podn na pin 1,2,dvig vpered i datchiki
out portb, temp ; vivod portab
start:
sbic pinb, bortL ; esli net signala propustit sled komandu
rjmp start ; ozidanie
m_1:
sbic pinb, bortR ;esli net signala propustit sled komandu
rjmp m_1 ;ozidanie
и собсна то место, где ошибки выдает
Код:
ldi tempH,$04 ;neobhodimaia
out SPH,tempH ;ustanovka
ldi tempL,$5F ;dlia
out SPL,tempL ;vseh MEG
тут у меня знаний еще никаких нет. что к чему?