Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 11:26   #1
shadow71769
 
Регистрация: 12.03.2012
Сообщений: 3
Восклицание Нужно написать программу! (ASM)

Добрый день (вечер) уважаемые программисты! Необходимо написать программу для микроконтроллера Atmega32. Датащит данного МК с асмом здесь: Atmega 32

Теперь условие задачи:
Начну с особенностей: нельзя использовать выводы RXD, RXT. (14,15 pin), используется резонатор с частотой 8 МГц.
Имеется 5 кнопок, висят на выводах (можете располагать как Вам удобно), что должны делать опишу далее. 5 семисегментных индикаторов, точка не используется, все они подключены сегментами на порт А (А0..А6), индикация динамическая, с другого порта 5 ножек используется для переключения индикаторов, частота смены не менее 250Гц, не более 500Гц, такое переключение позволяет передавать данные через один порт на все индикаторы, меняя только знакоместо. По типу: Индикация в динамике, только в данном случае - пять знакомест, 2 вместе и 3 соответственно, управляются через транзисторы, строб по катодам, поджиг сегмента "1" на порту.

Теперь непосредственно о программе:
Программа запускается при подаче питания на МК, не по прерыванию.
С клавиатуры (две пары кнопок играют роль "+" и "-", то есть увеличение и уменьшение) устанавливается частота (период) импульсов на выходе микроконтроллера, скважность импульсов при этом равна 2, то есть длительность паузы соответствует длительности импульса, например частота 1Гц, тогда 0.5 сек - пауза, 0.5 сек- импульс, частота импульсов устанавливается с шагом в 1, дольше держим кнопку, идет ускоренное увеличение частоты, но такое чтобы можно было успеть отпустить по достижении нужной (например 25, 48...). Первые две кнопки и "двойной" семисегментный индикатор - одна часть программы, работающей параллельно со второй частью. Выдаются импульсы на порт (выбираем какой удобнее) с устанавливаемой с кнопок частотой (РАЗ В МИНУТУ!, не Герцы!!!) и одновременно идем отображение данной частоты на сдвоенный индикатор, в десятичной системе от 0 до 99. Вторая часть программы делает тоже самое, параллельно с первой но частота изменяется от 0 до 250 раз в минуту (десятичная система) и значение выдается на строенный индикатор.
С приходом прерывания, используется пятая кнопка и INT0 или INT1 (по желанию) программа "от 0 до 250" заменяется подпрограммой, которая из 10 ячеек памяти с интервалом в 5 секунд перебирает значения (48, 72, 56, 44 ,89, 125, 65, 57, 77, 50 десятичные) и с заданной частотой (раз в минуту), выдает импульсы на тот же вход куда ранее подавались от "0 до 250", на экране отображается выдаваемое значение, регулировать данные значения не нужно, по нажатию той же кнопки вызова подпрограммы, возвращается исходная "от 0 до 250".

Итого: Задаем частоту на обоих выходах и одновременно отображаем на экранах LED сегментников в десятичном коде ,не в хексе, и соответственно одновременно получаем импульсы на двух портах задаваемой частоты, менять которую можно в любой момент, опрос клавиатуры идет непрерывно, либо на втором используем генератор случайных чисел из ячеек памяти по прерыванию, и опять же осуществляем вывод и отображение, либо возвращаемся обратно к регулируемой частоте.

Для того чтобы было понятнее прикрепляю рисунок интерфейса ввода - вывода, и алгоритм программы (нарисован символично). В виде архива, файл visio.

За написанную ,проверенную и правильно работающую программу будет вознаграждение, также это будет доказательством способностей программиста и в дальнейшем - прием на высокооплачиваемую постоянную работу.
P.S: Дополнительные вопросы о ньюансах работы программы задавайте в теме, буду отвечать по возможности.
shadow71769 вне форума Ответить с цитированием
Старый 13.03.2012, 11:27   #2
shadow71769
 
Регистрация: 12.03.2012
Сообщений: 3
По умолчанию

Собственно общий вид интерфейса ввода-вывода и краткий примерный алгоритм.
Вложения
Тип файла: zip прибор.zip (44.6 Кб, 15 просмотров)
shadow71769 вне форума Ответить с цитированием
Старый 13.03.2012, 21:36   #3
shadow71769
 
Регистрация: 12.03.2012
Сообщений: 3
По умолчанию

Поднимаю тему.
shadow71769 вне форума Ответить с цитированием
Старый 14.03.2012, 11:56   #4
mr_cipher
Пользователь
 
Регистрация: 05.03.2012
Сообщений: 29
По умолчанию

Здравствуйте!
Очень чёткое и подробное ТЗ.
Имею большой опыт работы с микроконтроллерами AVR. Могу реализовать данную программу на С.
Или ASM принципиален?
de_monForever@mail.ru
261349300
mr_cipher вне форума Ответить с цитированием
Старый 19.03.2012, 17:27   #5
mr_cipher
Пользователь
 
Регистрация: 05.03.2012
Сообщений: 29
По умолчанию

тема заглохла?
mr_cipher вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать программу! (ASM) shadow71769 Фриланс 0 13.03.2012 11:25
Необходимо написать программу! (ASM) shadow71769 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 13.03.2012 11:20
Нужно написать программу III-N. Фриланс 7 15.08.2011 20:08
Нужно написать программу Style80 Фриланс 0 24.03.2011 14:53
Нужно написать программу Rock'n'rolla Работа с сетью в Delphi 0 25.01.2010 20:05