roboforum.ru

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

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

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

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

Сообщение blindman » 19 май 2009, 16:38

ЕМНИП, контроллер параллельного ввода-вывода из комплекта Z80 (аналог 8255)
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение SiemX » 19 май 2009, 16:42

Я нагуглил что это проц какойто(я он и правд у меня на плате от древнего "компа" ) С него можно ченить толковое сделать или можно выкинуть?
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение blindman » 19 май 2009, 17:06

Это не процессор, а контроллер ввода-вывода. Сам по себе практически бесполезен, только в комплекте с процессором.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение SiemX » 03 июн 2009, 14:27

Где можно найти русский даташит на мегу16 ? Ну или книжку какую где подробно расписано назначение всяких регистров и как работать с первиферией типа таймеров, ацп
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение galex1981 » 03 июн 2009, 14:35

Либо по форумам лазить и смотреть описания проблем что необходимо тебе, или учи английский
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение avr123.nm.ru » 03 июн 2009, 14:48

SiemX писал(а):Где расписано назначение всяких регистров и как работать с периферией типа таймеров, ацп ATmega16
в задачах моего курса есть примеры для AVR и для ATmega16 - avr123.nm.ru/06.htm - и там же можете скачать книги в библиотеках - все расписано очень подробно.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение ALHIMIK » 03 июн 2009, 21:15

А лучше Евстифеева
Аватара пользователя
ALHIMIK
 
Сообщения: 997
Зарегистрирован: 05 окт 2008, 14:41
Откуда: СПб
прог. языки: C,Python

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

Сообщение Doniak » 05 июн 2009, 18:10

Если главная программа выполнилась в МК, бесконечного цыкла нету. Будит ли выполнятся обработчик внешних прерываний INT ? если нет почему.
Спасибо.
Аватара пользователя
Doniak
 
Сообщения: 142
Зарегистрирован: 26 сен 2007, 08:25
Откуда: Krivoy Rog, ukraina
прог. языки: Си
ФИО: Коля

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

Сообщение blindman » 05 июн 2009, 18:17

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

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение avr123.nm.ru » 05 июн 2009, 19:09

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

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

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:
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение galex1981 » 15 июн 2009, 23:57

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

после метки _s_end_10:
Это так и должно быть?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение Duhas » 16 июн 2009, 00:01

да, это единицы прибавляются... пост инкремент уже не нужен....
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение galex1981 » 16 июн 2009, 00:09

В AVR студии не проверял на какой строчке именно переполнение возникает?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение Duhas » 16 июн 2009, 00:11

пля, идея ))))) завтра попробую, я уже туплю (
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18