Duhas

Примеры Кода Для Avr

559 сообщений в этой теме

=mc=    0
С кокого микроконтроллера лучше начать? (желательно с перезаписью)

Какой программатор лучше собрать?

Я сам начинающий... Начал с Atmega32.

Программатор собрал по этой схеме, в связке с PonyProg2000 работает отлично...

Программирую на С, использую CodeVisionAVR в связке с AVR-Studio.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Pippeytz    0

Нензаю туда куда нужно пишу , или нет , но я тут случайно наткнулся на етот сайт может комуто будет полезно .

для себя там нашол просто бездну полезного, огромный труд зделаный одним человеком..

http://avr123_nm_ru/

Изменено пользователем Pippeytz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
antzol    2

Через резистор примерно 5-10 кОм подключаешь к напряжению питания, а через конденсатор 0,1 мкФ к корпусу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо. :)

я гдето читал, что этот конденсатор нужно отключать при програмировании. Это так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

Наверное стоит снять при прошивке, так как он будет задерживать лог. сигналы на ножке reset.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, какой программатор использовать для прошивки AVR ATtiny13 в среде IAR Embedded Workbench?

Остался программатор от Algorithm Buildera ("5 проводков"), он подойдет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ezh_m5    0

Товарищи! РЕшил изучить поверхносто МК...

имею атмегу8 и программатор вот этот:

http://ic-prog.com/funcard.jpg  (stk200)

какая гарантированно программа может его прошить?

хочу удостовериться для начала что всё правильно спаял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
akl    1

Для программирования AT90S8535 не пойдет- лапы расположены по другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ezh_m5    0

Так я ведь просто к контактам подпаяль и всё.

ну т.е к соотв. выводам подпаял.

говорят понипрог очень хорошая,но что то у меня какието ошибки выдавала она

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Доброго времени суток. Скажу сразу и чесно, в програмировании я ЧАЙНИК. Надумал сам собрать осцылограф на мега8 но не хватает знаний.

Для роботы выбрал AVR Simulator IDE, уже накачал кучу литературы и почти безтолку.

Вопрос, будет ли работать такая последовательность:

1.Блок иницыализацыи "железа", общий зброс.

2.Блок опроса клавиатуры.

3.Блок вычислений частоты, амплитуды, скважности.

4.Блок вывода на ЖКИ.

5.Блок временного сохранения измерений.

Если ето будет работать, то первый вопрос: Как записать (текст команды) иницыализацию и установить еденицы в нужные разряды АЦП и прочих модулей?

Люди помогите, очень нужно!!!!! :o:huh::mellow::blink::(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Сразу же хочу предупредить, что я чайник в физике высоких энергий. Но надумал Я тут собрать андроидный колорайдер накупил катушек, накачал разной литературы, но не хватает знаний. Вообще разместил я катушки по кругу и что делать дальше не знаю, подскажите …..

1408 не обижайтесь я это к тому, что начинать надо от простого к сложному. Разберитесь сначала с простым. Как сделать опрос клавиатуры, как выводить на индикатор, как работает АЦП итд. А затем уже можете попробовать сделать, что то более сложное. А указанная Вами последовательность в принципе работать будет. Как написать инициализацию АЦП написано в даташите очень подробно и цитировать его не имеет смысла. Попробуйте сами, если возникнут конкретные вопросы, выкладывайте код, Вам помогут.

А то, как то на курсовик смахивает или еще не сезон? :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Спасибо за ответ.

Уменя есть даташети и литература с подробными описаниями архитектуры и регистров, но там НЕТУ ТОЛКОВЫХ ПРИМЕРОВ

Я уточню свой вопрос: Для начала меня интересует синтаксис иницыализацыи отдельных битов, таких как ADEN, ADSC, ADFR, ADPS2;ADPS0

Тоже самое по портам ввода/вивода, таймерам и SPI

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Спасибо за ссылку.

Неспорю, проект интересен, но суть радиолюбителя-коструктора в том, чтоб самому чтото придумать и довести до стадии готового прибора

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1
Спасибо за ссылку.

Неспорю, проект интересен, но суть радиолюбителя-коструктора в том, чтоб самому чтото придумать и довести до стадии готового прибора

Читаем тут http://easyelectronics.ru/avr-uchebnyj-kur...ovanie-acp.html что не понятно спрашиваем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Читаем тут http://easyelectronics.ru/avr-uchebnyj-kur...ovanie-acp.html что не понятно спрашиваем.

Прочитал, понял впринцыпе все. вопрос вот вчом: post-66200-1237737108_thumb.jpg

ЧТО Я ДЕЛАЮ НЕТАК ?

С вторым примером аналогично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Я с AVR Simulator IDE не работал, но сразу возникает вопрос, а откуда компилятор знает, что такое «ADCSRA»

Можно предположить, что он где-то должен, определен быть. :lol:

В AVR Studio для каждого контролера есть файлы определения мнемонических имен и их реальных адресов. Если хотите использовать мнемонические имена регистров и портов его нужно подключить в проект

Например для mega8 это будет выглядеть так .include <m8def.inc>

Еще раз, все справедливо для студии. У вас синтаксис может отличаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
tobias    0
ЧТО Я ДЕЛАЮ НЕТАК ?

Я думаю вам нужно посмотреть примеры к среде в которой пишите - и все прояснится.

Кроме того советую АСМ примеры посмотреть в архиве

Архив примеров программ на ассемблере ASM для AVR из AVRstudio и VMLAB

Очень хорошо написаны !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Доброго времени суток. Уважаемые знатоки, у меня возник очередной вопрос (точнее несколько):

1. Что нужно ещё иницыализировать кроме АЦП и портов?

2. Какой нужен интерфейс для внутрисхемного програмирования, и как его "запустить"?

3. Какие необходимо выполнить прерывания, тоесть что мне нужно выбрать из таблицы?

4. И вообще, я попробовал писать, вот что получаетса:

.include <m8def.inc> ;модуль конфигурацыи

.equ $07=0b01000101

.equ $026=0b0101010001010101

.equ $038=0b0101010101010101 ;порти B,C,D

.equ $037=0b0101010101010101

.equ $036=0b0101010101010101

.equ $035=0b0001010101010101

.equ $034=0b0001010101010101

.equ $033=0b0001010101010101

.equ $032=0b0101010101010101

.equ $031=0b0101010101010101

.equ $030=0b0101010101010101

.equ $03E=r1 ;-стек

ЕТО впринцыпе правельно или нет?

5.Правельно ли я указал стек?

А ещё вопрос по поводу области BOOT, что ето, зачем и как ним пользоваться?

Изменено пользователем 1408

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

1.Что нужно ещё иницыализировать кроме АЦП и портов?

Давайте оставим пока этот вопрос.

2. Какой нужен интерфейс для внутрисхемного програмирования, и как его "запустить"?

Извеняйте, но с Вашими знаниями лучше пока оставить и этот вопрос

3. Какие необходимо выполнить прерывания, тоесть что мне нужно выбрать из таблицы?

И здесь обождите

4. И вообще, я попробовал писать, вот что получаетса:

.include <m8def.inc> ;модуль конфигурацыи

m8def.inc не модуль конфигурации если Ваш компилятор его без ошибок проглотил, это уже хорошо.

Теперь внимание объясняю еще раз:

Разберем две Ваших любимых команды из Вашего любимого макроса

Первая

LDI R16,@1

Загрузка константы в РОН

Здесь всё просто

Первый операнд

R16 – мнемоника регистра используемая компилятором

Второй операнд

Число от 0 до 255

При выполнении число записывается в регистр R16

Теперь рассмотрим вторую команду

OUT

Первым операндом в нем указывается адрес регистра, куда будем пересылать данные (тоесть приемник)

Вторым операндом мы указываем источник откуда мы пересылаем данные, причем источником может быть, только РОВ(ну вы это знаете)

Теперь ВНИМАНИЕ:

Ваша команда должна выглядеть вот так:

OUT $06,R16

Но запоминать адреса тяжело, поэтому в компиляторах была придумана директива .equ

Что она делает: она определенной константе (числовому значению) присваивает имя (синоним, мнемонику)

Смотрим файл m8def.inc (txt он по сути) и мы видим строку

.equ ADCSRA =$06

Тоесть когда мы напишем

OUT ADCSRA,R16

компилятор найдет что такое ADCSRA и будет её транслировать как

OUT $06,R16

Теперь Вы поняли что Вы написали ниже полную …

.equ $07=0b01000101

.equ $026=0b0101010001010101

.equ $038=0b0101010101010101 ;порти B,C,D

.equ $037=0b0101010101010101

.equ $036=0b0101010101010101

.equ $035=0b0001010101010101

.equ $034=0b0001010101010101

.equ $033=0b0001010101010101

.equ $032=0b0101010101010101

.equ $031=0b0101010101010101

.equ $030=0b0101010101010101

.equ $03E=r1 ;-стек

ЕТО впринцыпе правельно или нет?

Ответил

5.Правельно ли я указал стек?

Нет

В файле m8def.inc стек определен вот так

.equ SPH =$3e

.equ SPL =$3d

Попробуйте теперь сами эго инициализировать

А ещё вопрос по поводу области BOOT, что ето, зачем и как ним пользоваться?

Пока даже не думайте про это

P.S. Знающий народ! Ну что получиться из меня препод?

P.P.S. Да сам знаю что НЭТ

Изменено пользователем rtfcnf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Да, с моими знаниями, я пойду далеко.

Во всяком случае асемблер на весь мой бред не ругается (пока)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1
Да, с моими знаниями, я пойду далеко.

Во всяком случае асемблер на весь мой бред не ругается (пока)

Вам удалось инициализировать стек и АЦП? Поняли Вы что я написал? Если да попробуем дальше если нет могу попробывать повторить. Или на этом закончим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1408    0

Тоесть если я пишу OUT ADCSR,R16, единица заганяетса полностю для всех битов (имею ввиду ADEN, ADIE, и т.д. ) ?

Я правильно понял?

И ещё асемблер ругаетса на выражение: LDI R16, @1 ,типа Invalid argument of the instruction.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1
Тоесть если я пишу OUT ADCSR,R16, единица заганяетса полностю для всех битов (имею ввиду ADEN, ADIE, и т.д. ) ?

Я правильно понял?

И ещё асемблер ругаетса на выражение: LDI R16, @1 ,типа Invalid argument of the instruction.

OUT ADCSR,R16 - значение регистра r16 копируется в регистр ADCSR

а единицы или нули это как Вы в R16 записали.

Всё это из-за архитектурных ограничений ядра, ну нельзя константу писать в часть регистров

LDI R16, @1 смотрите синтаксис написание макросов. Я по памяти не помню

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: myrka
      Доброго дня! 
      Купил на барахолке вот такую плату





      на последней фото 2 черных провода в дальнейшем соединены 
      Это бегущая строка от игровых автоматов, на ней 2-мя цветами отображаются слоганы, хочу перепрошить в целях обучения.
      Вопросы:
      1) встречал ли кто-то описание этой микросхемы? (я в интернете не нашел, потратил 2 дня)
      2) есть на микросхеме разъем (10 ножек хорошо видно на последнем фото), как узнать их имена, за что отвечает каждая ножка? (есть некоторые предположения, но сомневаюсь в них)
      3) можно ли через CP2102-USB-UART-MODULE перепрошить вот эту микросхему, если да то как соединить?
    • Автор: Atreides
      Добрый день. Мне требуется реализовать программный юарт на атмеге16. Он нужен для того, чтобы принятые по нему данные отправить на аппаратный юарт. В интернете нашел примеры кода, но понять его мне трудно. Прошу вас словами в общих чертах объяснить принцип реализации программного юарта. Буду рад примерам, которые, на ваш взгляд, являются наиболее простыми и понятными. Заранее спасибо.
    • Автор: karomag
      Добрый день.
      Экспериментирую с подключение 7-сегментного индикатора к мк stm32. Индикатор с общим катодом. Соответственно для вывода цифры необходимо на анод каждого сегмента подать 1, а на общий катод 0. И тут я не могу понять какие токи будут через порты. Теоретически, пины МК подключенные через резистор 300 Ом к аноду (напряжение МК 3.3 В) то ток будет 4 мА, тогда на общем катоде должно быть 7 * 4 = 28 мА (цифра 8, т.е. горят все сегменты). Т.е. это небольшое, но превышение макс тока на ногу 20 мА. И надо общий вывод подключать через транзисторный ключ.
      Взял мультиметр. Результаты замера: ток каждого сегмента ~2.5 мА, ток общего катода 5 мА. Вот тут я подумал о школе Хогвардс))) Как все таки рассчитывается все таки ток на общем выводе? 
    • Автор: art_budka
      Ищу подрядчика для разработки проекта робота-рисовальщика. Есть бюджет, ТЗ. 
      Устройство представляет собой манипулятор передвигающий головку в плоскости XY в пределах жесткой рамы на которой установлены двигатели и направляющие перемещения. Головка представляет собой блок, отвечающий за передвижение закрепленного в фиксаторе объекта-пера по оси Z на расстояние до 20 мм. Фиксатор на элементе подъёма головки должен обеспечить жесткое закрепление предметов массой 10 - 80 грамм - кистей, шариковых ручек, карандашей и маркеров диаметром от 5 до 20 мм.
      Решение необходимо для обеспечения точных, многократно повторяющихся перемещений “пера” над плоской поверхностью. Для формирования движений в устройстве должна быть реализована электромеханическая схема, подключенная посредством USB-интерфейса к персональному компьютеру для отправки команд на манипулятор и получения обратной связи от контроллера манипулятора. 
      ТЗ, смета и бюджет через art_budka@rambler.ru 
    • Автор: EugenArt
      Всем доброго времени суток!
      в поиске не смог найти инфо, поэтому создал тему, не ругайте, если ошибся с веткой.
      Идея следующая, есть автомагнитола deh-3600MP c выходом Ip-bus.Хочу подружить магнитофон с мп3 плеером (есть от фм-трансмиттера, завтра куплю платку отдельного мп3). Сразу подчеркну, что хочу управление плеером (треки, теги, пауза и т.д) с головного устройства.
      предполагаю схему так:  ip-bus - avr - mp3 player.
      алгоритм avr-mp3 несложен и открыт, а вот описание протокола ip-bus нигде нет, форум витат.спб уже изучил, есть кусок кода работы авр и ip-bus, но не очень понятно, может подскажете набор команд ip-bus или что происходит по событию нажатию кнопки вперед/назад.
      Заранее благодарен.
  • Сообщения

    • К цифровому, еще хотите добавить шум ДС/ДС? Если уж так не можете отфильтровать. Если принципиально двухполярка, примените низковольтный ОУ и поделите  5 В банальным делителем пополам.  
    • Можно добавить УЗИП на вводе и по желанию на группы в щиток. В некоторых поселениях без такой штуки в ВУ не подключат к ЛЭП . Говорят в нутре у них мощные варисторы и даже от попадания молнии защищают.
    • @Pont 007 Я, признаться, не знаю зачем автору темы это нужно, ну уж коли спросил..., а питание с аудиокарт не видел ни разу, разумеется брать +5 вольт с материнки просто так нельзя, помехи будут жуть. @pips Конечно я работал и с этими микросхемами ещё в советской реинкарнации, названия уж не помню. Что касается тактовой частоты ещё раз говорю она здесь особой роли не играет, все равно по питанию как с +5 так и с -5 надо ставить фильтры. На мой взгляд лучше это LC фильтры, индуктивность типа такой или такой выводом от источника напряжения, а другим выводом на  питание ОУ и конденсатор на землю микрофарад 220 + керамика 0,1 мкФ. Просто рисовать неохота, просто ведь.
    • В "Моделисте-конструкторе" нечто подобное делали - трансформатор для сварочника из электродвижка:   МК 8-1992, стр. 19 МК 1-1996, стр. 11 МК 9-2000, стр. 11
    • wm5102e где стоит: Lenovo Yoga Tablet 2 10-51; Samsung Galaxy S4 GT-I9500; Meizu MX3;
    • @o_l_e_g  Спасибо. Но это вам в соседнюю мою тему, я там с этим вопросом уже обсуждал. )))) Если кратко, то весь цифровой бред (шум питания) который по USB питанию попадает на вход усилителя. А я не знаю как его фильтровать нормально. Да и вообще костыль всё это.   В общем эту тему средней точки, пожалуйста тут не развивайте, если хотите помочь молости прошу, Тема моя ниже по ссылке:   Спасибо за совет, но я что буду приходить к каждому с паяльником со словами "давайте мы сейчас ваш комп разберем, попаяем, а потом продолжим".  В общем ваши предлоложения касательно зачем мне это нужно были не верны, спасибо.