forum87/topic10818-195.html#p223884
2Серж: вот здесь Dmitry__ тебе предлагал скачать avrasm-rus
это Справка по Ассемблеру для AVR® на русском.
roboforum.ruТехнический форум по робототехнике. |
|
|
equ BEEPER = PD0 ;biper (выход) 1
.equ IRLed = PD1 ;IR led (выход) 1
.equ bampFL = PD2 ;leviy bamper peredniy (вход) 0
.equ bampFR = PD3 ;praviy bamper peredniy (вход)0
.equ MotRB = PD4 ;motor praviy nazad (выход) 1
.equ MotRF = PD5 ;motor praviy vpered (выход) 1
.equ MotLB = PD6 ;motor leviy nazad (выход) 1
.equ MotLF = PD7 ;motor leviy vpered (выход) 1
.equ tsop1 = PB0 ; tsop 1
.equ tsop2 = PB1 ; tsop 2
.equ ir led = PB2 ; datchic sveta
.equ baza = PB3 ; datchik bazi
.equ turbo = PB4 ; turbina/schetki
.equ en1 = PB5 ; enable1
.equ en2 = PB6 ; enable2
.equ led1 = PB7 ; vihod na led1
.equ led2 = PC0 ; vihod na led2
.equ led3 = PC1 ; vihod na led3
; rjmp reset ;/
reset: ;\
ldi tempH,$04 ;/
out SPH,tempH ;\ tut pora les dremuchiy... oopssss...
ldi tempL,$5F ;/
out SPL,tempL ;\
;nastroyka portov
ldi temp, 0b11110011 ;0-beeper. 1-led. 2-bamp. 3-bamp. 4-mot. 5-mot
out ddrD, temp ; ост. выхода не исп.
ldi temp, 0b11110000 ;
out portD, temp ; vihod port D
ldi temp, 0b11110000 ;0-ts1.,0-ts2.,0-d.sv.,0-d.baz.,1-turbina.,1-enabl1.,1-enabl2.,1-led1
out ddrB, temp ;
ldi temp, 0b00000011 ;
out portB, temp ; vihodi portaB
ldi temp, 0b00000011 ; 1-led2.,1-led3.,
out ddrC, temp ;ost ne ispolzuem
ldi temp, 0b00000000 ;
out portC, temp ; vihodi porta C
rjmp start ;
start
Dmitry__ писал(а):
Понимание асма - 2 дня, это время жалко потратить?
Vovan писал(а):Работа с портами это, грубо, 1\100 того что нужно ещё понять чтобы написать прогу для своей мечты пылесоса... Да и то всё что сейчас будет освоено - это только (грубо) 1\10часть работы с портами.
;nastroyka portov
ldi temp,0b11110011 ; nazn vh i vih portaD
out ddrD, temp ;
ldi temp, 0b00000000 ; polozili v yaschik chislo
out portD, temp ; vzyali iz yasch i raspredelili po vivodam porta D
ldi temp,0b00000000 ; nazn. vivodov portaB
out ddrB, temp ;
ldi temp,0b00000000 ;raspred. pinov portaB
out portB, temp ;vizov bitov portaB
ldi temp,0b00000011 ;nazn.vihodov portaC
out ddrC, temp ;
ldi temp,0b00000000 ; raspr.pinov porta
out portC, temp ;vizov bitov portaC
rjmp start ;
+5в первой строчке назначение какой вывод на что будет (0-вход.,1-выход)
это понятно, т.к. 1 это +5в 0 это 0в. А почему именно на эти выводы +5в?в третьей выставляю уровни на этих выводах(0-0,а 1-1(+5)).
dccharacter писал(а):Это следующий урок. Называется "Б(*?(*?, НУ ПОЧЕМУ ОНО НЕ РАБОТАЕТ".
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3