Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Re: Atmega8: простенький секундомер

Сб апр 21, 2012 08:39:17

ну и муурразммм... а не задание...
учите даташиты на детальки, + книжулик
Евстифеев А.В.
Микроконтроллеры AVRсемействаMEGA. Руководство пользователя.
- М.:Издательский дом "Додэка-XXI", 2007
в лапки... :)
ну и какого-нибудь молоденького котейку в качестве инструктора :tea:
или хотя-бы схемку "на поглядеть" (*.bmp/*.jpg/*.pdf/splan/)- ассемблер к железу тяготеет, а не к "виртуальности" :write:

Re: Atmega8: простенький секундомер

Сб апр 21, 2012 18:46:40

BOB51 писал(а):ну и муурразммм... а не задание...
...ассемблер к железу тяготеет, а не к "виртуальности" :write:

Хороший макрос для ввода-вывода вот Вам и "виртуальность"

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 15:19:06

Alexeyslav, вот именно эту книгу "микроконтроллер - это просто" и отрекомендовали для освоения, а Вы видели сколько там страниц? И как ее можно изучить за неделю, чтобы написать программу для секундомера на ассемблере? По моему это невозможно! Что еще за блоксхема? Впервые слышу, может образец блоксхемы подкинете?

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 15:21:31

BOB51, мне еще и на железе нужно это все продемонстрировать, но не знаю как спаять макет без схемы. Может у кого-нибудь есть простая электрическая схема для секундомера? По которой можно было бы сделать макет.

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 16:58:11

я кошак старый и весьма ленивый :sleep:
ежли чего и делаю, то на своих проработанных ИС- заниматься чем другим только по предоплаченным халтурам можно :cry:
если чего из нижеприведенного списка устроит- могу оказать злодействие, если микросхемки другие будут-увы, тратится на закупки не стану 8)
на чем можно позлодействовать:
MCS51 : AT89C2051/4051, AT89C51/C52/55WD, AT89S51/S52
AVR : ATMEGA162, ATMEGA8515, ATTINY2313/2313A, ATTINY13/13A
PIC : PIC12F509, PIC12F629/675, PIC12F683, PIC16F630/676, PIC16F684, PIC16F688, PIC16F628/628A, PIC18F1320, PIC18F2520
на сегодня "для поиграться" имеется платформочка на основе PIC18F1320+жки мэлт
или в download/file.php?id=93485 поставить ATMEGA8515/atmega162
на этой базе можно поработать (предпочтение пику- он в плановом изучении) :write:

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 17:30:51

Иринка писал(а):Что еще за блоксхема? Впервые слышу, может образец блоксхемы подкинете?

В Вашем случае это всего три квадратика Control, MCU ,Display
Control - три или две кнопки Start STOP RESET - это выбирайте сами. MCU и Display - говорят сами за себя.
Вам надо расписать их взаимосвязи , что куда идёт.

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 19:52:55

BOB51, меня интересует AVR Atmega8, здесь нет такого :(

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 19:54:23

ILYAUL, 3 квадратика это уже хорошо, а откуда мне знать что куда идет, можно образец схемы?

Re: Atmega8: простенький секундомер

Вс апр 22, 2012 20:11:17

Пример блок-схемы.

Тебе надо такой блок-схемой составить основной алгоритм работы схемы: Как она должна отреагировать на нажатие кнопок. Это приблизит понимание принципа работы и сосредоточит внимание на реализации других мелочей.

Пример динамической индикации можно посмотреть тут. Надо только заставить программу выдавать соответствующую последовательность импульсов на выводах контроллера. Для этого достаточно посмотреть КАК работают порты контроллера, и немного пошевелить мозгами с логикой.

Читать всю книжку не надо, достаточно посмотреть только нужные страницы, где объясняются нужные для схемы вещи.

п.с. за неделю написать такую программу можно. Я когда-то сделал "мигалку" на 4 светодиода с 16-ю уровнями яркости за 3-4 дня до этого не имея опыта работы с контроллерами. Надо просто представлять себе что ты собираешься сделать и не искать готовых решений - переделать чьи-то часы в таймер гораздо сложнее чем разработать собственную программу. Но, схему в принципе МОЖНО содрать с готового проекта(да возьми схему любых часов на меге).

И разделяй программу на логические блоки.
Например индикация - она реализуется отдельным алгоритмом, и работает на прерывании таймера. Единственное что её связывает с программой - это ячейки в памяти которые будут выведены на индикатор. Надо таймер на 4 цифры - значит 4 ячейки. Эта подпрограмма каждое прерывание берет следующую ячейку, подает напряжение на соответствующий разряд индикатора и все. Доходит до конца - переходит на начало. И так до бесконечности.

После того как эта часть будет реализована - достаточно записать цифры в ячейки и они будут отображены.
Основной программе достаточно будет оперировать этими ячейками и всего-то.
Каждую секунду прибавлять к младшему разряду "+1", если есть перенос - следующий разряд и т.д. Прибавлять только в том случае если еще одна переменная допустим равна нулю, это будет означать что таймер "в работе". Обнуляя эту переменую или занося туда какое-то значение можно управлять работой таймера - старт-пауза, что и должно быть реализовано по нажатию кнопок.
Ну и сброс само собой обнуляет значение в ячейках разрядов. Технически, эту кнопку можно реализовать как сброс микроконтроллера...

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 00:23:34

Alexeyslav, ну такие блок схемы я рисовала по информатике на первом курсе в свое время.
Вот Вы написали целое сочинение, но ей Богу ничего непонятно, это на уровне как преподаватель диктует лекцию из книжки, когда ни одного знакомого слова нет, что такое прерывание я понятия не имею и как их писать тем более, да и вообще для меня за неделю освоить микроконтроллеры и ассемблер, когда знакомых слов мало нереально, поэтому мне предпочтительнее списать с какой-нибудь программы, только никто не подкинет программу.

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 06:55:47

А как сдавать тогда будешь? Чужую программу переделывать и разбираться в ней гораздо сложней чем написать свою.

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 08:53:37

Мне больше всего вот эта фраза непонятна:
Иринка писал(а):для меня за неделю освоить

Конечно за неделю тяжело такие вещи освоить, но откуда берутся такие сроки?

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 09:01:39

Engineer_Keen, преподаватель такие сроки ставит, выдал вот задание, а уже сдавать пора.

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 11:54:51

Engineer_Keen писал(а):но откуда берутся такие сроки?
Первого сентября препод говорит - "до конца учебного года нужно разработать и представить устройство хххх", за неделю до сдачи - "Ну что, все всё сделали?", студент - "КАРАУЛ, за неделю я ничего не выучу и не сделаю. препод гад, козел, ххххх....."

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 12:34:11

Ну как правило месяца 2 еще есть на сдачу после срока :)

Но начинать нужно, ибо смотреть исходник скорей всего будут...

Да все там довольно просто, главное начать. Только вот беда с этими студентами, не слушают они ничерта и не запоминают. Говоришь им по 10 раз одно и то же, а они в 11-й всеравно спрашивают.

Поэтому, если что-то непонятно сразу то станет понятно потом - а значит её(информацию) НАДО КАК-ТО СОХРАНИТЬ/ЗАПОМНИТЬ.

Давай, что именно тебе непонятно? Слова ведь русские, поэтому не говори "ВСЁ", какие-то из них все же понятны...

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 12:39:16

O-LED писал(а):Первого сентября препод говорит...

Ну я на это и намекал :)))
Нет, в принципе возможно за неделю в рамках форума натаскать человека, так чтобы от мигания светодиодом перейти к простой работе с таймером и основам прерываний, это зависит от наличия свободного времени "помогающего", но в большей степени от обучаемости/хотении "клиента". Кстати, эта тема как-то соотносится с сообщениями в теме про протеус (там кнопка+АЦП)?

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 15:46:04

O-LED, во-первых, какое к черту первое сентября, когда семестр начался 6 февраля, но никак не 1 сентября, а во-вторых, препод задание только выдал, сказал всегда выдает задание за несколько недель до сдачи, потому что раньше бестолку и ничего, все успевают.

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 15:53:47

Engineer_Keen, в теме про протеус кнопка + АЦП, а здесь секундомер, это совершенно разные задания, но у одного преподавателя, и таких заданий 13 штук.

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 16:45:07

Т.е. потенциально нам ждать еще 11 тем? Ну разгребем как-нибудь :)))

Re: Atmega8: простенький секундомер

Пн апр 23, 2012 16:56:52

Engineer_Keen, 11 тем, нее, это слишком, еще штук 5 где-нибудь.
Тема закрыта