Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.04.2007, 23:28
|
|
Частый гость
Регистрация: 19.01.2007
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Прошу небольшого совета
Случилось такое несчастье- задали сделать курсовую работу. Требуют выбрать МК и написать программу для управления печкой ( схемы не требуется). Там должна быть клавиатура и дисплей 8O . На клавиатуре есть цифры для задания времени приготовления, а так же кнопка Р, которая отвечает за мощность ( градации мощности: 100, 80, 50 и 30% соотвественно, отображаются по нажатию, например одно нажатие- 100%, два 80% и так далее).
Так же во время приготовления дверца должна быть заблокирована, а после приготовления печь должна выдавать сигнал 3 сек. длительностью, а так же приготовление можно прервать в любой момент.
Самое неприятное в том, что никаких знаний по МК изначально не предусмотрено ( если не считать разговоры типа, есть такие МК и еще вот такие, у этих шина 8 разрядов, а у этих 16 и т.п. Да еще лабораторная работа по i8080 (прошу громко не смеяться )).
Решил разбираться самостоятельно, но с учетом современного разнообразия литературы/контроллеров эта задача оказалась непростой. Вот решил обратиться к вам как к последней надежде:
Какой МК выбрать? Я видел в книге схему будильника, там на 16 выводах портов А и Б (если не ошибаюсь, ПИК16С71) были сооружены клавиатура 4х4 и 4 семисегментных индикатора. На один вывод порта А повешен звонок. Остается 3 вывода. Один вывод идет под блокировку дверцы, а что делать с регулируемой ( хотя и дискретно) мощностью- не представляю. Думаю поставить остановку приготовления тупо выводом кнопки "MCL" . По регулированию мощность идей нет.
Вроде как суть ясна, но как все это реализовать? В сети тучи книжек по МК, тучи самоучителей. Какой выбрать? На каком языке писать (С-ассемблер)?Практически никаких познаний в программировании ( ну не считать же программированием бегин-энд на паскале) нет. Гонять светодиоды времени нет (скоро сдача). Вот такая вот засада.
|
|
|
|
23.04.2007, 23:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Прошу небольшого совета
Сообщение от Inola
|
Случилось такое несчастье- задали сделать курсовую работу. Требуют выбрать МК и написать программу для управления печкой ( схемы не требуется). Там должна быть клавиатура и дисплей 8O . На клавиатуре есть цифры для задания времени приготовления, а так же кнопка Р, которая отвечает за мощность ( градации мощности: 100, 80, 50 и 30% соотвественно, отображаются по нажатию, например одно нажатие- 100%, два 80% и так далее).
|
Вот для вас - ШИМ регулирование - avr123.nm.ru/z8.htm
и начало - avr123.nm.ru
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
24.04.2007, 08:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
|
Re: Прошу небольшого совета
Сообщение от avr123-nm-ru
|
Вот для вас - ШИМ регулирование - avr123.nm.ru/z8.htm
и начало - avr123.nm.ru
|
Похоже у человека в задании печка микроволновая, так что все гораздо проще: в течении цикла например 10 сек. питание на магнетрон подается 10сек-100%,8сек-80%, 5сек-50% и т.д. По поводу выбора МК подойдет очень многое(простейшее решение 80с51,по крайней мере я бы рекомендовал начать изучение МК именно с него).
|
|
|
|
24.04.2007, 09:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Re: Прошу небольшого совета
Сообщение от Inola
|
Требуют выбрать МК и написать программу для управления печкой ( схемы не требуется). Там должна быть клавиатура и дисплей 8O .
|
Какое -то взаимоисключающее условие...Хоть на баш орг отсылай... Задача - вырвать гланды... Условие - через горло нельзя...
|
|
|
|
24.04.2007, 13:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.10.2006
Сообщений: 1,755
Сказал спасибо: 0
Сказали Спасибо 80 раз(а) в 56 сообщении(ях)
|
Re: Прошу небольшого совета
Сообщение от Inola
|
Случилось такое несчастье- задали сделать курсовую работу. Требуют выбрать МК и написать программу для управления печкой ( схемы не требуется). Там должна быть клавиатура и дисплей 8O . На клавиатуре есть цифры для задания времени приготовления, а так же кнопка Р, которая отвечает за мощность ( градации мощности: 100, 80, 50 и 30% соотвественно, отображаются по нажатию, например одно нажатие- 100%, два 80% и так далее).
Так же во время приготовления дверца должна быть заблокирована, а после приготовления печь должна выдавать сигнал 3 сек. длительностью, а так же приготовление можно прервать в любой момент.
Самое неприятное в том, что никаких знаний по МК изначально не предусмотрено ( если не считать разговоры типа, есть такие МК и еще вот такие, у этих шина 8 разрядов, а у этих 16 и т.п. Да еще лабораторная работа по i8080 (прошу громко не смеяться )).
Решил разбираться самостоятельно, но с учетом современного разнообразия литературы/контроллеров эта задача оказалась непростой. Вот решил обратиться к вам как к последней надежде:
Какой МК выбрать? Я видел в книге схему будильника, там на 16 выводах портов А и Б (если не ошибаюсь, ПИК16С71) были сооружены клавиатура 4х4 и 4 семисегментных индикатора. На один вывод порта А повешен звонок. Остается 3 вывода. Один вывод идет под блокировку дверцы, а что делать с регулируемой ( хотя и дискретно) мощностью- не представляю. Думаю поставить остановку приготовления тупо выводом кнопки "MCL" . По регулированию мощность идей нет.
Вроде как суть ясна, но как все это реализовать? В сети тучи книжек по МК, тучи самоучителей. Какой выбрать? На каком языке писать (С-ассемблер)?Практически никаких познаний в программировании ( ну не считать же программированием бегин-энд на паскале) нет. Гонять светодиоды времени нет (скоро сдача). Вот такая вот засада.
|
Я бы рекомендовал Вам, как было отмечено выше, МК серии MCS-51, например, 89с51. И в качестве литературы по его использованию, замечательную книгу - В. В. Сташин, А. В. Урусов, О. Ф. Мологонцева "Проектирование цифровых устройств на однокристальных микроконтроллерах" Энергоатомиздат 1990 (ББК 32.96: 32.97 С7 . Как дополнение, уже более конкретная информация, В.Б.Бродин, И.И.Шагурин "Микроконтроллеры. Архитектура, программирование, интерфейс" Москва, Эком, 1999. (ББК 32.97 Б8 .
Блок схема может быть представлена как - МК + ЖК-модуль + клавиатура. Используя индикатора с последовательным интерфейсом Вам будет вполне достаточно 8-разрядного МК.
С уважением, Алексей.
|
|
|
|
24.04.2007, 19:24
|
|
Частый гость
Регистрация: 19.01.2007
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Спасибо, занялся поиском книги.
|
|
|
|
24.04.2007, 19:57
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
В этой книге есть описание управления печи для выпечки печеннья. Присутствуют все элменты сабжа - регулирование мощности, температуры, есть клавиатура и дисплей. И всё это на МК ATmega8535.
Книга В.Н. Баранов "Применение микроконтроллеров AVR:
схемы, алгоритмы, программы".
Изложение подробное, пошаговое. С описанием среды разработки AVR Studio. Даже если просто списать, трояк получишь...
|
|
|
|
25.04.2007, 12:50
|
|
Частый гость
Регистрация: 13.10.2005
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Я бы начал делать на микрокотроллере Atmega на ассемблере. (т.к. с другими не сталкивался)
Наверное будет проще начать их освоение с книжки Баранова.
Так же советую скачать на выбранный МК datasheet,
и конечно же AVR studio.
Коротко по тексту задания:
"На клавиатуре есть цифры для задания времени приготовления"
1. Тут видится, блок сканирования порта клавиатуры в цикле и вызов соотв. функции.
2. Использование таймера. Надо вызывать функцию установки таймера на введенное значение. Запускать таймер надо по сигналу "старт" с клавиатуры и подавать на порт сигнал включения печки. А потом использовать прерывание, генерируемое таймером для выключения.
"кнопка Р, которая отвечает за мощность ( градации мощности: 100, 80, 50 и 30%"
3. Написать функцию циклического перебора значений в массиве, по каждому вызову функции наращивать индекс в массиве. Плюс добавить выдачу на порт массива.
Мощность закодировать например так:
100 00
80 01
50 10
30 11
"Так же во время приготовления дверца должна быть заблокирована, а после приготовления печь должна выдавать сигнал 3 сек."
4. Выдать сигнал блокировки после нажатия кнопки запуска печки.
5. По прерыванию таймера запускаем функцию трех секундного ожидания, (можно использовать другой таймер или схитрить и сделать просто nop в цикле) с выдачей соотв. сигнала в порт.
Сначала расписать сколько нужно выводов для сигналов управления печкой.
Например:
Порт А бит 0 вкл./включение печки.
Порт А бит 1-2 код мощности.
Порт А бит 3 флаг блокировки дверцы.
Порт А бит 4 флаг старта/останова печки.
Порт А бит 5 подача сигнала.
А также клавиатуры: цифры 1-9, кнопка "P", Наверное нужна еще какая-то кнопка ввода или "старта".
Потом накидать функц. блок схему.
И перейти к программированию на asm.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:15.
|
|