roboforum.ru

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

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

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

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

Сообщение Radist » 20 ноя 2011, 13:45

Попробую я объяснить по простому. Объясняю реализацию такой задачи: немодулированный генератор 36 кГц.
К ножке пинлед подцеплен ИК светодиод. Сперва немного математики. К МК у вас подключен кварц, допустим 8 МГц. Это означает, что за секунду пройдет 8 миллионов тактов, а длина одного такта 0,125 микросекунд. 36 кГц говорит о том, что светодиод должен загореться и погаснуть 36 тысяч раз в секунду. А значит его время горения и не горения равно 1/ 36000 = 28 микросекунд, 14 микросекунд горит/14 микросекунд не горит. В 14 микросекундах 111 тактов. На этом урок математики окончен. программа получается такой:
начало: включить пинлед
пауза на 111 тактов
выключить пинлед
пауза на 111 тактов
перейти на начало

Но это уже было в старой теме, усложним задачу. Как сделать паузу? Есть такая команда NOP, она говорит МК ничего не делать в течение одного такта. Но писать ее 111 раз - расточительно. Поэтому надо сказать МК: ничего не делай 111 тактов. Эта задача решается при помощи цикла. Цикл - это последовательность действий, которая выполняется либо определенное количество раз (и тогда в цикле есть переменная - счетчик цикла), либо перед очередным выполнением цикла проверяется некое условие, либо условие проверяется после очередного выполнения цикла. В зависимости от результата проверки условия принимается решение либо об еще одном выполнении цикла, либо о выходе из цикла.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

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

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

во! :good:
спасибо! так на много понятней!!!
значит я ходил вокруг да около?
зы. оказ. частоту нуно разделить! НУ КАНЕЧНО!!! ИНАЧЕ МК НЕ ПОЙМЕТ!!!
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

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

Сообщение Dmitry__ » 20 ноя 2011, 17:10

Vovan
>а чтоб стала понятна мк существуют т.наз. компиляторы
не совсем так, асм - это просто вменяемые названия команд процессора, нет компиляции...
Давай на ты? А то я себя старпедом чувствую :oops:

>Студию ИМХО ковырять рановато, всё равно пока там писать нечего...
ЗОЛОТЫЕ СЛОВА!!!
я так не смогу обьяснять, подключайся :)

серж
Код: Выделить всёРазвернуть
Начало: включить PinLed
пауза
выключить PinLed
пауза
включить PinLed
пауза
выключить PinLed
пауза
включить PinLed
пауза
выключить PinLed
пауза...
и так 36т. раз!!!  :crazy:


Не увидел твою мысль, зачем ты развернул прогу? что ты пытался решить?
Но в твоем коде есть очень логичный вопрос: "не делать же это 36т раз?"
Вот этим вопросом и займемся...
Надо где-то записать число 36000, потом это число уменьшать на 1 и повторять код, пока число не станет равно нулю
Давай введем еще один неделимый элемент:
вычесть "1" из регистра и если он <>0 то перейти
в короткой записи: ВычестьПереходЕслиНе0 или DecJumpNoZero или DJNZ

примерно будет так:
записываем число повторений
выполняем нужный кусок
эта DJNZ

напиши прогу с этим элементом в своей "и так 36т. раз!!! :crazy:"
Дальше Radist тебе все правильно написал, добавить нечего...
Сегодня чего-то все плохо со временем...
Вован, если ты понял мою мысль и есть время то продолжай.

Серж, самое главное: начинай много думать над конкретными элементами программы, изобретай велосипеды, пытайся сам написать генератор пачек. Мозг можно тренеровать как мышцы. Только так ты сможешь начать писать программы как письма :)
Сейчас ты этот генератор будешь рожать неделю, потом 1 секунда и так с каждым элементом алгоритма...
Последний раз редактировалось Dmitry__ 20 ноя 2011, 17:55, всего редактировалось 1 раз.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

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

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

Сообщение Dmitry__ » 20 ноя 2011, 17:34

наш элемент "пауза" не является неделимым элементом, это некая программа на которой сейчас не заостряем внимание.
давай облагородим ее до асма
обзовем ее: "Вызвать" или CALL, и справа от call - что вызываем
Везде где ты хочешь написать "надо че-то такое сделать, бла-бла-бла"
пиши:
call bla_bla_bla
в нашем случае:
call Pause36kHz
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

Код: Выделить всё • Развернуть

Начало: включить PinLed
0=DJNZ
пауза
выключить пинлед.

так???
или:
Код: Выделить всё • Развернуть

Начало: включить PinLed
36000=DJNZ
пауза
выключить пинлед.
???
ИЛИ:
Код: Выделить всё • Развернуть

Начало: включить PinLed
36000<>0=DJNZ
пауза
выключить пинлед.
ПУТЬ МОЕГО МЫСЛЕНИЯ В ТОМ НАПРАВЛЕНИИ???
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

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

Сообщение Dmitry__ » 20 ноя 2011, 17:42

да, обязательно закончи того таракана, по многим причинам...

Мысли в слух для Вована:
Ты сказал, что надо учить цы, но поступил непоследовательно с серж, заставив его делать таракана на логике.
Это асм с элементами хака.
Ты должен был посоветовать ему купить конструктор "стотышмиллионов электрических схем" . И сказать, что, конечно, не все на этом конструкторе можно собрать, но он его устроит на 90%, вот это и есть си. :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

ПРИМЕРНО ТАК БУДЕТ:


Начало: включить PinLed
call Pause 36000<>0=djnz

выключить PinLed

Добавлено спустя 2 минуты 33 секунды:
Dmitry__? ты хоть скажи в ту ли я сторону думаю??? :sorry:
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

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

Сообщение Dmitry__ » 20 ноя 2011, 17:49

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

только давай не сливать все свои черновики сюда по строчке, у тебя есть время, кидай 10-ю версию мыслей
помним про тренеровку мозга...
и прогу давай писать между: [code][/code]
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

Код: Выделить всёРазвернуть
Начало: включить PinLed
call Pause 36000<>0=djnz

выключить PinLed
переход в начало

вот, вроде по логике, он теперь постоянно будет отсчитывать до 0, а потом - в начало и так до...


а подглядывать мона??? :oops:
зы. еще ни разу чужую прогу не смотрел.

Добавлено спустя 3 минуты 56 секунд:
и пока на ум более ни чего не приходит.
кроме как заменить "выключить pinled" на "stop pinled"

Добавлено спустя 4 минуты 32 секунды:
вроде осенило!!!
смотим:
Код: Выделить всёРазвернуть
Начало: включить PinLed
call Pause 36000<>0=djnz
выключить pinled
call Pause 36000<>0=djnz
переход в начало

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

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

Сообщение Dmitry__ » 20 ноя 2011, 18:11

канэшн мона, вспомни, учители не против чтоб ученики писали шпаргалки, они этим самым (не замечая) тренеруют свой мозг :)
води пальчиком по своей программе, вспомни: "ты тупой бот в магазине со списком"
помогаю последний раз, дальше всегда сама:
Код: Выделить всёРазвернуть
               положить    36000 в помойку

ПовторитьNраз: установить  PinLed
               call        Pause36kHz
               выключить   PinLed
               call        Pause36kHz
               DJNZ        помойка, переход на "ПовторитьNраз"



води пальчиком по моей проге и по своей, где ты ошибся?
Как отразится на светодиоде моя программа?
много думай о несовершенстве мира, смотри "Матрицу"
:)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

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

Код: Выделить всёРазвернуть
Повторить~раз: включить   PinLed
               call        Pause36kHz
               выключить   PinLed
               call        Pause36kHz
               DJNZ        ~, переход на "Повторить~раз"

вишь как получается!
"Понимание асма - 2 дня, это время жалко потратить?
Засекай таймер, учим асм. :)"
а я писал:
"ну чтоб на пальцах, мне тупому, объяснял.... :sorry:"
день прошел, а я как не знал асм - так и не знаю... :sorry: :sorry: :sorry: :cry:

зы. думаю, думаю, думаю... ищу косяки и меру понятия что к чему...

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

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

Сообщение Vovan » 20 ноя 2011, 18:59

Дмитрий - класс! Уже проги появляются :shock: Я в восторге :)
Dmitry__ писал(а):Ты сказал, что надо учить цы, но поступил непоследовательно с серж, заставив его делать таракана на логике.
а это искажение фактов! я его не заставлял ничего делать: он спрашивал - я отвечал и фсё! Скорее всего я сам с собой поступил непоследовательно: начал свою жизнь с транзисторов, пересел на ОУ и логику, затем МК и асм... Но! Во-первых это моё личное дело и право, а во-вторых все мы жертвы аб.....
стоятельств и я в том числе, просто я прошел путь развития электроники вместе с ней(электроникой). То что я провоцирую сержа повторять мой путь? это вряд ли - у каждого своя дорога и право выбора нихто не отнимал.
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

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

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

эээх....
Vovan, опять прав!!! ведь пройдя весь путь електроники(начиная от ламп) до программирования, это только огромный ПЛЮС!!! :good: да и понимание что к чему, зачем и как!!! :good: взять к примеру того ТС, котрого снесли в ад, над ним весь форум ржал(!), ни бе, ниме, ни кукареку, а робота с нуля надо ему!!! :fool:
понимаю, я тож далеко не идеальный юзер в железе и до вас мне далеко!!!
когда то начинал изучать эл., потом забросил, вот щас увлекся вновь, но мне ужо говорят: юзай мк!!!-там проще! :good:
для вас да, вы то весь этот путь прошли, а мне ща за 2-3дня(прим.) его осовить!!! канечно я буду тупить! :sorry:
зы. вот такой у меня понос(словесный) вырвался, пока туда-сюда бегал, как то от одной мысли перешел к другой... :sorry: :shock:
pps. вован, а разве есть уже программы? с моей стороны??? я так понимаю, что дмитрий мне дает понять что что-то не так. а что??? моего серого вещества не хватает чтоб самому все осилить :sorry: . с другой стороны, если б я мог сам все понять, то я не просил бы ни кого помогать, по книгам бы выучил... :oops:
вот, какой то такой эпос получился... :oops:

Добавлено спустя 1 минуту 27 секунд:
поэтому пошел есть рыбу!

Добавлено спустя 25 минут 11 секунд:
Код: Выделить всёРазвернуть
начало:я тупой бот! :shock:  :o 
       мне надо 36000картох полжить в мешок за 1с/36000раз в сек. включить сд
       ???

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

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

Сообщение Vovan » 20 ноя 2011, 20:05

Не надо самобичеванием заниматься :wink:
То что я о себе написАл это не пример, а факт и он уже свершился и ничего не поделаешь...
Если чего-то не знаешь или не понимаешь - это нормально! Мы все такие :oops:
Если не будешь сидеть сложа руки - сам удивишься через некоторое время!
Программы - конечно есть! А ты и не заметил :wink:
Ну и тупи себе на здоровье! Главное не сдавайся! :)
Вот если сдашься и опустишь руки тогда лажа :(
Иликтроника - она такая, чуть прохлопал и труба :lol:
Вникай, перечитывай информативные посты, размышляй, задавай вопросы...
помни чисто мою формулу: глупых вопросов не бывает, бывают глупые ответы :D
И хоть с ней многие не согласны, меня это не касается :D

Добавлено спустя 3 минуты 53 секунды:
ЗЫ: помни что на этом пути можно и шишки набить и "оплеуху" порой получить, будь готов ко всему :)
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Пред.След.

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

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

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