ВЫ ИСКАЛИ atmega64 datasheet на русском ATmega64 Data Sheet Atmel Corporation – Datasheets ATmega datasheet на русском 4 даташиты. ATmega64(L) Complete (размер файла: 7MB, 414 стр ред. R Datasheets (Даташиты) по запросу: ATmega datasheet на русском. Даташит ATMEGA64 datasheet Atmel 64 – Kbyte self – programming Flash Program Memory, 4 – Kbyte SRAM Atmega128 datasheet на русском pdf Atmega128 datasheet на русском pdf. ATmega163, ATmega323, ATmega128, ATmega8, ATmega16, ATmega64. ATMEGA16 – 16PU datasheet ATmega8, ATmega16, ATmega64. Маркировка микроконтроллеров AVR семейства ATmega и ATtiny.
Даташит поиск по электронным компонентам в формате pdf на русском языке.
ATmega64, ATmega64L 8 – разрядные микроконтроллеры с 64 Кбайтами внутрисистемно программируемой Flash. ATMEGA8 datasheet, ATMEGA8 circuit, ATMEGA8 data sheet: ATMEL – 8 – bit AVR with 8K Bytes In – System Programmable Flash, alldatasheet, datasheet, Datasheet search site.
Краткий Курс – Самоучитель AVR, ATmega и ATtiny. В ATmega64 и ATmega128 выводы MOSI и MISO не применяют. Minimum voltage to avoid EEPROM corruption for ATMega328P. Download Free Software Ola Onabule – Heart Of Lead Mp3.
The datasheet provides a safe operating area based on clock speed. Stack Overflow на русском; ATmega fuses for external crystal oscillators greater then 8. It also tells you where to look in the datasheet in case I m. Stack Overflow на русском; Engbedded Atmel AVR® Fuse Calculator Device selection. Select the AVR device type you want to configure. When changing this setting, default fuse settings will.
Документация на Русском языке по микроконтроллерам. I removed that too Stack Overflow на русском; AVR ATmega64 using two 8 – bit timers. Addresses in bytes whereas the interrupt vector addresses in the datasheet are specified. На русском; Вот такую весьма полезную штуку я сегодня получил на почте. Sim900d по сути демонстрируется законченным устройством, который способен задействовать. Прошивание микроконтроллеров avr pic Всё о прошивке avr Прошивка avr pic обновления. Pdf datasheet su vishay siliconix irfp360.
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. Scl подключено к МК(atmega64) к ножке portd. Изменения в программе производства микроконтроллеров се – мейства avr®. (на русском), Описание 16с84, 16с71, 16с5.
ATmega48 Automotive, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450 atmega64 – 16ac. Найти на русском преобразователь формата из jpg.
Ну atmega64 схемы описание на русском того вводного инсайдерского. Он доступен в оригинале и на русском ниже. 1 в ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP программирования. 0 views Легенды о робин гуде перевод английский клуб. Add to story or collection; Share on Twitter; Share on Facebook Готовое домашние задание по Информатике к учебнику для 10 класса, доступное просмотра идз. Atmega8; Atmega16; Atmega32; Atmega64; Atmega128. В какой последовательности выставлять Fuse и Lock Bits Atmega64.
PDF файлы | Научно-производственное предприятие “АВЕРЭЛ”
Техническое описание на микроконтроллеры ATMEL
Техническое описание на микроконтроллер ATtiny13 (ENG)
Скачать PDF
Техническое описание на микроконтроллер ATtiny25 (ENG)
Скачать PDF
Техническое описание на микроконтроллер ATtiny45 (ENG)
Скачать PDF
Техническое описание на микроконтроллер ATtiny85 (ENG)
Скачать PDF
Техническое описание на микроконтроллер ATtiny2313 (ENG)
Скачать PDF
Техническое описание на Atmega8 (ENG)
Скачать PDF
Техническое описание на Atmega16 (ENG)
Скачать PDF
Техническое описание на Atmega32 (ENG)
Скачать PDF
Техническое описание на Atmega64 (ENG)
Скачать PDF
Техническое описание на Atmega128 (ENG)
Скачать PDF
Тех. описание на микроконтроллеры MICROCHIP
Техническое описание на PIC12F629 на русском (RUS)
Скачать PDF
Техническое описание на PIC12F675 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F627 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F628 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F873 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F874 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F876 на русском (RUS)
Скачать PDF
Техническое описание на PIC16F877 на русском (RUS)
Скачать PDF
Техническое описание на PIC18F252 на русском (RUS)
Скачать PDF
Техническое описание на PIC18F242 на русском (RUS)
Скачать PDF
Техническое описание на PIC18F442 на русском (RUS)
Скачать PDF
Техническое описание на PIC18F452 на русском (RUS)
Скачать PDF
Техническое описание на микроконтроллеры SILABS
Техническое описание на C8051F000 на русском (RUS)
Скачать PDF
Техническое описание на C8051F001 на русском (RUS)
Скачать PDF
Техническое описание на C8051F002 на русском (RUS)
Скачать PDF
Техническое описание на C8051F003 на русском (RUS)
Скачать PDF
Техническое описание на C8051F004 на русском (RUS)
Скачать PDF
Техническое описание на C8051F005 на русском (RUS)
Скачать PDF
Техническое описание на C8051F006 на русском (RUS)
Скачать PDF
Техническое описание на C8051F007 на русском (RUS)
Скачать PDF
Техническое описание на C8051F010 на русском (RUS)
Скачать PDF
Техническое описание на C8051F011 на русском (RUS)
Скачать PDF
Техническое описание на C8051F012 на русском (RUS)
Скачать PDF
Техническое описание на C8051F013 на русском (RUS)
Скачать PDF
Техническое описание на C8051F014 на русском (RUS)
Скачать PDF
Техническое описание на C8051F015 на русском (RUS)
Скачать PDF
Техническое описание на C8051F016 на русском (RUS)
Скачать PDF
Техническое описание на C8051F017 на русском (RUS)
Скачать PDF
Техническое описание на C8051F018 на русском (RUS)
Скачать PDF
Техническое описание на C8051F019 на русском (RUS)
Скачать PDF
Техническое описание на C8051F020 на русском (RUS)
Скачать PDF
Техническое описание на C8051F021 на русском (RUS)
Скачать PDF
Техническое описание на C8051F022 на русском (RUS)
Скачать PDF
Техническое описание на C8051F023 на русском (RUS)
Скачать PDF
Техническое описание на C8051F060 на русском (RUS)
Скачать PDF
Техническое описание на C8051F061 на русском (RUS)
Скачать PDF
Техническое описание на C8051F062 на русском (RUS)
Скачать PDF
Техническое описание на C8051F063 на русском (RUS)
Скачать PDF
Техническое описание на C8051F064 на русском (RUS)
Скачать PDF
Техническое описание на C8051F065 на русском (RUS)
Скачать PDF
Техническое описание на C8051F066 на русском (RUS)
Скачать PDF
Техническое описание на C8051F067 на русском (RUS)
Скачать PDF
Техническое описание на C8051F350 на русском (RUS)
Скачать PDF
Техническое описание на C8051F351 на русском (RUS)
Скачать PDF
Техническое описание на C8051F352 на русском (RUS)
Скачать PDF
Техническое описание на C8051F353 на русском (RUS)
Скачать PDF
Техническое описание на другие компоненты
Техническое описание на ds18b20 на русском (RUS)
Скачать PDF
Техническое описание на симистор BTA16
Скачать PDF
Техническое описание на симисторы BTA24-BTA26
Скачать PDF
Техническое описание на симисторы BTA41
Скачать PDF
Техническое описание на оптосимистор MOC3021
Скачать PDF
Техническое описание на оптосимистор MOC3052
Скачать PDF
Техническое описание на оптосимистор MOC3063
Скачать PDF
Техническое описание на оптосимистор MOC3083
Скачать PDF
Как пользоваться avrdude, быстрый старт | avr
Наверняка у Вас уже есть макетная плата на микроконтроллере AVR (скорее всего Arduino Uno на микроконтроллере ATmega328P или какая-нибудь аналогичная), и Вы хотите научиться её программировать, т.
е. прошивать программу в память кристалла микроконтроллера. Есть множество различных способов, здесь будет рассмотрен вариант использования такого универсального инструмента как avrdude.
Почему следует использовать avrdude? По многим причинам – он бесплатен, работает на любых операционных системах (Linux, Windows, MacOS), поддерживает все популярные протоколы программирования. Т. е. может работать с любым программатором (USBasp, AVR-mkII и т. д. [3]), в том числе и с загрузчиками Arduino и USBasp [4,5].
Avrdude это утилита командной строки, так что для её использования придется изучить её опции, которыми настраивается тип программатора, задается программируемый чип, файл прошивки и фьюзы. Поначалу это может показаться сложным, но если разобраться, то окажется, что командная строка это очень удобно, потому что предоставляет универсальный способ работы со многими средами программирования. Например, можно писать программы для AVR даже в среде Microsoft Visual Studio, запуская процесс компиляции с помощью команд makefile, и прошивать память микроконтроллера настройкой запуска внешней команды прямо из Visial Studio (подробнее см.
[6]). Утилиту avrdude использует также среда программирования Arduino для прошивки памяти микроконтроллера платы через загрузчик UART.
[Где взять avrdude]
Ссылки для загрузки AVRDUDE лучше всего найти с помощью Google. Обычно avrdude.exe находится в пакете утилит разработчика WinAVR, также она входит в пакет среды разработки Arduino IDE. Поэтому скачайте и установите либо WinAVR, либо среду разработки Arduino. Как вариант, можете скачать архив [12], там найдете все необходимое для этой статьи, в том числе и утилиту avrdude.
Различные версии avrdude и PDF-документацию можно найти по ссылке http://download.savannah.gnu.org/releases/avrdude/.
В операционной системе Windows требуется открыть окно интерпретатора команд cmd.exe. Для этого в Start Menu (кнопка ПУСК) выберите команду Run… (Выполнить. ..), в окне приглашения введите cmd и кликните по кнопке OK.
В операционной системе MacOS X можете использовать программу Terminal для получения доступа к интерфейсу ввода команд. Программа Terminal находится в папке Utilites.
Теперь в окне терминала введите команду avrdude и нажмите Ender, в результате утилита avrdude выдаст подсказку в виде списка основных опций.
[
Описание опций AVRDUDE]
Опций довольно много. Не пытайтесь их все запомнить, нужно просто иметь общее представление о том, что эти опции могут делать.
-p partno: эта опция просто говорит утилите, какой микроконтроллер AVR будет программироваться. Например, если Вы собрались программировать ATtiny2313, то в качестве partno введите attiny2313.
-b baudrate: эта опция используется для настройки скорости последовательной передачи данных (через RS-232, UART) для программаторов, работающих по протоколам наподобие STK200 или STK500 STK500. Часто эту опцию использовать необязательно, потому что подходит скорость, настроенная по умолчанию.
-B bitrate: эта опция меняет скорость следования бит, на которой программатор общается с программируемым чипом. Если Ваш микроконтроллер тактируется очень низкой частотой, то потребуется снизить скорость данных программирования. Обычно микроконтроллер работает на высокой частоте (8 МГц и выше, особенно если используется кварцевый резонатор), так что эта опция применяется редко.
-C config-file: это файл конфигурации, который говорит avrdude о различных способах, как ему общаться с программатором. Имеется файл конфигурации по умолчанию, который используется без указания -C опции, так что эта опция обычно не нужна.
Если путь до файла имеет пробелы, то его следует брать в двойные кавычки. Например: -C”C:\Program Files\Arduino1.0.6\hardware\tools\avr\etc\avrdude.conf”.
-c programmer: эта опция задает тип программатора (его протокол). Например, если используете STK500, то укажите stk500, если используете программатор DT006, то укажите dt006, и т. д.
-D: опция запрещает очистку памяти чипа перед программированием. Скорее всего, эта опция Вам никогда не потребуется.
-P port: опция задает порт обмена данными между компьютером и программатором. Это может быть COM1, LPT1 или USB.
-F: опция отменяет проверку сигнатуры, которая позволяет убедиться, что программируемый чип именно тот, который нужен. Настоятельно рекомендуется выполнять эту проверку для тестирования соединения, поэтому не используйте эту опцию.
-e: опция очистки памяти чипа. Обычно её использовать не нужно, потому что очистка FLASH выполняется автоматически перед программированием.
-U memtype:r|w|v:filename[:format]: а вот эта команда уже по-настоящему важна. Именно одна задает, какое именно программирование будет произведено. Здесь memtype может быть flash или eeprom для памяти, либо hfuse, lfuse или efuse для конфигурационных фьюзов чипа. Буквы r|w|v обозначают операцию над памятью, т. е. r (read, чтение), w (write, запись) или v (verify, проверка памяти). Часть команды filename задает имя файла, который будет прочитан или записан во время выполнения команды. [:format] задает опцию формата файла. Чаще всего используется формат Intel Hex [7], и файл данных обычно получает расширение *.hex”. Если Вы хотите записать, например, файл test.hex в память flash, то должны использовать -U flash:w:test.hex:i. Если хотите прочитать память eeprom в файл “eedump.hex”, то должны использовать команду -U eeprom:r:eedump.hex:i.
Если путь до файла имеет пробелы, то его следует брать в двойные кавычки.
-n: это означает, что никаких действий записи производиться не будет. Команда полезна, когда Вы хотите гарантировать, что ни одна из отправляемых команд не повредит содержимое памяти чипа. Это разновидность ‘блокировки безопасности’.
-V: выключает автоматическую проверку содержимого памяти при записи. Не советую использовать эту опцию, потому что проверка дает дополнительную уверенность, что память записана правильно.
-u: запрет режима безопасности. Это установка по умолчанию, когда avrdude запускается из скрипта. Если хотите модифицировать биты фьюзов, то используйте эту опцию, чтобы явно подтвердить свои намерения (подавляет дополнительный запрос подтверждения).
-t: запускает режим терминала, когда Вы вводите команды строка за строкой. Не используйте этот режим, поскольку это добавляет сложности.
-E: выводит некоторые спецификации программатора, не используйте эту опцию.
-v: опция включает подробный вывод сообщений. Это может потребоваться для диагностики, чтобы получить дополнительную информацию. Обычно эта опция не нужна.
-q: действие этой опции дает противоположный эффект по сравнению с опцией -v, т. е. количество выводимой информации уменьшается. Обычно эта опция также не используется.
В этом списке красным цветом выделены те опции, которые скорее всего Вам понадобятся. Давайте рассмотрим подробнее использование этих опций.
[-c programmer]
Чтобы получить список поддерживаемых программаторов (и найти тот, который у Вас), введите команду avrdude -c qwerty (здесь qwerty это произвольный набор символов, который не соответствует ни одному из поддерживаемых программаторов). Как результат выполнения команды будет выведен список поддерживаемых программаторов.
Найдите в этом списке имя, соответствующее Вашему используемому программатору. Это имя следует подставлять в опцию -c programmer.
[-p partno]
Чтобы получить список программируемых микроконтроллеров AVR, введите команду avrdude -c avrisp (при этом не имеет значения, используете ли Вы реально программатор avrisp) без указания имени микроконтроллера. Не следует запоминать этот длинный список, он используется только для того, чтобы узнать нужное имя для программируемого микроконтроллера, которое следует подставлять в командную строку вместе с опцией -p partno.
В этом списке указаны псевдонимы всех чипов микроконтроллеров, о которых знает avrdude. Большинство из них программируются через интерфейс ISP.
Обратите внимание, что названия моделей чипов t2313 и 2313, m8 и m88, c128 и m128 выглядят очень похоже, но на самом деле это абсолютно разные модели микроконтроллеров! Поэтому во избежание ошибки советую Вам вместо псевдонима чипа ввести его полное имя. Т. е. вместо t2313 используйте attiny2313, или вместо m8 используйте atmega8. Avrdude достаточно умен, чтобы распознать правильно тип чипа по его полному имени.
Внимательно проверьте модель программируемого чипа по маркировке на его верхней стороне корпуса. К примеру, там может быть написано ATTINY2313 и ATMEGA8, Суффиксы -20PI и -16PC в маркировке просто указывают скоростные параметры микроконтроллера, и при программировании на эти суффиксы не стоит обращать внимания.
[-P port]
Эта опция говорит avrdude, где искать Ваш подключенный программатор. Если Вы используете устройство, подключенное через USB, то просто примените опцию -P usb или вообще не указывайте её. Утилита avrdude автоматически распознает подключение для программатора, который является устройством USB.
Если Вы используете параллельный (LPTx) или последовательный (COMx) порт для подключения программатора (что сейчас уже почти не актуально, потому что компьютеры с такими портами уже практически не выпускаются), то должны использовать эту опцию, чтобы показать порт, к которому подключен программатор. На операционной системе Windows в 99% случаев это будет lpt1 (для параллельного порта) или com1 (для последовательного порта), но Вы можете всегда проверить это через просмотр раздела “Ports (COM & LPT)”, по-русски это раздел “Порты (COM и LPT)” дерева Device Manager (Менеджер Устройств). Откройте управляющую панель System Properties (Свойства Системы), и выберите закладку Hardware (Оборудование):
Кликните на кнопке Device Manager (Менеджер Устройств), и разверните пункт Ports (Порты).
Здесь будут перечислены все имеющиеся на компьютере параллельные и последовательные порты. Может быть несколько последовательных портов, но обычно параллельный порт (так называемый порт принтера) только один.
На компьютерах Mac не бывает традиционных параллельных и последовательных портов. Однако если Вы используете адаптер USB-serial (что делает возможным использовать программаторы STK500 или AVRISP v1 вместе с компьютером Mac), то для avrdude нужно указать последовательный порт. Не пока знаю надежного способа определять порт подключения, однако использую для этого окно терминала, где нужно ввести команду ls -l /dev/cu.* (скорее всего, на Linux подойдет примерно такой же способ, или можно использовать команду dmesg). Ниже приведен скриншот примера вывода этой команды.
/dev/cu.Bluetooth это встроенный порт bluetooth, он не нужен. /dev/cu.modem это модем (если он имеется на Вашем компьютере), его также не нужно использовать. Обратите внимание на порты наподобие /dev/cu.usbserial или /dev/cu.KeySerial1. В моем случае это порт /dev/cu.usbserial-FTCTYG5U.
[-U memtype:r|w|v:filename:format]
Это опция, которая описывает, как реально будут записываться данные в программируемый микроконтроллер. Команда выглядит довольно сложной, но мы рассмотрим её по частям.
memtype может быть либо flash, либо eeprom, либо hfuse (старший байт фьюзов), либо lfuse (младший байт фьюзов) или efuse (расширенный байт фьюзов).
r|w|v может быть либо r (read, чтение), w (write, запись), v (verify, проверка).
filename имя входного (для записи или проверки) или выходного (для чтения) файла.
[:format] не обязательная опция, указывающая формат файла. Можно опустить эту опцию при записи, но для чтения указывайте i, чтобы выходной файл получил формат Intel Hex [7] (это наиболее распространенный формат файла).
Для примера, чтобы записать файл firmware.hex в память программ (flash), используйте команду -U flash:w:firmware.hex, чтобы проверить содержимое памяти eeprom на соответствие файлу mydata.eep, используйте команду -U eeprom:v:mydata.eep, и для чтения младшего байта фьюзов используйте команду -U lfuse:r:lfusefile.hex:i.
[Как программировать]
В примерах ниже я буду использовать программатор mkII-slim [8] (это клон фирменного AVRISP-mkII компании Atmel) и загрузчик USBasp на примере программирования чипов ATmega328P и ATmega32A через интерфейс ISP и через интерфейс USB. Само собой, Вы должны будете ориентироваться на Ваш конкретный программатор, программируемый чип и его фьюзы.
Подготовьте Вашу программируемую плату, удостоверьтесь, что можете подключить к ней питание (для программирования требуется наличие питания на программируемом микроконтроллере). Плата может питаться как от отдельного внешнего источника питания, так и от коннектора программатора, если он это позволяет.
Прошивать я буду тестовый пример, мигающий светодиодом на плате (так называемый Hello World для мира микроконтроллеров). Если кому-то интересно, то код этого примера приведен во врезке, или можете скачать его проект AVR Studio по ссылке [12] (см. папку HelloWorld архива).
Запишите файл прошивки (Hello-World-Arduino-ATmega328.hex, Hello-World-metaboard-ATmega328.hex или Hello-World-ATmega32A.hex, или другой, в зависимости от микроконтроллера, который будете программировать) в заранее известный каталог на диске, например C:\temp. Этот путь до файла будем использовать для команды -U. Готовые прошивки можно взять из папке HEX архива [12].
Все платы Arduino обычно программируются одинаково, через интерфейс USB. При этом используется загрузчик UART (интерфейс USB организован аппаратно, с помощью специального отдельного чипа). В этом примере в плату Arduino Nano будет записана прошивка HEX\Hello-World-Arduino-ATmega328.hex. Загрузчик использует функцию самопрограммирования памяти программ AVR [9]. Обратите внимание, что фьюзы таким способом записать нельзя (самопрограммирование памяти программ микроконтроллера AVR не распространяется на фьюзы).
При компилировании прошивки Hello-World-Arduino-ATmega328.hex было учтено, что светодиод подключен к порту PB5 (цифровой порт D13 Arduino).
#define LED PB5 //Для плат Arduino Uno и metaboard.
Подключите плату Arduino Nano через USB (при этом на микроконтроллер ATmega328 будет подано питание), и выполните команду:
Примечание: здесь подразумевается, что виртуальный COM-порт, через который подключена плата Arduino, имеет имя COM155.
В плату metaboard [11] записан загрузчик USBasp, эмулирующий поведение программатора USBasp. Интерфейс USB реализован программно, с помощью библиотеки V-USB. Как и в предыдущем примере с Arduino, фьюзы записать нельзя, мы будем записывать только память программ.
При компилировании прошивки Hello-World-metaboard-ATmega328.hex было учтено, что светодиод подключен к порту PB5.
#define LED PB5 //Для плат Arduino Uno и metaboard.
Для записи прошивки подключите плату metaboard через USB, удерживая при подключении кнопку S1 Reset, после подключения к USB кнопку отпустите (это активирует работу загрузчика), и выполните команду:
Чтобы убедиться, что записанная программа работает и светодиод мигает, подключите его через резистор 330..470 ом к порту PB5 (ножка 6 коннектора IP2 платы metaboard), что соответствует цифровому порту D13 Arduino.
На плату AVR-USB-MEGA16 установлен микроконтроллер ATmega32A, и также используется загрузчик USBasp на основе все той же библиотеки V-USB. Поэтому программирование будет осуществляться аналогично. Перед подключением платы AVR-USB-MEGA16 к USB установите перемычку между контактами 4 и 6 коннектора U1 ISP, это активирует работу загрузчика:
После программирования будет мигать светодиод D1, подключенный к ножке PB1 микроконтроллера, см. схему платы в статье [10]. При компилировании прошивки Hello-World-ATmega32A.hex было учтено, что светодиод подключен к порту PB0.
#define LED PB0 //Для платы AVR-USB-MEGA16.
Здесь рассматривается другой способ программирования – через интерфейс ISP, с помощью программатора mkII-slim [8]. Этот способ позволяет программировать также и фьюзы, однако требует наличия программатора.
Подключите сначала программируемую плату к программатору через интерфейс ISP. Перемычка питания на программаторе mkII-slim должна быть установлена в положение “5V”. Обратите внимание, что в данном примере питание на программируемую плату подается через программатор, поэтому подключать плату AVR-USB-MEGA16 к USB не обязательно.
Для подключения через ISP понадобится плоский кабель из 6 проводов мама-мама:
После того, как соединили кабелем ISP программируемую плату и программатор, подключите программатор через USB и для программирования памяти программ выполните команду:
1. Starting out with avrdude site:ladyada.net. 2. USBtiny site:dicks.home.xs4all.nl. 3. Программаторы для AVR. 4. Arduino bootloader. 5. AVR-USB-MEGA16: USB bootloader USBasp для микроконтроллера ATmega32. 6. Использование MS Visual Studio IDE для программирования AVR/Arduino. 7. Intel HEX: описание формата файла. 8. AVR-USB162MU: макетирование и изготовление программатора AVRISP-MKII в домашних условиях. 9. AVR109: самопрограммирование AVR. 10. Макетная плата AVR-USB-MEGA16. 11. Макетная плата metaboard. 12. 170305avrdude.zip.
Atmel AVR Assembler
Atmel AVR Assembler
Содержание:
Исходные коды
Компилятор работает с исходными
файлами, содержащими инструкции,
метки и директивы. Инструкции и
директивы, как правило, имеют один
или несколько операндов.
Строка кода не должна быть
длиннее 120 символов.
Любая строка может начинаться с
метки, которая является набором
символов заканчивающимся
двоеточием. Метки используются для
указания места, в которое
передаётся управление при
переходах, а также для задания имён
переменных.
Позиции в квадратных скобках
необязательны. Текст после точки с
запятой (;) и до конца строки
игнорируется компилятором. Метки,
инструкции и директивы более
детально описываются ниже.
test:═════ rjmp test════ ;
Бесконечный цикл (Это инструкция)
════════════════════════ ;
Строка с одним только
комментарием
════════════════════════ ;
Ещё одна строка с комментарием
Компилятор не требует чтобы
метки, директивы, комментарии или
инструкции находились в
определённой колонке строки.
═Инструкции
процессоров AVR
Ниже приведен набор команд
процессоров AVR, более детальное
описание их можно найти в AVR Data Book.
═
Арифметические
и логические инструкции
Мнемоника
Операнды
Описание
Операция
Флаги
Циклы
ADD═
Rd,Rr═
Суммирование
без переноса
Rd = Rd + Rr═
Z,C,N,V,H,S═
1
ADC
Rd,Rr
Суммирование
с переносом
Rd = Rd + Rr +
C
Z,C,N,V,H,S
1
SUB
Rd,Rr
Вычитание
без переноса
Rd = Rd – Rr
Z,C,N,V,H,S
1
SUBI
Rd,K8
Вычитание
константы
Rd = Rd – K8
Z,C,N,V,H,S
1
SBC
Rd,Rr
Вычитание
с переносом
Rd = Rd – Rr -
C
Z,C,N,V,H,S
1
SBCI
Rd,K8
Вычитание
константы с переносом
Rd = Rd – K8 -
C
Z,C,N,V,H,S
1
AND
Rd,Rr
Логическое
И
Rd = Rd ╥ Rr
Z,N,V,S═
1
ANDI
Rd,K8
Логическое
И с константой
Rd = Rd ╥ K8
Z,N,V,S
1
OR
Rd,Rr
Логическое
ИЛИ
Rd = Rd V Rr
Z,N,V,S
1
ORI
Rd,K8
Логическое
ИЛИ с константой
Rd = Rd V K8
Z,N,V,S
1
EOR
Rd,Rr
Логическое
исключающее ИЛИ
Rd = Rd EOR Rr
Z,N,V,S
1
COM
Rd
Побитная
Инверсия
Rd = $FF – Rd
Z,C,N,V,S
1
NEG
Rd
Изменение
знака (Доп. код)
Rd = $00 – Rd
Z,C,N,V,H,S
1
SBR
Rd,K8
Установить
бит (биты) в регистре
Rd = Rd V K8
Z,C,N,V,S
1
CBR
Rd,K8
Сбросить
бит (биты) в регистре
Rd = Rd ╥ ($FF
– K8)
Z,C,N,V,S
1
INC
Rd
Инкрементировать
значение регистра
Rd = Rd + 1
Z,N,V,S
1
DEC
Rd
Декрементировать
значение регистра
Rd = Rd -1
Z,N,V,S
1
TST
Rd
Проверка
на ноль либо отрицательность
Rd = Rd ╥ Rd
Z,C,N,V,S
1
CLR
Rd
Очистить
регистр
Rd = 0
Z,C,N,V,S
1
SER
Rd
Установить
регистр
Rd = $FF
None
1
ADIW
Rdl,K6
Сложить
константу и слово
Rdh:Rdl =
Rdh:Rdl + K6═
Z,C,N,V,S
2
SBIW
Rdl,K6
Вычесть
константу из слова
Rdh:Rdl =
Rdh:Rdl – K 6
Z,C,N,V,S
2
MUL
Rd,Rr
Умножение
чисел без знака
R1:R0 = Rd * Rr
Z,C
2
MULS
Rd,Rr
Умножение
чисел со знаком
R1:R0 = Rd * Rr
Z,C
2
MULSU
Rd,Rr
Умножение
числа со знаком с числом без
знака
R1:R0 = Rd * Rr
Z,C
2
FMUL
Rd,Rr
Умножение
дробных чисел без знака
R1:R0 = (Rd *
Rr) << 1
Z,C
2
FMULS
Rd,Rr
Умножение
дробных чисел со знаком
R1:R0 = (Rd
*Rr) << 1
Z,C
2
FMULSU
Rd,Rr
Умножение
дробного числа со знаком с
числом без знака
R1:R0 = (Rd *
Rr) << 1
Z,C
2
═
Инструкции
ветвления
Мнемоника
Операнды
Описание
Операция
Флаги
Циклы
RJMP
k
Относительный
переход
PC = PC + k +1
None
2
IJMP
Нет
Косвенный
переход на (Z)
PC = Z
None
2
EIJMP
Нет
Расширенный
косвенный переход на (Z)
STACK = PC+1,
PC(15:0) = Z, PC(21:16) = EIND
None
2
JMP
k
Переход
PC = k
None
3
RCALL
k
Относительный
вызов подпрограммы
STACK = PC+1,
PC = PC + k + 1
None
3/4*
ICALL
Нет
Косвенный
вызов (Z)
STACK = PC+1,
PC = Z═
None
3/4*
EICALL
Нет
Расширенный
косвенный вызов (Z)
STACK = PC+1,
PC(15:0) = Z, PC(21:16) =EIND
None
4*
CALL
k
Вызов
подпрограммы
STACK = PC+2,
PC = k
None
4/5*
RET
Нет
Возврат
из подпрограммы
PC = STACK
None
4/5*
RETI
Нет
Возврат
из прерывания
PC = STACK
I
4/5*
CPSE
Rd,Rr
Сравнить,
пропустить если равны═
if (Rd ==Rr) PC
= PC 2 or 3
None
1/2/3
CP
Rd,Rr
Сравнить
Rd -Rr
Z,C,N,V,H,S
1
CPC
Rd,Rr
Сравнить
с переносом
Rd – Rr – C
Z,C,N,V,H,S
1
CPI
Rd,K8
Сравнить
с константой
Rd – K
Z,C,N,V,H,S
1
SBRC
Rr,b
Пропустить
если бит в регистре очищен
if(Rr(b)==0) PC
= PC + 2 or 3
None
1/2/3
SBRS
Rr,b
Пропустить
если бит в регистре установлен
if(Rr(b)==1) PC
= PC + 2 or 3
None
1/2/3
SBIC
P,b
Пропустить
если бит в порту очищен
if(I/O(P,b)==0)
PC = PC + 2 or 3
None
1/2/3
SBIS
P,b
Пропустить
если бит в порту установлен
if(I/O(P,b)==1)
PC = PC + 2 or 3
None
1/2/3
BRBC
s,k
Перейти
если флаг в SREG очищен
if(SREG(s)==0)
PC = PC + k + 1
None
1/2
BRBS
s,k
Перейти
если флаг в SREG установлен
if(SREG(s)==1)
PC = PC + k + 1
None
1/2
BREQ
k
Перейти
если равно
if(Z==1) PC =
PC + k + 1
None
1/2
BRNE
k
Перейти
если не равно
if(Z==0) PC =
PC + k + 1
None
1/2
BRCS
k
Перейти
если перенос установлен
if(C==1) PC =
PC + k + 1
None
1/2
BRCC
k
Перейти
если перенос очищен
if(C==0) PC =
PC + k + 1
None
1/2
BRSH
k
Перейти
если равно или больше
if(C==0) PC =
PC + k + 1
None
1/2
BRLO
k
Перейти
если меньше
if(C==1) PC =
PC + k + 1
None
1/2
BRMI
k
Перейти
если минус
if(N==1) PC =
PC + k + 1
None
1/2
BRPL
k
Перейти
если плюс
if(N==0) PC =
PC + k + 1
None
1/2
BRGE
k
Перейти
если больше или равно (со
знаком)
if(S==0) PC =
PC + k + 1
None
1/2
BRLT
k
Перейти
если меньше (со знаком)
if(S==1) PC =
PC + k + 1
None
1/2
BRHS
k
Перейти
если флаг внутреннего переноса
установлен
if(H==1) PC =
PC + k + 1
None
1/2
BRHC
k
Перейти
если флаг внутреннего переноса
очищен
if(H==0) PC =
PC + k + 1
None
1/2
BRTS
k
Перейти
если флаг T установлен
if(T==1) PC =
PC + k + 1
None
1/2
BRTC
k
Перейти
если флаг T очищен
if(T==0) PC =
PC + k + 1
None
1/2
BRVS
k
Перейти
если флаг переполнения
установлен
if(V==1) PC =
PC + k + 1
None
1/2
BRVC
k
Перейти
если флаг переполнения очищен
if(V==0) PC =
PC + k + 1
None
1/2
BRIE
k
Перейти
если прерывания разрешены
if(I==1) PC =
PC + k + 1
None
1/2
BRID
k
Перейти
если прерывания запрещены
if(I==0) PC =
PC + k + 1
None
1/2
* Для операций доступа к данным
количество циклов указано при
условии доступа к внутренней
памяти данных, и не корректно при
работе с внешним ОЗУ. Для
инструкций CALL, ICALL, EICALL, RCALL, RET и RETI,
необходимо добавить три цикла плюс
по два цикла для каждого ожидания в
контроллерах с PC меньшим 16 бит (128KB
памяти программ). Для устройств с
памятью программ свыше 128KB ,
добавьте пять циклов плюс по три
цикла на каждое ожидание.
Инструкции
передачи данных
Мнемоника
Операнды
Описание
Операция
Флаги
Циклы
MOV
Rd,Rr
Скопировать
регистр
Rd = Rr
None
1
MOVW
Rd,Rr
Скопировать
пару регистров
Rd+1:Rd =
Rr+1:Rr, r,d even
None
1
LDI
Rd,K8
Загрузить
константу
Rd = K
None
1
LDS
Rd,k
Прямая
загрузка
Rd = (k)
None
2*
LD
Rd,X
Косвенная
загрузка
Rd = (X)
None
2*
LD
Rd,X+
Косвенная
загрузка с пост-инкрементом
Rd = (X), X=X+1
None
2*
LD
Rd,-X
Косвенная
загрузка с пре-декрементом
X=X-1, Rd = (X)
None
2*
LD
Rd,Y
Косвенная
загрузка
Rd = (Y)
None
2*
LD
Rd,Y+
Косвенная
загрузка с пост-инкрементом
Rd = (Y), Y=Y+1
None
2*
LD
Rd,-Y
Косвенная
загрузка с пре-декрементом
Y=Y-1, Rd = (Y)
None
2*
LDD
Rd,Y+q
Косвенная
загрузка с замещением
Rd = (Y+q)
None
2*
LD
Rd,Z
Косвенная
загрузка
Rd = (Z)
None
2*
LD
Rd,Z+
Косвенная
загрузка с пост-инкрементом
Rd = (Z), Z=Z+1
None
2*
LD
Rd,-Z
Косвенная
загрузка с пре-декрементом
Z=Z-1, Rd = (Z)
None
2*
LDD
Rd,Z+q
Косвенная
загрузка с замещением
Rd = (Z+q)
None
2*
STS
k,Rr
Прямое
сохранение
(k) = Rr
None
2*
ST
X,Rr
Косвенное
сохранение
(X) = Rr
None
2*
ST
X+,Rr
Косвенное
сохранение с пост-инкрементом
(X) = Rr, X=X+1
None
2*
ST
-X,Rr
Косвенное
сохранение с пре-декрементом
X=X-1, (X)=Rr
None
2*
ST
Y,Rr
Косвенное
сохранение
(Y) = Rr
None
2*
ST
Y+,Rr
Косвенное
сохранение с пост-инкрементом
(Y) = Rr, Y=Y+1
None
2
ST
-Y,Rr
Косвенное
сохранение с пре-декрементом
Y=Y-1, (Y) = Rr
None
2
ST
Y+q,Rr
Косвенное
сохранение с замещением
(Y+q) = Rr
None
2
ST
Z,Rr
Косвенное
сохранение
(Z) = Rr
None
2
ST
Z+,Rr
Косвенное
сохранение с пост-инкрементом
(Z) = Rr, Z=Z+1
None
2
ST
-Z,Rr
Косвенное
сохранение с пре-декрементом
Z=Z-1, (Z) = Rr
None
2
ST
Z+q,Rr
Косвенное
сохранение с замещением
(Z+q) = Rr
None
2
LPM
Нет
Загрузка
из программной памяти
R0 = (Z)
None
3
LPM
Rd,Z
Загрузка
из программной памяти
Rd = (Z)
None
3
LPM
Rd,Z+
Загрузка
из программной памяти с
пост-инкрементом
Rd = (Z), Z=Z+1
None
3
ELPM
Нет
Расширенная
загрузка из программной памяти
R0 = (RAMPZ:Z)
None
3
ELPM
Rd,Z
Расширенная
загрузка из программной памяти
Rd = (RAMPZ:Z)
None
3
ELPM
Rd,Z+
Расширенная
загрузка из программной памяти
с пост-инкрементом
Rd = (RAMPZ:Z), Z = Z+1
None
3
SPM
Нет
Сохранение
в программной памяти
(Z) = R1:R0
None
–
ESPM
Нет
Расширенное
сохранение в программной
памяти
(RAMPZ:Z) = R1:R0
None
–
IN
Rd,P
Чтение
порта
Rd = P
None
1
OUT
P,Rr
Запись в
порт
P = Rr
None
1
PUSH
Rr
Занесение
регистра в стек
STACK = Rr
None
2
POP
Rd
Извлечение
регистра из стека
Rd = STACK
None
2
* Для операций доступа к данным
количество циклов указано при
условии доступа к внутренней
памяти данных, и не корректно при
работе с внешним ОЗУ. Для
инструкций LD, ST, LDD, STD, LDS, STS, PUSH и POP,
необходимо добавить один цикл плюс
по одному циклу для каждого
ожидания.
Инструкции
работы с битами
Мнемоника
Операнды
Описание
Операция
Флаги
Циклы
LSL
Rd
Логический
сдвиг влево
Rd(n+1)=Rd(n),
Rd(0)=0, C=Rd(7)
Z,C,N,V,H,S
1
LSR
Rd
Логический
сдвиг вправо
Rd(n)=Rd(n+1),
Rd(7)=0, C=Rd(0)
Z,C,N,V,S
1
ROL
Rd
Циклический
сдвиг влево через C
Rd(0)=C,
Rd(n+1)=Rd(n), C=Rd(7)
Z,C,N,V,H,S
1
ROR
Rd
Циклический
сдвиг вправо через C
Rd(7)=C,
Rd(n)=Rd(n+1), C=Rd(0)
Z,C,N,V,S
1
ASR
Rd
Арифметический
сдвиг вправо
Rd(n)=Rd(n+1),
n=0,…,6
Z,C,N,V,S
1
SWAP
Rd
Перестановка
тетрад
Rd(3..0) =
Rd(7..4), Rd(7..4) = Rd(3..0)
None
1
BSET═
s
Установка
флага
SREG(s) = 1
SREG(s)
1
BCLR
s
Очистка
флага
SREG(s) = 0
SREG(s)
1
SBI
P,b
Установить
бит в порту
I/O(P,b) = 1
None
2
CBI
P,b
Очистить
бит в порту
I/O(P,b) = 0
None
2
BST
Rr,b
Сохранить
бит из регистра в T
T = Rr(b)
T
1
BLD
Rd,b
Загрузить
бит из T в регистр
Rd(b) = T
None
1
SEC
Нет
Установить
флаг переноса
C =1
C
1
CLC
Нет
Очистить
флаг переноса
C = 0
C
1
SEN
Нет
Установить
флаг отрицательного числа
N = 1
N
1
CLN
Нет
Очистить
флаг отрицательного числа
N = 0
N
1
SEZ
Нет
Установить
флаг нуля
Z = 1
Z
1
CLZ
Нет
Очистить
флаг нуля
Z = 0
Z
1
SEI
Нет
Установить
флаг прерываний
I = 1
I
1
CLI
Нет
Очистить
флаг прерываний
I = 0
I
1
SES
Нет
Установить
флаг числа со знаком
S = 1
S
1
CLN
Нет
Очистить
флаг числа со знаком
S = 0
S
1
SEV
Нет
Установить
флаг переполнения
V = 1
V
1
CLV
Нет
Очистить
флаг переполнения
V = 0
V
1
SET
Нет
Установить
флаг T
T = 1
T
1
CLT
Нет
Очистить
флаг T
T = 0
T
1
SEH
Нет
Установить
флаг внутреннего переноса
H = 1
H
1
CLH
Нет
Очистить
флаг внутреннего переноса
H = 0
H
1
NOP
Нет
Нет
операции
Нет
None
1
SLEEP
Нет
Спать
(уменьшить энергопотребление)
Смотрите
описание инструкции
None
1
WDR
Нет
Сброс
сторожевого таймера
Смотрите
описание инструкции
None
1
═
Ассемблер не различает регистр
символов.
Операнды могут быть таких видов:
Rd: Результирующий (и
исходный) регистр в регистровом
файле Rr: Исходный регистр в
регистровом файле b: Константа (3 бита),
может быть константное выражение
s: Константа (3 бита),
может быть константное выражение
P: Константа (5-6 бит),
может быть константное выражение
K6; Константа (6 бит),
может быть константное выражение
K8: Константа (8 бит),
может быть константное выражение
k: Константа (размер
зависит от инструкции), может
быть константное выражение q: Константа (6 бит), может
быть константное выражение Rdl:═ R24, R26, R28, R30. Для
инструкций ADIW и SBIW X,Y,Z: Регистры
косвенной адресации (X=R27:R26, Y=R29:R28,
Z=R31:R30)
Директивы
ассемблера
Компилятор поддерживает ряд
директив. Директивы не
транслируются непосредственно в
код. Вместо этого они используются
для указания положения в
программной памяти, определения
макросов, инициализации памяти и
т.д. Список директив приведён в
следующей таблице.
═
Все директивы предваряются
точкой.
BYTE -
Зарезервировать байты в ОЗУ
Директива BYTE резервирует байты в
ОЗУ. Если вы хотите иметь
возможность ссылаться на
выделенную область памяти, то
директива BYTE должна быть
предварена меткой. Директива
принимает один обязательный
параметр, который указывает
количество выделяемых байт. Эта
директива может использоваться
только в сегменте данных(смотреть
директивы CSEG и DSEG). Выделенные
байты не инициализируются.
.CSEG ════════ ldi r30,low(var1)═ ; Загружает
младший байт регистра Z ════════ ldi r31,high(var1) ; Загружает
старший байт регистра Z ════════ ld r1,Z═══════════ ;
Загружает VAR1 в регистр 1
CSEG -
Программный сегмент
Директива CSEG определяет начало
программного сегмента. Исходный
файл может состоять из нескольких
программных сегментов, которые
объединяются в один программный
сегмент при компиляции.
Программный сегмент является
сегментом по умолчанию.
Программные сегменты имеют свои
собственные счётчики положения
которые считают не побайтно, а по
словно. Директива ORG может быть
использована для размещения кода и
констант в необходимом месте
сегмента. Директива CSEG не имеет
параметров.
Синтаксис: .CSEG
Пример: .DSEG══════════════════════ ;
Начало сегмента данных vartab: .BYTE 4════════════ ;
Резервирует 4 байта в ОЗУ
.CSEG══════════════════════ ;
Начало кодового сегмента const:═ .DW 2══════════════ ;
Разместить константу 0x0002 в памяти
программ ═══════ mov r1,r0══════════ ;
Выполнить действия
DB
– Определить байты во флэш или EEPROM
Директива DB резервирует
необходимое количество байт в
памяти программ или в EEPROM. Если вы
хотите иметь возможность ссылаться
на выделенную область памяти, то
директива DB должна быть предварена
меткой. Директива DB должна иметь
хотя бы один параметр. Данная
директива может быть размещена
только в сегменте программ (CSEG) или в сегменте
EEPROM (ESEG).
Параметры передаваемые директиве
– это последовательность выражений
разделённых запятыми. Каждое
выражение должно быть или числом в
диапазоне (-128..255), или в результате
вычисления должно давать результат
в этом же диапазоне, в противном
случае число усекается до байта,
причём БЕЗ выдачи предупреждений.
Если директива получает более
одного параметра и текущим
является программный сегмент, то
параметры упаковываются в слова
(первый параметр – младший байт), и
если число параметров нечётно, то
последнее выражение будет усечено
до байта и записано как слово со
старшим байтом равным нулю, даже
если далее идет ещё одна директива
DB.
Директива DEF позволяет ссылаться
на регистр через некоторое
символическое имя. Назначенное имя
может использоваться во всей
нижеследующей части программы для
обращений к данному регистру.
Регистр может иметь несколько
различных имен. Символическое имя
может быть переназначено позднее в
программе.
Синтаксис: .DEF Символическое_имя = Регистр
Пример: .DEF temp=R16 .DEF ior=R0
.CSEG ═ldi temp,0xf0═ ; Загрузить 0xf0 в регистр
temp (R16) ═in ior,0x3f═ ; Прочитать SREG в регистр
ior (R0) ═eor temp,ior═ ; Регистры temp и ior
складываются по исключающему или
DEVICE
– Определить устройство для
которого компилируется программа
Директива DEVICE позволяет указать
для какого устройства
компилируется программа. При
использовании данной директивы
компилятор выдаст предупреждение,
если будет найдена инструкция,
которую не поддерживает данный
микроконтроллер. Также будет
выдано предупреждение, если
программный сегмент, либо сегмент
EEPROM превысят размер допускаемый
устройством. Если же директива не
используется то все инструкции
считаются допустимыми, и
отсутствуют ограничения на размер
сегментов.
Пример: .DEVICE AT90S1200═ ; Используется AT90S1200
.CSEG ═══════ push r30══ ; Эта инструкция
вызовет предупреждение ══════════════════ ; поскольку
AT90S1200 её не имеет
DSEG – Сегмент
данных
Директива DSEG определяет начало
сегмента данных. Исходный файл
может состоять из нескольких
сегментов данных, которые
объединяются в один сегмент при
компиляции. Сегмент данных обычно
состоит только из директив BYTE и
меток. Сегменты данных имеют свои
собственные побайтные счётчики
положения. Директива ORG может быть
использована для размещения
переменных в необходимом месте ОЗУ.
Директива не имеет параметров.
Синтаксис: .DSEG═
Пример: .DSEG═══════════════════════ ;
Начало сегмента данных var1:═ .BYTE 1══════════════ ;
зарезервировать 1 байт для var1 table:═ .BYTE tab_size══════ ;
зарезервировать tab_size байт.
.CSEG ═══════ ldi r30,low(var1)═══ ; Загрузить
младший байт регистра Z ═══════ ldi r31,high(var1)══ ; Загрузить
старший байт регистра Z ═══════ ld r1,Z═════════════ ;
Загрузить var1 в регистр r1
DW
– Определить слова во флэш или EEPROM
Директива DW резервирует
необходимое количество слов в
памяти программ или в EEPROM. Если вы
хотите иметь возможность ссылаться
на выделенную область памяти, то
директива DW должна быть предварена
меткой. Директива DW должна иметь
хотя бы один параметр. Данная
директива может быть размещена
только в сегменте программ (CSEG) или в сегменте
EEPROM (ESEG).
Параметры передаваемые директиве
– это последовательность выражений
разделённых запятыми. Каждое
выражение должно быть или числом в
диапазоне (-32768..65535), или в
результате вычисления должно
давать результат в этом же
диапазоне, в противном случае число
усекается до слова, причем БЕЗ
выдачи предупреждений.
Директива определяет конец
макроопределения, и не принимает
никаких параметров. Для информации
по определению макросов смотрите
директиву MACRO.
Синтаксис: .ENDMACRO═
Пример: .MACRO SUBI16══════════════ ; Начало
определения макроса ═══════ subi r16,low(@0)═══ ; Вычесть
младший байт первого параметра ═══════ sbci r17,high(@0)══ ; Вычесть
старший байт первого параметра .ENDMACRO
EQU -
Установить постоянное выражение
Директива EQU присваивает метке
значение. Эта метка может позднее
использоваться в выражениях. Метка
которой присвоено значение данной
директивой не может быть
переназначена и её значение не
может быть изменено.
.CSEG════════════════ ; Начало
сегмента данных ═══════ clr r2═══════ ; Очистить
регистр r2 ═══════ out porta,r2═ ; Записать в порт
A
ESEG – Сегмент
EEPROM
Директива ESEG определяет начало
сегмента EEPROM. Исходный файл может
состоять из нескольких сегментов
EEPROM, которые объединяются в один
сегмент при компиляции. Сегмент EEPROM
обычно состоит только из директив DB,
DW
и меток. Сегменты EEPROM имеют свои
собственные побайтные счётчики
положения. Директива ORG может быть
использована для размещения
переменных в необходимом месте EEPROM.
Директива не имеет параметров.
Синтаксис: .ESEG═══
Пример: .DSEG═══════════════════ ; Начало
сегмента данных var1:══ .BYTE 1═════════ ;
зарезервировать 1 байт для var1 table:═ .BYTE tab_size══ ; зарезервировать
tab_size байт.
.ESEG eevar1: .DW 0xffff═══════ ;
проинициализировать 1 слово в EEPROM
EXIT – Выйти из
файла
Встретив директиву EXIT компилятор
прекращает компиляцию данного
файла. Если директива использована
во вложенном файле (см. директиву INCLUDE), то
компиляция продолжается со строки
следующей после директивы INCLUDE.
Если же файл не является вложенным,
то компиляция прекращается.
Синтаксис:
.EXIT
Пример: .EXIT═ ; Выйти из данного файла
INCLUDE -
Вложить другой файл
Встретив директиву INCLUDE
компилятор открывает указанный в
ней файл, компилирует его пока файл
не закончится или не встретится
директива EXIT,
после этого продолжает компиляцию
начального файла со строки
следующей за директивой INCLUDE.
Вложенный файл может также
содержать директивы INCLUDE.
Синтаксис: .INCLUDE “имя_файла”
Пример: ; файл iodefs.asm: .EQU sreg══ = 0x3f════ ; Регистр статуса
.EQU sphigh = 0x3e════ ; Старший байт
указателя стека .EQU splow═ = 0x3d════ ; Младший байт
указателя стека
; файл incdemo.asm .INCLUDE iodefs.asm═══ ; Вложить
определения портов ═══════ in r0,sreg════ ; Прочитать
регистр статуса
LIST -
Включить генерацию листинга
Директива LIST указывает
компилятору на необходимость
создания листинга. Листинг
представляет из себя комбинацию
ассемблерного кода, адресов и кодов
операций. По умолчанию генерация
листинга включена, однако данная
директива используется совместно с
директивой NOLIST для
получения листингов отдельных
частей исходных файлов.
Синтаксис:
.LIST
Пример: .NOLIST═══════════════ ; Отключить
генерацию листинга .INCLUDE “macro.inc”══ ; Вложенные
файлы не будут .INCLUDE “const.def”══ ; отображены в
листинге .LIST═════════════════ ; Включить
генерацию листинга
LISTMAC -
Включить разворачивание макросов в
листинге
После директивы LISTMAC компилятор
будет показывать в листинге
содержимое макроса. По умолчанию в
листинге показывается только вызов
макроса и передаваемые параметры.
Синтаксис: .LISTMAC
Пример: .MACRO MACX════════ ; Определение
макроса ═══════ add═ r0,@0═ ; Тело макроса ═══════ eor═ r1,@1═ .ENDMACRO══════════ ; Конец
макроопределения
.LISTMAC═══════════ ; Включить
разворачивание макросов ═══════ MACX r2,r1═ ; Вызов макроса (в
листинге будет показано тело
макроса)
MACRO – Начало
макроса
С директивы MACRO начинается
определение макроса. В качестве
параметра директиве передаётся имя
макроса. При встрече имени макроса
позднее в тексте программы,
компилятор заменяет это имя на тело
макроса. Макрос может иметь до 10
параметров, к которым в его теле
обращаются через @0-@9. При вызове
параметры перечисляются через
запятые. Определение макроса
заканчивается директивой ENDMACRO.
По умолчанию в листинг включается
только вызов макроса, для
разворачивания макроса необходимо
использовать директиву LISTMAC.
Макрос в листинге показывается
знаком +.
═ Синтаксис: .MACRO макроимя
Пример: .MACRO SUBI16══════════════════ ;
Начало макроопределения ═══════ subi @1,low(@0)════════ ;
Вычесть младший байт параметра 0 из
параметра 1 ═══════ sbci @2,high(@0)═══════ ;
Вычесть старший байт параметра 0 из
параметра 2 .ENDMACRO══════════════════════ ;
Конец макроопределения
.CSEG══════════════════════════
; Начало программного сегмента ═══════ SUBI16 0x1234,r16,r17══ ; Вычесть
0x1234 из r17:r16
NOLIST -
Выключить генерацию листинга
Директива NOLIST указывает
компилятору на необходимость
прекращения генерации листинга.
Листинг представляет из себя
комбинацию ассемблерного кода,
адресов и кодов операций. По
умолчанию генерация листинга
включена, однако может быть
отключена данной директивой. Кроме
того данная директива может быть
использована совместно с
директивой LIST для
получения листингов отдельных
частей исходных файлов
Синтаксис: .NOLIST
Пример: .NOLIST═══════════════ ; Отключить
генерацию листинга .INCLUDE “macro.inc”══ ; Вложенные
файлы не будут .INCLUDE “const.def”══ ; отображены в
листинге .LIST═════════════════ ; Включить
генерацию листинга
ORG -
Установить положение в сегменте
Директива ORG устанавливает
счётчик положения равным заданной
величине, которая передаётся как
параметр. Для сегмента данных она
устанавливает счётчик положения в
SRAM (ОЗУ), для сегмента программ это
программный счётчик, а для сегмента
EEPROM это положение в EEPROM. Если
директиве предшествует метка (в той
же строке) то метка размещается по
адресу указанному в параметре
директивы. Перед началом
компиляции программный счётчик и
счётчик EEPROM равны нулю, а счётчик
ОЗУ равен 32 (поскольку адреса 0-31
заняты регистрами). Обратите
внимание что для ОЗУ и EEPROM
используются побайтные счётчики а
для программного сегмента -
пословный.
Синтаксис: .ORG выражение
Пример: .DSEG═══════════════ ; Начало
сегмента данных
.ORG 0x37═══════════ ; Установить
адрес SRAM равным 0x37 variable: .BYTE 1═══ ; Зарезервировать
байт по адресу 0x37H
.CSEG .ORG 0x10═══════════ ; Установить
программный счётчик равным 0x10 ═════════ mov r0,r1═ ; Данная команда
будет размещена по адресу 0x10
SET -
Установить переменный
символический эквивалент
выражения
Директива SET присваивает имени
некоторое значение. Это имя позднее
может быть использовано в
выражениях. Причем в отличии от
директивы EQU
значение имени может быть изменено
другой директивой SET.
.CSEG════════════════ ; Начало
кодового сегмента ═══════ clr r2═══════ ; Очистить
регистр 2 ═══════ out porta,r2═ ; Записать в порт
A
Выражения
Компилятор позволяет
использовать в программе выражения
которые могут состоять операндов,
знаков операций и функций. Все выражения
являются 32-битными.
Операнды
Могут быть использованы
следующие операнды:
Метки определённые
пользователем (дают значение
своего положения).
PC – текущее значение
программного счётчика (Programm
Counter)
Операции
Компилятор поддерживает ряд
операций, которые перечислены в
таблице (чем выше положение в
таблице, тем выше приоритет
операции). Выражения могут
заключаться в круглые скобки, такие
выражения вычисляются перед
выражениями за скобками.
Логическое
отрицание
Символ: ! Описание:
Возвращает 1 если выражение равно 0,
и наоборот Приоритет: 14 Пример: ldi r16, !0xf0═ ; В
r16 загрузить 0x00
Побитное отрицание
Символ: ~ Описание:
Возвращает выражение в котором все
биты проинвертированы Приоритет: 14 Пример: ldi r16, ~0xf0═ ; В
r16 загрузить 0x0f
Символ: * Описание:
Возвращает результат умножения
двух выражений Приоритет: 13 Пример: ldi r30, label*2
Деление
Символ: / Описание:
Возвращает целую часть результата
деления левого выражения на правое
Приоритет: 13 Пример: ldi r30, label/2
Суммирование
Символ: + Описание:
Возвращает сумму двух выражений Приоритет: 12 Пример: ldi r30, c1+c2
Вычитание
Символ: – Описание:
Возвращает результат вычитания
правого выражения из левого Приоритет: 12 Пример: ldi r17, c1-c2
Сдвиг влево
Символ: << Описание:
Возвращает левое выражение
сдвинутое влево на число бит
указанное справа Приоритет: 11 Пример: ldi r17,
1<<bitmask═ ; В r17 загрузить 1
сдвинутую влево bitmask раз
Сдвиг вправо
Символ: >> Описание:
Возвращает левое выражение
сдвинутое вправо на число бит
указанное справа Приоритет: 11 Пример: ldi r17,
c1>>c2═ ; В r17 загрузить c1 сдвинутое
вправо c2 раз
Меньше чем
Символ: < Описание:
Возвращает 1 если левое выражение
меньше чем правое (учитывается
знак), и 0 в противном случае Приоритет: 10 Пример: ori r18,
bitmask*(c1<c2)+1
Меньше или равно
Символ: <= Описание:
Возвращает 1 если левое выражение
меньше или равно чем правое
(учитывается знак), и 0 в противном
случае Приоритет: 10 Пример: ori r18,
bitmask*(c1<=c2)+1
Больше чем
Символ: > Описание:
Возвращает 1 если левое выражение
больше чем правое (учитывается
знак), и 0 в противном случае Приоритет: 10 Пример: ori r18,
bitmask*(c1>c2)+1
Больше или равно
Символ: >= Описание:
Возвращает 1 если левое выражение
больше или равно чем правое
(учитывается знак), и 0 в противном
случае Приоритет: 10 Пример: ori r18,
bitmask*(c1>=c2)+1
Равно
Символ: == Описание:
Возвращает 1 если левое выражение
равно правому (учитывается знак), и 0
в противном случае Приоритет: 9 Пример: andi r19,
bitmask*(c1==c2)+1
Не равно
Символ: != Описание:
Возвращает 1 если левое выражение
не равно правому (учитывается знак),
и 0 в противном случае Приоритет: 9 Пример: .c2)
Побитное ИЛИ
Символ: | Описание:
Возвращает результат побитового
ИЛИ выражений Приоритет: 6 Пример: ldi r18, Low(c1|c2)
Логическое И
Символ: && Описание:
Возвращает 1 если оба выражения не
равны нулю, и 0 в противном случае
Приоритет: 5 Пример: ldi r18,
Low(c1&&c2)
Логическое ИЛИ
Символ: || Описание:
Возвращает 1 если хотя бы одно
выражение не равно нулю, и 0 в
противном случае Приоритет: 4 Пример: ldi r18, Low(c1||c2)
Функции
Определены следующие функции:
LOW(выражение) возвращает
младший байт выражения
HIGH(выражение) возвращает
второй байт выражения
BYTE2(выражение) то же что и
функция HIGH
BYTE3(выражение) возвращает
третий байт выражения
BYTE4(выражение) возвращает
четвёртый байт выражения
LWRD(выражение) возвращает биты
0-15 выражения
HWRD(выражение) возвращает биты
16-31 выражения
PAGE(выражение) возвращает биты
16-21 выражения
EXP2(выражение) возвращает 2 в
степени (выражение)
LOG2(выражение) возвращает целую
часть log2(выражение)
Использование
программы
Этот раздел описывает
использование компилятора и
встроенного редактора
Открытие
файлов
В WAVRASM могут быть открыты как
новые так и существующие файлы.
Количество открытых файлов
ограничено размером памяти, однако
объём одного файла не может
превышать 28 килобайт (в связи с
ограничением MS-Windows). Компиляция
файлов большего размера возможна,
но они не могут быть редактируемы
встроенным редактором. Каждый файл
открывается в отдельном окне.
Сообщения об
ошибках
После компиляции программы
появляется окно сообщений. Все
обнаруженные компилятором ошибки
будут перечислены в этом окне. При
выборе строки с сообщением о
ошибке, строка исходного файла, в
которой найдена ошибка, становится
красной. Если же ошибка находится
во вложенном файле, то этого
подсвечивания не произойдёт.
Если по строке в окне сообщений
клацнуть дважды, то окно файла с
указанной ошибкой становится
активным, и курсор помещается в
начале строки содержащей ошибку.
Если же файл с ошибкой не открыт
(например это вложенный файл) то он
будет автоматически открыт.
Учтите, что если вы внесли
изменения в исходные тексты
(добавили или удалили строки), то
информация о номерах строк в окне
сообщений не является корректной.
Опции
Некоторые установки программы
могут быть изменены через пункт
меню “Options”.
В поле ввода, озаглавленном
“List-file extension”, вводится
расширение, используемое для файла
листинга, а в поле “Output-file
extension” находится расширение для
файлов с результатом компиляции
программы. В прямоугольнике “Output
file format” можно выбрать формат
выходного файла (как правило
используется интеловский). Однако
это не влияет на объектный файл
(используемый AVR Studio), который
всегда имеет один и тот же формат, и
расширение OBJ. Если в исходном файле
присутствует сегмент EEPROM то будет
также создан файл с расширением EEP.
Установки заданные в данном окне
запоминаются на постоянно, и при
следующем запуске программы, их нет
необходимости переустанавливать.
Опция “Wrap relative jumps” даёт
возможность “заворачивать”
адреса. Эта опция может быть
использована только на чипах с
объёмом программной памяти 4К слов
(8К байт), при этом становится
возможным делать относительные
переходы (rjmp) и вызовы подпрограмм
(rcall) по всей памяти.
Опция “Save before assemble” указывает
программе на необходимость
автоматического сохранения
активного окна (и только его) перед
компиляцией.
Если вы хотите, чтобы при закрытии
программы закрывались все
открытые окна, то поставьте галочку
в поле “Close all windows before exit”.
Atmel, AVR являются
зарегистрированными товарными
знаками фирмы Atmel Corporation
Краткий учебный курс – Самоучитель – Программирование микроконтроллеров AVR – быстрый старт с нуля
– страница 7 –
Всё о прошивке
AVR микроконтроллеров AVR
Чем и как “прошить” МК AVR,
ATmega, ATtiny.
Как загрузить
программу в микроконтроллер.
Как запрограммировать микроконтроллер
AVR.
Я советую прошивать микроконтроллер
AVR
из
удобного интерфейса программирования встроенного в компилятор
CVAVR
CodeVisionAVR
Можно
через простейший
адаптер – буквально “пять проводков” (схема
ниже) соединяющих принтерный порт
ПК с прошиваемым микроконтроллером
AVR.
Но более удобны программаторы
подключаемые в
USB или COM порты
ПК – особенно в USB.
Книги по
электронике
и микроконтроллерам скачать
в библиотеке
Страницы
курса :
заглавная
1
2
3
4
5
6
7
8
9
Задачи-упражнения курса по
AVR –
там
Скачать весь курс по
AVR одним архивом
на заглавной странице курса.
Электрический ток. Закон Ома Последовательное и параллельное соединение проводников Правила Кирхгофа для разветвленных цепей Работа и мощность тока Электронно-дырочный переход. Транзистор
ПРОГРАММИРОВАНИЕ AVR
Результат
написания и компиляции программы – файл-прошивку
с
расширением .hex (и возможно файл .epp
или .bin с содержимым для
EEPROM МК) нужно записать (“зашить”,
“загрузить”, “прожечь”) в МК
AVR.
МК AVR
можно (пере-) программировать
не менее 10000 раз, при чем это можно делать прямо в устройстве в
котором они будут работать –
такое программирование называют “в системе” – “ин
систем программин” или ISP.
Компания ATMEL рекомендует установить на плате устройства
специальный разъем для подключения программатора.
Например 6 штырьков для ISP
прошивания AVR
Вид
сверху платы на штырьки.
или 10 штырьков в аналогичном
порядке ( NC – значит не подключен )
Все контакты
ISP разъема подсоединяются
к ножкам МК в соответствии
с названиями сигналов !
Исключения указаны ниже.
Вывод 2 нужно подключить к ” + ” питания МК
если вы собираетесь использовать
программатор
питающийся от вашего же
устройства – например фирменный ISP AVR либо если вы хотите питать ваше
устройство от USB при использовании
программатора указанного выше.
Для адаптера “5 проводков” этот вывод
не подключается.
Для ISP программирования
достаточно 5 контактов.
Соответственно
и разъем который вы будете использовать
может
быть
любым удобным для размещения на плате и имеющий минимум 5
контактов – например в один ряд.
Я использую и
считаю это очень удобным 6 штырьков
расположенные в 1 ряд, в том порядке как
расположены ножки программирования у ATmega16 (
рисунок есть на страничке 6
) – при этом разводка линий программирования получается простейшей.
Такой разъем легко применять и для 28 выводных AVR
ATmega8 ATmega48 ATmega88 ATmega168 ATmega328 только
сделать отдельный проводник для подключения к контакту
RESET.
ВНИМАНИЕ !
1) в ATmega64 и ATmega128
выводы MOSI
и
MISO не применяют для ISP программирования.
Используются другие
выводы МК !
Внимательно
смотрите ДатаШит вашего МК !
в
ATmega128
ATmega64 сигналы ISP программатора
MISO подключают к ножке PE1
MOSI подключают к ножке PE0
Для ATmega640 -1280 -1281 -2560 -2561 смотрите в даташит Table 163. Pin Mapping Serial
Programming.
2) Вывод
PENнужно
подключить к питанию VCC резистором
1-10 кОм
3) в ATmega128
и
ATmega64
есть FUSE
бит совместимости со старым МК ATmega103
и с завода он запрограммирован в “0” на совместимость. См Table
117. Extended Fuse
Byte. При прошивании ATmega128
и
ATmega64 вам нужно сделать этот fuse “1”
– “не запрограммирован”. Убрать галочку в CVAVR.
Подробней о фьюзах ниже и на
стр. 2 курса
Трудно сразу написать правильно
работающую программу, даже
после прогона и отладки в софт эмуляторе – симуляторе
VMLAB или
PROTEUS ваше
реальное устройство с реальным AVR может делать не то, что вы от
него ожидаете.
Значит в программу нужно
будет вносить изменения, перекомпилировать и снова
зашивать в МК AVR, и так раз 20-40 и более
поэтому разумно использовать отличный
программатор AVR в уже имеющемся у вас
CVAVR в котором вы правите программу.
В меню
CVAVR “Сеттинс ->
Программер” вам надо выбрать ваш адаптер (подробней
про адаптеры ниже!)
для программирования.
Вариант 1. Только если вы понимаете что такое фьюзы и знаете
как правильно их установить !!! Вы
можете в компиляторе CodeVisionAVR открыть
меню “Проджект -> Конфига -> Афта
Мэйк” и отметить чек бокс “Program the
chip”. Появится окно
программирования-прошивания AVR
В этом окне надо установить параметры программирования
– фьюз биты и лок биты – об этом подробней
написано ниже. После установки параметров программирования
нажмите ОК.
Теперь после компиляции
программы без ошибок в окне с результатами компиляции вам будет доступна кнопка “Program”
– нажмите на нее и, если все подключено правильно, произойдет
программирование МК – т.е. файл .hex будет
загружен в память программ МК и (если используется в программе) файл EEPROM
будет в нее загружен. Затем МК будет “сброшен”
(на ножку RESET будет подан лог. 0 а затем опять
“1”) и AVR начнет выполнять
уже новую, только что прошитую (загруженную в него)
программу.
Вам
даже не нужно будет отсоединять адаптер
программирования от вашего устройства если вы не используете
в вашем устройстве последовательный интерфейс SPI.
… и так
до окончательной отладки устройства.
Вариант 2.
Если вы не устанавливали чек бокс “Program the
chip” или
Если вы хотите без компиляции прошить с помощью CVAVR готовые файлы
прошивки .hex и возможно содержимое
EEPROM в микроконтроллер AVR
1) запустите программатор CVAVR кнопочкой
“МИКРОСХЕМА” правее “красного жучка” в верхней панели инструментов. Появится
окно программирования AVR
2) Откройте меню “File” затем
“Load FLASH” – выберете файл прошивки .hex который нужно прошить в
AVR (CVAVR
поддерживает и другие форматы, а не только .hex)
и щелкните “Открыть”.
3) Если у вас есть информация для загрузки в
EEPROM AVR то откройте меню
“File” затем “Load EEPROM” –
выберете файл .epp (CVAVR
поддерживает и другие форматы)
и щелкните “Открыть”.
Если вы не используете
EEPROM или не меняете ее содержимое – поставьте галочку у “Preserve
EEPROM” – это ускорит прошивание.
4) Установите параметры программирования – фьюз
биты и лок биты.
Лок биты устанавливают уровень защиты вашей
программы от чтения из памяти AVR – это
актуально
для коммерческих изделий. Для защиты прошивки отключите отладочные интерфейсы
JTAG или “уан вая” и установите “Programming
and Verification disabled”.
ГЛАВНОЕ это правильная установка фьюз битов
– fuse AVR …
5)
Запрограммируйте AVR не кнопкой “Program
All”, а через меню “Program” –
Стереть, потом FLASH, потом
EEPROM и если надо и если вы уверены в их установке то и фьюзы.
После прошивания, если вы сделали
все правильно, AVR начнет выполнять уже новую
программу.
В
А Ж Н О !
В диалоге настройки прошивания
отключите программирование фьюзов МК
уберите галочку у
Program Fuse Bit(s) – если не разобрались
четко, что они делают и как правильно их установить !
Иначе вы можете
отключить режим ISP или внутренний RC-генератор и для следующего
программирования вам понадобится
ставить кварц с конденсаторами или
даже искать:
Параллельный программатор
для AVR
Но популярному ATtiny2313 даже параллельный программатор не всегда поможет ! В Errata на ATtiny2313 было написано:
Parallel Programming does not work Parallel Programming is not functioning correctly. Because of
this, reprogramming of the device is impossible if one of the following modes are
selected: – In-System Programming disabled (SPIEN unprogrammed) – Reset Disabled (RSTDISBL programmed)
в ATmegaXXX с завода включен внутренний
RC генератор на частоте 1 МГц ( уточните
это по ДШ и его возможные частоты )
Если вам нужна другая частота
или нужно включить внешний кварцевый или керамический резонатор –
вам нужно при программировании МК установить фьюзы (Fuses)
по таблицам из ДШ (
Даташит
AVR на русском языке
) или по таблице
фьюзов на стр. 2
или по таблице
установки фьюзов ниже :
ЗАПОМНИТЕ :
НЕ запрограммированный фьюз
1
ЗАпрограммированный
фьюз
0
Пример: Чтобы включить в ATmega16
внешний кварцевый резонатор (говорят просто – “кварц”) с частотой от 3 до 8 МГц с конденсаторами
( по схеме рис. 12 ДШ ) найдите в ДШ раздел “System
Clock” – “системный тактовый сигнал”.
В таблице 2 указаны комбинации фьюзов для разных
источников тактового сигнала. Далее написано что с завода МК
поставляется с такой комбинацией фьюзов
CKSEL 0001
SUT 10 CKOPT 1
По таблице 4
находим :
в ATmega16
для кварца с частотой от 3 до 8 МГц
нужны конденсаторы от
12 до 22 пФ
и вот такая комбинация фьюзов :
CKSEL 1111
SUT 11 CKOPT 1
Вот скриншот
с такой установкой фьюзов
в программаторе компилятора
CVAVR
Сняв галочку Program
Fuse Bit(s) вы cможете
не менять
установку фьюзов при прошивании AVR !
НЕ НАЖИМАЙТЕ кнопку
“Program
All”
–
она прошивает и фьюзы не смотря на отсутствие галочки.
Обязательно
!!! Прочитайте текущую комбинацию фьюзов в микроконтроллере – “Read”
-> “Fuse bit(s)” и скопируйте ее в окно фьюзов. теперь при
случайном нажатии кнопки “Програм ол” в МК прошъется та же комбинация
фьюзов которая есть сейчас.
Фьюз биты – фьюзы AVR – у которых
нет
галочки после прошивки AVR будут равны “1” – т.е. будут
не
запрограммированными.
Реклама недорогих радиодеталей почтой:
Для прошивания МК используйте меню “Program”
Вначале
“Erase chip” – стереть чип.
Затем “FLASH”
– прошить программу в МК
И если надо то “EEPROM” –
прошить в EEPROM.
Для использования
ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но
запрограммировать CKOPT значит
сделать его “0”.
Т.е. вам нужна такая комбинация:
CKSEL 1111
SUT 11 CKOPT 0
CKOPT 0 – нужен и тогда когда вы хотите взять с
XTAL2 тактовый сигнал для другого микроконтроллер или тактируемого
прибора в вашем устройстве.
Фьюзы SUT – определяют
быстроту запуска генератора тактового сигнала, более детально это описано в
даташите в таблицах до 12.
Фьюзы ATtiny2313
описаны в конце следующей страницы
курса.
Интерфейс
программирования AVR –
Адаптер для соединения МК с ПК при прошивании.
Для соединения компьютера с ISP разъемом устройства на AVR Советую сделать адаптер от STK200
– это “правильные 5 проводков” с микросхемой
буфером снижающим вероятность случайного повреждения порта ПК.
В
установках компилятора CodeVisionAVR интерфейс “5-проводков”
называется “Канда системз STK200+/300”. Меню “сеттингс”
– “программер”. В этом же диалоге можно понизить частоту с которой
программатор будет обмениваться с прошиваемым МК увеличивая множитель
задержки.
Частоту тактирования сигнала
SCK программатором при прошивании можно
установить в диалоге программирования в CVAVR.
Снижение частоты на SCK повышает
помехоустойчивость при прошивке.
Программа узнаёт адаптер STK200 по перемычкам на
разъеме
параллельного порта к которому
он подключается – должны быть соединены
двумя перемычками пары выводы: 2 и 12, 3 и 11.
Внимание!
Для программирования к МК
должно быть подключено питание. Например +4…+5.5 вольт ко всем выводам МК в названии которых есть VCC ,
а 0 вольт ко всем
выводам GND (это “общий” провод).
Обязательно поставьте подтягивающий резистор 10 кОм от ножки RESET AVR на питание VCC и конденсатор 0.01-0.15 мкФ (в
апноутах
AVR040 и AVR042 рекомендуют 0.01 мкФ) от RESET на GND .
Пример схемы там
Если в МК нет
внутреннего
генератора
тактового сигнала (например старые
AVR серии AT90sXXXX или мега побывавшая в чьих
то шаловливых руках изменивших фьюзы до того как попасть к вам) то нужно подключить кварц на 1 – 8
МГц и два конденсатора от 15 до 33 пФ.
Либо
подать тактовый сигнал 0.8-1.5 МГц от внешнего источника
– например генератора на микросхеме 74hc14
(аналог 1553ТЛ2) или на таймере LM555.
Вот как сделать простой генератор тактовой
частоты :
Программатор AVReAl
может программировать
МК
без
кварца и без конденсаторов !
Он
выводит тактовый сигнал на
выв. 5 LPT его нужно подать на ножку XTAL1 МК
и добавить в командной строке
AVReAL специальный ключ “-o0”. Программатор AVReAl
позволяет назначать какие ножки LPT порта
использовать –
это будет полезно когда часть
ножек LPT вы уже спалите
🙂
Если вы считаете эту информацию полезной,
пожалуйста, помогите информировать в
интернете о курсе – просто щелкните по банеру.
Большое спасибо ! Electronic Banner Exchange (ElBE)
Тактовый сигнал
генерирует и самодельный программатор AVR для USB
– смотрите ниже на этой странице.
Я использую самый простой вариант адаптера STK200 – “для самых ленивых”
Пять поводков соединяющих линии
параллельного (LPT) порта ПК и AVR так же как на
схеме STK200 выше, но без микросхемы буфера.
Лучше все же
токоограничительные резисторы от 150 до
270 ом впаять Береженого
бог бережет !
Проводки
не более 15 см длиной !
Адаптер “5-проводков” прекрасно
работает
с
компилятором CVAVR CodeVisionAVR.
Я проверял “проводки”
при питании МК ATmega64L от 3,0 до 5,3 вольт, а так же с
ATmega16, ATmega48, ATtiny26, ATtiny261, ATtiny13,
ATtiny2313
– программирует всегда без сбоев!
Всё о прошивке AVR Прошивка
AVR PIC прошивки Программирование PIC и
AVR
Советую
для изготовления адаптера взять ” принтерный” шнур – он
длинный и экранированный, а не
экранированные проводки не стоит
делать более 10-15 см.
Питать устройство при
программировании можно :
– сетевым адаптеры от бытовых устройств понизив напряжение до 5 вольт.
– батарейками ! Достаточно три
батарейки по 1,5 вольт последовательно.
+5 вольт можно взять с вывода
1 гейм
порта компьютера или из провода включенного в гнездо USB.
Желательно
питать устройство от ПК! В этом случае “земля” вашего
устройства будет соединена с корпусом
ПК и можно будет безопасно подключать и
отключать разъем программирующего
адаптера.
ВНИМАНИЕ !
Вначале старайтесь соединять “земли”
(металлические корпуса,
“общие” провода)
устройств – для уравнивания их потенциалов !
Удобно подпаять к проводнику GND устройства проводок с “крокодильчиком” который прицепите к металлу ПК у
LPT или COM портов
перед подключением разъемов или сигнальных линий, проводов.
Теперь БЕЗОПАСНО соединять разъемы и затем подавать питание на устройство.
Не поленитесь: спаяйте
адаптер STK200 на микросхеме буфере по рисункам внизу страницы – так как LPT порт компьютера более нежен чем COM –
соответственно его спалить проще…
Спалите LPT и будете меня
ругать!
А я предупреждал !
Поставщики AVR
говорят что
ATTiny2313 поступают с завода с настройкой
внутреннего RC-генератора на 4МГц (в даташите указано 8 МГц) с делителем
частоты на 8
– т.е. частота тактирования всего 500 КГц. Значит частота на линии SCK, формируемая программатором,
не должна быть выше 120..125кГц.
Программатор встроенный в CodeVisionAVR
позволяет настроить эту частоту
правильно.
Выше было написано как.
AVReal
тоже.
Если вы хотите использовать ножки МК SCK, MOSI,
MISO в вашем устройстве то подключайте другие компоненты к ним через
резисторы 4.7 КОм – чтобы
не мешать программированию.
Так рекомендовано в апноуте AVR042
Для Мега64, -128
вместо MOSI и MISO используются другие ножки для ISP
программирования !
Если у вас
нет LPT порта сделайте Аналог “5 проводков”
для COM-порта.
Или соберите простой, дешевый и хороший USB
программатор для AVR
Прошитый микроконтроллер для сборки
USB программатора AVR вы можете
заказать по почте.
Существуют специальные программы “бутлодеры”
(bootloader –
начальный загрузчик) которые записываются в микроконтроллер способами перечисленными выше и
после этого микроконтроллер может сам, при
включении, закачивать в себя программу (например из ПК
через адаптер
USB-UART rs232 COM port
– схема в
задаче 4 курса) и запускать ее выполнение.
Есть много бесплатных загрузчиков
Вот
Bootloader AVR_Arduino.
Вот хороший:
Bootloader AVR.
Вот еще: MegaLoad Bootloader
STC
создал загрузчик
bootloader размером 256 байт с
поддержкой быстрого страничного режима записи.
Прошитые загрузчиком
bootloader микроконтроллеры AVR PIC
вы можете
заказать по почте.
Дальше – стр. 8
курса.
Назад
на стр. /06.htm – задачи
управжнения по AVR
ниже
Cписок Апноутов
для
AVR примеры применения
микроконтроллеров.
И много полезной информации !
Краткий курс – Самоучитель – avr123.nm.ru
Краткий
Курс – Самоучитель
Микроконтроллеры AVR
, ATmega и ATtiny для начинающих с нуля !
Быстрый
и
уверенный старт –
самые первые шаги …
Чайникам от
такого же чайника
!
Предлагаю вам учится на моём примере.
Маленькие шажки …
( кино “А как же Боб
!” )
Конечно
с
картинками !
Шаг 1.
Скачайте всего две программы
– компилятор
CodeVisionAVR (2 Мб FREE -
он бесплатный)
–
симулятор AVR и электроники
VMLAB (4,2 Мб
FREE)
Установите эти программы
по-умолчанию.
Теперь у вас есть
качественное и удобное программное
обеспечение для ПОЛНОГО цикла разработки устройств
на МК (микроконтроллерах)
AVR !
От
интерактивного помошника для
создания начального кода,
скелета программы – инструмент бесценен
для начинающего !
До
написания
и отладки полной программы с постоянным контролем её
работы на всех этапах ее создания на компьютерной модели
нужного
вам микроконтроллера AVR
совместно с популярными электронными
компонентами подключенными к нему виртуально.
Вам не
нужно будет тратить деньги и время
на поиски
и покупку радио
деталей и микроконтроллеров
пока вы не убедитесь
в работоспособности
устройства
которое вы делаете !
Вы не
сожжете по неопытности что либо !
Не
попадете в спешке, в азарте отладки
устройства
под
высокое напряжение !
Это очень важно для начинающего
электронщика
техника безопасности – ТБ !
CodeVisionAVR – имеет встроенный
программатор для
загрузки готовой программы в реальный
микроконтроллер.
Шаг 2.
Посмотрите как всё
просто !
Лучше один раз увидеть чем сто раз услышать.
1. Загрузите файлы к задаче
упражнению
8 (это всего 14 Кб) в созданную папку
-
c:\VMLAB\z8 и распакуйте
файлы архива в эту же папку.
2. Запустите VMLAB и
через меню Project -> open project
откройте проект
c:\vmlab\z8\vmlab.prj
3.
Сверните мешающее окно vmlab.prj и подправьте “мышкой” остальные окна
чтобы получить такую картинку :
Вы видите
– 8 светодиодов,
– 3 переменных резистора,
– клавиатуру на 16 кнопок которые можно использовать и раздельно,
– виртуальный ЗАПОМИНАЮЩИЙ осциллограф
– виртуальный терминал с записью данных
Весь
богатейший набор компонентов VMLAB
будет рассмотрен позже и конечно описан в его
HELP.
Полная картинка экрана тут !
4.
Теперь в
меню “Project” кликните “Re-build
all” – проект нужно перекомпилировать при открытии и
внесении каких либо изменений. В окне
“Messages” появится сообщение “Success!
All ready to run”
Это значит ошибок
нет и все готово к моделированию микроконтроллера
ATmega16. Вверху загорелся зеленый
свет светофор.
Можно запускать
симуляцию …
Если появилось сообщение об
ошибке и светофор не загорелся – вы допустили ошибку на каком то этапе.
Проделайте Шаг 2 сначала и более внимательно.
Шаг 3.
Симуляция – моделирование
работы МК.
1. Нажмите мышкой светофор – это аналогично включению устройства, подаче
питания на МК – программа зашитая в него начинает выполняться…
И
тут же остановка! Дело в том что VMLAB
контролирует правильность работы
МК и содержимое программы. Если ему что-то не
нравится то симуляция
прерывается и в окне Messages
появляется сообщений о причине.
Подробнее это будет обсуждаться позже, а пока …
2. Нажмите светофор еще
пару раз до начала непрерывной симуляции.
Понаблюдайте внимательно
что происходит на экране.
В окне
SCOPE (это виртуальный осциллограф)
вы видите как меняются напряжения
на ножках МК указанных в файле проекта – vmlab.prj Верхняя
осциллограмма – это сигнал на ножке TXD (PD1)
по которой МК передает данные на COM
порт ПК – что передает МК мы видим в
виртуальном терминале TTY в панели
Control Panel
Там выводится значение
ШИМ (PWM) сигнала создаваемого на
ножке PD5 – а сам сигнал виден в окне
SCOPE – посмотрите как он
меняется в соответствии с сообщаемыми числовыми значениями…
В файле проекта – vmlab.prj
к ножке PD5 подключен простейший фильтр
нижних частот (ФНЧ) из резистора и конденсатора – он преобразует ШИМ
в постоянное напряжение которое можно увидеть в окне
SCOPE сигнал DAC
(АЦП по-русски)
3.
Остановите программу красной кнопкой
STOP. В
окне Messages появится сообщение о том
что программа остановлена пользователем -
User break
4.
Разверните окно Code – в нем
отображается исходный код программы которая “прошита” в МК и выполняется
при симуляции. Вы увидите что некоторые строки программы подсвечиваются
желтым цветом – длина подсветки пропорциональна времени которое
программа тратит на выполнение этой строки.
5. Найдите строку в
программе: printf(“PWM
%u %c\n”,pwm,’%’);
Щелкните по квадратику перед строкой – он превратится в красный знак
STOP
вы поставили “точку останова” (Break point)
– теперь программа автоматически остановится перед выполнением этой
строки.
6. Сверните окно
Code и нажмите
светофор для продолжения симуляции.
Дождитесь остановки программы на этой строке (на этой точке останова) –
строка подсветится голубым цветом. Посмотрите на панели внизу текущее
“чистое” время (без учета остановок) прошедшее с начала программы –
запомните.
7. Теперь продолжите
симуляцию – надеюсь вы поняли как это сделать! Через некоторое время
программа опять остановится на этой строке но время уже будет другим.
Вычтите из него время прошлой остановки и вы получите время выполнения
этого участка программы.
Шаг 4.
Как изменить программу ?
Вам предстоит многократно менять
программы
пока они не начнут работать так как вы хотите.
1. Запустите компилятор CodevisionAVR (CVAVR)
и через меню File -> Open
откройте файл проекта CVAVR –
c:\vmlab\z8\cv.prj
2.
Разверните окно с текстом программы. Вы видите что программа
начинается
с оформленного в виде комментария краткого описания того что она делает
и некоторых технических параметров. Программа написана на языке Си –
который является пожалуй самым популярным и удобным при программировании
для МК.
Не пытайтесь
сразу понять что написано
в этой программе.
Сейчас это вам не
нужно !
Понимать программы и уметь их создавать
вы будете после освоения всего курса.
Пока просто внесем изменение в программу
и утвердим их перекомпиляцией.
3. Найдите в программе туже строку:
printf(“PWM %u %c\n”,pwm,’%’);
и замените PWM на WOW
(типа вау! получилось!) – картинка ниже.
4. После внесения
изменений в исходный текст программы ее нужно cкомпили-
ровать.
Компилятор должен превратить вашу программу в файл “прошивку” .hex
который можно прошить (загрузить) в реальный МК или использовать в
симуляторах.
5. Для выполнения
компиляции нажмите кнопку “Make the project“
После компиляции появится
информационное окно – в нем написано
что наша программа содержит целых 5 ошибок !
В чем же
дело?
Где найдены ошибки и
каковы они написано красным цветом в левой
части экрана в окне навигации по проекту Navigator
При наведении курсора можно увидеть
описание ошибок.
6. Первая ошибка – “не могу открыть файл m8_128.h”
Все ясно. Этот файл
включен в исходный текст программы строкой:
#include <m8_128.h>
В тексте программы
написано где можно взять этот файл -
скачайте
m8_128.h
и поместите его в папку INC компилятора
CVAVR.
7. Снова
компилируем программу кнопкой “Make the project“
– теперь получаем сообщение об отсутствии ошибок и о размере
программы и о том сколько это %%
от максимального размера программы для данного МК.
Посмотрите внимательно –
хотя ошибок нет – есть “вонинг” – это замечание от компилятора. Вонинги
не критичны, но можно посмотреть в навигаторе о чем они.
Закройте информационное
окно кнопкой “ОК”.
Вы выполнили всего 4 не
сложных шажка
Но уже знаете что
Моделировать работу МК
можно на компьютере не имея самого
МК и электронной схемы вокруг него.
При этом видеть не только
то что происходит на ножках
МК но и то что происходит внутри
МК !!! с помощью нижних частей
меню View и Window
симулятора VMLAB.
Вы уже знаете как
открыть проект в компиляторе, внести
изменения, скомпили-ровать
программу, увидеть ошибки,
исправить их. Вы теперь знаете, что не нужно
пытаться
исправлять все ошибки сразу, а нужно начинать с первой
и
возможно
после ее исправления другие ошибки тоже пропадут.
Шаг 5.
Симуляция после правки
1. Разверните окно симулятора VMLAB –
выскочит сообщение о том что файл с текстом симулируемой программы
изменен. Мы же его меняли в компиляторе.
Закройте его кликнув “ОК”.
2. Сделайте “глубокий
рестарт” симуляции кнопкой с круговой темно-синей
стрелкой и перекомпилируйте весь проект как в Шаге 2 пункт 4 или нажав
комбинацию: Shift+F9
Все готово к повторной
симуляции.
3. Нажмите светофор 3 раза
– начнется непрерывная симуляция и вы увидите результат правки программы
в компиляторе CVAVR в окне виртуального
терминала симулятора VMLAB
– вот он:
Обратите внимание на то
что симулятор показывает примерный расчетный
ток потребления МК. Скорость симуляции можно снизить регулятором
Speed.
А частоту кварца можно поменять кнопками Clock.
Кроме того указаны текущие
параметры настройки терминала которые можно
изменить нажав кнопку “Set parameters”.
Кнопки “Clear” очищают окна.
Вы можете набирать текст в окне TX и он
будет передаваться в МК (см. пример к симулятору C:\VMLAB\AVR_demo\UART.PRJ)
а можно передать в МК текстовый файл кнопкой
“TX File”. Если
отметить чек-бокс “RX to
file” то данные поступившие от МК будут записываться в файл на
ПК.
Найдите
время и обязательно выполните
остальные
примеры симулятора VMLAB.
Это позволит вам лучше
понять
его возможности.
Дополнительные важные примеры в папке
C:\VMLAB\tutorial
Вот скриншот
работы МК в VMLAB
Вы не
покупали МК ATmega16 – у вас его нет !
Вы ни чего не паяли и не подключали !
Но вы
увидели как работает МК и программы.
Получили
осциллограммы работающего устройства.
Могли
записать в файл то что передавал МК.
Вступление закончено.
Далее собственно …
Краткий курс – AVR
на примерах.
Цель курса
показать на практике – как
быстро начать
использовать
микроконтроллеры семейства AVR
!
Даже с
абсолютного нуля знаний о микропроцессорах.
Рассказать
вам кратко ключевые моменты
устройства МК,
показать на
практике как МК взаимодействует с
окружающими
его в электронном устройстве
компонентами и с ПК.
Объяснить что конкретно нужно сделать чтобы МК
“ожил” сам и оживил ваше электронное устройство.
Курс подробно рассказывает как сделать самые первые шаги,
с
чего начать не вообще, а
конкретно – ПО ПУНКТАМ …
– Как
сделать нужное вам электронное
устройство, печатную плату
– Как написать первую, простейшую программу для
МК
– Как запустить эту программу в
программе-симуляторе МК и увидеть
как
она работает не покупая МК
и радиодеталей, а значит без
риска
спалить что-то или испортить порт вашего ПК !
– Как
загрузить программу в реальный МК
– Как
отладить реальное устройство – т.е. найти причины
не правильной работы
и
добиться его функционирования в
соответствии с поставленной задачей.
Для использования микроконтроллеров, в
том числе и
МК AVR, вам не нужно
досконально знать электронику
и языки
программирования.
Курс поможет вам научится искать и творчески использовать информацию в объеме необходимом
для реализации конкретного
проекта, устройства .
Содержание.
Краткий курс -
самоучитель – AVR начинающим.
Вы находитесь на заглавной странице -
avr123.nm.ru
стр.
1. Ключевая страница курса – ИЗУЧИТЕ
ЕЁ ! она
ГЛАВНАЯ в курсе !
стр.
2. Что такое МК и AVR в частности. Как
работает МК.
стр.
3. Возможности МК. Что и как подключать к
МК. Регистры и программа.
Прерывания в AVR.
стр.
4. Компиляторы и Симуляторы для МК AVR.
стр.
5. Си для МК – очень малая часть языка
достаточна для работы с МК.
стр.
6. Задачи-упражнения
по курсу – это практические занятия по
работе
с МК и необходимые теоретические
сведения и комментарии.
стр. 7. Как и чем
прошить (прожечь, загрузить) программу в
МК AVR, ATmega
стр.
8. Дополнительные, полезные материалы
стр.
9. О великолепных МК серии PIC12,
PIC16, PIC18 от компании MicroChip
Курс не
имеет навигации – просто в конце каждой
страницы
есть линк на
следующую и предыдущую страницы.
Я очень советую
вам читать курс последовательно,
так как изложен материал.
Поверьте,
это важно и правильно !
Можно скачать весь курс
архивом около 2 Мб –
Курс
AVR
Вы уже
запустили МК и
увидели как
он
работает !
Вы видите что это
просто,
доступно, не дорого и безопасно
!
Программа примера была создана в
отличном, и очень удобном
для начинающих
компиляторе CodeVisionAVR.
Этот
компилятор является достаточным инструментом
для полного цикла
разработки вплоть до
прошивки МК (дополнительно потребуются лишь
интерфейс для электрического соединения МК и ПК – если у вас
есть LPT
то нужны всего 5 проводков).
Демо версия имеет ограничение на максимальный размер кода программы в 2 Кб
это довольно много для начинающего, но если вам этого мало вы можете
найти
полную версию программы
CodeVisionAVR 1.24.8b Professional в Интернете.
Google.com нашел по
запросу
CodeVisionAVR:
Ссылки на основном сайте курса
avr123.nm.ru
К вашим услугам ссылки на дополнительные материалы :
– FAQ
– ответы на вопросы по AVR и по электронике
– Проекты – это различные устройства на МК
на русском языке
– Проекты
на AVR студентов Корнельского
университета – великолепные
–
Проекты очень
интересный талантливого человека Элм-Чена
– Конференция
русскоязычная по МК спрашивайте – вам ответят быстро !
– Книги по AVR и
электронике вообще <-
ЧИТАТЬ !!!
… ну хотя бы список
КНИГ сохраните у себя на
ПК !
– GOOGLE
находит всё ! Вводите
интересующие вас ключевые
слова.
– Translate.ru
переведет то что вы нашли на корявый
русский язык.
Присылайте
отзывы, пожелания
замечания и дополнения !
От идеи до
результатов работы устройства
и файлов для изготовления платы.
Быстрый
старт, самые первые шаги …
Конечно с
картинками !
Attiny2313 Datasheet Na Russkom | attiny2313 v datasheet pdf 1 77 mb atmel pobierz z elenota pl, l293d datasheet на русском практическое программирование arduino craftduino драйвер, attiny2313 v datasheet pdf 1 77 mb atmel pobierz z elenota pl, attiny13 datasheet на русском lm393 описание datasheet схема включения аналог 2020 03 12, l293d datasheet на русском практическое программирование arduino craftduino драйвер
ads/link.txt
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Tda2030 Datasheet на русском страница не найдена радиосхема Delvik Ru доска объявлений перми Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl Attiny2313 V Datasheet Pdf 1 77 Mb Atmel Pobierz Z Elenota Pl
ads/responsive.txt
attiny2313 лист данных (1/211 страницы) ATMEL | 8-битный микроконтроллер AVR с 2 Кбайт внутрисистемной программируемой флэш-памятью
1
2543C – AVR – 12/03
Функции
• Использует архитектуру AVR® RISC
• AVR – высокопроизводительный и маломощный RISC Архитектура
– 120 мощных инструкций – выполнение в большинстве случаев за один тактовый цикл
– 32 x 8 рабочих регистров общего назначения
– Полностью статическая работа
• Данные и энергонезависимая память программ и данных
– 2 Кбайт в системе Самопрограммируемая флеш-память
Долговечность 10 000 циклов записи / стирания
– 128 байт Программируемая внутрисистемная память EEPROM
Долговечность: 100 000 циклов записи / стирания
– 128 байт внутренней SRAM
– Блокировка программирования для флеш-программ и защиты данных EEPROM
• Периферийные функции
– Один 8-разрядный таймер / счетчик с отдельным предделителем и режимом сравнения
– Один 16-разрядный таймер / счетчик с отдельным предделителем, Режимы сравнения и захвата
– Четыре канала ШИМ
– Аналоговый компаратор на кристалле
– Программируемый сторожевой таймер со встроенным генератором
– USI – Универсальный последовательный интерфейс
– Полнодуплексный USART
• Особые характеристики микроконтроллера
– отладка debugWIRE на кристалле
– Программируется в системе через порт SPI
– Внешние и внутренние источники прерываний
– Режимы ожидания, отключения питания и ожидания с низким энергопотреблением
– 20-контактный PDIP, 20-контактный SOIC и 32-контактный MLF
• Рабочее напряжение
– 1.8 – 5,5 В (ATtiny2313)
• Классы скорости
– ATtiny2313V: 0 – 2 МГц при 1,8 – 5,5 В, 0 – 8 МГц при 2,4 – 5,5 В
– ATtiny2313: 0 – 8 МГц при 2,7 – 5,5 В , 0–16 МГц при 4,5–5,5 В
• Оценки энергопотребления
– Активный режим
1 МГц, 1,8 В: 300 мкА
32 кГц, 1,8 В: 20 мкА (включая генератор)
– Мощность- Режим пониженного энергопотребления
<0,2 мкА при 1,8 В
8-битный
Микроконтроллер
с 2 Кбайтами
Внутрисистемный
Программируемый
Flash
ATtiny2313 / V
Предварительная версия
2543C – AVR – 12/03
ATTINY2313-20U Интегральные схемы (ИС) ATMEL
Детали ATTINY2313-20U производства ATMEL доступны для покупки на веб-сайте Jotrin Electronics. Здесь вы можете найти большое количество различных типов и номиналов электронных компонентов от ведущих мировых производителей.
Компоненты Jotrin Electronics ATTINY2313-20U тщательно отобраны, проходят строгий контроль качества и успешно соответствуют всем необходимым стандартам.
Статус производства, отмеченный на Jotrin.com, предназначен только для справки.
Если вы не нашли то, что искали, вы можете получить дополнительную информацию о ценности по электронной почте, такую как инвентарный объем ATTINY2313-20U, льготную цену и производителя.
Мы всегда рады услышать от вас, поэтому не стесняйтесь обращаться к нам.
ATTINY2313-20SU – это IC MCU 8BIT 2KB FLASH 20SOIC, который включает серию AVRR ATtiny, они предназначены для работы с продуктом MCU, упаковка показана в примечании к техническому описанию для использования в альтернативной упаковке трубки, которая предлагает функции веса единицы, такие как 0,028254 унции, стиль монтажа предназначен для работы в SMD / SMT, а также под торговым наименованием ATTINY, устройство также может использоваться как 20-SOIC (0.295 дюймов, ширина 7,50 мм) Корпус корпуса, диапазон рабочих температур от -40 ° C до 85 ° C (TA), устройство предлагается в комплекте поставки 20-SOIC, устройство имеет 18 входов-выходов. , скорость – 20 МГц, размер EEPROM – 128 x 8, процессор ядра – AVR, размер RAM – 128 x 8, тип памяти программы – FLASH, а периферийные устройства – обнаружение / сброс неисправности, POR, ШИМ, WDT и возможность подключения – это SPI, UART / USART, а напряжение питания Vcc Vdd составляет 2,7 В ~ 5,5 В, размер ядра – 8 бит, размер памяти программ составляет 2 КБ (1 КБ x 16), а тип генератора является внутренним, он имеет максимальный диапазон рабочих температур + 85 C, он имеет диапазон минимальных рабочих температур -40 C, а рабочее напряжение питания равно 2.От 7 В до 5,5 В, тип интерфейса – SPI UART USI, ядро - AVR, а серия процессоров – tinyAVR, ширина шины данных – 8 бит, максимальное напряжение питания – 5,5 В, а минимальное напряжение питания – 2,7. V, а максимальная тактовая частота – 20 МГц, количество входов / выходов – 18, размер ОЗУ данных – 128 Б, размер ПЗУ данных – 128 Б, а количество таймеров, счетчиков – 2 таймера, Разрешение АЦП – это отсутствие АЦП, тип ОЗУ данных – SRAM, а тип ПЗУ данных – EEPROM.
ATTINY2313-20SUR – это IC MCU 8BIT 2KB FLASH 20SOIC, который включает 2.Напряжение питания 7 В ~ 5,5 В Vcc Vdd, они предназначены для работы с весом устройства 0,028254 унции, торговое название показано в примечании к техническому описанию для использования в ATTINY, который предлагает функции минимального напряжения питания, такие как 2,7 В, рассчитано максимальное напряжение питания. для работы с напряжением 5,5 В, а также с комплектом 20-SOIC Supplier Device Package, устройство также может использоваться как со скоростью 20 МГц. Кроме того, серия – это AVRR ATtiny, устройство предлагается с размером ОЗУ 128 x 8, устройство имеет флэш-память типа памяти программ, размер памяти программ составляет 2 КБ (1 КБ x 16), а продукт – MCU и процессор. Серия – tinyAVR, а периферийные устройства – обнаружение / сброс неисправности, POR, PWM, WDT, а упаковка – это альтернативная упаковка Digi-ReelR, а упаковка – 20-SOIC (0.295 дюймов, ширина 7,50 мм), а тип осциллятора – внутренний, он имеет диапазон рабочих температур от -40 ° C до 85 ° C (TA), рабочее напряжение питания составляет от 2,7 В до 5,5 В, а количество таймеров и счетчиков – 2 таймера, количество входов / выходов – 18, количество входов / выходов – 18, тип монтажа – SMD / SMT, минимальный диапазон рабочих температур – 40 C, максимальный диапазон рабочих температур + 85 C, максимальная тактовая частота – 20 МГц, тип интерфейса – SPI / USART / USI, размер EEPROM – 128 x 8, размер ОЗУ данных – 128 B, а ширина шины данных – 8 бит, Размер ядра – 8 бит, процессор ядра – AVR, ядро - AVR, возможность подключения – SPI, UART / USART, а разрешение АЦП – отсутствие АЦП.
ATTINY2313-20SI – это IC MCU 8BIT 2KB FLASH 20SOIC, который включает SPI, UART / USART Connectivity, они предназначены для работы с процессором ядра AVR, размер ядра показан в примечании к техническому описанию для использования в 8-битном, который предлагает Характеристики размера EEPROM, такие как 128 x 8, количество входов / выходов рассчитано на работу в 18, он имеет диапазон рабочих температур от -40 ° C до 85 ° C (TA), устройство также может использоваться как тип внутреннего осциллятора. Кроме того, в корпусе 20-SOIC (0,295 дюйма, 7.50 мм шириной), устройство предлагается в тубусной упаковке, устройство имеет функции обнаружения / сброса неисправности, POR, PWM, WDT периферийных устройств, а размер программной памяти составляет 2 КБ (1 КБ x 16), а тип памяти программ – FLASH. , размер ОЗУ – 128 x 8, серия – AVRR ATtiny, скорость – 20 МГц, комплект устройств поставщика – 20-SOIC, а напряжение питания Vcc Vdd составляет 2,7 В ~ 5,5 В.
ATTINY2313-20SJ с моделями EDA / CAD, которые включают трубную упаковку, они предназначены для работы с SPI, подключением UART / USART, тип осциллятора показан в примечании к техническому описанию для использования во внутренней, которая предлагает функции типа памяти программ, такие как FLASH, Peripherals предназначен для работы в режимах обнаружения неисправности / сброса, POR, PWM, WDT, а также в серии AVRR ATtiny, устройство также может использоваться как процессор ядра AVR.Кроме того, размер ядра составляет 8 бит, он имеет диапазон рабочих температур от -40 ° C до 85 ° C (TA), устройство имеет размер памяти программ 2 КБ (1 КБ x 16), а размер корпуса 20 -SOIC (0,295 дюйма, ширина 7,50 мм), комплект устройств поставщика – 20-SOIC, скорость – 20 МГц, напряжение питания Vcc Vdd – 2,7 В ~ 5,5 В, количество входов-выходов – 18 и размер EEPROM. составляет 128 x 8, а размер ОЗУ – 128 x 8.
ATTINY2313V-10MUR Листы данных | Встроенные – Микроконтроллеры IC MCU 8BIT 2KB FLASH 20QFN -Apogeeweb
ATtiny2313 – это маломощный 8-битный CMOS-микроконтроллер, основанный на архитектуре RISC, улучшенной AVR.Выполняя мощные инструкции за один такт, ATtiny2313 достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки.
Функции • Использует архитектуру AVR® RISC • AVR – Высокопроизводительная и маломощная архитектура RISC – 120 Мощных инструкций – Выполнение в большинстве случаев за один тактовый цикл – Рабочие регистры общего назначения 32 x 8 – Полностью статические Эксплуатация – Пропускная способность до 20 MIPS при 20 МГц • Данные и энергонезависимая память программ и данных – 2 Кбайт внутрисистемной самопрограммируемой флэш-памяти Срок службы 10 000 циклов записи / стирания – 128 байтов Программируемая внутрисистемная EEPROM Долговечность: 100 000 циклов записи / стирания – 128 байт Внутренняя SRAM – Программная блокировка для защиты флеш-программ и данных EEPROM • Периферийные функции – Один 8-битный таймер / счетчик с отдельным предделителем и режимом сравнения – Один 16-битный таймер / Счетчик с отдельным предделителем, режимами сравнения и захвата – Четыре канала ШИМ – Встроенный аналоговый компаратор – Программируемый сторожевой таймер со встроенной осцилляцией tor – USI – Универсальный последовательный интерфейс – Полнодуплексный USART • Специальные функции микроконтроллера – Встроенная отладка debugWIRE – Программируется внутри системы через порт SPI – Внешние и внутренние источники прерываний – Низкое энергопотребление в режиме ожидания, питание- вниз и режимы ожидания – Улучшенная схема сброса при включении питания – Программируемая схема обнаружения пониженного напряжения – Внутренний калиброванный осциллятор • Ввод / вывод и блоки – 18 программируемых линий ввода / вывода – 20-контактный PDIP, 20- контактный SOIC, 20-контактный QFN / MLF • Рабочее напряжение – 1.8 – 5,5 В (ATtiny2313V) – 2,7 – 5,5 В (ATtiny2313) • Уровни скорости – ATtiny2313V: 0 – 4 МГц при 1,8 – 5,5 В, 0 – 10 МГц при 2,7 – 5,5 В – ATtiny2313: 0 – 10 МГц при 2,7 – 5,5 В, 0 – 20 МГц при 4,5 – 5,5 В • Типичное энергопотребление – Активный режим 1 МГц, 1,8 В: 230 мкА 32 кГц, 1,8 В: 20 мкА (включая генератор) – Мощность -down Mode
Samd51 adc, пример
Samd51 adc, пример
Пример: первое поле представляет собой точку пересечения между катионом «цинк» и анионом «хлорид», поэтому вы должны написать «ZnCl 2», как показано.Пример ADC Samd51 Русалочка 2 cast
24 января 2016 г. · Когда мы впервые проверили микросхему ATSAMD21 (процессор, используемый в Arduino Zero и Adafruit Feather M0), мы были очень рады увидеть, что в этом чипе 6 “SERCOM”, также известные как модули последовательной связи. Каждый из этих модулей может использоваться для I2C, SPI или последовательного интерфейса. Это означает, что у вас может быть 3 UART и 3 SPI или, может быть, 2 SPI и 4 I2C. По сути, у вас есть масса вариантов для добавления дополнительных …
Примеры программ АЦП для продуктов AT89C51CCxx, T89C51AC2, T89C5115 Ссылки • Atmel 8051 Руководство по аппаратному обеспечению микроконтроллеров 8051 Замечания по применению микроконтроллеров Rev.…
Основные причины, по которым люди купят эту книгу: – Linux на PPC – сверху вниз – функциональность прослеживается из пользовательского пространства в ядро - Множество комментариев и примеров кода. Он проведет вас через … samd51 adc: init определяет общие часы, поэтому adc0 и adc1 могут использоваться одновременно
Терминал Wio – это микроконтроллер на базе SAMD51 с возможностью беспроводного подключения, поддерживаемый Realtek RTL8720DN, совместимый с Arduino и MicroPython . Он работает на частоте 120 МГц (увеличение до 200 МГц), 4 МБ внешней флэш-памяти и 192 КБ ОЗУ.Он поддерживает как Bluetooth, так и Wi-Fi, обеспечивая основу для проектов Интернета вещей.
28.04.2020 – Эркунде Келлер Филиппес Пиннванд «Shelly Smat Home Wifi Relais» на Pinterest. Weitere Ideen zu wlan, светодиодные полосы, arduino sensoren.
26 окт.2020 г. · Я ненадолго поигрался с процессорной платой микромода Sparkfun M4 / SAMD51 и платой-носителем ATP. Плата M4 имеет SPI-вспышку на нижней стороне. Я предполагаю, что плата микромода Teensy 4 будет иметь флэш-память SPI 16 МБ на нижней стороне, а вместе с чипом 1062 будет загрузочный чип MKL, кристаллы (24 МГц и 32 кГц), светодиод на контакте 13.
Использование расширенных возможностей АЦП на Arduino с SAMD21 (Zero, MKR1000 и т.д.) Часть 1. Мы все знакомы с функцией Arduino «analogRead ()», но АЦП SAMD21 – это гораздо больше, чем просто взяв простой #deskofladyada LIVE SAMD51 @microchipmakes @adafruit #adafruit.
Factorio ltn setups
В нем также есть ЦАП, АЦП, ШИМ и тонны GPIO. Между тем, ESP32 обладает безопасными возможностями Wi-Fi, а также большим количеством флэш-памяти и оперативной памяти для буферизации сокетов.Позволяя ESP32 сосредоточиться на сложных вычислениях TLS / SSL и буферизации сокетов, он освобождает SAMD51 для работы в качестве пользовательского интерфейса.
스파크 펀 MicroMod SAMD51 프로세서 모듈 (процессор SparkFun MicroMod SAMD51) 개요 본 제품 은 스파크 MicroMod SAMD51 프로세서 모듈 입니다.32 비트 ARM Cortex-M4F 마이크로 컨트롤러 ATSAMD51 를 탑재 하고 있는 모듈 로 M.2 MicroMod 에지 커넥터 를 가지고 있습니다 .MicroMod 캐리어 보드 에 꼽아 …
Пример. Данный цифровой выход должен соответствовать диапазону аналогового входа. В идеале ширина шага должна составлять 1 младший бит. Эта продолжительность зависит от параметра SMP (длительность выборки АЦП). Например, значения SMP для серии STM32L5 могут быть 2,5, 6,5 …
BCX51-16. PH SM. Sii1307. АЦП.
Mandalorian genetics
Espressif Systems – частная полупроводниковая компания без фабрик.Они обеспечивают беспроводную связь и чипы Wi-Fi, которые широко используются в мобильных устройствах и приложениях Интернета вещей.
Nephilim traits
06.06.2019 · Новая SparkFun Thing Plus – это мощная плата с микроконтроллером SAMD51 и совместимостью выводов FeatherWing, позволяющая использовать все преимущества Feather дополнительные доски там. А теперь вернемся к другим проектам команды Adafruit.
Рабочий лист правил функций, pdf
Интерактивное руководство по подключению SAMD21 Mini / Dev Breakout (в разделе документов ниже) содержит пошаговые инструкции по подключению SparkFun SAMD21 Mini Breakout, а также несколько примеров схем для тестирования. Предоставляется и объясняется полный пример кода и даже содержатся советы по устранению неполадок, чтобы у вас не возникло никаких проблем.
Настенные кресла с подогревом и массажем
Если вы готовы перейти в игру Arduino от старых 8-битных / 16 МГц микроконтроллеров, SparkFun SAMD21 Dev Breakout – это отличное место для приземления.SparkFun SAMD21 Dev Breakout – это прорыв размером с Arduino для Atmel ATSAMD21G18, 32-битный ARM …
Moto flashing tool 2019
/ * Arduino Protothreading Example v1.1 by Drew Alden (@ReanimationXP) 12.01.2016 – Обновление: v1.1 – 18.08.17 Прототипирование Arduino 1.6.6+ изменено, небольшие исправления. (создать функции перед использованием, удалить foreach и связанную библиотеку). Обратите внимание, что TimedAction теперь устарел. Обязательно прочтите примечания о TimedAction и WProgram.h / ошибки Arduino.h.
Разница между ответвителем и разветвителем
В примере кода воспроизводятся две разные частоты синусоидальной волны, по одной в каждом канале. По умолчанию он не обновляет SSD1306, однако подключение контакта 12 к земле позволит обновлять дисплей, вызывая побочный эффект, с которым у меня проблемы.
Ray optics python
Adafruit Industries, Уникальная и забавная электроника и комплекты для дома Adafruit Feather M4 Express – с ATSAMD51 [ATSAMD51 Cortex M4] ID: 3857 – это то, чего вы ждали для Feather M4 Express с ATSAMD51.
Jerome idaho Humane Society
grr.) Как я уже сказал, похоже, что была какая-то достаточно мощная аппаратная идея, которая плохо объяснена какому-то программисту который на самом деле этого не понимал, но был основным источником для составителя документации. И примеры ПО были написаны кем-то другим на основе документации.
Для периодической выборки АЦП с очень низким энергопотреблением также включен пример программного обеспечения, которое переходит в Энергетический режим 2 (EM2) между каждой выборкой АЦП. Это лучший способ сделать выборку АЦП малой мощности для частот дискретизации ниже пары кГц.AN0021: Аналого-цифровой преобразователь (АЦП) Аналого-цифровой преобразователь silabs.com | Умная. Связанный. Energy …
Matlab circle
Arduino Due – это плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3. Это первая плата Arduino, основанная на 32-битном микроконтроллере ядра ARM. Он имеет 54 цифровых входа / выхода (из которых 12 могут использоваться как выходы ШИМ), 12 аналоговых входов, 4 UART (аппаратные последовательные порты), тактовая частота 84 МГц, соединение с поддержкой USB OTG, 2 ЦАП (цифро-аналоговый). , 2 TWI, разъем питания, SPI…
St. bernard rescue pa
Shillong teer fc target
Oct 02, 2018 · KY-024 Linear Модуль датчика эффекта, пример кода Arduino и деталь Fritzing KY-024. Это цифровой / аналоговый, который реагирует на присутствие магнитного поля. Класс HID предназначен для создания всех обязательных сервисов и характеристик во время мгновенного создания объекта HID, включая скрытую информацию и сервис батареи.
Продажа собак в исламабаде
Калькулятор кода SMD-резистораЭлектроника Карта сайта Главная Калькулятор SMD-кода резистора Этот простой калькулятор поможет вам определить номинал любого SMD-резистора. Для начала введите трех- или четырехзначный код и нажмите кнопку «Рассчитать» или Enter.
Смазка для кукурузных головок в кустах
Примеры для Arduino. Пример 1: Прочтите Basic. Код для Example1_ReadBasic.ino подключается к 12-битному АЦП Qwiic и распечатывает значение канала A3 на последовательном мониторе в BAUD 9600. Ниже приведен пример считывания последовательного монитора, поворачивающего встроенный регулятор от MIN (полностью против часовой стрелки) до MAX (все путь CW), а затем снова обратно в MIN …
Hurst scott похоронное бюро Richlands va некрологи
Если вы используете Arduino-совместимый, вам понадобится процессор с не менее 20 КБ RAM – SAMD21 (M0) или SAMD51 (M4) подойдет.На Pi вы даже можете выполнить обработку интерполяции с помощью библиотеки Python SciPy и получить довольно хорошие результаты!
Привет! Сообщаем вам, что SparkFun будет закрыт в пятницу 01.01.2021 в связи с празднованием Нового года.Имейте в виду, что любые заказы, размещенные после 14:00 по московскому времени 31.12.2019, не будут обрабатываться до тех пор, пока мы не вернемся к нормальному рабочему времени в 9:00 по московскому времени в понедельник 1/4/2021.
Глубина карьера на пляже Харрингтон
Все мы знакомы с функцией Arduino «analogRead ()», но АЦП SAMD21 – это гораздо больше, чем просто считывание показаний. В этой видеосерии …
Синий значок совета округа Саффолк
Для периодической выборки АЦП с очень низким энергопотреблением также включен пример программного обеспечения, которое переходит в режим энергопотребления 2 (EM2) между каждой выборкой АЦП.Это лучший способ сделать выборку АЦП малой мощности для частот дискретизации ниже пары кГц. AN0021: Аналого-цифровой преобразователь (АЦП) Аналого-цифровой преобразователь silabs.com | Умная. Связанный. Энергия …
Какое из следующих веществ может участвовать в образовании водородных связей
07 июля 2020 г. · Я закончил обновление руководства по комбинированным платам ST 9-DoF финальной версией FeatherWing. Я начал работу над руководством по использованию сдвигового регистра 74HC595. В руководстве представлена основная информация о микросхеме, включая распиновку.Он также будет включать пример использования его для управления 8 светодиодами с помощью CircuitPython с подробной схемой подключения, которая поможет вам в этом.
Dracoxreader
В новой серии представлены последние идеи и обсуждения от отраслевых экспертов и гостей из ведущих компаний-разработчиков приложений и игр. Послушайте их истории и мысли по некоторым важным темам, таким как обучение на основе приложений и поворот во время кризиса, повышение осведомленности об изменении климата в играх, инклюзивность продуктов, создание качественных приложений с помощью Firebase, как перейти с ПК на мобильные игры и многое другое. более.
Замена моторного масла Omc cobra 5.0
Выдержка из файла SAMD wiring_analog.c в репозитории Arduino Core. При разработке экрана, который после написания собственной подпрограммы чтения АЦП выдает ошибки только между 1 мВ и 5 мВ (от 1 до 6, например, чтение 1000 будет означать в идеале 0,805 В по сравнению с чтением 1070, которое будет 0,862 В или …
Grindr 6.3 0 apk
Для периодической выборки АЦП с очень низким энергопотреблением также включен пример программного обеспечения, которое переходит в энергетический режим 2 (EM2) между каждой выборкой АЦП.Это лучший способ сделать выборку АЦП малой мощности для частот дискретизации ниже пары кГц. AN0021: Аналого-цифровой преобразователь (АЦП) Аналого-цифровой преобразователь silabs.com | Умная. Связанный. Энергия …
10700k скорость плунжера
типа АЦП. type ADC struct {Pin Pin} func (ADC) Настроить. func (ADC) Configure Configure настраивает ADCPin, чтобы его можно было использовать для чтения данных. func (ADC) Получить. func (ADC) Получить uint16; Get возвращает текущее значение вывода АЦП в диапазоне 0..0xffff. введите CDCCSInterfaceDescriptor. type CDCCSInterfaceDescriptor struct {len uint8 // 5
Модельное агентство Muse
+ Поддержка DMA на многих популярных платформах – например, SAMD21, SAMD51, ESP8266 / ESP32 (и другие!) + Совместимость с FadeCandy – Strict 800 Скорость передачи данных кГц; не все системы могут генерировать это, а скорость является узким местом на очень длинных цепях, если у вас нет поддержки DMA. – Частота обновления 400 Гц / ШИМ не подходит для эффектов постоянства зрения.
Ошибка теста мультимедиа Dell latitude pxe e61
Все мы знакомы с функцией Arduino «analogRead ()», но АЦП SAMD21 – это гораздо больше, чем просто чтения. В этой серии видео мы рассмотрим некоторые из более продвинутых возможностей АЦП SAMD21 и способы их использования.
Как разобрать сварочный аппарат Lincoln
11 июня 2020 г. · Пример простой сети I2C показан ниже: Как вы можете видеть на диаграмме выше, преимущество использования I2C заключается в том, что вы достаточно двух проводов для связи с несколькими устройствами.Все данные проходят по двум проводам к ведущему и ведомому устройствам и от них.
Интерьер французских дверей
Процессорная плата SparkFun MicroMod SAMD51 с 32-битным микроконтроллером ARM Cortex-M4F представляет собой мощный микроконтроллер, размещенный на небольшой плате! См. Описание для получения более подробной информации о продукте. В корзину сейчас!
Что такое управление питанием платформы
Littlefs stm32 … Littlefs stm32
Kenny easТакже я смог добавить 16 потенциометров, в то время как ESP32 имеет только 10 используемых входов АЦП (второй АЦП отключится, как только включится Wi-Fi). Это означает, что клиент на самом деле не знает, куда он будет направлен, даже один, и есть вероятность, что даже один потенциометр будет подключен к входу АЦП, который не будет работать вместе с Wi-Fi.
Дублированный онлайн yugioh
Другой вопрос: я хочу откалибровать АЦП, сначала я подаю 0 вольт на этот вход АЦП и хочу загрузить кое-что для смещения, затем я хочу применить In asf есть хороший пример (см. ниже).Но где в вашем коде хранить значение?
Fanatec csl xbox one
Espressif Systems – частная полупроводниковая компания без фабрик. Они обеспечивают беспроводную связь и чипы Wi-Fi, которые широко используются в мобильных устройствах и приложениях Интернета вещей.
Crimson trace guide стержень лазерный глок 19
Это связано с тем, что код SPI, SD и FAT съедает почти 3 КБ памяти программ, а микросхемы ATtiny с таким объемом памяти программ и отдельным RX / TX и контакты SPI есть.Для автономных реализаций адаптирован пример кода Xilinx, а для Linux используются драйверы i2cdev и spidev. Это нужно только один раз. Взгляните на пример QSPI.
Dunbar police
Требуется разработать печатную плату для устройства на микроконтроллере stm32f429igt6, с 10-дюймовым ЖК-дисплеем tft (техническое описание отправлено по запросу для заинтересованных фрилансеров) с резистивной сенсорной панелью (для управления и HMI) для отображения значений от датчиков. Устройство имеет 6 АЦП передатчика (4-20 мА или 0.Выход 5-5В) и сигнализация в виде зуммера и динамика для проигрывания wav-файлов.
Ремонт двигателя Subaru Outback 2008 года
Samd21 Adc Пример
API для медицинской визуализации
SAMD51, флэш-память 1024 КБ, ОЗУ 256 КБ, 120 МГц, общего назначения, ARM Cortex Pin
, 64-контактный Определить плоскость в геометрии
Re: SAMD51 M4 ЦАП имеет проблемы с его поднятием kevinjwalters в понедельник, 22 июля 2019 г., 17:17. Это дает постоянную форму с одной ступенькой вверху, которая предполагает проблема роста не связана с абсолютными значениями, но когда дельта-изменение (увеличение) превышает 1/8 (8192) полного диапазона:
Калькулятор пенсий 1-го уровня
Иногда есть отдельные add и adc, некоторые adc – это дополнительный шаг, или наиболее болезненным было бы добавление без переноса и использование ветки, если переносить clear, с добавлением непосредственно под ним.Вот почему сдвиги или повороты вращаются через бит переноса, поэтому вы можете сделать немного сдвиг шире, чем ширина регистра / ячейки памяти.
Dbms_metadata.get_ddl view
Таблица размеров молодежи Under Armour возраст
Ошибка последовательности задач Sccm 0x80070003
Spirexka Spirex Снятие триггера t3x
Уплотнительное кольцо 450t
Ut ускоренный bsn
Найдите наклон линии, проходящей через точки (2 4) и (6 12 quizizz)
Travian crop finder
Bulk жидкий латексный каучук
верх бимини лодки Jon на продажу
Программное обеспечение Verizon usb730l
Придать структуру который соответствует следующей молекулярной формуле и 1-часовому спектру ЯМР c5h20o
Что такое система сигнализации неконтролируемого сотрудника
Частица движется по прямой так, чтобы его положение определялось
90 181
Параметры конфигурации Openvpn
Sbc комплект гидравлических роликовых кулачков
Крюки для установки Neko
Список чувств
Warzone Sniper прицельная сетка
Имена девушек коренных американцев, которые начинаются с объявления
Телефонная линия
Prophet
Regex все, кроме слова
Kwikset smartkey дверная ручка сброса
Нашуа задержание наркотиков
Honda xr2600 тип масла
Qvc хосты уволены 2020
Mazda 3 цена трансмиссии
банк Hendy Visual Slam Deep Learning
42-я степень масона
Playbooks with wildcat madden 21
Сбой резервного копирования Veeam Недостаточно места на диске
Отменить встречу из-за смерти
Курс математики Springboard 3, модуль предварительной алгебры 1 ответы
Обновление Big 3
Цена на автофургон Weekender sprinter rv
Bit de kuduro baixar
Анимация периодических трендов
Ps4 slim 1 ТБ самая дешевая цена
База данных пенсионного обеспечения города Бостона
Ford fusion wrench light reset
Warframe r warframe
Poodles for sale rochester ny
Hpa catless downpipe
Lg secure startup password
Idadian
состояние шины IJA мини-велосипеды Как использовать записывающее устройство устройства чтения магнитных карт
Уровень отладки Nscd
Магазин одежды Adfa
Volvo cem crack
Как преобразовать музыку Apple в mp3
Agency arms 417 однопортовый компенсатор поколения 5
2011 honda odyssey vcm проблемы
Калькулятор размеров масштабного изображения
Книга ювенальной юстиции
Кровавое предзнаменование Каина
Дух Рождества
Cisco Linksys
Какаду Макс 2019
Woocommerce заказ термометра
Touch 9020
Roku 2 manual 4210
Kubota z421kw 54 лезвия
Bcm группа держателей болта fde
55 64 Chevy Posi
Central America3
2 Листы для печати Flut2
8 Flutter в позицию
Swagger enum annotation
Ac to dc converter pdf download
South florida french bulldogs
Bear decor hobby lobby
Nvidia vs intel
66 Download nen 0202 Pdf для пакета Excel uipath
Safari view source shortcut
Hemohim Cancer
Lifepo4 float Voltage
180 против часовой стрелки
1953 tv показывает
2020
новый формат оценки
Формула индикатора магии тренда
17c контракт
Life_ наука о биологии 12-е издание pdf скачать
Фаренгейт 451 символизм цитаты
Nginx перезаписать путь
Windows
Elecrome 9018c команды
Transmission docker vpn
Iron man ноты для виолончели
Jamulus Review 2020
Учебник по биологии 11 pdf nelson
Что означает вывод btq chase
Gila River Booking 03 Правило брандмауэра Pfsense dns
Конфигурация прокси-сервера Squid в Windows, шаг за шагом pdf
Настройка Outlook для ошибки icloud 0x800706ba
Hlg 600h Запуск журнала роста
Виниловый заборный рукав
84 9018 Ранние объекты 6-е издание Reddit Лист именования ионных соединений caco3
Чистокровный дизель
Craigslist Suzuki Samurai для продажи владельцем
Kurzweil k1000 keybed
Cara Rumus 9018 9018 Red Jitu октябрь
Типы конфет в Walmart
Руководство Dewalt dccs620
Файл программатора Firehose
Как разделить один столбец на несколько столбцов в Excel
Осыпание артишока из холодного шпината с греческим йогуртом 9110 очистка
902 02 Экран Ipad Safari разделен на две части Скорость загрузки Star Citizen
Cochliomyia hominivorax myiasis
Аукционы ПК
Обслуживание пневматической винтовки с разрывом ствола
Лунный клиент треснул
мотоцикл
Drama Korea Batch sub индо
Busted in jackson county NC
Тест на местоимения для 5 класса
Ryobi ap1300 blade binder
Stories mp3
201 9018 9018 Pennsylvania 9018 фотография будуа Грязные я скучаю по тебе мемы
Nba 2k20 myleague реалистичные слайдеры
Cosco 100 кг 2-ступенчатая алюминиевая лестница
Thinkorswim текущая цена горизонтальная линия
Costco штабелируемые горшки
Go mdf67 911 pdf Эффективные дни повторно поддержание безработицы
Руководство по установке Zibo
Федеральная шкала заработной платы 2020
Мой пароль facebook не работает
Хотите в asl
Samsung Galaxy S8 не отвечает на экран
Azur Lane тяжелый круизер народные песни ноты Дистиллят против СО2 против живой смолы
Cdph 612 form 2019
Fbi phase 2 2019
Цена корвета 2021
Обновление Hypixel Pit
Можете ли вы использовать проектор без elmo
Услуги удаленного рабочего стола 2019 rds farm
Juiced bikes
2000 buick lesabre проблемы с кондиционером
Isuzu npr dpf filter
Колеса должны свободно вращаться при поднятом подъемнике.
Suricata github
Exa калькулятор логистической регрессии ct
2014 Freightliner cascadia evolution interior
Warhammer 40k indomitus crusade box
Dirac live vs sonarworks
Logstash syslog rfc
отчет о чистке карбюратора 9020d Burure
Серная кислота выразите свой ответ в виде химической формулы.
Kik san diego
Щенки йорк-пу бесплатно
Авторы упоминают покемонов и hello kitty в заказе на
Основные руки 3-кратная лупа с откидным боковым креплением
Halifax County Police Scanner Делает ли долларовое дерево латексные шары Allen and Roth Gray Clot
DSP (DIgital Signal Processing) широко используется во многих областях электроники – он заменяет старые катушки индуктивности, конденсаторы, резисторы и многое другое…Enail controller
Sa 200 геркон
Gta Vice City Stories графический мод
Prediksi angka akurat sidney
8 мая 2020 г. · Nintendo Switch Lite дешевле на 200 долларов, так как система не включает периферийные устройства в комплекте со стандартным Nintendo Switch. Нет необходимости в док-станции, поскольку система не может быть …
Oikawa x reader fight
SparkFun ракета-переключатель-крышка — красный 16094655060 o.jpg 1.200 × 801; 853 КБ StateLibQld 2 297735 Главный распределительный щит на Центральной электростанции, г.Морган, 1907.jpg 1.000 × 814; 150 KB Тихая комната с электрическими панелями – Экспериментальная станция Горнодобывающего управления в Боулдер-Сити, Исследовательский корпус по титану, Дейт-стрит к северу от шоссе 93 США, Боулдер … Отделение для хранения вещей под сиденьем дополнительно защищено герконом Два водонепроницаемых радиопередатчика с защитой от сканирования и подвижным кодом; Необходимые монтажные комплекты: 390 Duke 2014-2016. 390 Duke 2017-2020 гг. RC 390 2014-2020. 690 Duke 2013-2015 гг. 690 Duke / R 2016-2019. 790 Duke 2018-2020. 790 Adventure / R 2020.990 Super Duke / R 2007-2009 гг. 990 Supermoto …
Держатель на присоске Ez pass walmart
Герконовые переключатели – Герконовые датчики – 59086-3-T. Поставщик: Littelfuse, Inc. Доступны концевые выключатели на эффекте Холла и герконового типа. Малый линейный привод Tac ET имеет усилие от 200 до 300 фунтов, скорость до 33 дюймов / сек. Линейные приводы – Приводы слежения за солнечными батареями – SA5524C450. Поставщик: Joyce / Dayton Corp. 0.5a 8-11at 2.3×14 10w -1k5 / box: стеклянный геркон с высокой чувствительностью (8-211at) / (spst) n / o / 0a5 @ 100v: 2.Зеленый прозрачный корпус 3×14,2 мм / позолоченные провода 15 мм, цена и продажа в коробке из
Катушка Haltech ls1
Добро пожаловать в наш онлайн-каталог оригинальных запчастей Suzuki С нашими схемами запчастей Suzuki онлайн вы можете заказать все запчасти из дома и получить их доставят по указанному вами адресу. thứ sáu, 19 tháng 9, 2014. cyl mini da 12 x 80 ss rod nbr 7r: 1120120080xn: cyl mini da 12 x 80 ss rod nbr: 7r: 1120120080xp
двойной мобильный дом Zillow, проданный владельцем в taylor sc
MLS Серийные реле уровня жидкости с 2-дюймовым NPT и 1-1 / 2-дюймовым креплением NPT активируются поплавком для приведения в действие электрического герконового переключателя SPDT для сигнализации или отключения двигателя или электродвигателя.Серия MLS подключается непосредственно к стенке скруббера и может использоваться с приварной манжетой FW Murphy или внешней поплавковой камерой FW Murphy. Характеристики 200120 80 60 2,8 3 с Скорость щеток (об / мин) … концевые выключатели Скорость UNC 2B a 255 Предел. В предпочтительном варианте осуществления 2-блочный переключатель 16 и магнит 200 состоят из герметично закрытого герконового переключателя типа RS-51 и набора постоянных магнитов производства Alco Electronic Products, Inc., Div. Augat Inc., 1551 Osgood Street, North Andover, MA 01845. Это герконовый переключатель Lincoln OEM с болтовым креплением и ведущий узел для SA-200, SA-250 и SA-350. Эта сборка подходит для следующих сварочных аппаратов: SA-200 F163 Continental – коды аппаратов: 7276, 7302, 7307, 7693, 7699, 7789, 8017, 8023, 8244, 8245, 8348,
Стрельба в графстве Кобб
Gebildet 10pcs Plastic Reed Рид-контакт переключателя Нормально открытый (N / O) Магнитный индукционный переключатель (2,5 мм × 14 мм) с 20 небольшими многоцелевыми круглыми магнитами от Gebildet CDN $ 13.99 HOERBIGER работает во всем мире как ведущий игрок в области компрессионной техники, приводной техники и гидравлики. В 2015 году объем продаж 6858 сотрудников компании составил 1,115 миллиарда евро.
Icbm mod wiki
переключателей. г – ж. dat – даталогические энкодеры и датчики. dpm – цифровое оборудование и плк. dvs – телекоммуникационные аксессуары. ees – диски, мягкий запуск & ssrs.
Houston homicides 2020
783164001716 Ge Новый аварийный аварийный выключатель двойного действия Heavy (аналогичный на 50%) Ссылка на спецификации: двухходовой, 200 А, 3-полюсный, 240 В переменного тока, неплавкий, плавкий предохранитель без предохранителя, Ema- 1, сверхмощный предохранительный выключатель.Может использоваться для аварийного питания генератора.
Платежный шлюз Stripe
Для этого я использую геркон. Поскольку я хочу запустить его от плоской батарейки на 3 В, длительное энергопотребление имеет решающее значение. Поэтому ATtiny (в настоящее время 13A) большую часть времени находится в режиме отключения системы и прослушивает только прерывания по изменению вывода. В зависимости от состояния геркона потребляемая мощность различается на порядок.
Пример записки Dap pdf
Усовершенствование по п. 6, в котором герконы представляют собой два геркона, разнесенных друг от друга по существу на 112.5 °. 8. Усовершенствование по п.1, в котором упомянутый первый механизм переключения содержит ножной переключатель, установленный на упомянутой платформе, и защитную крышку над упомянутым ножным переключателем для нормального воспроизведения … 1 Электронный измеритель импульсов – геркон и эффект Холла Выходы 2 Только геркон – для работы в опасных зонах 3 Механический регистр для стандартных режимов работы (только модели M012-M050, макс. Давление 35 бар / 500 фунтов / кв. Дюйм) 4 Механический регистр для тяжелых условий эксплуатации (модели M025 – M050, макс. Давление 35 бар / 500 фунтов / кв. Дюйм) 5 Аналоговый Механический регистр (модели M025 – M050 Макс…
Задайте 6 вопросов с несколькими вариантами ответов для определенных интегралов
29 августа 2019 г. · Закрепите переключатель на приборной панели на месте, просверлив отверстие в накладке и сдвинув переключатель через него сзади. В результате останется видимым только переключатель, а все остальное будет за обшивкой. Наденьте винт на колпачок на выключатель так, чтобы сам выключатель торчал сквозь него, затем прикрутите его, чтобы удерживать выключатель напротив накладки … Выключатели зажигания; Пластины домкрата, крепления двигателя, наклон и триммер… Yamaha Boat Reed Valve 60V-13610-00 | 200-350 л.с. 4 1/2 дюйма. GLS Stock #: … $ 200,00 – $ 299,99 0 …
Карта покрытия сети
Найдите дешевый Festo, Найдите лучшие предложения Festo, Поиск подходящего поставщика Festo может быть трудоемким и трудным. Buying Request Hub упрощает задачу: нужно всего несколько шагов: опубликовать запрос на покупку, и когда он будет одобрен, поставщики на нашем сайте смогут процитировать его. ВЫКЛЮЧАТЕЛЬ ИЛИ КРОНШТЕЙН ОПИСАНИЕ СТАНДАРТНЫЙ НОМЕР БЫСТРОЕ ОТКЛЮЧЕНИЕ ЧАСТЬ №, 1 эффект Холла – PNP (источник) HPNPS31 HPNPQ31 1 эффект Холла -NPN (опускание) HNPNS32 HNPNQ32 1 геркон RSS02 RSQ02 Информация о переключателе серии SC HPNPS31 – электронный переключатель (PNP NO), вывод HPNPQ31 – разъем 8 мм.236 .197 .252 118 FLYING LEAD.387 .248.882 LED …
Округ Полк с полицейскими отчетами
Technics Sa-400. Этот веб-сайт не является аффилированным лицом и не спонсируется Sony. Чтобы приобрести запасные части или аксессуары для TC-KE200, свяжитесь с компанией через их веб-сайт или посетите авторизованного продавца.
Nwn feat tree
Двухжильный силовой кабель 15A для автомобильного и морского применения Белый и красный кабель с ПВХ изоляцией и черной внешней оболочкой из ПВХ Продается на метр Количество деталей для Samsung RF30HBEDBSR / AA-03: Запчасти для холодильников в наличии и готовы к отправке сегодня.365 дней на возврат любой детали.
% PDF-1.6
%
15752 0 объект
>
эндобдж
xref
15752 627
0000000016 00000 н.
0000016536 00000 п.
0000016672 00000 п.
0000016880 00000 п.
0000016911 00000 п.
0000016965 00000 п.
0000017004 00000 п.
0000017230 00000 п.
0000017319 00000 п.
0000017404 00000 п.
0000017492 00000 п.
0000017580 00000 п.
0000017668 00000 п.
0000017756 00000 п.
0000017844 00000 п.
0000017932 00000 п.
0000018020 00000 п.
0000018108 00000 п.
0000018196 00000 п.
0000018284 00000 п.
0000018372 00000 п.
0000018460 00000 п.
0000018548 00000 п.
0000018636 00000 п.
0000018724 00000 п.
0000018812 00000 п.
0000018900 00000 п.
0000018988 00000 п.
0000019076 00000 п.
0000019164 00000 п.
0000019252 00000 п.
0000019340 00000 п.
0000019428 00000 п.
0000019516 00000 п.
0000019604 00000 п.
0000019692 00000 п.
0000019780 00000 п.
0000019868 00000 п.
0000019956 00000 п.
0000020044 00000 н.
0000020132 00000 п.
0000020220 00000 н.
0000020308 00000 п.
0000020396 00000 п.
0000020484 00000 н.
0000020572 00000 п.
0000020660 00000 п.
0000020748 00000 п.
0000020836 00000 п.
0000020924 00000 н.
0000021012 00000 п.
0000021100 00000 п.
0000021188 00000 п.
0000021276 00000 п.
0000021364 00000 п.
0000021452 00000 п.
0000021540 00000 п.
0000021628 00000 н.
0000021716 00000 п.
0000021804 00000 п.
0000021892 00000 п.
0000021980 00000 п.
0000022068 00000 н.
0000022156 00000 п.
0000022244 00000 п.
0000022332 00000 п.
0000022420 00000 н.
0000022508 00000 п.
0000022596 00000 п.
0000022684 00000 п.
0000022772 00000 п.
0000022860 00000 п.
0000022948 00000 н.
0000023036 00000 п.
0000023124 00000 п.
0000023212 00000 п.
0000023300 00000 п.
0000023388 00000 п.
0000023476 00000 п.
0000023564 00000 п.
0000023652 00000 п.
0000023740 00000 п.
0000023828 00000 п.
0000023916 00000 п.
0000024004 00000 п.
0000024092 00000 п.
0000024180 00000 п.
0000024268 00000 п.
0000024356 00000 п.
0000024444 00000 п.
0000024532 00000 п.
0000024620 00000 п.
0000024708 00000 п.
0000024796 00000 п.
0000024884 00000 п.
0000024972 00000 п.
0000025060 00000 п.
0000025148 00000 п.
0000025236 00000 п.
0000025324 00000 п.
0000025412 00000 п.
0000025500 00000 н.
0000025588 00000 п.
0000025676 00000 п.
0000025764 00000 п.
0000025852 00000 п.
0000025940 00000 п.
0000026028 00000 п.
0000026116 00000 п.
0000026204 00000 п.
0000026292 00000 п.
0000026380 00000 п.
0000026468 00000 н.
0000026556 00000 п.
0000026644 00000 п.
0000026732 00000 п.
0000026820 00000 н.
0000026908 00000 п.
0000026996 00000 п.
0000027084 00000 п.
0000027172 00000 п.
0000027260 00000 п.
0000027348 00000 п.
0000027436 00000 н.
0000027524 00000 п.
0000027612 00000 п.
0000027700 00000 н.
0000027788 00000 п.
0000027876 00000 п.
0000027964 00000 н.
0000028052 00000 п.
0000028140 00000 п.
0000028228 00000 п.
0000028316 00000 п.
0000028404 00000 п.
0000028492 00000 п.
0000028580 00000 п.
0000028668 00000 п.
0000028756 00000 п.
0000028844 00000 п.
0000028932 00000 п.
0000029020 00000 н.
0000029108 00000 п.
0000029196 00000 п.
0000029284 00000 п.
0000029372 00000 п.
0000029460 00000 п.
0000029548 00000 н.
0000029636 00000 п.
0000029724 00000 п.
0000029812 00000 п.
0000029900 00000 н.
0000029988 00000 н.
0000030076 00000 п.
0000030164 00000 п.
0000030252 00000 п.
0000030339 00000 п.
0000030426 00000 п.
0000030513 00000 п.
0000030600 00000 п.
0000030687 00000 п.
0000030774 00000 п.
0000030861 00000 п.
0000030948 00000 п.
0000031035 00000 п.
0000031122 00000 п.
0000031209 00000 п.
0000031296 00000 п.
0000031383 00000 п.
0000031470 00000 п.
0000031557 00000 п.
0000031644 00000 п.
0000031731 00000 п.
0000031818 00000 п.
0000031905 00000 п.
0000031992 00000 п.
0000032079 00000 п.
0000032166 00000 п.
0000032253 00000 п.
0000032340 00000 п.
0000032427 00000 н.
0000032514 00000 п.
0000032601 00000 п.
0000032688 00000 п.
0000032775 00000 п.
0000032862 00000 п.
0000032949 00000 п.
0000033036 00000 п.
0000033123 00000 п.
0000033210 00000 п.
0000033297 00000 п.
0000033384 00000 п.
0000033471 00000 п.
0000033558 00000 п.
0000033645 00000 п.
0000033732 00000 п.
0000033819 00000 п.
0000033906 00000 п.
0000033993 00000 п.
0000034080 00000 п.
0000034167 00000 п.
0000034254 00000 п.
0000034341 00000 п.
0000034428 00000 п.
0000034515 00000 п.
0000034602 00000 п.
0000034689 00000 п.
0000034776 00000 п.
0000034863 00000 п.
0000034950 00000 п.
0000035037 00000 п.
0000035124 00000 п.
0000035211 00000 п.
0000035298 00000 п.
0000035385 00000 п.
0000035472 00000 п.
0000035559 00000 п.
0000035646 00000 п.
0000035733 00000 п.
0000035820 00000 п.
0000035907 00000 п.
0000035994 00000 п.
0000036081 00000 п.
0000036168 00000 п.
0000036255 00000 п.
0000036342 00000 п.
0000036429 00000 н.
0000036516 00000 п.
0000036603 00000 п.
0000036690 00000 н.
0000036776 00000 п.
0000036862 00000 н.
0000036948 00000 п.
0000037034 00000 п.
0000037120 00000 н.
0000037206 00000 п.
0000037292 00000 п.
0000037378 00000 п.
0000037464 00000 п.
0000037550 00000 п.
0000037831 00000 п.
0000038003 00000 п.
0000038094 00000 п.
0000038184 00000 п.
0000038833 00000 п.
0000039631 00000 н.
0000040276 00000 п.
0000041110 00000 п.
0000041304 00000 п.
0000041487 00000 п.
0000041661 00000 п.
0000042242 00000 п.
0000043291 00000 п.
0000044320 00000 н.
0000045329 00000 п.
0000045738 00000 п.
0000045969 00000 п.
0000046941 00000 п.
0000047892 00000 п.
0000048901 00000 п.
0000049454 00000 п.
0000049584 00000 п.
0000052756 00000 п.
0000052799 00000 н.
0000053352 00000 п.
0000053483 00000 п.
0000056658 00000 п.
0000056701 00000 п.
0000057196 00000 п.
0000057279 00000 н.
0000057343 00000 п.
0000057443 00000 п.
0000057559 00000 п.
0000057759 00000 п.
0000057886 00000 п.
0000058014 00000 п.
0000058172 00000 п.
0000058335 00000 п.
0000058499 00000 н.
0000058688 00000 п.
0000058787 00000 п.
0000058891 00000 п.
0000059077 00000 п.
0000059187 00000 п.
0000059298 00000 п.
0000059451 00000 п.
0000059590 00000 н.
0000059784 00000 п.
0000059921 00000 н.
0000060114 00000 п.
0000060315 00000 п.
0000060459 00000 п.
0000060653 00000 п.
0000060835 00000 п.
0000060996 00000 п.
0000061214 00000 п.
0000061414 00000 п.
0000061563 00000 п.
0000061736 00000 п.
0000061943 00000 п.
0000062054 00000 п.
0000062230 00000 п.
0000062433 00000 п.
0000062544 00000 п.
0000062721 00000 н.
0000062901 00000 п.
0000063064 00000 п.
0000063239 00000 п.
0000063450 00000 п.
0000063560 00000 п.
0000063737 00000 п.
0000063922 00000 п.
0000064083 00000 п.
0000064304 00000 п.
0000064447 00000 н.
0000064621 00000 п.
0000064807 00000 п.
0000064948 00000 н.
0000065121 00000 п.
0000065327 00000 п.
0000065437 00000 п.
0000065611 00000 п.
0000065775 00000 п.
0000065894 00000 п.
0000066067 00000 п.
0000066232 00000 п.
0000066395 00000 п.
0000066568 00000 п.
0000066760 00000 п.
0000066885 00000 п.
0000067057 00000 п.
0000067265 00000 п.
0000067420 00000 п.
0000067593 00000 п.
0000067797 00000 п.
0000068000 00000 н.
0000068174 00000 п.
0000068345 00000 п.
0000068532 00000 п.
0000068704 00000 п.
0000068872 00000 п.
0000068988 00000 п.
0000069175 00000 п.
0000069329 00000 п.
0000069438 00000 п.
0000069558 00000 п.
0000069721 00000 п.
0000069823 00000 п.
0000070004 00000 п.
0000070152 00000 п.
0000070253 00000 п.
0000070360 00000 п.
0000070502 00000 п.
0000070618 00000 п.
0000070773 00000 п.
0000070905 00000 п.
0000071032 00000 п.
0000071195 00000 п.
0000071368 00000 п.
0000071523 00000 п.
0000071727 00000 п.
0000071896 00000 п.
0000072072 00000 п.
0000072206 00000 п.
0000072367 00000 п.
0000072519 00000 п.
0000072699 00000 п.
0000072856 00000 п.
0000072984 00000 п.
0000073167 00000 п.
0000073311 00000 п.
0000073462 00000 п.
0000073642 00000 п.
0000073772 00000 п.
0000073892 00000 п.
0000074013 00000 п.
0000074169 00000 п.
0000074327 00000 п.
0000074492 00000 п.
0000074668 00000 п.
0000074828 00000 п.
0000074972 00000 п.
0000075162 00000 п.
0000075270 00000 п.
0000075442 00000 п.
0000075567 00000 п.
0000075703 00000 п.
0000075892 00000 п.
0000076070 00000 п.
0000076238 00000 п.
0000076411 00000 п.
0000076570 00000 п.
0000076702 00000 п.
0000076884 00000 п.
0000077113 00000 п.
0000077260 00000 п.
0000077416 00000 п.
0000077563 00000 п.
0000077716 00000 п.
0000077873 00000 п.
0000078076 00000 п.
0000078225 00000 п.
0000078339 00000 п.
0000078493 00000 п.
0000078681 00000 п.
0000078783 00000 п.
0000078922 00000 п.
0000079089 00000 п.
0000079238 00000 п.
0000079382 00000 п.
0000079495 00000 п.
0000079620 00000 н.
0000079780 00000 п.
0000079930 00000 н.
0000080105 00000 п.
0000080282 00000 п.
0000080555 00000 п.
0000080677 00000 п.
0000080876 00000 п.
0000081056 00000 п.
0000081228 00000 п.
0000081352 00000 п.
0000081476 00000 п.
0000081626 00000 п.
0000081764 00000 н.
0000081892 00000 п.
0000082019 00000 п.
0000082171 00000 п.
0000082332 00000 п.
0000082519 00000 п.
0000082653 00000 п.
0000082804 00000 п.
0000082992 00000 п.
0000083181 00000 п.
0000083335 00000 п.
0000083499 00000 н.
0000083696 00000 п.
0000083839 00000 п.
0000084045 00000 п.
0000084181 00000 п.
0000084311 00000 п.
0000084496 00000 п.
0000084653 00000 п.
0000084834 00000 п.
0000084978 00000 п.
0000085166 00000 п.
0000085334 00000 п.
0000085524 00000 п.
0000085709 00000 п.
0000085876 00000 п.
0000086060 00000 п.
0000086179 00000 п.
0000086321 00000 п.
0000086521 00000 п.
0000086692 00000 п.
0000086881 00000 п.
0000087020 00000 н.
0000087177 00000 п.
0000087310 00000 п.
0000087543 00000 п.
0000087715 00000 п.
0000087855 00000 п.
0000088020 00000 п.
0000088135 00000 п.
0000088256 00000 п.
0000088398 00000 н.
0000088586 00000 п.
0000088725 00000 п.
0000088918 00000 п.
0000089124 00000 п.
0000089302 00000 п.
0000089481 00000 п.
0000089656 00000 п.
0000089850 00000 п.
00000
00000 н.
00000
00000 п.
00000 00000 п.
00000
00000 п.
00000
00000 п.
00000
00000 п.
00000 00000 п.
0000091357 00000 п.
0000091568 00000 п.
0000091779 00000 п.
0000091987 00000 п.
0000092145 00000 п.
0000092352 00000 п.
0000092529 00000 н.
0000092712 00000 п.
0000092911 00000 п.
0000093045 00000 п.
0000093248 00000 н.
0000093452 00000 п.
0000093661 00000 п.
0000093868 00000 п.
0000094024 00000 п.
0000094236 00000 п.
0000094441 00000 п.
0000094606 00000 п.
0000094785 00000 п.
0000094934 00000 п.
0000095087 00000 п.
0000095279 00000 п.
0000095453 00000 п.
0000095587 00000 п.
0000095782 00000 п.
0000095910 00000 п.
0000096060 00000 п.
0000096184 00000 п.
0000096346 00000 п.
0000096485 00000 п.
0000096657 00000 п.
0000096825 00000 п.
0000097003 00000 п.
0000097155 00000 п.
0000097293 00000 п.
0000097460 00000 п.
0000097629 00000 п.
0000097812 00000 п.
0000097991 00000 п.
0000098211 00000 п.
0000098394 00000 п.
0000098574 00000 п.
0000098731 00000 п.
0000098926 00000 п.
0000099072 00000 н.
0000099234 00000 н.
0000099396 00000 н.
0000099557 00000 п.
0000099710 00000 п.
0000099855 00000 н.
0000100082 00000 н.
0000100216 00000 н.
0000100358 00000 н.
0000100530 00000 н.
0000100680 00000 н.
0000100808 00000 н.
0000100932 00000 н.
0000101112 00000 н.
0000101311 00000 н.
0000101543 00000 н.
0000101664 00000 н.
0000101787 00000 н.
0000101987 00000 н.
0000102130 00000 н.
0000102286 00000 н.
0000102437 00000 п.
0000102586 00000 н.
0000102710 00000 н.
0000102909 00000 н.
0000103100 00000 н.
0000103262 00000 н.
0000103514 00000 н.
0000103676 00000 н.
0000103883 00000 н.
0000104071 00000 н.
0000104269 00000 н.
0000104426 00000 н.
0000104621 00000 н.
0000104795 00000 н.
0000104979 00000 п.
0000105116 00000 п.
0000105286 00000 п.
0000105471 00000 п.
0000105624 00000 н.
0000105794 00000 п.
0000105921 00000 н.
0000106130 00000 н.
0000106258 00000 н.
0000106389 00000 п.
0000106560 00000 н.
0000106678 00000 н.
0000106888 00000 н.
0000107095 00000 п.
0000107243 00000 н.
0000107390 00000 н.
0000107546 00000 н.
0000107702 00000 н.
0000107834 00000 п.
0000108029 00000 н.
0000108206 00000 н.
0000108353 00000 п.
0000108500 00000 н.
0000108712 00000 н.
0000108858 00000 н.
0000109003 00000 п.
0000109198 00000 п.
0000109380 00000 п.
0000109518 00000 п.
0000109637 00000 п.
0000109784 00000 н.
0000109973 00000 н.
0000110134 00000 п.
0000110270 00000 н.
0000110434 00000 п.
0000110581 00000 п.
0000110711 00000 п.
0000110871 00000 н.
0000111077 00000 н.
0000111174 00000 н.
0000111322 00000 н.
0000111446 00000 н.
0000111558 00000 н.
0000111675 00000 н.
0000111790 00000 н.
0000111910 00000 н.
0000112017 00000 н.
0000112196 00000 н.
0000112316 00000 н.
0000112423 00000 н.
0000112557 00000 н.
0000112692 00000 н.
0000112812 00000 н.
0000112921 00000 н.
0000113055 00000 н.
0000113198 00000 н.
0000113341 00000 п.
0000113485 00000 н.