roboforum.ru

Технический форум по робототехнике.

серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Radist » 23 ноя 2011, 15:26

2 Серж: командой out нельзя записывать непосредственные числа. Сперва их кладем в регистр. Помним про "в нашем деле нет мелочей". Студия бы на эти строки поругалась, заставила бы посмотреть очень внимательно.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 15:43

и нечего ржать! себя быстро все вспомнили в освоении :wink:
а мы еще вам покажем ху из ху... :D

Добавлено спустя 9 минут 19 секунд:
Код: Выделить всёРазвернуть
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              ;так даем понять что ост. выхода не исп. их на вых.
        out portD,                  ;выходы на порт 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              ;
        out portB,                  ;выходы на порт B
        ldi temp, 0b00000011        ;1-led2.,1-led3., ost ne ispolzuem
        out ddrC,                   ;   
        ldi temp, 0b00000000        ;положили число
        out portC,                  ;выходы на порт C
        rjmp start                  ;
start

ща смотрим и пишем где чего... и что не правильно! :oops:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Vovan » 23 ноя 2011, 15:53

серж: уже теплее :) , но почему не выполняется ТО О ЧЁМ три раза сказано? :shock:
пишем число и ложим в ящик>говорим МК пойди туда-то и возьми это число> загни пальцы на 1>покажи комбинацию;
пишем число и ложим в ящик>говорим МК пойди туда-то и возьми это число> загни пальцы на 1>покажи комбинацию;
пишем число и ложим в ящик>говорим МК пойди туда-то и возьми это число> загни пальцы на 1>покажи комбинацию;
пишем число и ложим в ящик>говорим МК пойди туда-то и возьми это число> загни пальцы на 1>покажи комбинацию;
и так каждый раз!
Нельзя одну и туже комбинацию брать и всё время её показывать - она только для одного случая.
Каждая строчка - индивидуальна (пока, во всяком случае).
Работа с портами это, грубо, 1\100 того что нужно ещё понять чтобы написать прогу для своей мечты пылесоса... Да и то всё что сейчас будет освоено - это только (грубо) 1\10часть работы с портами.
Ну как? продолжать мечтаешь? :wink:
Но не смотря на такой пессимистический прогноз, есть и хорошие новости: если въехать в сам принцип построчности команд (и как правильно говорит Radist, без мелочей!), то дальше будет (ну во всяком случае должно быть) легче. Самое главное не бездумно ставить каждую букву, цифру и знак препинания, а осмысленно.
Ведь есть разница: OUT PORTD,temp и OUT PORTD temp? Точно такая же разница как "Казнить нельзя помиловать" что это?????, а так верно "Казнить нельзя, помиловать". Поставишь запятую не там или пропустишь - и казнь всей программе!

Добавлено спустя 2 минуты 38 секунд:
out portD, ;выходы на порт D
что вывести на порт Д????? OUT - вывести, portD - портД. А что?
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 15:58

да пойму я... рано или поздно... :sorry:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Vovan » 23 ноя 2011, 16:15

Ну дык напиши правильно, не пользуй копи\паст, а вручную на клаве по буковке напиши произнося выше написанное заклинание :wink:

Добавлено спустя 10 минут 47 секунд:
Попутная поправочка: вот ты пишешь TSOP1 и TSOP2, хорошо, но когда будешь писать программу наверное неплохо бы знать где левый, а где правый? Предлагаю их так и обозначать: TSOP_L, TSOP_R.
Верно? :wink:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 16:20

пишу, руками, построчно:
Код: Выделить всёРазвернуть
ldi temp, 0b11110011                 ;opisabie vsego etogo v postah vishe...
out ddrD, temp                       ;
ldi portD temp,  0b11110000          ;
out portD,                           ;nadeyus seychas ya pravilno napisAl???
rjmp  ...

ну хоть сейчас-то... :oops:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Vovan » 23 ноя 2011, 16:22

нет
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение dccharacter » 23 ноя 2011, 16:27

Смотри, есть тема, которая мне как-то сильно помогла в изучении английского. Попробуй понять. У каждого слова есть валентность. Т.е. слово не может существовать в вакууме. Оно может существовать только в определенных условиях. Боюсь привести неудачный пример, но попробую. Ну, например, слово listen. Обычная ошибка начинающих - he listens radio. Т.е. он слушает радио. Нормально так, да? Потом они подучиваются, и начинают говорить - he listens for radio (т.е. они понимают, что там должен стоять какой-то предлог, но ближайшая понятная русскому человеку аналогия - for). И только потом они догоняют, что там реально должно стоять to: he listens TO the music. Определенные конструкции определяют определенную валентность слова. He dances TO the music и т.д. Нельзя сказать I'm waiting you, хотя нормальному русскому человеку очень хочется, можно сказать I'm waiting for you.

Так и тут - у каждой команды есть валентность. Есть команды типа "переместить КУДА", есть команды "переместить ЧТО КУДА", есть команды "сместить вправо НА СКОЛЬКО" и т.д. и т.п. Эту валентность ты должен чувствовать - это понимание логики языка, ты должен ждать определенных слов в определенных местах, потому что язык ждет этих слов в этих местах руководствуясь своей логикой, а она у него есть. Сейчас ты говоришь "переместить КУДА", но компилятор еще ждет и ОТКУДА. Понимэ?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Vovan » 23 ноя 2011, 16:30

dccharacter: Вот! :good:
А я беру за руку и веду:
ldi(ложим)temp(в ящик),0b11110011(это число)
out(выводим)PORTD(на ножки порта Д), temp(выше записаное число в ящике)
ldi(ложим)temp(в ящик),0b11110011(это число)
out(выводим)PORTС(на ножки порта С), temp(выше записаное число в ящике)
ldi(ложим)temp(в ящик),0b11110011(это число)
out(выводим)PORTA(на ножки порта A), temp(выше записаное число в ящике)
ldi(ложим)temp(в ящик),0b11110011(это число)
out(выводим)PORTB(на ножки порта B), temp(выше записаное число в ящике)
примеч.: слева команда, справа в скобках - перевод.
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение dccharacter » 23 ноя 2011, 16:32

Вот, смотри: http://www.atmel.com/dyn/resources/prod ... oc0856.pdf
У каждой команды есть валентные места под операнды. Для каждой команды они прописаны. В частности для команды OUT:
Код: Выделить всёРазвернуть
Mnemonics   Operands   Description           Operation     Flags   #Clocks
OUT         A, Rr      Out To I/O Location   I/O(A) ← Rr   None    1
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 16:35

ща будем разбираться как такая команда пишется...
а по аглицки, я бы сказал, при возможности так: ledy, i wont you... :wink:
ток некому... :pardon:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение dccharacter » 23 ноя 2011, 16:41

И она бы поняла это как "я вас не буду", а ее женская логика добавила бы "я вами брезгую" хы х ых ых ы хы
Жене скажи. Новый паяльник разрешит купить.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 16:42

dccharacter писал(а):И она бы поняла это как "я вас не буду", а ее женская логика добавила бы "я вами брезгую" хы х ых ых ы хы
Жене скажи. Новый паяльник разрешит купить.

+1
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение dccharacter » 23 ноя 2011, 16:43

Не с того начали. Надо было с гугла начинать :-)
http://www.gaw.ru/html.cgi/txt/doc/micr ... /start.htm
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 23 ноя 2011, 16:48

все мы правильно начали! а за ссыль тебе благодарность!
цветы в студию(форум) :Rose:
понятно что к чему теперь будет.


...надеюсь :oops:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Пред.След.

Вернуться в Блоги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1