Модератор :Срач отрезан и выкинут в корзину. Ради бога, развлекайтесь, изучайте 2 команды ассемблера на 20 страницах. Но если опять начнется - буду помогать отдыхать от форума.
roboforum.ruТехнический форум по робототехнике. |
|
|
Модератор :Срач отрезан и выкинут в корзину. Ради бога, развлекайтесь, изучайте 2 команды ассемблера на 20 страницах. Но если опять начнется - буду помогать отдыхать от форума.
rjmp reset ;
rjmp EXT_INT0 ;
rjmp EXT_INT1 ;
.def temp=r16 ;
.def tempH=r17
.def tempL=r18
.dseg ;
.eseg ;
.cseg ;
.equ in1 = PB2 ;na port B0 podklucen in1 L293
.equ in2 = PB3 ;na port B1 podklucen in2 L293
.equ TSO =PD2 ; na port B2 podklucen osnovnoy TSOP
.equ in3 = PB4 ;na port B3 podklucena in3 L293
.equ in4 = PB5 ;na port B4 podklucen in4 L293
.equ TSL =PB0 ;na port PB0 podklucen leviy TSOP
.equ TSP =PB1 ;na port PB1 podklucen praviy TSOP
.equ PAUER END =PD0 ; signal razryada batarei
reset:
ldi tempH,$04 ;neobhodimaia
out SPH,tempH ;ustanovka
ldi tempL,$5F ;dlia
out SPL,tempL ;vseh MEG
ldi temp,0b11000000 ; razreshenie vneSh.prer.
out GICR, temp ;
;nastroyka portov
ldi temp, 0b00000001 ; PD Vh.
out ddrD, temp ;
ldi temp, 0b00001100 ; podtyazka na PD2-3
out portD, temp ;
ldi temp,0b00111100 ; PB0.,PB1 vhod.,PB2-PB5 vih
out ddrB,temp ; zapis' v registr
ldi temp,0b00000011 ; podtyazka na PB0.,PB1
out portB,temp ; vivod na portD
sei ;
start:
ON:
sbis pinb,tsl ;
rjmp a ;
sbis pinb,tsp ;
rjmp b ;
sbi portb,in1 ;dvizenie vpered
cbi portb,in2 ;esli ne srabotali
sbi portb,in3 ;datchiki
cbi portb,in4 ;
rjmp start ;
a:
cbi portb,in1 ;dvizenie
cbi portb,in3 ;nazad
sbi portb,in2 ;
sbi portb,in4 ;
ldi temp,255 ;zagr chislo
rcall pause ; vizov pausi
cbi portb,in1 ;bort
sbi portb,in2 ;vpered.
sbi portb,in3 ;bort
cbi portb,in4 ;nazad.
rcall pause ;
rjmp start ;
b:cbi portb,in1 ;dvizenie
cbi portb,in3 ;nazad
sbi portb,in2 ;
sbi portb,in4 ;
ldi temp,255 ;zagr chislo
rcall pause ; vizov pausi
sbi portb,in1 ;bort nazad
cbi portb,in2 ;
cbi portb,in3 ;bort
sbi portb,in4 ;nazad
ldi temp,255
rcall pause ;vizov pausi
rjmp start ;
pause:
pause1:
ldi r23,40 ;zagr chislo
pause2:
ldi r24,40 ;zagr chislo
pause3:
dec r24 ;-1
brne pause3 ;esli ne 0 ese -1
dec r23 ;-1
brne pause2 ;esli ne 0 ese -1
dec temp ;-1
brne pause ;esli ne 0 ese -1
ret
EXT_INT1:
rjmp stop ;perehod na ostanovku
stop:
sbi portd,pauer end;vkl indikatora
cbi portb,in1 ;
cbi portb,in2 ; VSE VIKL.
cbi portb,in3 ;
cbi portb,in4 ;
reti
EXT_INT0:
rjmp reset ;
reti
lxi d, 0300
l3: lxi b, ffff
dcr d
mov a, d
ora e
jnz l4
ret
l4: dcx b
mov a, b
ora c
jnz l4
jz l3
MVI B необходимое кол-во секунд
MVI C FF /метка3
MVI D FC/метка2
NOP /метка1
NOP
NOP
NOP
DCR D
JNZ метка1
DCR C
JNZ метка2
DCR B
JNZ метка3
KitaPro писал(а):Ну да, сессия она такая) Всем спасибо)
Dmitry__ писал(а):Вон оно чо, а я чуть моск себе не вынес, хоть бы говорили что для сессии.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3