Страница 11 из 13

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:32:46
Сэр Мурр
Меандр формируется , при делении частоты на два- обычным триггером.

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:33:47
ARV
aleksandr-zh писал(а):А Я ОТКУДА ЭТО ЗНАЮ???!
Александр, я уже призывал вас не переигрывать. если вы НИЧЕГО не знаете - вам не нужен ни синус, ни меандр. но раз эти термины вам знакомы, вы по идее в состоянии должны бы описать процесс формирования меандра хотя бы так: "сначала выведем в линию логическую 1, потом подождем какое-то время, потом выведем 0, и снова подождем такое же время. после этого снова будем делать то же самое непрерывно". такое изложение доступно? или и такой уровень рассказа вам не по силам? такого "неуча" никто учить не станет :)))

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:35:02
ARV
Сэр Мурр писал(а):Меандр формируется , при делении частоты на два- обычным триггером.
ок. уже прогресс. а откуда берется частота? каков процесс получения сигнала этой самой частоты? не физические процессы, а вообще, "на пальцах"?

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:36:23
dr.doc
Я программированию только учусь, но, возможно, смогу помочь по теме. Итак:
1. Для любой разработки необходимо задать себе все вопросы по будущему устройству с тем, чтобы минимизировать количество ошибок и недоработок в будущем.
2. Алгоритм нужен при решении любой мало-мальски сложной проблемы. Имея перед глазами необходимые шаги, сложнее запутаться.
3. Помимо простого набора команд, необходимых для написания программы, нужно разобраться в возможностях контроллера (рассматривая пример построения мигалки можно показать какими способами это достигается - аппаратными (таймер) или программными). Очень хорошо этот пункт описан в обучалке для AVR (чего не скажешь про PIC).
P.S. Это только мое мнение, которое помогает решать задачи от создания аппарата с "нуля"до ремонта совершенно незнакомой техники.

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:38:59
aleksandr-zh
я уже лёг, но вспомнилась одна весЧь :) грызла, зараза, пришлось встать...

когда-то учил одного паренька нарпимере АВР... я как-то выкладывал фото его творений
так вот, по прошествие времени, он сказал: сколько программистов - столько и мнений

Для ARV:
да, я немного извратил задачу: цифровую элеткронику тогда я уже щупал, паял и для Спектрума ваял "примочки"...
тут я виноват, сознаю свою вину...

думаю, мой вопрос только создал пустой спор и глюмь в головах уважаемых форумчан...

давайте так: я сейчас без правки выложу кусок того, что я написал
а вы смотрите и ругайте
но не сильно :)

сейчас залью на сайт и дам ссылку

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:41:18
aleksandr-zh
dr.doc писал(а):Я программированию только учусь, ...
P.S. Это только мое мнение, которое помогает решать задачи от создания аппарата с "нуля"до ремонта совершенно незнакомой техники.
огроменное спасибо
вот эти слова -по делу!

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:42:10
ARV
алгоритм - это всего лишь четко изложенная мысль, своего рода "инструкция" для выполнения любых действий. поэтому он нужен всегда, при решении любой задачи. я подозреваю, что возможно кем-то АЛГОРИТМ воспринимается как некая графическая картина со стрелками, блоками и т.п. - НЕТ! это вариант ИЗОБРАЖЕНИЯ алгоритма, более наглядна форма его представления, а сам по себе АЛГОРИТМ - это всего лишь ОПИСАНИЕ ПОРЯДКА ДЕЙСТВИЙ И ПРАВИЛ. и даже когда кажется, что алгоритм не нужен для простой задачи - это означает лишь то, что для этой задачи алгоритм у вас на уровне рефлексов, но ОН ЕСТЬ!!!

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:45:34
aleksandr-zh
ARV писал(а):алгоритм - это всего лишь четко изложенная мысль, своего рода "инструкция" для выполнения любых действий. ...
а кто же спорит-то? :)


ссылка:
http://pic-avr.narod.ru/MK-teoriya.htm

Глава 2. Микроконтроллеры. 1
Что такое микроконтроллер? Основные узлы микроконтроллера. 2
Процессор. 2
Память. 2
Порты. Режимы работы портов. 3
Периферийные устройства. 4
Многофункциональность выводов микроконтроллера. 4
Тактовый генератор. 4
Семейства микроконтроллеров. 5
Разрядность процессора. Методы представления информации. 5
Система команд процессора. 5
Специализация микроконтроллеров. 6
Основные производители микроконтроллеров. Краткое описание микроконтроллеров популярных семейств AVR, PIC и Intel х51-совместимых. 6
Какой из микроконтроллеров самый-самый…? 7
Глава 3. Управляем процессором. 8
Машинные коды. 8
Алгоритмы и методы его описания. 9
Команды ветвления: условный и безусловный переходы. 9
Прерывания и их типы. Приоритеты прерываний. 10
Ассемблер. Транслятор. 12
Метки. Переменные. Метакоманды для транслятора. 13
Комментарии в программе. 14
Модульность программ. Часто повторяющиеся задачи. 15
Макросы. 15
Подпрограммы. 16
Языки программирования и их функциональное разделение. 18
Трансляция программы. Методы трансляции программы. 18
Процесс создания программы. Среды разработки программ. 19
Интегрированная среда разработки программ. 19
Несовместимость трансляторов. 20

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:46:53
Сэр Мурр
В очередной раз согласен с Романом.

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:47:32
ARV
мои слова - тоже по делу, и выражают только МОЕ мнение. конечно, я считаю его ПРАВИЛЬНЫМ - а разве кто-то берется спорить, доказывая заведомо с его точки зрения НЕ ПРАВИЛЬНОЕ мнение? ;) просто я так же, как и Александр, хорошо помню, как я сам учился программированию и как учились мои сокурсники. вроде учили одинаково - на примерах и типовых задачах, но вот решать НЕТИПОВЫЕ задачи научился лишь я, а остальным стало скушно, трудно и они не стали программистами :) и я знаю, почему вышло так: я не слушал ТОЛЬКО учителя, я пытался думать сам! и потому уже спустя пол-семестра я знал БОЛЬШЕ преподавателя, хотя опыта не имел. и поэтому я противник общепринятой методы обучения - не тому учат, ой, не тому! ДУМАТЬ надо учить, а не ПОВТОРЯТЬ! вспомните: "повторение - мать учения" - ЭТО НЕ ПОДХОДИТ ДЛЯ ПРОГРАММИРОВАНИЯ!!! это подходит для зазубривания стихов.

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:52:04
aleksandr-zh
ARV писал(а):мои слова - тоже по делу, и выражают только МОЕ мнение. конечно, я считаю его ПРАВИЛЬНЫМ - а разве кто-то берется спорить, доказывая заведомо с его точки зрения НЕ ПРАВИЛЬНОЕ мнение? ;) просто я так же, как и Александр, хорошо помню, как я сам учился программированию и как учились мои сокурсники. вроде учили одинаково - на примерах и типовых задачах, но вот решать НЕТИПОВЫЕ задачи научился лишь я, а остальным стало скушно, трудно и они не стали программистами :) и я знаю, почему вышло так: я не слушал ТОЛЬКО учителя, я пытался думать сам! и потому уже спустя пол-семестра я знал БОЛЬШЕ преподавателя, хотя опыта не имел. и поэтому я противник общепринятой методы обучения - не тому учат, ой, не тому! ДУМАТЬ надо учить, а не ПОВТОРЯТЬ! вспомните: "повторение - мать учения" - ЭТО НЕ ПОДХОДИТ ДЛЯ ПРОГРАММИРОВАНИЯ!!! это подходит для зазубривания стихов.
дело было в Вашем ИНТЕРЕСЕ :)
тут это сыграло главную роль...

хотя вопрос "правильности" подачи материала (нового или чуть с другой стороны) - очень сложный! - вон сколько книжек по педагогике на полках...
всех учат одинаково, но один стал Врачем, а другой - человеком в белом халате...
не знаю, вообще ничего в голове перемешалось :)

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 22:58:27
ARV
Александр, давайте отделим мух от котлет: вы хотите научить человека программировать на МК решение его задач или вы хотите дать ему кучу информации и примеров, как ее использовали другие - пусть сам разбирается? вторым способом учат в школах, вузах и т.д. - единицы из тысяч в состоянии действительно чему-то толковому научиться.

по оглавлению ваш учебник ничем не отличается от известного курса 1-2-3, разве что рекламы не будет :))) но что-то крайне мало тех, кто на этом курсе действительно чему-то научился!!!

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 23:16:45
dr.doc
Вот вы спорите, спорите... А попробовать разобраться - что же нужно новичкам, так некому. Начинаем вспоминать как учили нас (это конечно хорошо, но не по делу). Помогите пожалуйста. У меня в курсовом требование - МК из семейства PIC. Алгоритм я уже набросал, но вот из возможных 35 команд для PIC16F84 (про такое количество прочел в одном примере) разобраться досконально смог только в 3-х. Не найду я нормального разъяснения про использование команд для отсчета интервалов времени (человек пишет на понятном только для себя языке).
Но это так, уже от отчаяния, что-ли. А вообще, не сочтите за наглость, самое лучшее обучение - это создание своего устройства. Например, изготавливаем макетку, пишем программу, поясняя по ходу нюансы, и, где необходимо на Ваш взгляд, разжевываем "для дураков". После этого даем задачу написать свою конкретную программу для этой макетки с четкими ограничениями.

Re: Пишем самоучитель для освоения МК

Добавлено: Сб окт 16, 2010 23:31:45
dr.doc
Поможете разобраться или нет? Хотя бы по обучалке на сайте. А то, к примеру выдержка про стек:
Значение счетчика команд инкрементируется каждый раз, при выборки очередной инструкции из памяти команд, а так же может быть изменено вызовом инструкций безусловного и условного переходов, а также инструкциями вызова подпрограмм и возврата из них.
На сколько увеличивается? Чем условный переход отличается от безусловного?
Я найду ответ, потому, что мне это необходимо. А вот процентов 90 начинающих такие цитаты отвернут от изучения МК.
P.S. Ошибка в цитате не моя.

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 06:56:57
aleksandr-zh
dr.doc писал(а):На сколько увеличивается? Чем условный переход отличается от безусловного?
ответ выше, в указанной ссылке:
Команды ветвления: условный и безусловный переходы. 9

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 06:59:21
aleksandr-zh
dr.doc писал(а):
Значение счетчика команд инкрементируется каждый раз, при выборки очередной инструкции из памяти команд, а так же может быть изменено вызовом инструкций безусловного и условного переходов, а также инструкциями вызова подпрограмм и возврата из них.
На сколько увеличивается?
ответ - в самом названии :)
т.е., увеличится на "размер" команды/инструкции
из даташита узнаем, что размер команды для МК данной серии равен ХХ бит

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 07:08:43
aleksandr-zh
dr.doc писал(а):... самое лучшее обучение - это создание своего устройства. .
В теории - да, но как придумать ТАКОЕ устройство, которое было бы интересно собрать ВСЕМ Читателям?
я ломаю голову над этим вопросом несколько лет )
dr.doc писал(а): и, где необходимо на Ваш взгляд, разжевываем "для дураков".
уже неверно :(
я могу не понимать одного, а Читатель - другого...
не прокатывает (

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 08:18:45
dr.doc
т.е., увеличится на "размер" команды/инструкции
из даташита узнаем, что размер команды для МК данной серии равен ХХ бит
Т.е. необходимо помнить на какой команде мы находимся, или просто обнулять счетчик команд перед очередным применением какой-нибудь команды?
уже неверно
я могу не понимать одного, а Читатель - другого...
не прокатывает
Может и так, но ведь для этого и существует форум. Может быть просто имеет смысл подробно разобрать какой-нибудь МК (его структуру, особенность команд), рассмотреть несколько простых устройств, используя при этом разные наборы команд (например, построив простую мигаку - порты на вывод, добавив кнопку на ввод, изменяем ей программу мигания, частоту и т.п.)

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 08:30:58
aleksandr-zh
dr.doc писал(а):
т.е., увеличится на "размер" команды/инструкции
из даташита узнаем, что размер команды для МК данной серии равен ХХ бит
Т.е. необходимо помнить на какой команде мы находимся, или просто обнулять счетчик команд перед очередным применением какой-нибудь команды?
почитайте мою ссылку на doc файл :)
при работе это происходит автоматически, без непосредственного участия програмиста
но, если вам надо изменить ход работы программы, то вы сами его изменяйте! для этого есть несколько возможностей:
условный, безусловный переходы; прерывания, подпрограммы...

уже неверно
я могу не понимать одного, а Читатель - другого...
не прокатывает
dr.doc писал(а):Может и так, но ведь для этого и существует форум. Может быть просто имеет смысл подробно разобрать какой-нибудь МК (его структуру, особенность команд), рассмотреть несколько простых устройств, используя при этом разные наборы команд (например, построив простую мигаку - порты на вывод, добавив кнопку на ввод, изменяем ей программу мигания, частоту и т.п.)
ИХ полно в сети... :)
я начинал с ПИКов, нашел простую программу из какой-то обучалки, и по шажку разбирал... ПОМОГЛО!
там мигали несколькими способами: "дергали ножкой", по прерыванию таймером, по "сторожевой собаке"... даже ШИМом

Re: Пишем самоучитель для освоения МК

Добавлено: Вс окт 17, 2010 09:03:39
dr.doc
Насколько я знаю, прерывание - это переход на выполнение некой небольшой подпрограммы (например расчет емкости при ее измерении нелинейным преобраователем), после чего происходит возврат в точку выхода. Применение прерывания позволяет сократить объем программы контроллера при частом применении какой-нибудь формулы (и не только).
При использовании перехода мы что, просто "перескакиваем" в нужное место программы, с поледовательным выполнением команд до конца (команды end)? И еще: После окончания программы (команда end) МК начинает ее (программу) выполнение сначала или для этого необходимо ее зациклить?