Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Смотря что выставил, а то сюда прийдется для оживления - http://radiokot.ru/forum/viewtopic.php?t=864
Аватара пользователя
-=MindHunteR=-
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн мар 23, 2009 16:20:56
Откуда: From the Middle of Nowhere
Контактная информация:

Вопросец!

Сообщение -=MindHunteR=- »

Привет всем!
У меня есть довольно скудный опыт программирования процессора MOTOROLA F240. Вот теперь надобно эти знания перенести на AT90S2313.
Задача впринципе проста: надо создать девайс, что то вроже бинарного счетчика с дисплеем. Считать буду от 1 до 9.

Ну, скажем вот так:

Изображение

7 светодиодов - 7ми сегментный дисплей.
"CHAN +" "CHAN -" - этими кнопками происходит счет вверх и вниз.
"USER 1(2)" - пара джамперов, ограничивающая максимальное число. Например 5 или те-же 9.
"AUTO" (с фиксацией) - считать по кругу 1-2-3-...-9-1-2-3-... , индицируя по 2-3 сек каждый.
A[2..0] - бинарный выход. Выдает то же число, что на дисплее, но в двоичном коде.

Писать хочу на С.
Перерыв инет, стало понятно более или менее что делать, но все еще есть КУЧА вопросов.

1) свою прогу я пишу с бесконечным WHILE циклом в MAIN функции? То есть прога будет бежать вечно.
2) как же она будет запускаться? Автоматически, как только подается питание на МК, он сам запустит прогу? И соотв, обрываться при отключении питания? Это не вредит МК и проге в нем?
3) могу я написать код и выложить его сюда для оценки экспертов?
4) я не совсем понима как читать и писать в порты МК на Си. Можете пожалуйста дать примерчик?

ОГРОМНОЕ СПАСИБО!
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Re: Вопросец!

Сообщение ikarab »

-=MindHunteR=- писал(а): 3) могу я написать код и выложить его сюда для оценки экспертов?

Да. Советую скачать CVAVR для использования его мастера кода как помошник для WinAVR и PROTEUS
и выкладывать тут архив с проектами.

-=MindHunteR=- писал(а): 4) я не совсем понима как читать и писать в порты МК на Си.

Раз вы решили разобраться то вам наверно разумно прочитать "Устройство микроконтроллеров AVR"
http://radiokot.ru/forum/viewtopic.php?p=195718#195718
Там же вы найдете и "Язык Си для МК".

-=MindHunteR=- писал(а): Можете пожалуйста дать примерчик?
примеры есть в примерах компиляторов. И в компиляторе CVAVR тоже есть папка с примерами - C:\CVAVR\examples
И в WinAVR папка с примерами - C:\WinAVR\doc\avr-libc\examples
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Re: Вопросец!

Сообщение Yellow Tiger »

-=MindHunteR=- писал(а):Писать хочу на С.
А какой компилятор?
Аватара пользователя
-=MindHunteR=-
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн мар 23, 2009 16:20:56
Откуда: From the Middle of Nowhere
Контактная информация:

Продолжение по теме...

Сообщение -=MindHunteR=- »

Поставил значится CVAVR и ПРОТЕУС.
Пашет, все супер.

Начал изучать и писать прогу.

Есть пара вопросов! Спецы - выручайте!
По пред. схеме
Изображение

1) Я не уверен что правильно назначил порты ввода-вывода.
Надо чтоб портД был весь только на вывод (пойдет на ЛЕДы), а порт А был на вывод с пинов 0 по 2, а остальные на ввод. Соотв. там надо сделать вроде как лог.1, которую кнопкой можно замкнуть на землю, тем самым сделав лог.0. Вот что я намутил.
DDRD = 0xFF; //(0b11111111)
DDRB = 0xE0; //(0b11100000)
Верно?

Теперь, если я хочу писать что в порт D целиком, то я могу делать это так:
PORTD = 0b01010101;
Верно? Cоотв. загорится часть ЛЕДов.

А если в первые пины порта B:
PORTB.0=1;
Это сделает мне лог.1 на одном из трех ВЫВОДОВ порта B. Так?

Его вводы я делаю подтянутой единицей:
PORTB.3=1;
PORTB.4=1;
PORTB.5=1;
PORTB.6=1;
PORTB.7=1;

Тогда, нажав кнопку, на выводе будет лог.0, котрый я смогу прочесть, например так:
if (PORTB.3 == 0) {делать чтото}
Я прав?

2) Надо ли резистор между ножками ввода порта А и кнопкой на землю?

3) Я не хочу использовать внешний кварц. Знаю, что все и без него может работать. Что для этого надо сделать? Надо как то врубить соотв. фьюз, но я что-то не догоняю как именно это сделать.....

Я понимаю, вопросы глупые, и тем не менее, я прошу вашей помощи.
Спасибо огромное!
Последний раз редактировалось -=MindHunteR=- Ср мар 25, 2009 10:54:53, всего редактировалось 1 раз.
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Re: Продолжение по теме...

Сообщение smac »

-=MindHunteR=- писал(а):Поставил значится CVAVR и ПРОТЕУС...
Я понимаю, вопросы глупые, и тем не менее, я прошу вашей помощи.
Спасибо огромное!

1) все верно.
2) Наверное, Вы имели ввиду порт B. Резистор не нужен, можно для помехозащищенности последовательно от контакта кнопки к порту поставить резистор в несколько десятков Ом, от порта на землю конденсатор - несколько нанофарад или меньше, но пока Вам этим не стоит заморачиваться.
3) если Вас устроит частота 1 МГц, то пока вообще не трогайте фьюзы (как я понимаю микроконтроллер у Вас в состоянии заводской поставки). С завода микроконтроллер настроен так, что тактируется частотой 1 МГц (внутренний RC генератор выставлен на 8 МГц, включен фьюз деления частоты генератора на 8 ).
Аватара пользователя
-=MindHunteR=-
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн мар 23, 2009 16:20:56
Откуда: From the Middle of Nowhere
Контактная информация:

Re: Продолжение по теме...

Сообщение -=MindHunteR=- »

smac писал(а):3) если Вас устроит частота 1 МГц, то пока вообще не трогайте фьюзы (как я понимаю микроконтроллер у Вас в состоянии заводской поставки). С завода микроконтроллер настроен так, что тактируется частотой 1 МГц (внутренний RC генератор выставлен на 8 МГц, включен фьюз деления частоты генератора на 8 ).


а если хочется побыстрее? только кварц?
тупо втыкаю его к ножкам, пара кондеров на землю и все?
а на сколько мгц нужен кварц?
Aric
Открыл глаза
Сообщения: 47
Зарегистрирован: Вт мар 10, 2009 17:41:15

Сообщение Aric »

Возможно ли питание схемы на Тини2313 импульсным блоком питания от сотового телефона?
ЗЫ Блок 5,7V 800mA, поставлю после 78L05 например.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Aric писал(а):Возможно ли питание схемы на Тини2313 импульсным блоком питания от сотового телефона?
ЗЫ Блок 5,7V 800mA, поставлю после 78L05 например.

Да. Только про конденсаторы не забывайте.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Aric писал(а):Возможно ли питание схемы на Тини2313 импульсным блоком питания от сотового телефона?
Если в этой зарядке фильтрация паршивая, то питать таким ИП м/к не следует - он будет себя вести случайным образом, а может и вовсе загнуться. Нужно фильтровать.
Aric писал(а):ЗЫ Блок 5,7V 800mA, поставлю после 78L05 например.
У них дропаут - 1,7 вольта, значит - минимальное на входе д.б. максимальное выходное, плюс дропаут, то есть, порядка семи вольт (5.2 + 1.7 = 6.9). Можно конечно не максимальное выходное брать, а именно то, которое у твоего экземпляра 78L05, но принципиально это положения не изменит.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Да всё работает отлично. Хорошо отфильтровать конденсаторами, и будет Вам счастье.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Работать-то оно работает, а вот, чтобы узнать - отлично ли, нужно измерить, что на входе у 78L05 и что на выходе - если она не регулирует нифига (например - на входе те самые 5.7, на выходе - 4.0), то проще её вообще исключить, погасив лишнее, если надо, кремниевым диодом.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

У меня работает без проблем.
Повторюсь ещё раз, КОНДЕНСАТОРЫ на 99% решают проблемы. Вот без них точно работать не будет.
Другой вопрос, что у некоторых импульсников нет развязки с сетью, вот это может стать реальной проблемой.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Pooher писал(а):У меня работает без проблем.
Я не утверждаю обратного, просто, будет лучше, если автор вопроса будет исходить из своей ситуации - померяет напруги и либо заменит 7805 на что-то с небольшим DO, либо вовсе выкинет, поставив вместо нее подходящий диод.
Pooher писал(а):Повторюсь ещё раз, КОНДЕНСАТОРЫ на 99% решают проблемы. Вот без них точно работать не будет.
Без сомнений, только нужно еще сказать, что электролит нужно зашунтировать керамикой нанофарад этак на сто, иначе нормальной фильтрации не будет.
Pooher писал(а):Другой вопрос, что у некоторых импульсников нет развязки с сетью, вот это может стать реальной проблемой.
К зарядкам от сотовых это, IMHO, не относится (не дай бог, если есть исключения из этого правила!).
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Yellow Tiger писал(а):Без сомнений, только нужно еще сказать, что электролит нужно зашунтировать керамикой нанофарад этак на сто

Ага, ВЧ помехи никто не отменял.

Yellow Tiger писал(а):К зарядкам от сотовых это, IMHO, не относится (не дай бог, если есть исключения из этого правила!)

Вот и остаётся только надеятся, что китайцы до этого ещё не дошли :shock:
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
l0rd
Родился
Сообщения: 4
Зарегистрирован: Вс фев 15, 2009 13:42:15
Откуда: Беларусь

Сообщение l0rd »

Такой вопрос: насколько опасно использование самого простого программатора (5 проводков) с питанием МК от USB для LPT порта и вообще для компа?
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

l0rd писал(а):...насколько опасно использование ... программатора 5 проводков ... для LPT порта и вообще для компа?
Ну так, а в каких единицах мерять-то?
Если одним неосторожным движением отвертки можно спалить LPT-порт - это очень опасно для тебя лично? Вот и решай. :)
Аватара пользователя
MegaRazoR
Прорезались зубы
Сообщения: 239
Зарегистрирован: Вт сен 09, 2008 17:35:48
Откуда: Уфа

Сообщение MegaRazoR »

как узнать что кварц не работает ?
спасибо вам за ваше терпение и ваши подробные ответы ! :)
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Сообщение ikarab »

MegaRazoR писал(а):как узнать что кварц не работает ?


Можно замерить либо осцилом, либо через делитель частоты "на много" подать на звуковую карту, либо резистор конденсатор и диод - как детектор переменки применить и вольтметром мерить.
Аватара пользователя
MegaRazoR
Прорезались зубы
Сообщения: 239
Зарегистрирован: Вт сен 09, 2008 17:35:48
Откуда: Уфа

Сообщение MegaRazoR »

вот я смотрю осцилом и ни чего не видать. На одной ноге +5 на другой ноль. В чем может быть проблема ?
спасибо вам за ваше терпение и ваши подробные ответы ! :)
Ответить

Вернуться в «Разные вопросы по МК»