• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
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 смотрите синтаксис написание макросов. Я по памяти не помню

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Гость самодельщик
      Автор: Гость самодельщик
      Здравствуйте. Посоветуйте пожалуйста схемы программаторов для AVR и STM- универсальный не надеюсь.
      Имеется в наличии usbasp китайский-работает как гнилой еврей раз в неделю. Сделал PICKIT2 за 4 года ни одного отказа. usbasp может сегодня тупо отказываться работать на 3 компьютерах, на следующий день как часики прошивает 1-2 камня и опять отдыхает. Надоело. 
    • Автор: Serge77
      Обязанности:
      · Разработка радиоэлектронных и GSM-устройств: разработка схем, программирование, разводка печатных плат, разработка документации.
      · Программирование микроконтроллеров STM, AVR, ARM, PIC на языке С/С++
       
      в личку или en@argument74.com
    • Автор: Flash6300
      Приветствую всех. 
      Как на 2313 рассчитать значение для записи в эти регистры, если я хочу получить задержку в 6 секунд?
      OCR1AH
      OCR1AL
      TCCR1B
       
    • Автор: east1095
      Здравствуйте, давно читаю форум, зарегистрировался только сегодня, хочу попросить советов у вас для очередной работы.
       
      1. Мощность 30 кВт, напряжение 2 кВт, 15 А ток.
      2. Планирую полумост;
      вопросы:
      1. Шим контроллер должен поддерживать регулировку к.заполнения, с заданным dU/dT, это планирую делать с МК, потому что в случае пробоя быстроействуюий ключ даст сигнал об остановке преобразователя, потом будет строб, потом пуск источника, при этом он должен выйти на напряжение на котором произошла остановка работы с более коротким (быстрее) dU/dT, это можно реализовать с МК, завести сигнал с датчика КЗ.
      При этом нужна регулировка напряжение и регулировка уставки максимального тока(в приципе в схеме защиты от КЗ она уже реализована)
       
      2. Полумоста хватит на такую мощность?
      3. Можно ли с помощью софта рассчитать трансформатор на такие характеристики? Lite_calcIT не осилил такую задачу.
      4. 1 трансформатор или набор модулей соединенных последовательно для обеспечения нужного напряжения?
      5. Ткните носом в краткую но понятную ветку/статью о резонансных и квазирезонансных и других типах схем, т.к. я недостаточно в этом подкован, немного другие интересы, однако.
       
      Заранее спасибо!
    • Автор: Maoser
      Всем доброго времени суток.
      Помогите пожалуйста начинающему.Нужна программа для Attiny13a на языке С.
      Вот такой алгоритм:
      Нажимают кнопку и начинают мигать светодиоды типа "Бегущие огни", при отпускании остается светится один из четырех, причем в случайном порядке как в рулетке.Нажимают и снова начинают бежать- отпускают остается гореть один.
  • Сообщения

    • 1. Насчет LAT - не знаю, т.к. при таком коде на экран заданная заранее строчка выдается, а вот содержимое переменной - нет. 2. Это как-то влияет на работу МК? Я могу это игнорировать? Если нет, то как устранить?
    • Ну в общем то попробовал показать физические замеры, так как акустических проводов пока нет, сравню межблочники и так имеем генератор прямоугольных импульсов выходное сопротивление 600ом как у моего цапа,  подключено по очереди два кабеля, длина кабелей одинаковая 1метр, один сигнал записан в память что бы сравнивать было удобно, смотрим переходную характеристику ,угадайте какой из кабелей звучит лучше.
    •   Дальше то что ? @Николай Горячев -у  нужно расположение элементов схемы с их обозначениями. Что бы помогающим было проще, руководствуясь схемными обозначениями контуров,  давать советы. Каким местом тут ваши претензии к скану (это не я рисовал) .       
    • Может немного не в тему или кому пригодится. Нужно было регулировать давление в автомобильном, поршневом компрессоре Хундай в пределах 0,1-1 атм. Мошность моторчика около 120-150вт. По паспорту пусковой ток около 15-16а, рабочая мах  до 10а. Собрал проверенную  схему, Частота около 430гц. Моторчик не свистит и не гудит, но сильно греется защитный диод и немного ключ. Поставил сдвоенный диод с БП ПК (по-моему 25а), греется. Собрал новую плату с другой мс 555, не помогло. Пробовал менять частоту емкостью и сопротивлением, не помогло. Ток не мерил,  но слышно, моторчик работает необычно....с натугой. Думал, внутри шланг перегнут.  Разобрал компрессор, а он сухой и горячий. Смазки нет обсалютно (новый!) !!! все трется в сухую!!! Брызнул во все труще-пихующие части ВДшкой, звук моторчика стал мягче и тише ,  диод перестал греться! Моторчик регулируется от 5 до 50%, как и задумано по настройкам. Полностью разобрал компрессор, промыл в бензе и смазал все трущиеся узлы ШРУСом. Полет нормальный! Ох уж эти китайцы...смазки пожалели... ЗЫ Проверьте смазку в своих 12в автокомпрессорах.  
    • Я не понимаю твоей проблемы. Тебе нужно три этапа пройти: 1. Берём шунт на нужный ток. В простом случае - резисторы по 0.1-0.2Ом 2Вт, в ещё более простом - кусок нихрома или манганина нужной длины под нужный ток(что бы не раскалялась и не отпаивалась). Подобрать по сопротивлению нужно. (для этого нужно знать, какой ток какому напряжению соответствует, а там по закону Ома считать) 2. Устанавливаем ток 1-10 ампер. (любой источник с амперметром и нагрузкой) 3. Подстраиваем амперметр. (крутим резистор тока) Подстроечники полюбому нужно крутить, имея заведомо точный прибор для измерения напряжения\тока. Так как они обычно плюс-минус километр показывают, или вообще не настроены. Или настроив на 10 вольт, на 20 вольт и на 5 вольт будет погрешность, а на 10В точно показывать.
    • На коллекторе 316 какое напряжение? Звоните его на обрыв.
    • @LA5 А какие там токи рабочие через R8 ?   МОСФЕТ, как бы в линейном режиме, в классе "А" находится. И  эмиттерный повторитель,.. он же самый широкополосный.   Заодно, а нужна ли вольтодобавка? Прикрутил к выходу корректора идеальный повторитель вместо паралельника. Поскольку идеальный повторитель не вносит искажений, то на нагрузке останется что-то от корректора при бутстрипе и без: С бутстрипом покрасивше выглядит.