roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Re: МикроКонтроллеры начинающим - общие вопросы

blindman » 19 май 2009, 16:38

ЕМНИП, контроллер параллельного ввода-вывода из комплекта Z80 (аналог 8255)

Re: МикроКонтроллеры начинающим - общие вопросы

SiemX » 19 май 2009, 16:42

Я нагуглил что это проц какойто(я он и правд у меня на плате от древнего "компа" ) С него можно ченить толковое сделать или можно выкинуть?

Re: МикроКонтроллеры начинающим - общие вопросы

blindman » 19 май 2009, 17:06

Это не процессор, а контроллер ввода-вывода. Сам по себе практически бесполезен, только в комплекте с процессором.

Re: МикроКонтроллеры начинающим - общие вопросы

SiemX » 03 июн 2009, 14:27

Где можно найти русский даташит на мегу16 ? Ну или книжку какую где подробно расписано назначение всяких регистров и как работать с первиферией типа таймеров, ацп

Re: МикроКонтроллеры начинающим - общие вопросы

galex1981 » 03 июн 2009, 14:35

Либо по форумам лазить и смотреть описания проблем что необходимо тебе, или учи английский

Re: МикроКонтроллеры начинающим - общие вопросы

avr123.nm.ru » 03 июн 2009, 14:48

SiemX писал(а):Где расписано назначение всяких регистров и как работать с периферией типа таймеров, ацп ATmega16
в задачах моего курса есть примеры для AVR и для ATmega16 - avr123.nm.ru/06.htm - и там же можете скачать книги в библиотеках - все расписано очень подробно.

Re: МикроКонтроллеры начинающим - общие вопросы

ALHIMIK » 03 июн 2009, 21:15

А лучше Евстифеева

Re: МикроКонтроллеры начинающим - общие вопросы

Doniak » 05 июн 2009, 18:10

Если главная программа выполнилась в МК, бесконечного цыкла нету. Будит ли выполнятся обработчик внешних прерываний INT ? если нет почему.
Спасибо.

Re: МикроКонтроллеры начинающим - общие вопросы

blindman » 05 июн 2009, 18:17

Компилятор avr-gcc (WinAVR) создаёт такой код, что после возврата из главной программы начинает выполняться бесконечный цикл, прерывания разумеется будут выполняться. Как обстоят дела в других компиляторах - не знаю точно, но подозреваю что точно так же.

Re: МикроКонтроллеры начинающим - общие вопросы

avr123.nm.ru » 05 июн 2009, 19:09

Doniak писал(а):почему. Спасибо.

Механизм прерываний в AVR - советую почитать КРАТКОе изложение - http://avr123.nm.ru/03.htm
Последний раз редактировалось avr123.nm.ru 16 июн 2009, 00:01, всего редактировалось 1 раз.

Re: МикроКонтроллеры начинающим - общие вопросы

Duhas » 15 июн 2009, 23:45

решил написать сюда... вобщем, задача преобразовать десятичное в двоичное... разряды десятичного разложены по байтам... 3 байта.. указатель на первый лежит в рег паре Х....
Код: Выделить всёРазвернуть
_s_d2b:

   ld      tmp1,   x+
   ldi      res1,   0
   ldi      res2,   0      
   ldi      tmp2,   100
_s_100:
   subi   tmp1,   1
   brcs   _s_end_100
   add      res2,   tmp2
   brvc   _s_100
   inc      res1
   rjmp   _s_100
_s_end_100:
   ldi      tmp2,   10
   ld      tmp1,   x+
_s_10:
   subi   tmp1,   1
   brcs   _s_end_10
   add      res2,   tmp2
   brvc   _s_10
   inc      res1
   rjmp   _s_10
_s_end_10:
   ld      tmp1,   x
   add      res2,   tmp1
   brvc   _s_end
   inc      res1
_s_end:

   ret


эта борода дает переполнение первого байта для всех чисел больше 127... я уже голову сломал :cry:

Re: МикроКонтроллеры начинающим - общие вопросы

galex1981 » 15 июн 2009, 23:57

Код: Выделить всёРазвернуть
 ld      tmp1,   x

после метки _s_end_10:
Это так и должно быть?

Re: МикроКонтроллеры начинающим - общие вопросы

Duhas » 16 июн 2009, 00:01

да, это единицы прибавляются... пост инкремент уже не нужен....

Re: МикроКонтроллеры начинающим - общие вопросы

galex1981 » 16 июн 2009, 00:09

В AVR студии не проверял на какой строчке именно переполнение возникает?

Re: МикроКонтроллеры начинающим - общие вопросы

Duhas » 16 июн 2009, 00:11

пля, идея ))))) завтра попробую, я уже туплю (


Rambler\'s Top100 Mail.ru counter