Технический форум по робототехнике.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.
Vovan » 23 ноя 2011, 01:05
Не обижайся, но да...бред.
Ложим в 16-й ящик число написанное на бумажке (хоть в какой системе).
Потом говорим: МК пойди и возьми из 16-го ящика бумажку, там число написано, переведи его в двоичную систему (если оно ужЕ не в двоичной, а если в двоичной не переводи) и в соответствии с этим числом загни свои восемь пальцев, но только те на которые выпадет 1, а те на которые выпадет 0 не загинай. Полученную комбинацию из пальцев - покажи.
Пример:
ldi temp,2
out PORTD,temp
получим: единицу на PD1, остальные 0. Почему? Потому чта: 2=0b00000010
Ещё пример:
ldi temp,44
out DDRD,temp
Что получим? ........................ описать подробно (кто в результате вх. а кто выход?)
legion » 23 ноя 2011, 08:01
Может быть, это утро виновато в моем скепсисе, но, перечитав последние пару страниц... Это похоже на прямую трансляцию сразу из трех (минимум) мозгов.
Интернет 2.0

серж » 23 ноя 2011, 10:40
Vovan писал(а):Пример:
ldi temp,2
out PORTD,temp
получим: единицу на PD1, остальные 0. Почему? Потому чта: 2=0b00000010
Ещё пример:
ldi temp,44
out DDRD,temp
Что получим? ........................ описать подробно (кто в результате вх. а кто выход?)
44 = 00101100
ldi temp, 44
out ddrD, temp ; получаем ВХ: PD0., PD1., PD4., PD6., PD7. А ВЫХ= PD2., PD3., PD5.
вроде так...
повесил на монитор шпору, где выход это 1, а вход это 0.
а то в этом путаюсь... пока...
Добавлено спустя 1 час 6 минут 42 секунды:legion, давай помогай. в том ли я направлении думаю?
Добавлено спустя 37 минут 15 секунд:Вован, я себе скайп поставил!!!
dccharacter » 23 ноя 2011, 10:57
Смотрите, ребята, как надо изумительно путать людей. Значит, серж: слушай сюда. Есть такие микроконтроллеры - PIC-и. У них 1 = I (Input, т.е. ВХОД). А 0 = O (Output, т.е. ВЫХОД). А есть такие микроконтроллеры - AVR. Так вот у них все наоборот.
серж » 23 ноя 2011, 10:58
dccharacter, спасиб, будем иметь ввиду
а вот тут у нас про авр. и подскажика, я на правильном пути???
dccharacter » 23 ноя 2011, 11:01
Нет. Правильный путь - STM32
на всякий случай:

серж » 23 ноя 2011, 12:30
а теперь поясни. ну пожалуйста...
Добавлено спустя 13 минут 47 секунд:АААА.... У меня кофе кончился!!!
а в магаз идти влом....
Добавлено спустя 27 минут 45 секунд:кстати, вот версия моего протеуса - v7.7.sp2
Добавлено спустя 44 минуты 59 секунд:- Код: Выделить всё • Развернуть
equ BEEPER = PD0 ;biper
.equ IRLed = PD1 ;IR led
.equ bampFL = PD2 ;leviy bamper peredniy
.equ bampFR = PD3 ;praviy bamper peredniy
.equ MotRB = PD4 ;motor praviy nazad
.equ MotRF = PD5 ;motor praviy vpered
;rjmp reset ;переход к чему?
reset: ;?
ldi tempH,$04 ;?
out SPH,tempH ;?
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, 0b00000000 ;положили число
out portD=0b00000000 ;выходы на порт D
rjmp start ;
start
оно ???
... не врубаюсь...
"Повторю последний раз:
сначала загружаем число в указанный нами регистр (ldi)" - а от куда мы его возьмем? с потолка?

Vovan » 23 ноя 2011, 13:05
Вот отсюда мы его берем:
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
Порт D загрузили.
Теперь неплохо было бы прицепить к пылесосу ещё:
два ТСОПа, вход от ист. к АЦП (

), eneble от L293, контакт на коннект со станцией, турбину и\или щетки, датчик ФД темно\светло, и, например три разноцветных светодиода для индикации разных режимов чего либо...
Однако портД уже весь занят (я его дописал) что делать?
Вот и сделать!

серж » 23 ноя 2011, 13:12
у нас еще есть порт В.
Добавлено спустя 39 секунд:в "скапу" добавил.
Vovan » 23 ноя 2011, 13:15
у нас еще есть порт В.

и не только

серж » 23 ноя 2011, 14:49
Vovan писал(а):Однако портД уже весь занят (я его дописал) что делать?
Вот и сделать!

канечно! у нас ведь уровни на выодах моторов должны менятся! иначе... "фтопа"-будет стоять если рабочим будет один вывод порта. "ну тут как слогикой на таракане инверторы на 4049 = и до вентиля снимаем и после". ну ты понял.
...надеюсь

- Код: Выделить всё • Развернуть
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 ;0-ts1.,0-ts2.,0-d.sv.,0-d.baz.,1-turbina.,1-enabl1.,1-enabl2.,1-led1
out ddrB, temp ;
ldi temp, 0b00000011 ;1-led2.,1-led3., ost ne ispolzuem
out ddrC, ;
ldi temp, 0b00000000 ;положили число
out portD, 0b00000000 ;выходы на порт D
out portB, 0b00000000 ;
out portC, 0b00000000 ;
rjmp start ;
start:
ЛЮДИ!!!
где косяки???
coder_perm » 23 ноя 2011, 15:04
- Код: Выделить всё • Развернуть
...
out ddrC, ;
ldi temp, 0b00000000 ;положили число
out portD, 0b00000000 ;выходы на порт D
out portB, 0b00000000 ;
out portC, 0b00000000 ;
rjmp start ;
смотри, последние четыре out, в каждой косяк
Dmitry__ » 23 ноя 2011, 15:10
дааааааа, ну делаааа
dccharacter, что тебе серж плохого сделал?

но мне нравицо ход ваших мыслей...
я тихонько могу самоустраняться, свое подлое дело я сделал

dccharacter » 23 ноя 2011, 15:23
Да в чем ты меня все подозреваешь? Мне ржачно, чем вы тут занимаетесь. Я даже сам попытался понять, но у меня мозг так не поворачивается. PIC-овый асм я могу немного читать, но АВР-овский да еще и писать.... Мне здоровье дороже.
серж » 23 ноя 2011, 15:25
Dmitry__,
какое? а ну давай колись...!
я тебя еще и здесь достану: forum7/topic2435-330.html
Последний раз редактировалось
серж 23 ноя 2011, 15:27, всего редактировалось 1 раз.