Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Схемы и программы (https://forum.antichat.xyz/forumdisplay.php?f=61)
-   -   Перспективные проекты на МК (https://forum.antichat.xyz/showthread.php?t=53646)

presidentua 13.11.2007 06:12

Микроконтроллеры AVR от Atmel.Введение
 
Что такое микроконтроллеры в общих чертах отлично рассказал MegaDeth (респект). Но должна быть свобода выбора.
Микроконтроллеры AVR и PIC приблизительно равны по параметрам. Но все же AVR немного лучше (с моей субъективной стороны): дешевле, производительнее, ПРОЩЕ в освоении.
Например, есть такая модель ATmega8. Цена - 1,5у.е. Частота - 16 МГц. 32 8-ми битных регистра общего назначения. 1 Кб оперативной памяти. 512 байт флеш памяти, 8 Кб памяти под программу. Плюс АЦП, ЦАП и еще много полезной мелочи. И к тому же 23 линии ввода вывода. А еще можно перезаписывать программу ну почти неограниченное количество (10 000 раз).

Теперь самое приятное - для его программирование кроме софта нужно лишь 5 проводков. Не надо паять никакого программатора, просто подключаем к LPT пятью проводками.

Программировать лучше на С. Дока на avr123.nm.ru и там же ссылка на компилятор http://www.hpinfotech.ro/cvavre.zip
Неплохой консольный программатор здесь - http://ln.com.ua/~real/avreal/http://ln.com.ua/~real/avreal/

Ссылки:
atmel.com - сайт производителя, документация на английском
gaw.ru - документация на русском
avr123.nm.ru - отличный самоучитель.

Теперь жду вопросов. И есть предложение - сделать маленький девайсик с нуля. С полным разбором каждого элемента. Ну только нужны предложения - полезные и простенькие.

ПС: На AVR реализовал: систему управление температурой (обогреватель в комнате), светильник с изменением яркости в зависимости от освещение (чтобы ночью клавиатуру было нормально видно), шахматные часы, и на диплом систему поиска жучков и еще много никому не нужных мелочей. :)
ПСС: Предложение для MegaDeth - можна сделать один и тот же девайс но паралельно на AVR и PIC?

Animal 13.11.2007 10:58

Отлично! Развивается здоровая конкуренция! :)) Как человек свято преданный пикам, AVR никогда не занимался, так что будет очень интересно посмотреть.
Для начала хотелось бы увидеть тот же "Hello, World!", как и в параллельной теме MegaDeth - несколько светодиодов мигающих с кратной частотой. Пожалуйста схему в студию, текст программы на С. Убедительная просьба давать подробные комментарии к строкам, связанным с конфигурацией контроллера.

presidentua 14.11.2007 06:08

Далее
 
Все что дальше буду писать относится к микроконтроллеру ATmega8.
Надеюсь скачали компилятор (ссылка выше) и таблетку к нему. Если таблетку не найдете, то пишите – помогу. (кстати, модераторы, может разрешите мне прикреплять файлы, без этого неудобно :)).
Итак, запускаем CodeVision. Создаем новый проект, дальше нас спрашивают – будем ли мы использовать мастера. Конечно, жмем ОК. Дальше в вкладке Chip выбираем наш МК, а в поле частота вводим 1 МГц (по умолчании внутренний генератор настроен именно на 1 МГц). Дальше идем на вкладку Ports – и всем линиям на порте В указываем – out. Дальше выбираем файл-генерировать, сохранить и выход. Вводим имена файлов и постоянно жмем ОК.
Ухты! Как много кода сгенерировано. Но на самом деле его можна очень сильно урезать.
Теперь на основе этого кода напишем программу для для мигания светодиодами. Тоесть 8 светодиодов, горят через один и раз в секунду меняются местами - эфект бегущих огоньков.
Текст программы:
Код:

//будем использовать МК mega8
#include <mega8.h>
//нужны функции для роботы с задержками
#include <delay.h>

void main(void)
{
//порт B будет работать на выход
DDRB=0xFF;
//в порт B записываем 10101010b
PORTB = 0xAA;
while (1)
      {
//инвертируем значения на выходе порта B
      PORTB ^= 0xFF;
//ждем одну секунду
      delay_ms(1000);
      };
}

Схему подключения рисую, опубликую позже

presidentua 14.11.2007 06:32

Схема
 
http://img193.imagevenue.com/aAfkjfp..._122_532lo.JPG
какая гадость рисовать в Paint, но под рукой ничего другого нету.

Квадратик красного цвета нужно повторить к каждой линии порта В - PB0,PB1,PB2,PB3,PB4,PB5,PB6,PB7

И хорошая новость, что никакой другой обвязки не надо. После подачи питание МК сразу начнет работать на частоте 1Мгц.

На днях помещу программатор, чтобы можна было каждому попробовать.

Пишу с расчетом на какие то минимальные знание в МК, но если будут вопросы или что-то не будет получатся отвечу.

Animal 14.11.2007 09:42

Зачетно! Пока все понятно. :) На счет схем: я рисую в P-CADе 2004. Помоему, если контроллерами заниматься, к его изучению все равно придешь в конце концов. Давай, presidentua, ждем продолжения! ;)

presidentua 14.11.2007 17:51

Согласен P-CAD нужен будет. Но сейчас в основном пользуюсь Proteus. Хотя это отличный симулятор, но принт-скрин дает отличные рисунки. Выше же его не использовал чтобы показать внешнюю обвязку полностью ( Proteus некоторые вещи сам добавляет ).

ПС: Ночью размещу программатор. Ждем-с-с-с

MegaDeth 14.11.2007 19:05

presidentua, чуваккк =))) рад видеть новых микронотроллерщиков =)))))))
Цитата:

Теперь самое приятное - для его программирование кроме софта нужно лишь 5 проводков. Не надо паять никакого программатора, просто подключаем к LPT пятью проводками.
я так понимаю высоковольтное программирование?...+12в? не ну я знаю есть фича такая что подвод питания, перевод в режим программирвания, данные, такт, масса - 5 проводов всего (собсна больше и ненадо, протоколы одинаковые то =))) )
но я бы советовал резисторы воткнуть на 4,7 Ком...
и вообще юзать LVP (Low Voltage Programming)
я разрабатываю девайс сейчас "мигающее сердце" на светодиодах... я взял мощный контроллер с 22 линиями, чтобы отдельным светодиодом можно было управлять без заморочек с разширителями ввода вывода, ктомуже ШИМ аппаратный есть. контроллер PIC16F873A... это конечно как по мухе из пушки но я хотел деффке на денюху подарить - всеравно не успел :D
кстати хороший подарок на 8 марта будет =)))
я печатку 10 раз переделывал. я решил что небуду играничивать ток светодиодов резисторами, пусть ярко горят, но контроллер может не выдержать (для всего порта макс 25 Ма) светодиод один жрет 3 Ма примерно... вообще их дофига и больше но если брать слаботочные и яркие то разоришся =)))
вывод - ставить транзисторные ключи...
вот такая сумашедшая идея у меня =))))))))
еще у меня в задумках просто сделать Блок управления аудиомикросхемами (TDA 7313, аудиоконтроллер. по I2c управляется, регулирует громкость, бас,тембр, балланс двух своих каналов) наподобие того что у мя ща усилке но усовершенствовать надо, например экран цветной с часами и пр.
в мечтах у мя собрать ЦАП и юзать цифровой звук (S\PDIF)

Animal 14.11.2007 21:45

Да, Мега, просторное ты поле деятельности задумал. Молодец! :)
Ты давай в пиковскую тему возвращайся! Ато переметнулся на сторону вероятного соперника, понимаете ли. :)))

Animal 15.11.2007 18:15

Перспективные проекты на МК
 
Возникла идея обсудить кого какие проекты интересуют. Что-бы хотелось сделать или посмотреть как это сделают другие :). Особенно интересна возможность применения в сфере соответствующей направленности сайта. Короче, теме нужен КРЕАТИВ! :))
Полет фантазии не ограничен! Я, например, давно мечтаю сделать робота-шпиона: машинка на колесах с камерой и микрофоном. :)

presidentua 16.11.2007 04:56

Интересуют много интересных тем, но к сожалению на реализацию одних не хватает времени, а на других не хватает УМА.
Например:
Замок на отпечатках пальцев.


Время: 19:18