Задачу я поставил перед собой такую - есть мк тини2313 у него порт Б настроен на вывод, прошит он одной из версий "мигалки", украденой с вашей обучалки.
Есть ещё один тини2313, я хотел у него настроить порт Д на прием, так, чтобы им мог управлять первый тини (cм картинку)
вот прошивка u2
.include "C:\AVR\APPNOTES\2313def.inc"
.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.def Temp5=R21
.cseg
.org 0
ldi Temp,RamEnd ;èíèöèàëèçàöèÿ ñòåêà
out SPL,Temp
ldi Temp,0b11111111 ;íàñòðîéêà ïîðòîâ B
out DDRB,Temp
ldi Temp,0b00000000 ;íàñòðîéêà ïîðòîâ D
out DDRD,Temp
compare: ldi temp, portD
cpi temp, 0b0000001
breq GO
cpi temp,0b0000001
brne compare
Go: ldi Temp,0b00000001 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b00000010 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b00000100 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b00001000 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b00010000 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b00100000 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b01000000 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
ldi Temp,0b10000000 ;âûâîä íà èíäèêàöèþ
rcall Delay ;âûçîâ ïîäïðîãðàììû çàäåðæêè
rjmp compare
;****************************************************
;Çàäåðæêà
Delay: out PortB,Temp
ldi Temp1,0
ldi Temp2,0
ldi Temp3,3
Loop: dec Temp1
brne Loop
dec Temp2
brne Loop
dec Temp3
brne Loop
ret
почему u2 не запускает на себе мигалку, ведь должен?
пс: ассемблер плохо, очень плохо знаю, но казалось что написано правильно...
- Вложения
-
- Вот трабл.JPG
- (192.74 КБ) 444 скачивания


