[image]

Микроконтроллеры AVR - применение и Краткий Курс - часть 9

 
1 2 3 4 5 6 7 47

pokos

аксакал

Помогите, плз, как теперь заставить чип программироваться?
 

Нужно подать синхру с внешнего генератора.
   

Pooh2

новичок
Нужно подать синхру с внешнего генератора.
 


а можно поподробнее? на "XTAL1"? а частоту какую?
   

pokos

аксакал

а частоту какую?
 

Габариты частот широкие. Говорят , что работало у людей аж от 32768. Но я просто ставлю любой подходящий кварец в генератор, типа 3,58МГц. А чаще просто "прикуриваю" один девайс от другого. Хоть и давно на Мегах сижу, а с фузами иногда случается по неловкости....
   

Pooh2

новичок
Габариты частот широкие. Говорят , что работало у людей аж от 32768. Но я просто ставлю любой подходящий кварец в генератор, типа 3,58МГц. А чаще просто "прикуриваю" один девайс от другого. Хоть и давно на Мегах сижу, а с фузами иногда случается по неловкости....
 


Огромное спасибо! Воткнул кварц на 4 МГц на ноги XTAL1 XTAL2 с кондёрами по 22 пф на землю и кристалл прекрасно начал программиться...
   
UA Uilizator #17.02.2006 22:34
+
-
edit
 

Uilizator

новичок
... дайте инфу по програмированию AVR+Assembler ...Си не подходит
   
RU termostat #18.02.2006 02:11
+
-
edit
 

termostat

аксакал

... дайте инфу по програмированию AVR+Assembler ...Си не подходит
 


эстетствуете ?

все равно курса не избежать! 1-я страница -> книги и апноуты -> там на асме.
   
RU termostat #18.02.2006 03:46
+
-
edit
 

termostat

аксакал

Большие обновления в кратком курсе AVR !

Выложил новые страницы до 5-й.

Теперь подробней описал что такое МК и ка он работает, входные и выходные сигналы, физическое сопряжение МК с внешним миром.

страница 5 посвящена языку Си - содержит выборку из Си ТОЛЬКО того что нужно для МК.

Помоему получилось неплохо.

Обновлен и архив
http://avr123.nm.ru/avr123.nm.ru.rar (1537 кБ)

и FAQ
http://avr123.nm.ru/AVRFAQ.rar (154 кБ)


Уникальные материалы:

Весь Си для МК на одной страничке ! для распечатки
http://avr123.nm.ru/CSyntax.pdf

Таблица символов ASCII для распечатки
http://avr123.nm.ru/ASCII.pdf
   
RU termostat #22.02.2006 12:26
+
-
edit
 

termostat

аксакал

KeyGen для всех компиляторов от Mikroelektronika

Си - PIC

BASIC - AVR, PIC, dsPIC

PASCAL - AVR, PIC, dsPIC

http://www.mikroelektronika.co.yu/english/download

лежит там:
http://www.roboforum.ru/viewtopic.htm?p=11743#11743


Напоминаю что это СУПЕР компиляторы с СУПЕР примерами применения самых нужных любителю компонентов с МК !
   
Это сообщение редактировалось 22.02.2006 в 15:14
RU termostat #23.02.2006 03:17
+
-
edit
 

termostat

аксакал

интересный проект и полезный - AN145 обмен данными между Excel и MK



MCS Electronics


MCS Electronics - BASCOM AVR/8051 Embedded electronics systems

// www.mcselec.com
 
   

NoS

новичок
Здравствуйте. Не давно поднял до себя тему микриков, и столкнулся с проблемой. Программа обрабатывает два прерывания: первое от таймера, второе-ИНТ2. (Бодобное встречалось в курсе). Но работать программа отказалась. Хорошо последний ВМ лаб стал поддерживать мегу8535. Постепенно упрощая программу, понял, что косяк именно в прерывании ИНТ2. Потом вообще написал прогу в "одну" строчку, и все равно, на него нет реакции.
В вм лабе генерировал синусоиду для проверки вот такой строкой:
Vsin PB2 VSS sin(2.5 2.5 50)
Состояние соответсвующего бита (PINB.2) меняется, ето видно из соотв. окошка, но реакции на прерывание нет.
Собственно код прост, подскажите, почему нет реакции?

#include
// External Interrupt 2 service routine
interrupt [EXT_INT2] void ext_int2_isr(void)
{
PORTA=0xFF;

}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: On
// INT2 Mode: Rising Edge
GICR|=0x20;
MCUCR=0x00;
MCUCSR=0x40;
GIFR=0x20;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts
#asm("sei")

while (1)
{
// Place your code here

};
}
   
RU termostat #02.03.2006 01:06
+
-
edit
 

termostat

аксакал

чьот я не понял где там на асме
 


Многие АпНоуты на АСМе

и в книгах по АВРу его ПОЛНО !
   
RU termostat #02.03.2006 01:08
+
-
edit
 

termostat

аксакал

Программа обрабатывает два прерывания: первое от таймера, второе-ИНТ2.

Но работать программа отказалась.

Хорошо последний ВМ лаб стал поддерживать мегу8535.
 


Говорю тут и пишу в курсе:

Используйте ATmega16 -32 -64 -128

И будет вам счастье СКОРОЕ и ЯСНОЕ !

=======

Ну не любит VMLAB мегу8535 - ну хоть ты тресни!

Вот на меге16 все пашет как часики.
   
RU termostat #02.03.2006 01:10
+
-
edit
 

termostat

аксакал

Почему то буква P заменяется скриптом форума какой то лабудой !
   

SAA

втянувшийся

Подскажите кто чего может ;)
ситуация следующая есть станок шпндель которого вращает полиэтеленовый (прозрачный) диск с разметкой под два фото датчика (ИК типа) первый одна метка шириной в 2-3.5 мм остальное закрашено в черный по внешней части диска, чуть ниже нее идет полоса для второго фото-датчика размечанная рисками 1-1,5 мм с пробелами 1,5-2 мм шириной в зону засветки фтодатчика. Для себя я их окрестил ВМТ и угловой меткой. Датчики подсвечиваются двумя ИК светодиодами на просвет пленки (с другой стороны диска соответственно). Вся эта система 1983 года рождения, а схемотехнически может и того раньше. В трактах усиления сигнала стояли два КТ315 (по одному на канал), на базы которых были заведены фотодатчики (поскольку маркировку считать не могу, предполагаю что это фотодиоды, внешне цилиндрик с двумя усами). Я естественно заменил оба на 3102, хотя бы потому что тот транзистор что шел на угловые метки был пробитым. К этой коробочке с датчикам предлагалась бандура с двумя ручками для переноски, чинить которую я и во сне не решусь (принципиальная схема утерена, схема межсоединений тоже, схема электрическая вообще с другой модели станка) ;) Всем уже понятно что я решил ее поменять на МК. И так с ВМТ проблем не было метка детектируется четко, а вот угловые (720 штук, точность детектирования 0,5 градуса) .... угловые сильно подвержены осевым перемещениям диска, т.е. при регулировки смещением на базе (резистор от 407-500 КОм) за один оборот может выпрыгнуть и меньше и больше рисок и стабильности не наблюдается. Осевое биение диска порядка 1-1,5 мм, казалось бы не так много. Но!!! и это огромное но, наши чудо инженеры в далеких 1980 решили сэкономить на схемотехники и для такой маленько риски сделали хитрую систему дитектирования, что бы засветка датчика была пополней они на стекло закрывающее датчик нанесли ту же угловую рисочную разметку из пяти штрихов и когда штрихи совпадают получается 50% засветка, когда не перекрываются засветки нет. Решение конечно очень понятное и близкое по духу, но детектирование очень чуствительно к осевому биению диска и перемещению по оси самого датчика относительно диска. Пока датчик в непосредственной близости от поверхности диска (0,5-1мм) детектирование четкое, но при такой схеме износ поеврхности диска с нанесенными метками однозначен (ушоркает диск даже если и не стороной рисок ставить на фотодатчик). чуть убрали датчик ниже все в разнос, не возможно отрегулировать (за счет смещения на базе) границу при которой на риску идет нормальный логический уровень на контроллер. На осциле видно синус прыгает будь здоров по уровню (1,2-1,5 В) естесвенно что никакие тригера шмидта не помогают при этом. МК настроен на спад сигнала. Вот и думаю что бы такое применить можно было что бы не увеличивать ширину риски (переводя их на два три датчика). Может стоит модулировать ИК диод по частоте (скажем 15-20 КГц) и детекртировать частоту, а не уровень сигнла? МК без АЦП потому не делаю вычисление максимума без привязки к уровню, понимаю что это может и будет выход, но переходить на другой МК очень не хочется. Это крайний случай, так же как и применять второй (типа ATTiny13 на детектирование максимума через АЦП). Смещением на базе уровень вполне вытягивается до 4,5 -4,7 дальше не пробовал. Кто что посоветовать может? Увеличить уровень засветки другими ИК излучателями - придется переделывать весь крепеж.
   

delay

новичок
Только у меня не скачивается архив и таблица символов? Со дня появления ссылок не могу скачать. Появляется сообщение о невозможности открыть страницу.
   
RU termostat #04.03.2006 02:44
+
-
edit
 

termostat

аксакал

Только у меня не скачивается архив и таблица символов? Со дня появления ссылок не могу скачать. Появляется сообщение о невозможности открыть страницу.
 


У вас что-то с интернетом, только что проверил - все качается !
   

Acy

новичок
Пишу на BASCOMe програму для отправки SMS с контролера
Подскажите ошибку в моем куске програмы

Print "ATE0
Getline Sret
Lcd Sret на LCD OK

Print "AT+CMGF=0"
Getline Sret
Lcd Sret на LCD OK

Print "AT+CSMS=0"
Getline Sret
Lcd Sret на LCD CSMS:1,1,1

Print "AT+CMGS=19"
Getline Sret
Lcd Sret на LCD OK ??? Правильный ответ от телефона?

Print "0001000ba10866577608f6000008f4f29c0e9ab7e7" ; Chr(26)
и после этого зависает
Waitms 100
Getline Sret
Lcd Sret

телефон подключен к порту контролера с ограничивающими стабилитронами
Где ошибка?

Может кто поделиться куском кода по отправке SMS в PDU формате для ознакомления ?
   
RU termostat #04.03.2006 22:05
+
-
edit
 

termostat

аксакал

1 я страница моего курса гласит: СМОТРИ АпНоуты !

в данном случае BASCOM - там несколько по SMS в частности № 33
   

Lioxa

втянувшийся
Начал игратся с Tiny12 сразу столкнулся с тем что у неё нет Software Stack а стоит HW Stack поэтому нелзя писать программы глубже 3 уровней. Подкажите можно какнибудь обойти эту "фишку" ?
   
RU termostat #06.03.2006 12:33
+
-
edit
 

termostat

аксакал

вот перечень АпНоутов - интереснейших устройств - на БЭЙСИКЕ для AVR от BASCOM

Сохраните пожалуйста!
   
+
-
edit
 

Serge77

модератор

Хочу сделать себе гигрометр на основе чипа HIH-4000, он выдаёт напряжение 0.8-4 В в зависимости от влажности 0-100%. Это для сухого бокса для хранения топлива.

Хочу, чтобы влажность отображалась на ЖК дисплее, на самом простом, на две цифры, без подсветки, чтобы меньше потреблял. И чтобы к МК цеплялся легко. Не могу разобраться в той куче дисплеев, которые есть в продаже. Что посоветуете?
   
RU Андрей Суворов #06.03.2006 14:42
+
-
edit
 

Андрей Суворов

координатор

выбирай самый дешёвый однострочник с контроллером :) т.е. совместимый с HD44780 (вроде так).
у него очень простая система команд, он может управляться по 6 проводам или по 10. (8 или 4 бита данных)
   
+
-
edit
 

Serge77

модератор

выбирай самый дешёвый однострочник с контроллером :) т.е. совместимый с HD44780 (вроде так).
 


Почитал. Это графический дисплей, т.е. символы из точек.

А ещё проще, чтобы как в часах, 7 палочек на символ, - такие есть? Мне ведь нужно всего две цифры показать. Или такие в дефиците или неудобно работать?
   
RU Андрей Суворов #06.03.2006 15:14
+
-
edit
 

Андрей Суворов

координатор

Почитал. Это графический дисплей, т.е. символы из точек.

А ещё проще, чтобы как в часах, 7 палочек на символ, - такие есть? Мне ведь нужно всего две цифры показать. Или такие в дефиците или неудобно работать?
 


Это не графический - это алфавитно-цифровой. Один байт - одна буква. А семисегментные с контроллерами не бывают, это надо брать атмегу со встроенным контроллером ЖК.

а графический - это восемь байт - одна буква.
   
AD Реклама Google — средство выживания форумов :)

pokos

аксакал

http://www.electronshik.ru/item.php?item_id=75630
Такой подойдёт?

Или тут:


МЕГА-ЭЛЕКТРОНИКА - Электронные компоненты, источники питания, измерительное и паяльное оборудование, светотехника, средства разработки, Мастер-КИТ


Всё для ремонта, разработки и производства электронной техники, поставки от 1 штуки, техническая поддержка, различные способы доставки, система скидок

// www.megachip.ru
 





Атмегу можно брать и без контроллера, у Атмела есть аппноуты на эту тему.
   
1 2 3 4 5 6 7 47

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru