Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Посоветуйте пожалуйста с постановкой задачи....
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Melnichiy
Доброго времени суток, господа форумчане!
Ситуация следующая: необходимо придумать задания чтобы обучить студентов программированию систем на микроконтроллере (в нашем случае C8051F005 от SiLabs).
\\Думаю присобачить:
1) клавиатуру (8х2)
2) LCD (HD44780)
далее думаю добавить задание на SPI и/или UART (используя уже написанные подпрограммы работы с клавой и моником), но не знаю что по этим интерфейсам присоединять - АЦП, датчик температуры, обмен символов по УАРТ через Гипер Терминал с писюком.
\\Можно ли задать студентам создание прошивки(на ассемблере):
1) вольтметра
2) простого калькулятора
3) термометра
4) терморегулятора
Что насчет лабораторных могут посоветовать бывалые участники нашего форума?
Всем заранее спасибо!
K_AV
Цитата(Melnichiy @ Jan 8 2008, 22:02) *
Ситуация следующая: необходимо придумать задания чтобы обучить студентов программированию систем на микроконтроллере (в нашем случае C8051F005 от SiLabs).

Вы как позиционируете эту работу? Одна лабораторная (несколько вариантов заданий), цикл лабораторных (сколько занятий?)? От этого же много зависит. И не получится ли, что то, что Вы планируете, студенты физически не успеют сделать за отведенное время?

IMHO контроллер от SiLabs не лучший вариант для первичного обучения. Половина студентов отпадет на этапе начального конфигурирования Crossbar. Или им нужно давать макет системы вместе с заготовкой программы, в которой начальные настройки уже сделаны, нужно только далее развивать смысловую часть программы.
K_AV
Цитата(Melnichiy @ Jan 8 2008, 22:02) *
Что насчет лабораторных могут посоветовать бывалые участники нашего форума?
Я бы предложил такие задания:
1. Конфигурирование портов. Чтение состояния портов. Дрыгание ногами портов в заданном порядке. Формирование заданных временных интервалов между переключениями программно и по таймеру (в том числе - длиннее возможностей таймера). Для первого задания более чем достаточно.
2. Мониторинг клавиатуры и вывод на ЖКИ заданного текста ("Hello, world" и что-нибудь кириллицей и с программируемыми в ЖКИ символами) и номера нажатой кнопки.
3. Работа с ШИМ и АЦП. Формирование заданного уровня напряжения, формирование заданной формы сигнала (синус, пила с заданным смещением относительно общего провода) с контролем на внешнем осциллографе (можно - на "софтовом" осциллографе на компьютере). Электронный вольтметр на 2-3 канала с отображением на ЖКИ и контролем результата по независимому внешнему вольтметру (или с измерением контрольных напряжений). Измерение зашумленного напряжения с фильтрацией результата.
4. Обмен через встроенный (аппаратный) UART с компьютером (двусторонний). Только не с Гипертерминалом, а с подготовленной предварительно пользовательской программой. Чтобы она отображала на экране все, что приняла, давала какие-то отклики (с отображением их на экране компьютера), но ПРАВИЛЬНЫЙ отклик давала только на _заданный_ формат запроса от МК. Отфильтрованный (только правильный) отклик компьютера отобразить на ЖКИ, подключенном к МК. Тут вам и защита от копирования лабораторных друг у друга - достаточно в пользовательской программе на компьютере периодически менять файл с запросами и ответами.
5. Работа с внешним устройством (программное формирование временной диаграммы и протокола обмена). Я бы предложил измеритель температуры на DS18S20 (протокол 1-wire) и внешний АЦП (по протоколу I2C, предпочтительно - программно-формируемому на стороне МК), с отображением результатов на ЖКИ. Можно на основе термометра задать терморегулятор, а посредством АЦП мерять, например, сопротивление терморезистора (с пересчетом в Омы).
юраDema
Что-то, Вы, как-то сильно размахнулись. На сколько рассчитан Ваш курс? На 5 лет или на один семестр? Если на пол года, то я студентам не завидую. В обще-то есть методические материалы, где расписано, что и в каком объеме это надо давать. Нужно их и придерживаться. А вы хотите всё и сразу.
K_AV
Цитата(юраDema @ Jan 9 2008, 14:20) *
Что-то, Вы, как-то сильно размахнулись. На сколько рассчитан Ваш курс? На 5 лет или на один семестр? Если на пол года, то я студентам не завидую. В обще-то есть методические материалы, где расписано, что и в каком объеме это надо давать. Нужно их и придерживаться. А вы хотите всё и сразу.

Согласен, то, что я написал, в "самостоятельном исполнении" - хватит на пару-тройку курсовых по этому предмету. Для лабораторных это тоже полезно, но должно даваться в заготовках и полуфабрикатах. Тут основная цель должна быть не разработка, а исследование по "почти готовой" программе. Типа: "а если в программе сделать так - то посмотрите, что получится".
Но решать - автору вопроса. Просто (IMHO) перечисленное - это минимум навыков, который должен быть вынесен студентом из курса микроконтроллеров. Вопрос в том, как их дать, не перегрузив работой на фоне остальной учебной нагрузки.
Melnichiy
Спасибо, господа за помощь!
Просто нужно было узнать хотя бы приблизительно "меру" нагрузки бедных студентов..
Сами лабы будут вобщем только по программной части.
\\Железо будет состоять из:
1) Development Kit
2) самопальная плата расширения с клавкой, моником, и остальной периферией
Чтобы избежать перегрузки студентов наверное действительно лучше будет давать им некоторые части в готовом виде.
Огромный a14.gif K AV за идеи по тематике лаб!
mrcashe
Доброе время суток!
Я в своё время давал студентам лабу с динамической индикацией на 7-сегментных матрицах. 4 матрицы в одном корпусе. Тут тебе и знакогенератор, т.е. работа с таблицей, и таймер. Очень познавательно и интересно. Они были в восторге! Правда, это было не на 8051, но какая разница?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.