Pic или avr: 8051, PIC, AVR ARM: » Digitrode.ru

Переключение с PIC на AVR [закрыто]

Программное обеспечение ОК

Наборы команд PIC и AVR похожи, но я бы не стал программировать AVR в сборке. Программа на C, с Atmel Studio. Он поставляется в комплекте с версией gcc для AVR и имеет действительно хороший дизассемблер, который показывает вам строку C, которую вы написали, и под ней очень удобные инструкции по сборке. Я бы тоже скачал WinAVR .

Программное обеспечение для ПК

Используйте Atmel Studio . Не связывайтесь с Eclipse, Блокнотом программиста или какими-либо другими случайными средами разработки, которые люди используют. Atmel Studio основана на Visual Studio, имеет всевозможные плагины, доступные от Atmel, и имеет хороший встроенный симулятор.

Аппаратное обеспечение программирования

Есть много дешевых программистов AVR, таких как Bus Pirate, но есть Atmel ICSP . Это полностью стоит дополнительных затрат, если вы собираетесь сделать более одного проекта AVR. Он использует USB и управляется изнутри Atmel Studio.

аппаратное обеспечение ОК

Существует инструмент выбора , но, как правило, низкоуровневое типичное оборудование AtMega:

Internal Oscillator (8 MHz)
3 Timers
2.7-5.5V Supply range
8-channel multiplexed ADC
I2C and SPI support
USART
2 PWMs that work in conjunction with the 8 bit timers

Переход на более производительные чипы купит вам больше таймеров и ШИМ. Какой объем флэш-памяти и SRAM у вас есть, зависит от конкретного чипа. Большинство деталей AtMega доступны в формате PDIP, причем действительно большое количество выводов — QFP.

Варианты SPI и I2C

Можно использовать устройства MCP I2C (TWI для AVR) и SPI с UC AVR. Вам действительно нужно внимательно прочитать разделы SPI и TWI таблицы данных AVR, не пропускайте ни одной строки. Существует несколько регистров управления для порядка данных, полярности часов и т. Д. Для каждого интерфейса. Все это изложено в таблицах и очень читабельно. Нетрудно связать AVR и PIC. Вам просто нужно будет поиграть с режимами SPI или TWI, пока вы не установите связь.

Простой программатор для микроконтроллеров PIC и AVR



Автор: Александр Елисеев

E-mail: ase (at) takas.lt

(замените (at) на @)

Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров.

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

Программатор характеризуется тем, что:

  • Испытан под Windows 98, Windows Me, Windows 2000 c процессорами Celeron, AMD Duron, AMD Athlon T, Pentium III до частоты 1000 МГц

  • Программирование ведется через порт RS232

  • Программа не требует инсталяции и дополнительных драйверов.

  • Программирует микроконтроллеры семейства PIC (отладка производилась на PIC16F84 и PIC16F877) по последовательному протоколу и микроконтроллеры семейства AVR (отладка производилась на AT90S8535)

  • Предостовляет возможность самостоятельно добавлять новые чипы из указанных семейств с идентичным протоколом программирования с помощью конфигурационных файлов.

  • Позволяет произвольно менять структуру и содержание меню программируемых чипов и информационных полей связанных с программируемым чипом.

  • Позволяет загружать и редактировать бинарные и HEX файлы, выполнять блочные операции с данными, расчет CRC по нескольким алгоритмам Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)

Рис.1. Окно програмной оболочки

Программирование PIC-ов

Рис.1. Схема программатора PIC-ов

Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона

Программирование AVR-ов

Рис.2. Схема программирования AVR-ов

Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц.

Структура конфигурационных файлов

Конфигурационные файлы имеют расширение chp и должны находиться в директории программы. Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания.

Пример структуры конфигурационного файла для PIC16F84



















[Chip PIC16F84_ICP]Секция чипа c уникальным названием чипа
Level1=MicroChipНазвание пункта меню верхнего уровня
Level2=PICНазвание пункта меню 2-го уровня вложения
ItemCaption=PIC16F84Название конечного пункта меню
InitClass=TfrmMICROCHIP_PIC_ICPНазвание класса окна-фрейма программирующего данное семейство чипов

по определенному протоколу

Названия классов предопределены в программе: TfrmMICROCHIP_PIC_ICP и TfrmATMEL_AVR_ICP
Здесь идет определение программируемых областей, в пунктах Content разные параметры отделяются символом «|»
Area_1_Content= Code | 0..3FFh (1KW)Название и описание области программирования
Area_1_data=CODE, 0, $3FF, 14Данные связанные с областью программирования — уникальный идентификатор, начальный адрес, конечный адрес, размер слова данных в битах
Area_2_Content=EEPROM | 0..3Fh (64B)

Area_2_Data=EEPROM,0,$3F,8

Area_3_Content=Configuration word | CP, PWRTE, WDTE, FOSC

Area_3_Data=CONFIG,$2007,$2007,14

Area_4_Content=ID Locations | 2000H-2003H

Area_4_Data=ID,$2000,$2003,8
и т. д. для других областей
Здесь идет определение установок для некоторых областей программирования определенных выше
Param_1_Content=CP | CP | CONFIGОпределение установки с названием CP, с уникальным идентификатором CP из области CONFIG. По умолчанию установка принимает значение с номером 1 в суффиксе идентификатора
Описание возможных значений установки
Param_1_Choice1=1 — Code protection OFFНазвание 1-го значения установки CP
Param_1_Choice1_icon=4Номер во внутреннем списке отображаемой иконы для 1-го значения
Param_1_Choice1_data=1111111111xxxxмаска 1-го значения
Param_1_Choice2=0 — Code protection ON

Param_1_Choice2_icon=3

Param_1_Choice2_data=0000000000xxxx
Описание 2-го значения установки
Param_2_Content=PWRTE | PWRTE | CONFIG

Param_2_Choice1=1 — Power up timer disabled

Param_2_Choice1_icon=2

Param_2_Choice1_data=xxxxxxxxxx1xxx

Param_2_Choice2=0 — Power up timer enabled

Param_2_Choice2_icon=1

Param_2_Choice2_data=xxxxxxxxxx0xxx
Описание следующей установки и ее значений
Param_3_Content=WDTE | WDTE | CONFIG

Param_3_Choice1=1 — WDT enabled

Param_3_Choice1_icon=1

Param_3_Choice1_data=xxxxxxxxxxx1xx

Param_3_Choice2=0 — WDT disabled

Param_3_Choice2_icon=2

Param_3_Choice2_data=xxxxxxxxxxx0xx

Param_4_Content=Oscilator | FOSC | CONFIG

Param_4_Choice1=RC oscillator (11)

Param_4_Choice1_icon=8

Param_4_Choice1_data=xxxxxxxxxxxx11

Param_4_Choice2=HS oscillator (10)

Param_4_Choice2_icon=8

Param_4_Choice2_data=xxxxxxxxxxxx10

Param_4_Choice3=XT oscillator (01)

Param_4_Choice3_icon=8

Param_4_Choice3_data=xxxxxxxxxxxx01

Param_4_Choice4=LP oscillator (00)

Param_4_Choice4_icon=8

Param_4_Choice4_data=xxxxxxxxxxxx00

Param_5_Content=ID | ID | ID

Param_5_Choice1=0000

и т.д. для всех необходимых установок

прошивка AVR через программатор Microchip PicKit2

Если вы, как и я, используете в своих конструкциях как микроконтроллеры PIC, так и чипы AVR, было бы удобно для программирования обеих линеек микросхем использовать один и тот же программатор. Кстати, не так давно Microchip приобрела компанию Atmel и фактически сейчас обе линейки выпускаются одной и той же компанией. Посему можно предположить окончание многолетнего холивара на тему что же лучше. Оба типа контроллеров имеют свои недостатки и преимущества, но это тема для другой статьи или видеоролика.

Случилось так что когда-то давно я, как и многие другие, начал знакомство с миром микроконтроллеров с какой-то конструкции на микроконтроллере PIC16F84. Через много лет я купил свой первый фабричный программатор для контроллеров PIC. Это был фирменный (оригинальный) PicKit2, который я привез с международной конференции Microchip, которая проходила в Питере в 2009 году.

Оригинальный PicKit2

Купил я его тогда на конференции с хорошей скидкой в 50 процентов. Сейчас можно купить клон такого программатора на Алиэкспресс очень дешево и он будет работать не хуже оригинального. Или, в крайнем случае сделать клон программатора самому, например как описано в этой статье.

Китайский клон PicKit2. Можно заказать здесь

Нужно сказать, что программатор PicKit2 уже не поддерживается компанией Microchip (в плане обновления прошивки или управляющей программы) но это не мешает ему отлично работать и по сей день. Сейчас Microchip продвигает более новую версию — PicKit3, который внешне выглядит почти также как и вторая версия. С третьим я пока не имел дела, для моих задач мне вполне хватает второго.



Обычно если мне нужно запрограммировать микроконтроллер Pic я использую программатор PicKit2 с его родной программой PicKit2.61, а если я хочу прошить, например, контроллер ATMega16, то делаю это через программатор USBAsp который можно купить в Китае за полтора доллара.

Китайский UsbAsp

Однако сейчас появилась возможность использовать для прошивки как PIC так и AVR один программатор — Microchip PicKit2 или его клон, с использованием Бесплатной программы AVRDude, которая сейчас поддерживает PicKit2. Несмотря на то, что AVRDude — это консольное приложение и в чистом виде требует от пользователя навыков работы с командной строкой, но сейчас есть очень хорошая программа — оболочка для AVRDude, которая называется AVRDUDESHELL и позволяет очень удобно работать с AVRDude, не заморачиваясь с командной строкой. Фактически, работая в AVRDUDESHELL вы можете вообще не знать о существовании AVRDude. Скачать программу AVRDUDESHELL можно здесь. Сама AVRDude уже входит в состав AVRDUDESHELL и отдельно ее устанавливать не нужно.

Программатор PicKit2 имеет шести контактный разъем. Для программирования микроконтроллеров PIC используются первые пять контактов. Шестой — дополнительный, при программировании пиков он не задействован.

Разъем программирования PicKit2

Назначение выводов:

VPP / MCLR
VDD напряжение питания целевого устройства
VSS земля
ICSPDAT / PGD
ICSPCLK / PGC
AUX

Для программирования контроллеров AVR нам потребуется сделать специальный шлейф и использовать все шесть контактов PicKit2. Шлейф делаем в соответствии с таблицей ниже:

Шлейф может выглядеть например так:

Для работы подключаем PicKit2, шлейфом соединяем его с программируемым устройством (или адаптером микроконтроллера с Zif панелькой), Запускаем AVRDUDESHELL и выбираем в списке программаторов нужный нам PicKit2. Загружаем файл прошивки и программируем контроллер. Всё предельно просто.

Возможно вам потребуется USB драйвер программатора PicKit2. ВЫ можете скачать его по это ссылке. Он входит в состав родной программы Microchip PicKit2 V2.61. На сайте Microchip вы ее уже не найдете, но можете скачать здесь (см. ниже). Эта небольшая программка пригодится вам и для прошивки контроллеров PIC.

Загрузки:
Программа AVRDUDESHELL
Программа Microchip PicKit2 V2.61 со встроенным USB драйвером



Ladder Logic для PIC и AVR

Перевод на русский язык оригинальной
статьи Jonathan Westhues: http://cq.cx/ladder.pl

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

логики (Ladder Logic) и генерирует нативный код для PIC16 и AVR.
Особенности программы:

  •      цифровые входы и выходы
  •      таймеры (TON, TOF, RTO)
  •      счетчики (CTU, CTD, ‘цифровые счетчики’
    для использования в качестве секвенсора)
  •      аналоговые входы, аналоговые (ШИМ) выходы
  •      целочисленные переменные и
    арифметические команды
  •      последовательный порт для связи с PC,
    LCD, и другими устройствами
  •      сдвиговые регистры, просмотровые таблицы
    (look-up tables)
  •      EEPROM переменные, значения которых не
    теряются при выключении питания
  •      симулятор, для проверки вашей программы
    перед генераций кода для PIC/AVR

Данная программа является свободным программным обеспечением; исходный
код и исполняемые файлы доступны
для скачивания.

Введение

ПЛК часто программируются в релейной логике. Это происходит потому, что
ПЛК первоначально заменили
релейные системы управления, и даже спустя сорок лет релейные схемы
широко распространены и популярны.
ПЛК, как и любой микропроцессор, выполняет список инструкций в
определенной последовательности.
Лестничная логика абстрагирует алгоритм работы программы; Вы можете
программировать ПЛК соединяя проводами контакты реле, концевики, и
катушки реле на экране (как в реальной релейной схеме),  а затем в
режиме реального времени ПЛК симулирует схему, которую Вы нарисовали.
Некоторые контакты могут быть привязаны к входным сигналам из реального
мира, а некоторые реле могут быть привязаны к выходам.  Таким
способом, вы можете заставить моделируемую схему взаимодействовать с
другими устройствами, и управлять ими.

На самом деле вы можете гораздо больше,  потому что вы можете
включить в схему таймеры и счетчики и арифметические операции, которые
вы не можете (легко) реализовать с одними реле. Концепция схем
полезна, не только  потому, что интуитивна, но и потому, что
абстрагирует Вас от проблемы параллелизма. Выглядит это примерно так:

        
||      
Xa              
Xb             
Yout      
||
      
1
||——-]
[——+——-]
[——+——-(
)——-||
        
||               
|               
|                
||
        
||               
|      
Xc      
|                
||
        
||               
+——-]/[——+                
||

       

Это простой фрагмент комбинационной схемы. . Есть три входа, Xa, Xb и
Xc. Существует один выход Yout. Выражение Yout: = Ха И (Xb ИЛИ (НЕ
Хс)). Представьте что Xa и Xb нормально открытые контакты , Хс как
нормально замкнутый контакт, и Yout как выходное реле  (катушка
выходного реле). Более сложный пример:

         
||                                                  
||
        
||                                     
Asetpoint   
||
      
1
||————————————-{READ
ADC}—-||
        
||                                                  
||
        
||                                   
Atemperature  
||
        
||————————————-{READ
ADC}—-||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                       
{SUB 
min_temp 
:=}       
||
      
2
||————————{
Asetpoint
-
20  }———||
        
||                                                  
||
        
||                       
{ADD 
max_temp 
:=}       
||
        
||————————{
Asetpoint
+
20 
}———||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||[Atemperature
>]                      
Yheater    
||
      
3
||[
max_temp    
]+————————(R)——-||
        
||               
|                                 
||
        
||    
Xenable   
|                                 
||
        
||——-]/[——+                                 
||
        
||                                                  
||
        
||[Atemperature
<]     
Xenable         
Yheater    
||
        
||[
min_temp    
]———]
[—————(S)——-||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                      
{SUB 
check_temp 
:=}      
||
      
4
||————————{
Asetpoint
-
30    }——-||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||[Atemperature
>]                      
Yis_hot    
||
      
5
||[
check_temp  
]————————-(
)——-||
        
||                                                  
||
        
||                                                  
||
        
||                                                  
||
        
||——[END]—————————————-||
        
||                                                  
||
        
||                                                  
||

Это простой термостат. . Есть два аналоговых входа , один из которых
(Asetpoint прим. переводчика) предназначен для задания значения, он
может, например, быть подсоединен к потенциометру, чтобы пользователь
выбирал  желаемую температуру. Другой вход (Atemperature прим.
переводчика) обеспечивает измерение температуры,  это может быть
полупроводниковый датчик температуры или платиновая термопара с
подходящей схемой сопряжения. Цифровой выход — Yheater. Он управляет
нагревательным элементом, с помощью соответствующего исполнительного
элемента(тиристора, реле, или твердотельного реле и тд.).

Мы контролируем цикл с простым гистерезисным (релейным) контроллером.
Выбрано плюс/минус 20 единиц АЦП гистерезиса. Это означает, что, когда
температура опускается ниже (уставка — 20), мы включаем обогреватель, и
когда она поднимается выше (уставки + 20), мы выключаем нагреватель.

Я добавил несколько «фишек». Во-первых, вход разрешения: нагреватель
принудительно выключен, когда Xenable закрыт. Я также добавил
индикатор, Yis_hot (Нагрев), чтобы показывать, когда температура
находится в пределах регулирования. Это сопоставимо с порогом немного
холоднее, чем (уставка — 20), так, чтобы индикатор не моргал во время
нормального цикла термостата.

Это тривиальный пример, но по нему должно быть ясно, что язык (Ladder
Logic) довольно выразителен и понятен. Лестничная логика не язык
программирования общего назначения, но это Тьюринг-образный,
применяемый в промышленности, и для ограниченного класса (в основном,
контрольно-ориентированных) проблем — очень удобный в применении
инструмент (электрики как правило читают релейные схемы пром.
установок, но упаси бог ему подсунуть реализацию алгоритма работы схемы
на языке «C» — пошлет Вас на 3 веселых буквы 🙂 примечание
переводчика).

Компилятор релейной логики для PIC16 и AVR

Современные 3-х долларовые микроконтроллеры, вероятно, обладают
вычислительной мощностью сопоставимой с PLC примерно 1975-го года.
Таким образом, они обеспечивают более чем достаточно MIPS для запуска
достаточно сложной лестничной логики с циклом время несколько
миллисекунд. Я думаю, ПЛК, как правило, имеют какую-то, виртуальную
машину или интерпретатор работающий в режиме реального времени,
но если мы делаем логическую схему на микропроцессоре без достаточного
обьема памяти, то компилятор является лучшей идеей.

Поэтому я написал компилятор. Вы начинаете с пустого цикла. Можно
добавлять контакты (входы) и реле (выходы) и более сложные структуры
для создания вашей программы. Таймеры (TON, TOF, RTO) 
поддерживаются. Макс / мин длительность зависит от времени цикла
ПЛК,  которая настраивается, таймеры могут считать от миллисекунд
до десятков минут. Вы можете использовать счетчики и арифметические

операции (плюс, минус, умножение, дел).

Схемные элементы могут быть добавлены последовательно или параллельно с
существующими элементами.Список Ввода/Вывода строится из нарисованной
лестничной логики. Вы можете использовать внутренние реле (Rfoo), для
которых автоматически выделяется память, или входы (Xfoo) и выходы
(Yfoo), к которым необходимо привязывать пины(выводы) микроконтроллера.
Выбор пинов зависит от микроконтроллера. Я стараюсь поддерживать
наиболее популярные PIC’и и AVR’ы (см. ниже).

Вы можете редактировать программы в графическом виде:

 

Затем вы можете протестировать программу, моделируя ее в режиме
реального времени. Программа появляется на экране с подсвеченными
ветвями (при значении true), что облегчает отладку. Состояние всех
переменных отображается в нижней части экрана в списке Ввода/Вывода.

После того как программа отлажена в режиме симуляции, можно связать
пины микроконтроллера с входами и выходами релейной схемы и
генерировать PIC или AVR код.

Программа поддерживает АЦП, ШИМ-блок, и  UART на тех,
микроконтроллерах которые их имеют. Это означает, что вы можете
написать релейную логику, которая считывает аналоговые входы, и
отправляет и получает через последовательные порт символы (например,
для PC,  если Вы добавите соответствующий преобразователь,
подобный MAX232, или символьный ЖК(LCD)). Можно отправить произвольные
строки через последовательный порт, а также значения целочисленных
переменных, в виде ASCII-текста. Наконец, программа теперь поддерживает
«сохраненные переменные» (preserved variables) на микроконтроллерах с
EEPROM, вы можете указать, что некоторая переменная должна быть
автоматически сохранена в энергонезависимой памяти всякий раз, когда
она меняется, так что это значение сохраняется даже после сброса
питания (выключения).

Ограничения, и Правовая ответственность

Конечно микроконтроллер с этим программным обеспечением не может делать
все, что настоящий промышленный ПЛК. Большинство коммерческих ПЛК сред
предлагают больше возможностей, и готовых блоков, чем мой
инструментарий. Аппаратный блок ПЛК как правило, тоже лучше, входы и
выходы, сконструированы с учетом возможных больших электрических
перегрузок.НО Вы можете приобрести PIC16F877 на плате за десять или
двадцать долларов, или Вы можете заплатить намного больше за ПЛК с
приблизительно такими же параметрами.

 До сих пор я получил очень мало сообщений об ошибках по сравнению
с количеством людей, имеющих вопросы или пожелания. Существует еще
большая возможность ошибок, особенно при использовании
микроконтроллеров, которых я физически не имею (и, следовательно, не
могу проверить). Поэтому, НЕ ИСПОЛЬЗУЙТЕ LDmicro В КРИТИЧЕСКИ ВАЖНЫХ
ПРИЛОЖЕНИЯХ, И В ЧЕМ-ТО ЧТО МОЖЕТ РАЗРУШИТЬ ДОРОГОЕ УСТРОЙСТВО ПРИ
СВОЕМ ОТКАЗЕ.

Как отмечалось выше, код, который генерирует LDmicro далек от
оптимального. Кроме того, не все из ОЗУ данных в PIC16 устройств
доступно для программы лестничной логики. Это потому, что я не
реализовал полную поддержку страничной памяти PIC. Программа, однако,
поддерживает страничную память памяти программ, которая необходима для
доступа памяти программ в PIC16 за границей 2к.

Загрузка

Программное обеспечение разработано под Windows XP. Оно проверено во
всех версиях Windows от 2000 до Windows 7, и по неподтвержденным
сообщениям, она работает под WINE (Linux).Загрузите .exe-файл;. никаких
других файлов не требуется, поэтому нет программы установки. Сохраните
программу где-либо на вашем компьютере и просто запускайте ее от туда.
Мануал включен в .exe-файл, но вы можете скачать его отдельно, если
хотите.
Компилятор генерирует Intel IHEX файл. Большинство программаторов
которые я видел поддерживают этот режим. Разумеется, вам нужен какой-то
программатор, чтобы «залить» hex файл в чип. Для AVR, я рекомендую
AVRISP MKII, который доступен у различных дистрибьюторов. Для PIC, я
рекомендую PICkit 2 компании Microchip, который можно купить во многих
веб-магазинах. Оба программатора официально поддерживаются,
подключаются через USB, и стоят менее 40 долларов.
В целом возможно использовать код, сгенерированный LDmicro с
загрузчиком. Большинство микроконтроллеров AVR имеют специальные фьюзы
(BOOTRST, BOOTSZx), которые должны быть настроены под конкретный
загрузчик, который вы используете.PIC16 не имеют какой-либо конкретной
аппаратной поддержки загрузчика, но LDmicro генерирует код с корректным
форматом, чтобы загрузчик мог переписать вектора сброса.

Буду признателен за любые сообщения об ошибках.Поддерживаются следующие
чипы:

  •      PIC16F628(A)
  •      PIC16F88
  •      PIC16F819
  •      PIC16F877(A)
  •      PIC16F876(A)
  •      PIC16F887
  •      PIC16F886
  •      ATmega128
  •      ATmega64
  •      ATmega162
  •      ATmega32
  •      ATmega16
  •      ATmega8

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

LDmicro может генерировать интерпретируемый байт-код.Если вы готовы
написать интерпретатор, то вы можете использовать его, чтобы запустить
свою релейную схему на любом контроллере (процессоре). Существует не
очень много документации по этому вопросу, но я обеспечиваю пример
интерпретатора реализованный на C (см. исходники проекта прим.
переводчика).

Программа доступна на нескольких языках:

Исходный код, а также различные другие файлы, также доступны для
скачивания. Эта программа может быть распространена и модифицирована в
соответствии с условиями GPL версии 3.

Также доступны cтарые релизы :

(кликните правой кнопкой мыши, чтобы сохранить эти файлы)

Сообщайте о любых ошибках программы.
Это свободное программное
обеспечение, поставляемое без ответственности за контроль качества. Я
даже не имею многих контроллеров для их собственноручной проверки.
​Ошибка, о которой не сообщается, вряд ли когда-либо будет исправлена.

У меня есть учебник, в
котором я описываю, как ввести простую релейную
диаграмму, симулировать ее, а затем генерировать IHEX файл и
запрограммировать его в PIC. Это, наверное, самый простой способ начать
работать с данной программой.

Если у вас есть вопросы о LDmicro, задавайте их на форуме.

Переведено: Ибрагимов М.Р.

Россия Тольятти 06.2011.г.

5v 8 channel relay module board pic avr dsp arm Sale

Доставка

Общее расчетное время, необходимое для получения заказа, показано ниже:

  • Вы размещаете свой заказ
  • (Время обработки)
  • Мы отправляем ваш заказ
  • (Время доставки)
  • Доставка!

Общее расчетное время доставки

Общее время доставки рассчитывается с момента размещения вашего заказа до момента его доставки. Общее время доставки разбито на время обработки и время доставки.

Время обработки: Время, необходимое для подготовки вашего(их) товара (ов) для отправки из нашего склада. Это включая подготовку ваших товаров, проверку качества и упаковку для отправки.

Время доставки: Время нужно вашему(им) товару(ам) для отправления из нашего склада в вашего назначения.

Рекомендуемые способы доставки для вашей страны/региона приведены ниже:

Доставка до:

Отправка из

Этот склад не может быть отправлен к вам.

Метод(ы) доставкиСрока доставкиИнформация о треке

Примечание:

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

(2) Рабочие дни не включают субботу/воскресенье и любые праздничные дни.

(3) Эти оценки основаны на нормальных обстоятельствах и не являются гарантией сроков доставки.

(4) Мы не несем ответственности за сбои или задержки в доставке в результате любого форс-мажорного события, такого как стихийное бедствие, непогоды, войны, таможенные вопросы и любые другие события, находящиеся вне нашего прямого контроля.

(5) Ускоренная доставка не может использоваться для адресов PO Box

расчетные налоги:предполагаемые налоги: может применяться налог на товары и услуги.

Способ оплаты

Мы поддерживаем следующие способы оплаты.Нажмите для получения дополнительной информации, если вы запутались в как платить.

*В настоящее время мы предлагаем COD платежи для Саудовской Аравии, Объединенных Арабских Эмиратов, Кувейта, Омана, Бахрейна, Таиланда, Сингапура, Малайзии, Филиппин, Индонезии. Мы отправим код подтверждения на ваш мобильный телефон, чтобы подтвердить правильность ваших контактных данных. Пожалуйста, убедитесь, что вы следуете всем инструкциям, содержащимся в сообщении.

*Оплата с рассрочкой (кредитная карта) или Boleto Bancário доступна только для заказов с доставкой в Бразилии.

Ladder Logic for PIC and AVR

(also in: Italiano, Deutsch, Portugus, Русский)

Quick summary: I wrote a compiler that starts with a ladder
diagram and generates native PIC16 or AVR code. Features include:

  • digital inputs and outputs
  • timers (TON, TOF, RTO)
  • counters (CTU, CTD, `circular counters’ for use like a sequencer)
  • analog inputs, analog (PWM) outputs
  • integer variables and arithmetic instructions
  • easy-to-use serial communications, to a PC, LCD, or other device
  • shift registers, look-up tables
  • EEPROM variables, whose values are not forgotten when you lose power
  • simulator, to test your program before you generate PIC/AVR code

This program is free software; source code and executables
are available for download.

Introduction

PLCs are often programmed in ladder logic. This is because PLCs
originally replaced relay control systems, and forty years later, we
still haven’t quite let go. A PLC, like any microprocessor, executes
a list of instructions in sequence. Ladder logic tools abstract
this; you can program the PLC by wiring up relay contacts and coils
on-screen, and the PLC runtime will simulate the circuit that you’ve
drawn. Some of the relay contacts can be tied to input signals from
the real world; some of the coils can be tied to outputs. That way
you can make your simulated circuit interact with other devices,
and actually control things. That is the point.

Actually it’s more general than that, because you can incorporate
timers and counters and arithmetic operations that you couldn’t
(easily) perform with just relays. The circuit concept is still
useful though, partly just because it’s intuitive, but also because
it abstracts the concurrency issues. It looks like this:

         ||       Xa               Xb              Yout       ||
       1 ||-------] [------+-------] [------+-------( )-------||
         ||                |                |                 ||
         ||                |       Xc       |                 ||
         ||                +-------]/[------+                 ||

This is a simple piece of combinational logic. There are three
input terms, Xa, Xb, and Xc. There is one output term, Yout. The
expression is Yout := Xa and (Xb or (not Xc)). This makes sense
if you think of Xa and Xb as normally open relay contacts, Xc as
normally closed relay contacts, and Yout as a relay coil. Of course
it gets more complicated than that:

         ||                                                   ||
         ||                                      Asetpoint    ||
       1 ||-------------------------------------{READ ADC}----||
         ||                                                   ||
         ||                                    Atemperature   ||
         ||-------------------------------------{READ ADC}----||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                        {SUB  min_temp  :=}        ||
       2 ||------------------------{ Asetpoint - 20  }--------||
         ||                                                   ||
         ||                        {ADD  max_temp  :=}        ||
         ||------------------------{ Asetpoint + 20  }--------||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||[Atemperature >]                       Yheater     ||
       3 ||[ max_temp     ]+------------------------(R)-------||
         ||                |                                  ||
         ||     Xenable    |                                  ||
         ||-------]/[------+                                  ||
         ||                                                   ||
         ||[Atemperature <]      Xenable          Yheater     ||
         ||[ min_temp     ]--------] [--------------(S)-------||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                       {SUB  check_temp  :=}       ||
       4 ||-----------------------{ Asetpoint - 30    }-------||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||[Atemperature >]                       Yis_hot     ||
       5 ||[ check_temp   ]-------------------------( )-------||
         ||                                                   ||
         ||                                                   ||
         ||                                                   ||
         ||------[END]----------------------------------------||
         ||                                                   ||
         ||                                                   ||

This is for a simple thermostat. There are two analog inputs; one
of them is for the setpoint, so that it might, for example, be connected to
a pot that the user turns to select the desired temperature. The other
provides the temperature measurement; it might be a semiconductor
temperature sensor, or a platinum RTD with suitable interfacing
circuitry. There is a digital output, Yheater. That might control
a heating element, through a suitable switch (a TRIAC, or a relay,
or a solid-state relay, or whatever).

We close the loop with a simple hysteretic (bang-bang)
controller. We have selected plus or minus 20 ADC units
of hysteresis. That means that when the temperature falls below
(setpoint — 20), we turn on the heater, and when it climbs above
(setpoint + 20), we turn the heater off.

I chose to add a few small frills. First, there is an enable
input: the heater is forced off when Xenable is low. I also added an
indicator light, Yis_hot, to indicate that the temperature is within
regulation. This compares against a threshold slightly colder than
(setpoint — 20), so that the light does not flicker with the normal
cycling of the thermostat.

This is a trivial example, but it should be clear that the language
is quite expressive. Ladder logic is not a general-purpose programming
language, but it is Turing-complete, accepted in industry, and, for
a limited class of (mostly control-oriented) problems, surprisingly
convenient.

A Ladder Logic Compiler for PIC16 and AVR

Modern sub-3.00 USD microcontrollers probably have about the
computing power of a PLC circa 1975. They therefore provide more
than enough MIPS to run reasonably complex ladder logic with a cycle
time of a few milliseconds. I think PLCs usually have some sort of
runtime that’s kind of like an interpreter or a virtual machine,
but if we’re doing simple logic on a processor without much memory
then a compiler might be a better idea.

So I wrote a compiler. You start with an empty rung. You can
add contacts (inputs) and coils (outputs) and more complicated
structures to build up your program. Timers (TON, TOF, RTO) are
supported. The max/min durations depend on the cycle time of
the `PLC,’ which is configurable; timers can count from
milliseconds to tens of minutes. There are counters and arithmetic
operations (plus, minus, times, div).

Circuit elements may be added in series or in parallel with
existing elements. An I/O list is built from the ladder logic
drawn. You can have internal relays (Rfoo), for which memory is
automatically allocated, or inputs (Xfoo) and outputs (Yfoo), to which
you must assign a pin on the microcontroller. The selection of pins
available depends on the microcontroller. I have tried to support
the most popular PICs and AVRs (see below).

You can edit the program in graphical form:

Then you can test the program by simulating it in real time.
The program appears on screen with the energized (true) branches
highlighted, which makes it easy to debug. The state of all
variables is shown at the bottom of the screen in the I/O
list.

Once the program works in simulation you can assign pins to the
inputs and outputs and generate PIC or AVR code. The code generator
isn’t all that difficult. If you realize that a parallel circuit
is an OR and a series circuit is an AND, it’s a second-year CS
assignment, and not a very long one. The editor is actually much more
challenging. It would take some work to make a smart compiler,
though. For the AVR a good register allocator would provide a major
speedup. If you wanted to get very fancy then you could apply standard
logic reduction algorithms, and maybe state reduction too. That
would be much more difficult. The timers screw things up anyways.

Even ignoring all that, my code generator for the AVR is very
poor. The AVR back end still generates PIC code…for example,
it does not really take advantage of the fact that the AVR has
more than one register. Some of the code that it generates is just
embarrassingly bad. The PIC back end is better, but not really
great. None of this matters much until you’re trying to run dozens
of rungs of logic with fast cycle times.

I support the A/D converter, PWM unit, and UART on those
microcontrollers that provide them. That means that you can write
ladder logic that reads analog inputs, and that sends and receives
characters over serial (for example to a PC, if you add a suitable
level-shifter like a MAX232, or to a character LCD). It is possible to
send arbitrary strings over serial, as well as the values of integer
variables, as ASCII text. Finally, I now support `preserved variables’
on devices with EEPROM; you can indicate that a particular variable
should be auto-saved to nonvolatile memory whenever it changes,
so that its value is persistent across power-on resets.

Limitations, and Disclaimer

Of course a microcontroller with this software can’t do everything
that a PLC will. Most PLC environments offer more features and
predefined blocks than my tool does. The PLC hardware is better too;
usually the inputs and outputs are designed to withstand incredible
electrical abuse. You can get a PIC16F877 on a carrier board for ten
or twenty USD, though, and you’ll pay a fair bit more for a PLC with
the same capabilities.

So far I have received very few bug reports compared to the
number of people with questions or feature requests. There is
still great possibility for defects, especially in the targets for
microcontrollers that I do not physically have (and therefore cannot
test). Certainly do not use LDmicro for anything safety-critical,
or anything that would break something expensive if it failed.

As noted above, the code that it generates is far from
optimal. Also, not all of the data RAM in PIC16 devices is available
to the ladder logic program. This is because I have not implemented
very much support for all the paging nonsense. I do, however,
support the program memory paging, which is necessary to access
program memory locations in the PIC16 beyond 2k.

Download

This software is tested under all
versions from Windows 2000 to Windows 10. Unconfirmed reports suggest
that it works under WINE.
The download is a .exe file; there
are no other files required, so there is no installation program.
Save it somewhere on your computer and just run it, and it will
work. The manual is included in the .exe file, but you can
download it separately if you want.

The compiler generates Intel
IHEX files. Most of the programming software that I have seen
expects this. Of course you need some sort of programming gadget
to get the hex file into the chip. For the AVRs, I recommend an AVRISP
mkII, which is available from

various distributors.
For the PICs, I recommend Microchip’s PICkit 2 or 3, which is
available from their web store.
Both of these are officially supported, connect over USB, and cost
less than 40 USD.

It should generally be possible to use code generated by LDmicro
with a bootloader. Most AVR parts have special fuses (BOOTRST, BOOTSZx)
that will need to be configured for whatever bootloader you are using.
The PIC16 parts don’t have any specific hardware support for a bootloader,
but LDmicro generates code with the correct format to allow the
bootloader to rewrite the reset vector.

I would appreciate any bug reports. The following chips are supported:

  • PIC16F628(A)
  • PIC16F88
  • PIC16F819
  • PIC16F877(A)
  • PIC16F876(A)
  • PIC16F887
  • PIC16F886
  • ATmega128
  • ATmega64
  • ATmega162
  • ATmega32
  • ATmega16
  • ATmega8

It is also possible to generate C code from the ladder program. That is
less convenient, but you could use it on any processor for which you
have a C compiler.

LDmicro can generate interpretable byte code. If you
are willing to write an interpreter then you can use this to run
your ladder code on any kind of target. There is not very much
documentation on this, but I provide a sample interpreter in
mostly-portable C.

You can download a build of my last stable release:

LDmicro is now maintained
by Ihor Nehrutsa, who has added
support for many new processors and other features. You can get more
recent builds from his repo:

The source code, and various other files, are also available for download.
This program may be distributed and modified under the terms of the
GPL Version 3.

Older releases are also available:

(right-click to save any of these files)

Please report any defects. This is free software, with no
department in charge of quality control. I do not even have the
hardware to test many of the targets myself. A bug that is not
reported is unlikely to ever be fixed.

I have a tutorial, in
which I describe how to enter a simple ladder diagram, simulate it,
and then generate an IHEX file and program it into a PIC. That is
probably the easiest way to get started with this software.

If you have questions about LDmicro, then ask them on
the forum.

January 2016, Portland, OR;
thanks to G. Mariani and A. Pedrazzi for Italian translations;
H. U. Noell for German; D. Corteletti and O. da Rocha for Portuguese;
M. Vaufleury for French; J. Pascual for Spanish; A. Akici for Turkish.

ISD1700 модуль серии записи голоса класс ISD1760 голосовой AVR PIC|pic avr|pic module |

ISD1700 модуль серии записи голоса класс ISD1760 голосовой AVR PIC|pic avr|pic module

Старт

1 лот инфракрасный ИК беспроводной пульт дистанционного управления Модуль Ki…US $0,92 YDS-12 3A DC-DC понижающий преобразовательUS $4,00 W1209 DC12V холодный температурный термостатUS $2,95 XL6019 DC-DC бустер модуль питания модуль ou…1,65 долл. США DC-DC понижающий модуль питания 5V-12V 24…US $1,20 4-осевой USB CNC контроллер CNC USB интерфейс платы…US $24,45 Бесплатная доставка 3590S-2-103L 3590S 10K Ом Точность…US $1,98 8 канальный WS2812 5050 RGB светодиодный свет встроенный в полный…1,15 долл. США Бесплатная доставка MAX7219 матричный модуль microcontr…US $1,34 ISD1700 модуль серии модуль записи голоса класса…US $4,45

Конец

ISD1700 модуль серии модуль записи голоса класс ISD1760 голосовой модуль AVR PIC

Описание голосового модуля ISD1700
Голосовой модуль ISD1700 быстро ознакомился с чипами серии ISD1700, разработанными для простой и практичной печатной платы. Он применяется ко всем чипам серии ISD1700 с простыми, полностью функциональными характеристиками. Чип записи серии ISD1700 является высокоинтегрированным высокопроизводительным чипом. Это может быть многосегментная запись, частота дискретизации может быть скорректирована от 4K до 12K, источник питания может варьироваться от 2,4 В до 5,5 В. ISD1700 были новые подсказки для записи, когда новая запись после, светодиодный задний фонарь один раз в несколько секунд, чтобы оповещать пользователей о новых записях. Кроме того, есть четыре типа звука для подсказки операционных результатов пользователя, таких как запуск записи, остановка записи, стирание, стирание всех следующих и так далее. Запись данных хранится в флэш-чипе, без какого-либо сжатия, поэтому есть лучшее качество звука и хранение энергии. Чип имеет два независимых канала ввода аудиосигнала, вход микрофона и аналоговые сигнальные входы. В независимом ключевом режиме, когда операция завершена, функциональный Чип автоматически войдет в режим отключения питания, чтобы уменьшить потребление энергии. В режиме SPI пользователь может выполнять больше функций на чипе. Если для любого адреса памяти для воспроизведения на аналоговом канале регистра конфигурации (аналоговый регистр PathConfiguration, APC) для чтения и записи.

Во-вторых, описание модуля
1 Размер: 5,2 см * 5,5 см;
2 источника питания: 5 В;
3 Время записи: 6K на 75 секунд, 8K на 60 секунд;
4 чип Рабочая частота 6 кГц и 8 кГц опционально;
5 с индикатором питания Светильник, чип индикатор светильник s;
6 простых в эксплуатации, без микроконтроллера или других модулей будет работать напрямую;
7 чипов контрольный штифт уже приводит к облегчению контрольного соединения

Три, ISD1700 модули работают независимо инструкции по использованию
1. Запись МУОВ:
Нажмите и удерживайте клавишу REC, пока светодиодный индикатор горит, на этот раз лицом к микрофону, чтобы говорить, содержимое речи будет записано в голосовом чипе ISD1700.
После записи после периода поднятия ключа СВЕТОДИОДНЫЙ индикатор также выйдет и снова нажмите, чтобы начать запись второго абзаца, последующие абзацы работали.
2. Воспроизведение:
Существует два способа: скручивание краев и скручивание уровня. (Примечание: после записи курсор воспроизведения тона останется в окончательной готовой записи, адрес запуска, затем воспроизведение поставит последний абзац)
(1) Edge: нажмите кнопку воспроизведения, чтобы включить светодиодный индикатор Тока Во время воспроизведения до окончания воспроизведения. Воспроизведение после нажатия указки на начало сегмента просто поместите адрес, нажмите кнопку воспроизведения снова поставит только что законченный выпуск.
(2) триггер уровня: чип часто нажимает кнопку воспроизведения, все проигрывают все голосовые сообщения, и цикл, пока вы не отпустите кнопку.
3. Быстрая вперед:
Операция воспроизведения, выполненная ранее, нажмите на эту кнопку, указатель воспроизведения укажет на следующий раздел, дважды щелкните начальную точку на второй абзац после абзаца. Нажмите эту кнопку во время воспроизведения, чтобы остановить воспроизведение текущего сегмента, а затем воспроизвести следующий абзац, если в настоящее время вы играете последний абзац, последний абзац воспроизводится, чтобы остановить воспроизведение первого абзаца.
4. Стирание:
Односегментная операция стирания может быть эффективной только первый и последний абзац, когда указатель воспроизведения является первым или последним абзацем, точка этого ключа удалит первый или последний абзац. Воспроизведение будет перейти к соответствующей указке во втором абзаце перед стиранием или предпоследним абзацем. Нажмите эту кнопку более 3 секунд, часто вставляйте чипы в режим «Все стираются», в то время как светодиодный индикатор дважды мигает, продолжайте нажимать эту клавишу, светодиодный индикатор 7 мигает, затем отпустите кнопку, чип внутри голосового сообщения удаляется.
5. Сброс сброса:
Нажмите эту кнопку, чип сброс операции выполняется. После сброса, воспроизведение и запись указателя указывает на последний абзац, который указатель воспроизведения на последний абзац указателя начальной записи на последний абзац последнего. Запуск воспроизведения воспроизводится последний абзац, последний абзац, а затем запись начинается запись нового последнего абзаца.
6. Настройка VOL:
Нажмите эту кнопку, чтобы отрегулировать размер выходного звука чипа. Чип по умолчанию выход для максимального звука, за клик, звук на 4 дБ затухание. До самых маленьких звуков, продолжайте нажимать на эту кнопку, каждый щелчок, звук увеличивается на 4 дБ (Примечание: Выполните сброс, выход звука является максимальным).
7. Прохождение через FT:
FT pin с GND, продолжая поддерживать низкий уровень, запустит режим прохода. Прямое действие будет звучать от терминала Analn непосредственно к динамику или выходу AUD. Во время записи, если вы нажмете FT, также будет записывать входящий голосовой сигнал Analn

Список доставки:
1PCSXISD1700 модуль 1 (содержащий ISD1760 голосовой чип)

Шэньчжэнь CAIZHIXING ELECTRONIC CO.,LTD Является ведущим независимым дистрибьютором электронных компонентов в Китае, специализирующимся на обслуживании ведущих OEM/ODM/CEM электронных производителей с поставкой активных частей (ИС, память, чипы, диоды и транзисторы и т. Д.) И Пассивные детали (конденсаторы, резисторы и индукторы и т. д.)…

Если Вы покупаете больше количества, пожалуйста, свяжитесь с нами.

Купите больше деталей. Используя «Добавить в корзину», мы сделаем для вас скидку.

• Информация об оплате 
Мы принимаем только услуги Escrow.

Таможенные пошлины и пошлины: 
Для всех заказов клиентов мы не взимаем плату за доставку, даже 1 шт.

Когда детали прибудут на ваш местный заказ, если части были предъявлены таможенные пошлины, мы не несем ответственности за какие-либо таможенные пошлины или налог на импорт
• Информация о доставке 
· Мы отправим ваши товары в течение 1-5 Рабочие дни После оплаты.

· Стандартная доставка с использованием международной авиапочты, товары отправляются из Гонконга и занимает 7-14

Рабочих дней (2-3 недели) для получения большинства площадей.

Если вы не получили товар в течение 30 рабочих дней (5 недель), пожалуйста, свяжитесь с нами, чтобы изучить чехол. (Бразилия. Италия. 5 ~ 8 недель) Отзывы Мы стремимся достичь 5-звездочного рейтинга для каждой сделки. Пожалуйста, не спешите оставлять негативные отзывы!Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с нами, прежде чем оставить отрицательный отзывы, мы ответим на электронную почту в течение 24 часов.

Если вы не удовлетворены на 100%, пожалуйста, не оставляйте нейтральные или отрицательные отзывы или низкие 1, 2 DSR, прежде чем связаться с нами для помощи. 
Также обратите внимание, что из-за последних оповещений о безопасности воздушных грузов возможны задержки, не зависящие от нашего контроля.

• Политика возврата 
Мы ценим ваш бизнес и предлагаем мгновенную политику возврата в течение 7 дней.(7 дней после получения

Товары). 
Возвращенный товар должен быть в первоначальном состоянии. 
Мы можем вернуть Ваши деньги без стоимости доставки. • Свяжитесь со мной 
Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с нами через Trademanager. Время работы нашего офиса составляет 9:00-12:00am ; 1:00 pm-6:00pm China HK. С понедельника по пятницу, кроме выходных. 
Пожалуйста, не расстраивайтесь, если ваш адрес электронной почты не отвечен в нерабочие часы. 
Мы закрыты по выходным дням, поэтому, если вы напишите нам в пятницу, мы не сможем вернуться к вам до следующего понедельника.

С понедельника по пятницу, кроме выходных. 
Пожалуйста, не расстраивайтесь, если ваш адрес электронной почты не отвечен в нерабочие часы. 
Мы закрыты по выходным дням, поэтому, если вы напишите нам в пятницу, мы не сможем вернуться к вам до следующего понедельника. Caizhixing приветствуем вас • Уведомление 
Пожалуйста, имейте в виду, что Таможенный отдел вашей страны может ввести пошлину или налог на продажу

На Ваш заказанный товар, когда он входит в вашу страну. Однако, исходя из нашего опыта, редко

Случается с небольшими заказами, такими как наша. Мы не несем ответственности за любые налоги или пошлины, взимаемые вашим

Правительство на покупку. 
· Если вы получили дефектный или неправильный товар внутри посылки, пожалуйста, сообщите нам и просто верните

Товар для обмена. 
· Пожалуйста, не стесняйтесь связаться со мной, если у вас есть какие-либо вопросы! Мы ответим в течение 24 часов

Мы предлагаем два способа доставки:
Экономичная доставка из-за границы США (страница отслеживания зарегистрированной почты Сингапура)

Площадь обычно время доставки основное 0,2 кг расширение 0,1 кг

Азия от 10 до 20 рабочих дней 4,00 USD 2,00 USD
США, Канада, Австралия 10-20 рабочих дней 4,00 USD 2,00 USD
Европа от 10 до 20 рабочих дней 4,00 USD 2,00 USD
Остальные 20-30 рабочих дней 4,00 USD 2,00 USD

Ускоренная доставка Int’l (FEDEX, DHL, TNT, EMS)

* В зависимости от разных стран и регионов ваш адрес может быть удаленным, мы имеем право взимать дополнительную стоимость пульта ДУ ниже:

UPS: Удаленная область см. UPS веб-сайте 
DHL: Удаленная область см. DHL веб-сайте 
Fedex: Удаленная область см. FEDEX веб-сайте 
TNT: Позвоните в ваш местный TNT 
Время доставки
Площадь обычно время доставки основное 0,5 кг расширение 0,5 кг
Азия от 2 до 3 рабочих дней 18,00 до 22,00 USD 5,00 до 8,50 USD 
США, Канада, Австралия от 2 до 3 рабочих дней от 22,00 до 25,00 USD 6,00 до 7,50 USD
Европа от 3 до 5 рабочих дней 25,00 USD 6,00 USD
Другие 5-7 рабочих дней 35,00 USD 12,00 USD

Для экспедитных стран TNT EMS потратит 10-15 рабочих дней.

В чем основное различие между PIC и AVR? | автор J3 | Jungletronics

Сборник ответов специалистов

Привет, это подборка с форума сайта Quora:

 Сарвеш Праджапати, изучал GATE Aspirants на Graduate Aptitude Test in Engineering (2018) Ответил 11 января 2018 Вот несколько сравнений на основе по актуальным вопросам, с которыми я работал над реальными проектами. В основном они основаны на использовании ассемблера на AT90S и текущих частях ATTiny и ATMega, а также на частях PIC12 / PIC16.Надеюсь, эта информация поможет вам решить, что может быть лучше для вас. В каких PIC лучше, чем AVR. Набор инструкций / архитектура (для пользователей Assembler) PIC good: Небольшой набор инструкций означает, что вы можете выучить его буквально за день. Пропуск инструкций часто может упростить управление потоком. AVR плохо: набор инструкций в значительной степени неортогонален - многие операции могут выполняться только с определенными регистрами. Относительный диапазон ветвлений может заставить код располагаться в нелогическом порядке. Нет немедленной инструкции XOR. Нелогичная смесь инструкций по управлению потоком пропуска и ветвления (если бы только они сделали STATUS одним из регистров, по которым вы могли бы пропускать….!). Часы и т. Д. На последних фотографиях (12Fxxx и т. Д.) Есть более точно откалиброванные RC-генераторы. Пробуждение Watchdog из спящего режима продолжается после инструкции SLEEP - на AVR это вызывает сброс, что может усложнить ситуацию. задержка постоянна - если вы настроите регулярное прерывание по таймеру на PIC, оно будет происходить каждый раз с точно таким же интервалом. На AVR вы получите, по крайней мере, один джиттер цикла. ADC Намного более быстрая скорость преобразования, чем ввод-вывод AVR, а операции ввода-вывода с битовыми битами такие же, как и в других файловых регистрах, поэтому операции, отличные от операций установки / очистки битов, требуют меньше работы - биты можно переключать с помощью XORWF, несколько битов можно устанавливать или очищать одновременно с помощью ANDWF или IORWF, и вы можете выполнять изящные трюки, такие как использование выходного порта в качестве регистра сдвига для действительно быстрой генерации шаблона.Последний не часто бывает полезен, но позволяет использовать такие изящные вещи, как генерация видео. Порты ввода / вывода имеют гораздо лучшие возможности привода - выходной высокий уровень легко способен обеспечить несколько миллиампер без значительного падения напряжения - полезно для непосредственного включения периферийных устройств (например, операционные усилители) по запросу для энергосбережения. PIC может выходить из спящего режима с помощью коротких импульсов и фронтов. Счетчики асинхронны и могут считать, пока компонент находится в спящем режиме, и считать быстрее, чем тактовая частота процессора. AVR не может просыпаться по краям (за исключением нескольких частей, которые просыпаются при смене вывода), и прерывания, запускаемые по уровню, должны быть утверждены до тех пор, пока микросхема не проснется и не запустятся часы, в противном случае часть вернется в спящий режим.Настройка вывода сброса AVR как ввода / вывода отключает внутрисхемное программирование. На PIC вывод сброса может быть сконфигурирован как вход без отключения последовательного программирования, при условии, что все, что к нему подключено, позволяет запрограммировать напряжение 12,5 В. Доступность Microchip всегда придерживалась политики коротких сроков поставки, и никогда не было значительной нехватки выпущенных деталей. . В прошлом у Atmel были очень плохие времена - их широкий ассортимент продукции означает, что AVR составляют небольшую часть их общего бизнеса, поэтому другие рынки могут иметь приоритет над AVR в отношении производственных мощностей.Microchip теперь имеет испытательную ячейку с быстрым оборотом для производства устройств в короткие сроки (с надбавкой к цене). Детали микрочипов, как правило, более доступны, особенно в небольших количествах. Microchip сохраняет старые детали доступными еще долгое время после того, как они были заменены. Вы все еще можете купить PIC16C54XT, несмотря на то, что сейчас они находятся на четвертой версии. У Atmel гораздо меньше деталей, но многие из них устарели - например, Модель 90S4414 дважды устарела .------------------------------------------- --------------------- Питер Хэнд 
Ответил 9 сентября 2014 г. Первоначально ответил: Каковы важные различия между платформами микроконтроллеров PIC и AVR? Давайте сузим это до разница между 8-битными PIC и базовыми AVR..PIC требуется несколько тактов для каждой инструкции. AVR выполняет большинство инструкций за один такт. PIC имеет небольшой фиксированный аппаратный стек, поэтому подпрограммы не могут быть размещены очень глубоко, а компилятор C не может создать кадр стека. AVR имеет указатель стека, который может адресовать всю доступную RAM ... PIC может напрямую адресовать только 256 байтов RAM, которые должны быть переключены с помощью дополнительных инструкций. AVR может напрямую адресовать 64k ... Единственный бесплатный компилятор PIC C - это урезанное ПО. AVR имеет полностью функциональный бесплатный компилятор GCC, поддерживаемый большой командой..PIC имеет регистр W. AVR имеет 32 регистра общего назначения, включая три пары, которые можно использовать в качестве указателей .---------------------------------- ------------------------------ Автор: Берт Веррикен, основатель, ASIC и FPGA SoC design 4 AI и GPU delisHDL.com Ответ дан 9 января , 2018 Первоначально ответили: В чем разница между PIC и AVR? Краткий ответ: набор инструкций. Длинный ответ: PIC - это бренд компании Microchip, AVR - это Atmel. И PIC, и AVR - это семейства микроконтроллеров. Семейное значение, разные версии контроллера.Есть сходство между версиями PIC и версиями AVR. В зависимости от области применения, доступности и цены у разработчиков есть выбор между версиями PIC и AVR. Microchip приобретает Atmel: Microchip Technology, Inc. приобретает Atmel. В конечном итоге может произойти слияние PIC и AVR. Нет смысла (по крайней мере, для меня) поддерживать в живых две отдельные цепочки инструментов. В семействе контроллеров по-прежнему будут необходимы определенные инструменты (компиляторы), но теперь AVR и PIC больше не конкурируют, они принадлежат одной и той же компании.С точки зрения эффективности и стоимости один суббренд имеет смысл. Но я мог ошибаться .-------------------------------------------- -------------------- Автор: Vinay Chaddha, играет с микроконтроллерами с 1979 г.Ответ 19 июня 2013 г. Первоначальный ответ: Каковы важные различия между платформами микроконтроллеров PIC и AVR? От разных поставщиков , распиновка, инструкции, программное обеспечение (IDE и компилятор) и различные инструменты для записи. Однако они выполняют аналогичные функции.

Или скажу такую ​​же разницу, как машины от Maruti Suzuki и Hyndai.У обоих есть большой выбор автомобилей, эксклюзивные выставочные залы и сервисные станции, и им нужны разные запчасти, которые могут не подходить к другим моделям. Однако вы можете купить у любого из них. Они выполняют те же функции.

------------------------------------------------- --------------- Автор
Вагнер Липнхарски, консультант Atmel AVR Ответ 10 января 2018 г. Это совершенно разные микроконтроллеры. Сравнивать их - это то же самое, что сравнивать яблоки с морковью. Они используют другую архитектуру, совершенно другой набор инструкций, ненормально другой способ обработки инструкций - AVR делает это за один такт, PIC нужно четыре, поразительные различия в полезных регистрах - AVR имеет 32, PIC имеет один и так далее.Я всегда буду выбирать AVR, потому что давным-давно уже хорошо продумал и сравнил оба. Мне очень нравится писать код на ассемблере, этой единственной проблемы было достаточно, чтобы выбрать AVR, поскольку сборка PIC запутана и непрактична из-за меньшего количества инструкций и отсутствия перехода по условию - она ​​становится длинной, макаронной .----- -------------------------------------------------- --------- Тарун Агарвал, технический директор по электронике и электротехнике Ответ дан 20 июня 2016 г. Первоначальный ответ: Встроенные системы: в чем заключаются важные различия между платформами микроконтроллеров PIC и AVR? AVR имеют небанковский доступ к памяти данных, тогда как Похоже, что для PIC требуется установка регистров банка для доступа к памяти, превышающей 256 байт.Кроме того, некоторые AVR поддерживают подключение внешней SRAM таким образом, чтобы MCU мог использовать ее изначально (вместо того, чтобы выполнять серию обращений к портам). AVR имеет 32 регистра общего назначения, а PIC имеет только один. (большинство из них), стек содержится в SRAM, а не ограничен встроенным аппаратным стеком. Напротив, с PIC это на одну проблему меньше. ATmega и PIC18F имеют аппаратные умножители, а ATtiny и PIC16F - нет. AVR, похоже, поддерживают более общую систему прерываний (напоминает мне таблицу векторов прерываний x86), поскольку в отличие от векторов прерываний с высоким / низким приоритетом PIC.PIC18F представляется значительным улучшением по сравнению с PIC16F. ATmega имеет некоторые преимущества перед ATtiny, но в основном по емкости, а не по функциям. И наоборот, их, вероятно, намного проще переключаться между PIC16F и PIC18FA. Хотя тактовые частоты PIC кажутся выше, кажется, что тактовая частота делится на четыре, чтобы получить фактическую скорость выполнения команд. В PIC16F размер памяти указан в 14-битном формате. слов, тогда как PIC18F и AVR перечисляют свои размеры программ в байтах, поэтому размер программы PIC16F больше, чем может указывать просто число K.AVR, похоже, является целью GCC .------------------------------------------ ---------------------- От
Первоначальный ответ: В чем разница между PIC и AVR? AVR и PIC - это два семейства микроконтроллеров, которые работают в Подобный способ. Оба имеют флэш-память, EEPROM, порты ввода-вывода, пространство RAM, таймеры и счетчики, USART, CCP (захват / сравнение / PWM - специальный регистр для выполнения расширенных функций), SSP (синхронный последовательный порт), компараторы, АЦП (аналоговый -цифровой преобразователь), компараторы.Все могут использовать ICSP (внутрисхемный последовательный программатор (ing)). Оба они могут быть запрограммированы на языке ассемблера или, чаще, на C или C ++. Каждому семейству требуются разные IDE для разработки кода, используются разные мнемоники языка ассемблера и используются разные ICSP (и эмуляторы ICE-In-Circuit). Мне довелось знать оба набора микроконтроллеров и владеть обоими наборами инструментов и программного обеспечения. Их приятно использовать, и они очень эффективны. Оба набора микроконтроллеров имеют разные распиновки, иногда разные имена контактов (функции), НО по сути это то же самое, что владение Ford и автомобилем GM.Они работают одинаково, но имеют много общего (и различий) между двумя семействами автомобилей. Microchip (который составляет семейство микроконтроллеров PIC) и ATMEL (… AVR) недавно объединились. -------------------------------------------------- - От
Рахул Трипати, студент Делийского университета при Университете Дели (с 2016 г. по настоящее время) Ответил 3 января 2018 г. У PIC есть MPLAB X, который довольно стабилен (v3.15) и прост в использовании, как с ассемблером, так и с языком C. Инструменты микрочипа, такие как отладчик и программатор PICkit3, обычно очень хорошо работают из MPLAB X.Это намного лучше, чем более старая среда MPLAB 8.x, с лучшей интеграцией отладчика, лучшей компоновкой и гораздо более стабильной. AVR имеет AtmelStudio 7, который имеет сопоставимые функции, но он огромен (750 МБ), поскольку он использует фреймворки Microsoft, как и MPLAB X, но Atmel Studio большой и неуклюжий. Он имеет множество дополнительных функций, таких как решения и доступ в Интернет, которые делают его более сложным, чем он должен быть. Мы обнаружили, что многие люди, особенно при использовании ноутбуков, сталкиваются с трудностями при установке и очень плохо работают.Они возвращаются к старой версии AVR Studio 4.18 (с пакетом обновления 3), поскольку она работает намного лучше и имеет все необходимые функции. Старый эмулятор JTAGICE также поддерживается AVR Studio 4, но не более поздними версиями. Инструменты отладки, такие как AVR Dragon, работают нормально во всех версиях. Нажмите здесь, чтобы узнать больше !! Программа обучения AVRВсе самое лучшее !!! ------------------------------------------ ---------------------- Автор
Ари Фолкнер, работает в Software EngineeringОтветил 17 ноября 2013 г. Первоначально ответил: Каковы важные различия между микроконтроллерными платформами PIC и AVR? 8-битные AVR имеют 26 рабочих регистров, в то время как их эквиваленты PIC имеют только 1, знаменитый регистр «W».

Кроме того, AVR XMega имеет привлекательную систему межпериферийных событий, а также полную поддержку DMA, шаги, которые пытаются снизить функциональность ARM до 8-битных микроконтроллеров с частотой 32 МГц.

------------------------------------------------- --------------- Автор
Чандан Кумар (चन्दन कुमार), более 4 лет опыта работы во встраиваемых системахОтвет 31 мая 2017 г. Спасибо за A2A, их архитектура иная функциональность такие же, как программирование gpio , таймер, счетчик, интерфейс устройства отображения, прерывания и протокол связи.Просто обе разные компании и производят микроконтроллеры. В avr у нас есть такие серии, как attiny, atmega, atxmega и т. Д., В то время как в pic у нас есть серии, такие как pic 12f, 16f, 18f, 24f и т. Д.

Пожалуйста, посетите исходный сайт:

https://www.quora.com / Какая-основная-разница-между-PIC-и-AVR

Спасибо!

PIC против AVR smackdown

Хорошо, я знаю, чего вы хотите. Вам нужен непревзойденный бой, встроенный стиль E.E. Вы хотите знать, ЧТО ЛУЧШЕ, PIC ИЛИ AVR?

Ну, я знаю, на какую сторону делаю ставки (конечно, AVR), но для 99% новичков не имеет большого значения, с чего начать.

Тем не менее, я устал отвечать на одни и те же вопросы снова и снова, так что поехали!

За последние несколько лет D.I.Y. Электроника сделала большой шаг вперед, представив мощные, но недорогие, простые в программировании микроконтроллеры. В данном случае я буду говорить о 8-битных микросхемах, так как они очень популярны. Эти чипы стоят пару долларов, около 5 долларов, их можно запрограммировать с помощью ПК и дешевого программатора (обычно порядка 30 долларов). У них часто есть несколько килобайт программного ПЗУ, около 1/2 КБ ОЗУ и немного EEPROM.Есть некоторые «периферийные устройства», такие как встроенные ШИМ, таймеры, аналого-цифровые преобразователи и т. Д.

В настоящее время существует два основных «дома» микроконтроллеров: семейство Microchip PIC и семейство Atmel AVR. Я понятия не имею, что означает PIC или AVR (wikipedia sez: «Контроллер периферийного интерфейса» и «Advanced Virtual RISC» соответственно). Также существует T.I. MSP430, о котором я слышал хорошие отзывы от друзей, которые занимались его разработкой, но недостаточно, чтобы поместить его здесь, и микросхемы Silabs, которые великолепны, но не совсем для любительского рынка.

Я не особо разбираюсь в этом вопросе, поэтому, пожалуйста, помогите мне заполнить эту страницу более полезной информацией, опубликуйте ее на форуме! и сделайте тему что-то вроде «PIC v. AVR». Имейте в виду, что эта страница изначально была написана в 2004 году. Спасибо!

Это первый пункт, который я считаю очень важным. Если вы делаете разовые проекты / прототипы, вам понадобится чип, с которым легко работать. Это означает упаковку DIP.
К счастью, и AVR, и PIC имеют множество микросхем в DIP-корпусах.

Победитель? Это галстук!

Трудно сравнивать цену, потому что иногда один чип может иметь больше периферийных устройств или оперативной памяти. Итак, я сравню три набора микросхем, 8-контактный чип, ~ 20-контактный чип и 40-контактный чип. Они также сопоставимы по «мощности», но поверьте мне в этом. Цены указаны за штуку от Digikey

.

8-контактный: PIC12F629 (1,29 доллара США) против ATtiny13 (1,40 доллара США)
~ 20-контактный: PIC16F628 (3,35 доллара США) против ATtiny2313 (2,26 доллара США)
40-контактный: PIC18F452 (10 долларов США.35) против ATmega32 (8,17 доллара США)

Победитель? Я думаю, что цифры довольно сопоставимы. Так что я назову это ничьей.

Parlez-vous turing законченность? Если вы не можете использовать выбранный вами язык, вам потребуется гораздо больше времени, чтобы освоить свой micro. Вот несколько общих языков и комментарии.

Сборка: ОК, да, конечно, вы можете писать на ассемблере. И PIC, и AVR имеют бесплатные ассемблеры, доступные по умолчанию от Microchip (MPLab) и Atmel (AVRTools) для Windows.Для AVR также есть бесплатный ассемблер командной строки unix avra, так что вы можете запускать его под MacOS X (что я успешно сделал) или Linux. Точно так же у PIC есть gpasm, который я никогда не использовал, но я предполагаю, что он работает хорошо.
В целом, я написал некоторую ассемблерную программу для обоих процессоров, и мне неприятно рассказывать ее пользователям PIC, но написание ассемблера для PIC сродни ударам себя по лицу. (За исключением того, что это даже не так эффективно, потому что вам нужно сначала вставить нож в рабочий регистр (movlw KNIFE), а затем вы можете нанести себе удар (movwf FACE).)
Для людей, которые писали сборку на других платформах, я бы сравнил это с написанием сборки Intel в стиле MIPS / RISC. Платформа Intel запутанная и очень CISCy, тогда как процессоры в стиле MIPS имеют меньше простых инструкций.
По крайней мере, в AVR нет «банков памяти» — настоящий ужас, который делает рукописный код, особенно с прерываниями, практически невозможным.
Победитель? Что касается сборщиков, это ничья, но в вопросе самой сборки AVR — явный победитель.


C: C — отличный язык для микроконтроллеров: он был разработан еще тогда, когда мэйнфреймы обладали вычислительной мощностью / памятью на уровне современного микроконтроллера (!). В результате он легкий, быстрый и не содержит бесполезных вещей, таких как сборка мусора или «объекты», но поставляется с массивами, функциями, указателями и т. Д. Для PIC «стандартные» компиляторы от HiTech и CCS для Windows. . Я использовал CCS и нашел его применимым, хотя в нем были некоторые странные дополнения: он не позволял мне компилировать код, который «мог» переполнять стек.Однако в него встроено множество хороших макросов. Стив М. пишет:

Мне нравится ориентироваться на ультра-недорогие устройства и покупать их компилятор C. CCS за 450 долларов. Это далеко не ANSI C и даже не чувствителен к регистру (!), Но если я правильно держу рот, он обычно достаточно хорошо компилирует мой код. Но его самая большая проблема заключается в том, что в компилятор «встроены» огромные функциональные возможности (у него нет компоновщика), а это означает, что каждую неделю, когда Microchip выпускает новую часть, ваш компилятор устаревает.Все, что вам нужно сделать, это обновить компилятор, но это стоит 250 долларов в год за «поддержку», которую я в противном случае не использовал бы. Так как моей лицензии исполнилось 2 года, я просто живу без крутых новых крошечных моделей серии 10F и всего остального нового. HiTech C кажется лучшим (ANSI) компилятором, но он стоит 1000 долларов и по-прежнему требует «поддержки» 250 долларов в год, чтобы поддерживать устройства в актуальном состоянии. Очень раздражает.

Есть также, по-видимому, бесплатный компилятор для PIC, но я мало о нем слышал. Может кто-нибудь отправить в записке? Существует бесплатный компилятор для PIC, доступный от Microchip, пишет Дэн Нгуен:

Что касается бесплатного компилятора PIC, вы просто загрузите его с Microchip
веб-сайт, и вы можете использовать его в Microchip MPLAB IDE.На самом деле
версия для студентов и единственная разница в том, что все функции
включен только в течение первой недели. После этого единственное что меняет
Вы можете только компилятор «оптимизировать» ваш код до уровня 2
вместо всего пути — но большая часть оптимизации не нужна на
все, и если вы хотите, чтобы ваш код выполнялся именно так, как вы его набрали,
оптимизации не для вас.

Microchip утверждает, что не обновляет его так часто, как платная версия
.
(но это понятно).

Еще есть SDCC, который я использовал очень давно и не был поклонником. Однако это бесплатный и открытый исходный код, и он компилирует код C для многих (но не для всех) устройств PIC.

На стороне АРН
почти все используют avr-gcc, целевую версию gcc для микроконтроллера AVR. В этом есть много хорошего. Во-первых, это совершенно бесплатно и работает для Mac, Linux, Windows в хорошем дистрибутиве. Во-вторых, это «настоящий» C, который отлично подходит, когда вам нужны такие вещи, как стандартные библиотеки, включения, связывание, объединения, структуры и указатели (по крайней мере, CCS боролась с этим).Это также означает, что портировать код действительно просто, потому что его используют все (не все компиляторы PIC совместимы на 100%). В-третьих, он генерирует хороший (быстрый, небольшой и правильный) код: оптимизатор такой же, как и в любом другом gcc.

Победитель? Я даю это AVR: бесплатный высококачественный компилятор с полной оптимизацией, постоянными обновлениями, поддерживающий все устройства и полностью кроссплатформенный? Трудно соревноваться!


BASIC: Я не пишу код на BASIC, поэтому у меня немного информации по этому поводу.Я знаю, что платы Parallax BASICstamp очень популярны (см. Ниже). Я считаю, что они используют компилятор BASIC microEngineering Labs, и я уверен, что этот компилятор довольно хорош. $ 99

На стороне AVR есть BASCOM. Также не использовал. $ 99

Победитель? Не имея дополнительной информации, я думаю, что это ничья.

Я не слишком много знаю об IDE, хотя я играл как с AVR Studio, так и с MPLAB, и многие люди говорят, что MPLAB лучше. Конечно, я не использовал самую последнюю версию MPLAB (я вышел из нее около 5.Икс). Они примерно одинаковы, предлагают легкий доступ для ассемблера.

Победитель? Галстук!

Предостережение: ни один из них не имеет разумной поддержки C-компилятора, и оба работают только в Windows. Mac? Linux? IDE не получишь, катай сам .. Так они оба проигрывают в этом плане

Примечание: Eclipse предлагалось работать с WinAVR, но я не мог заставить его работать сам. YMMV.

Примечание 2: CodeBlocks поддерживает как PIC, так и AVR, и FIRST использует его. Если эти подростки могут это сделать, то сможете и вы!

Итак, вы хотите начать играть, хорошее место для начала — полная плата разработки.Два сравниваемых здесь от производителей:

PIC Kit 1: это относительно новая небольшая плата с питанием от USB, которая поставляется с набором светодиодов, областью прототипирования и преобразователем RS232 .. Идеальная отправная точка!
Плюсы: просто, по делу, полезное руководство и $ 40
.
Минусы:
Однако никаких кнопок или чего-либо еще, кроме нескольких светодиодов, поддерживает только несколько микросхем.

STK500: старый резервный.Тонны всего, включая светодиоды, кнопки, электронные блоки, генераторы переменной частоты, блоки питания и т. Д. 80 долларов.
Плюсы: полнофункциональная, универсальная плата для разработчиков
.
Минусы: вдвое дороже, последовательный порт, а не USB, поэтому вам понадобится конвертер для Mac или некоторых ПК

.

Победитель? Здесь я склоняюсь к PICKit1, так как он дешевле.

Они немного отличаются от «открытых» плат для разработчиков выше. Это больше для людей, которые действительно впервые начинают работать с микроконтроллерами.Есть два реальных варианта, которые я вижу

BASIC Stamp: Этот вездесущий маленький пакет от Parallax в значительной степени доминирует на рынке и является их хлебом и маслом. Программируется на «BASIC», PIC с интерпретатором BASIC + некоторая память eeprom (для хранения инструкций) + преобразователь RS232 = готовое решение для многих образовательных / робототехнических проектов. $ 44

Arduino: многообещающий конденсатор для «BASIC Stamp killer», на самом деле он намного больше (маленькая плата разработчика вместо размера «чипа»).Программирование выполняется с помощью «набросков, подобных процессу», которые в значительной степени написаны на языке C с некоторыми макросами. Поставляется с USB вместо RS232. $ 32

Победитель? На данный момент BS теряет поддержку Arduino. Итак, AVR побеждает!

PIC и AVR

имеют существенные форумы поддержки в PIClist и AvrFreaks. При беглом наблюдении тот факт, что у AVRfreaks есть полнофункциональный веб-сайт с форумами (с ветками!), Проектами, архивами, RSS, сравнениями устройств и т. Д., Дает ему ++ пунктов списка рассылки, который, по их собственному признанию, постоянно завален запросами. Отписаться.В нем есть подборка проектов и архивы, несмотря на то, что веб-страница выглядит так, как будто она была создана в 1997 году. (Я не думаю, что списки рассылки являются эффективным способом обмена электронной информацией для новичков)

С другой стороны, оба сайта обругали меня и эту страницу, поэтому я забираю этот приз! 🙂

Победитель? Ни один!

Одна из вещей, которые вы можете захотеть от вашего микроконтроллера, — это некоторые странные дополнения, такие как поддержка Ethernet, CAN, RF или USB

Я знаю, что у микрочипа есть Ethernet PIC (хотя у меня нет опыта работы с ним), а USB PIC существуют достаточно долго, чтобы быть стабильными.

С другой стороны,

Atmel, похоже, не пошел по этому пути, поэтому, если вам нужна встроенная аппаратная поддержка USB, вам следует пойти с PIC! (С другой стороны, было много примеров успеха bitbang-USB для AVR)

Победитель? ПИК!

Разница между AVR и PIC

Разница между AVR и PIC

Микроконтроллер представляет собой единую интегральную схему (IC), которая сравнима с небольшим автономным компьютером и предназначена для выполнения конкретных задач встроенных систем .Микроконтроллер содержит процессор и небольшой объем памяти (ROM, RAM и т. Д.), Несколько портов ввода / вывода для периферийных устройств, таймер и т. Д. AVR и PIC относятся к семейству микроконтроллеров. Микроконтроллер PIC и микроконтроллер AVR отличаются друг от друга с точки зрения разной архитектуры и разных наборов инструкций, скорости, преобразования, памяти, энергопотребления, ширины шины и т. Д. Теперь давайте подробно разберемся, чем они отличаются друг от друга.

1. Микроконтроллер AVR:
Микроконтроллер AVR изготовлен корпорацией Atmel в 1996 году.Он основан на архитектуре набора команд RISC (ISA) и также называется Advanced Virtual RISC. AT90S8515 был первым микроконтроллером, принадлежащим семейству AVR. Микроконтроллер AVR — самая популярная категория контроллеров, и она недорогая. Он используется во многих роботизированных приложениях.

2. Микроконтроллер PIC:
PIC означает контроллер периферийного интерфейса. Микроконтроллер PIC был разработан Microchip. Этот микроконтроллер является очень быстрым и простым микроконтроллером с точки зрения реализации и производительности.Этот микроконтроллер легко программировать, а также легко взаимодействовать с другими периферийными устройствами.

Разница между AVR и PIC:

Семейства

S. AVR PIC
01. AVR означает Advanced Virtual RISC микроконтроллер. PIC означает микроконтроллер контроллера периферийного интерфейса.
02. Ширина шины микроконтроллера AVR составляет 8/32 бит. Ширина шины микроконтроллера PIC составляет 8/16/32 бит.
03. Он поддерживает протокол связи UART, USART, SPI, I2C. Он поддерживает протокол связи PIC, UART, USART, LIN, CAN, Ethernet, SPI.
04. Его скорость составляет 1 такт / цикл инструкции. Его скорость составляет 4 такта / цикл команд.
05. Микроконтроллер AVR основан на архитектуре набора команд RISC. Микроконтроллер PIC основан на некоторых особенностях архитектуры набора команд RISC.
06. Он основан на архитектуре Гарварда. Он основан на модифицированной архитектуре Хаварда.
07. Семейства AVR включают Tiny, Atmega, Xmega, AVR специального назначения. PIC включают PIC16, PIC17, PIC18, PIC24, PIC32.
08. Производитель микроконтроллера AVR — Atmel. Производитель микроконтроллера PIC — Microchip.
09. Очень дешевый и эффективный микроконтроллер. Очень дешевый микроконтроллер.
10. Популярные микроконтроллеры: PIC18fXX8, PIC16f88X, PIC32MXX. Популярные микроконтроллеры: Atmega8, 16, 32, Arduino Community.

Вниманию читателя! Не прекращайте учиться сейчас. Получите все важные концепции теории CS для собеседований по SDE с помощью курса теории CS по доступной для студентов цене и будьте готовы к работе в отрасли.

микроконтроллер — переключение с PIC на AVR

программное обеспечение uC

Наборы инструкций PIC и AVR похожи, но я бы не стал начинать программирование AVR на сборке. Программа на C с помощью Atmel Studio. Он поставляется в пакете с версией gcc для AVR и имеет действительно хороший дизассемблер, который показывает вам написанную вами строку C, и под ней очень удобные инструкции по сборке. Я бы тоже загрузил WinAVR.

Программное обеспечение ПК

Используйте Atmel Studio.Не беспокойтесь об Eclipse, Programmer’s Notepad или любых других случайных средах разработки, которые используют люди. Atmel Studio основана на Visual Studio, имеет всевозможные плагины от Atmel и хороший встроенный симулятор.

Аппаратное обеспечение для программирования

Есть много дешевых программаторов AVR, таких как Bus Pirate, но имейте Atmel ICSP. Это полностью окупает дополнительные расходы, если вы собираетесь заниматься более чем одним проектом AVR. Он использует USB и управляется из Atmel Studio.

оборудование uC

Существует инструмент выбора, но в целом типичное оборудование для AtMega начального уровня:

  Внутренний осциллятор (8 МГц)
3 таймера
2.Диапазон питания 7-5,5 В
8-канальный мультиплексированный АЦП
Поддержка I2C и SPI
USART
2 ШИМ, которые работают вместе с 8-битными таймерами
  

Переход к более производительным микросхемам позволит вам купить больше таймеров и ШИМ. Объем доступной флэш-памяти и SRAM зависит от конкретного чипа. Большинство частей AtMega доступны в PDIP, причем самым большим количеством выводов является QFP.

Варианты SPI и I2C

Можно использовать устройства MCP I2C (TWI для AVR) и SPI с микроконтроллерами AVR.Вам действительно нужно внимательно прочитать разделы SPI и TWI в техническом описании AVR, не пропускайте строчку. Для каждого интерфейса имеется несколько регистров управления для порядка данных, полярности часов и т. Д. Все это изложено в таблицах данных, и они очень удобочитаемы. Связать AVR и PIC несложно. Вам просто нужно будет поиграть с режимами SPI или TWI, пока вы не установите связь.

Microchip PIC & AVR Примеры · GitHub

Microchip PIC & AVR Примеры · GitHub

Репозиторий

  • C

    0

    0

    0

    0

    Обновлено 9 апр.2021 г.

  • pic18f16q40-cnano-demo-fw

    Этот пример демонстрирует некоторые ключевые функции PIC18-Q40, такие как 16-битный ШИМ, модуль UART, ADCC и встроенный модуль индикатора температуры.Эта прошивка предварительно загружена на платы разработки Q40 Curiosity Nano.

    C

    0

    0

    0

    0

    Обновлено 9 апр.2021 г.

  • C

    1

    0

    0

    0

    Обновлено 7 апр.2021 г.

  • pic18f16q40-квадратурный декодер

    В этом примере создается пример квадратурного декодера для устройства PIC18F16Q40.Он использует 2 конфигурируемых логических ячейки (CLC) и TMR1 / 2/3 для создания регулируемого выхода, который отображается на светодиодной гистограмме.

    C

    0

    1

    0

    0

    Обновлено 5 апр.2021 г.

  • pic18f16q41-opamp-смещение-коррекция

    Этот пример кода демонстрирует метод компенсации ошибки входного напряжения смещения модуля OPA в семействе PIC18-Q41 с помощью температуры.

    C

    1

    0

    0

    0

    Обновлено 5 апр.2021 г.

  • C

    0

    0

    0

    0

    Обновлено 31 марта 2021 г.

  • Makefile

    0

    0

    0

    0

    Обновлено 31 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 31 марта 2021 г.

  • C

    0

    1

    0

    0

    Обновлено 31 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 31 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 31 марта 2021 г.

  • avr128da48-cnano-sos-training-mcc

    Репозиторий будет содержать сгенерированный MCC исходный код для приложения SOS Sequence Generator, представленный во время обучения AVR DA.

    C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • avr128da48-cnano-rtc-oled-mcc

    Это программа, которая отображает часы реального времени на OLED-экране.Часы полностью настраиваются нажатием кнопки на плате Curiosity Nano. Короткое нажатие увеличивает выбранную единицу, а долгое нажатие перемещает выбор.

    C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • avr128da48-начало работы-с-tcb-mplab-mcc

    Этот репозиторий содержит 3 примера кода, сгенерированного MCC, которые показывают, как использовать периферийное устройство TCB устройства AVR128DA48 в различных режимах.Это дополнение к TB3214-Начало работы с таймером / счетчиком типа B (TCB).

    C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • avr128da48-cnano-low-power-lab-evsys

    Код для тренировки с низким энергопотреблением AVR DA.Этот код демонстрирует использование системы событий для запуска преобразования АЦП на температурном канале каждую секунду. Микроконтроллер находится в спящем режиме и просыпается только по окончании конвертации.

    C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 30 марта 2021 г.

  • pic18f16q41-cnano-opamp-demo-fw

    Этот пример демонстрирует различные режимы работы периферийных устройств OPA.Эта прошивка предварительно загружена на платы разработки Q41 Curiosity Nano.

    C

    0

    0

    0

    0

    Обновлено 29 марта 2021 г.

  • C

    1

    0

    0

    0

    Обновлено 29 марта 2021 г.

  • C

    1

    0

    0

    0

    Обновлено 29 марта 2021 г.

  • C

    1

    1

    0

    0

    Обновлено 29 марта 2021 г.

  • pic18f57q43-v-to-f-mplab-mcc

    В этом примере используется PIC18F57Q43 для создания преобразователя напряжения в частоту (и наоборот) в диапазоне от постоянного тока до 100 кГц.

    C

    0

    0

    0

    0

    Обновлено 29 марта 2021 г.

  • C

    1

    0

    0

    0

    Обновлено 26 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 25 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 25 марта 2021 г.

  • C

    0

    0

    0

    0

    Обновлено 24 марта 2021 г.

  • attiny1627-чувствительный к силе резистор-12-битный АЦП-mplab-mcc

    Пример, демонстрирующий 12-битный АЦП с использованием силового резистора на Force Click.Результаты АЦП отправляются в приложение для Android / iOS через соединение Bluetooth с помощью RN4870 / 71 Click и на последовательный терминал. В зависимости от приложенной силы светодиоды загораются на 4×4 RGB Click.

    C

    0

    0

    0

    0

    Обновлено 23 марта 2021 г.

человек

В этой организации нет открытых участников.Вы должны быть участником, чтобы узнать, кто является частью этой организации.

Вы не можете выполнить это действие в настоящее время.

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

Microchip добавляет аналоговые возможности микроконтроллерам PIC и AVR

Microchip выпускает микроконтроллеры PIC и AVR, которые объединяют настраиваемые аналоговые и цифровые периферийные устройства для удовлетворения требований для крупномасштабных систем IoT.

Решая проблему сенсорных систем IoT, сочетающих аналоговую функциональность и возможности цифрового управления, Microchip Technology Inc. представила первые микроконтроллеры (MCU) PIC и AVR, которые сочетают в себе передовые аналоговые периферийные устройства и работу с несколькими напряжениями с межпериферийными соединениями.

Обеспечивая как повышенную интеграцию системы, так и сокращенное время сбора сигнала, семейства микроконтроллеров PIC18-Q41 и AVR DB «предлагают удобство и эффективность работы в единой проектной среде», — сказал Microchip.Это позволяет разработчикам «использовать микроконтроллеры как однокристальный контроллер или как интеллектуальный компонент преобразования аналогового сигнала в более крупной системе», — сказал Грег Робинсон, заместитель вице-президента по маркетингу подразделения 8-битных микроконтроллеров Microchip.

MCU PIC18-Q41 обеспечивает конфигурируемый операционный усилитель (операционный усилитель), аналогово-аналоговый, для преобразования сигнала в приложениях для измерения и измерения с ограниченным пространством, таких как оконечные узлы Интернета вещей и промышленные, медицинские, носимые, автомобильные и осветительные устройства. цифровой преобразователь (АЦП) с вычислением и цифро-аналоговые преобразователи (ЦАП).PIC18-Q41 доступен в компактных 14- и 20-контактных корпусах и является дополнением к 32-битным микроконтроллерам Microchip и другим контроллерам, требующим аналоговой интеграции.

По словам Microchip, он особенно хорошо подходит для IoT и крупномасштабного искусственного интеллекта (AI) на периферии, включая пограничные узлы для профилактического обслуживания на умном предприятии.

Подходит для систем IoT со смешанными сигналами, которые часто используют несколько областей мощности, AVR DB MCU упрощает эти проблемы проектирования, одновременно снижая стоимость в ряде приложений, включая автомобильную промышленность, бытовую технику, HVAC и измерение жидкостей, за счет интеграции истинных двунаправленных переключателей уровня.Добавление трех независимых и настраиваемых операционных усилителей, 12-разрядного дифференциального АЦП, 10-разрядного ЦАП, трех детекторов перехода через ноль и независимых от ядра периферийных устройств (CIP) делает микроконтроллер AVR DB пригодным практически для любого приложения, связанного с преобразованием аналогового сигнала. и функции обработки, сказал Microchip.

Новые продукты поддерживаются интегрированной средой разработки MPLAB X Microchip (IDE), конфигуратором кода MPLAB (MCC) и аналоговым симулятором MPLAB Mindi. MCC — это бесплатный программный плагин, который предоставляет графический интерфейс для настройки периферийных устройств и функций, специфичных для приложения.

AVR DB также поддерживается Atmel START, Atmel Studio и сторонними инструментами, такими как IAR и компилятор GCC C. MCC и START помогают разработчикам аналоговых и цифровых устройств легко конфигурировать систему операционного усилителя для различных типичных случаев использования через графический интерфейс пользователя без необходимости кодирования.

Оба семейства MCU предлагают плату для разработки с возможностями программирования и отладки: оценочный комплект PIC18F16Q41 Curiosity Nano (EV26Q64A) и оценочный комплект AVR DB Curiosity Nano (EV35L43A).Руководства по быстрому запуску для PIC MCU и AVR MCU доступны для немедленного запуска проектов.

Доступный в различных объемах памяти, пакетах и ​​ценовых категориях, цены на PIC18-Q41 и AVR DB начинаются с 0,65 и 0,95 доллара соответственно при количестве 10 000 долларов. Устройства и комплекты можно приобрести на портале закупок Microchip или у официального дистрибьютора.

Узнать больше о Microchip Technology

В чем разница между микроконтроллерами AVR, ARM, 8051 и PIC

Разница между микроконтроллерами AVR, ARM, 8051 и PIC

Разница между микроконтроллерами AVR, ARM, 8051 и PIC

Различия между микроконтроллерами в основном включают в себя микроконтроллер, различие между микроконтроллерами AVR, ARM, 8051 и PIC и их приложениями.

По сути, все они делают в основном одно и то же. Это зависит только от того, насколько точно вы сможете их использовать.

Они расходятся между микроконтроллерами AVR, ARM, 8051 и PIC в конструкции памяти, энергопотреблении, стоимости, скорости и т. Д.

  • ARM — если вам нужны быстрые вычисления, большое количество таймеров и АЦП, тогда ARM вам подойдет.
  • 8051 — если вам нужен недорогой контроллер с основными функциями, то 8051 может вам подойти. Он пригодится в ваших недорогих школьных проектах
  • AVR — один из самых популярных классов контроллеров.Недорогое, большое количество файлов библиотеки, используемое во многих роботизированных приложениях. Лучшее для новичков.
  • PIC- Дешевый, используется в холодильниках и малобюджет. Я не буду советовать это из-за низкой поддержки сообщества.

8051 Микроконтроллер
Микроконтроллер 8051 — это 8-битное семейство микроконтроллеров, разработанных Intel в 1981 году. Это одно из популярных семейств микроконтроллеров, используемых во всем мире. Кроме того, этот микроконтроллер назывался «системой на кристалле», поскольку он имеет 128 байт ОЗУ, 4 Кбайта памяти, 2 таймера, 1 последовательный порт и 4 порта на одном кристалле.C.P.U. может работать даже с 8 битами данных за раз, так как 8051 — это 8-битный процессор. Если информация больше восьми бит, она повреждается на части, чтобы ЦП мог легко обрабатывать. Большинство производителей содержат 4 Кбайт ПЗУ, хотя количество ПЗУ может быть превышено до 64 Кбайт.

8051 микроконтроллер

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

.

Energy Management: экономичные измерительные системы помогают контролировать потребление энергии в домах и на производстве.

Эти измерительные системы готовы к использованию благодаря включению микроконтроллера.

Сенсорные экраны: многие поставщики микроконтроллеров включают в свои стили сенсорные возможности.

Портативные физические науки, такие как сотовые телефоны, медиаплееры и игровые устройства, являются примерами сенсорных экранов на основе микроконтроллеров.

Медицинские устройства: мобильные медицинские устройства, измеряющие силу на единицу площади, с использованием микроконтроллеров, могут указывать на знание, это обеспечивает более высокую надежность в предоставлении медицинских результатов.

Микроконтроллер PIC

Мы знаем, что микроконтроллер является интегрированной микросхемой, которая состоит из ОЗУ, ПЗУ, ЦП, ТАЙМЕРА и СЧЕТЧИКОВ.

PIC — это микроконтроллер, который также состоит из RAM, ROM, CPU, таймера, счетчика, ADC (аналого-цифрового преобразователя), DAC (цифро-аналогового преобразователя). Микроконтроллер PIC также поддерживает такие протоколы, как CAN, SPI, UART для взаимодействия с дополнительными периферийными устройствами.

PIC

в значительной степени привыкла изменять дизайн Гарварда и дополнительно поддерживает компьютер с сокращенным набором инструкций (Компьютер с сокращенным набором инструкций) более высоким, чем требуется, компьютером с сокращенным набором инструкций, и Гарвард, мы просто отметим, что PIC быстрее

, чем контроллеры на базе 8051, которые подготовлены по архитектуре Фон-Ньюмана.

Микроконтроллер AVR

Микроконтроллер

AVR был разработан в 1996 году корпорацией Atmel.

Структурный стиль AVR был разработан Альф-Эгилем Богеном и Вегардом Волланом.

AVR получил свое название от своих разработчиков и означает компьютерный микроконтроллер с сокращенным набором команд Alf-Egil Bogen Vegard Wollan, также называемый компьютером с сокращенным набором команд Advanced Virtual.

AT90S8515 был первым микроконтроллером, основанным на архитектуре AVR, хотя первым микроконтроллером, появившимся на коммерческом рынке, был AT90S1200 в 1997 году.

Микроконтроллер AVR

Микроконтроллеры AVR доступны в трех категориях

TinyAVR: — Меньше памяти, небольшой размер, приемлемый только для менее сложных приложений

MegaAVR: -Это самые распространенные из них, имеющие хороший объем памяти (до 256 КБ) .. Более широкий выбор встроенных периферийных устройств и приемлемый для скромных и сложных приложений.

XmegaAVR: -Используется в рекламе для сложных приложений, которым требуется большая программная память и высокая скорость.

Процессор ARM

Процессор ARM также является одним из семейства процессоров, основанных на архитектуре RISC (компьютер с сокращенным набором команд), разработанной Advanced RISC Machines (ARM).

ARM микроконтроллер

Процессоры

RISC предназначены для выполнения меньшего разнообразия стилей направлений работы портативных компьютеров, поэтому они будут работать с большей скоростью, выполняя дополнительные миллионы инструкций в секунду (MIPS). Исключая ненужные направления и оптимизируя пути, процессоры RISC обеспечивают выдающуюся производительность в части потребляемой мощности процедуры CISC (вычисления со сложным набором команд).

Процессоры ARM

широко используются в клиентских электронных устройствах, таких как смартфоны, планшеты, мультимедийные проигрыватели и другие мобильные устройства, например носимые. Поскольку они ограничены набором команд, им требуется меньше транзисторов, что позволяет уменьшить размер кристалла интегральной схемы (ИС). Процессоры ARM, меньший размер означает меньшую сложность, а меньшие затраты энергии делают их пригодными для все более миниатюрных устройств.

Разница между микроконтроллерами AVR, ARM, 8051 и PIC — Таблица

8051

ПИК

АВР

ARM

Ширина шины

8-бит для стандартного ядра 8/16/32-бит 8/32-бит 32-разрядная версия, в основном также доступна в 64-разрядной версии

Протоколы связи

UART, USART, SPI, I2C PIC, UART, USART, LIN, CAN, Ethernet, SPI, I2S UART, USART, SPI, I2C, (поддержка AVR специального назначения CAN, USB, Ethernet)

UART, USART, LIN, I2C, SPI, CAN, USB, Ethernet, I2S, DSP, SAI (последовательный аудиоинтерфейс), IrDA

Скорость

12 Такт / цикл команд 4 Такт / цикл команд 1 такт / цикл команд 1 такт / цикл команд

Память

ROM_ SRAM_ FLASH SRAM_ FLASH Flash_ SRAM, EEPROM Флэш-SDRAM, EEPROM

ISA

CLSC

Некоторые особенности RISC

RISC RISC

Архитектура памяти

Архитектура фон Неймана Архитектура Гарварда Изменено Модифицированная архитектура Гарварда

Потребляемая мощность

средний Низкий Низкий Низкий

Семьи

8051 варианты PIC16, PIC17, PIC18, PIC24, PIC32 Tiny, Atmega, Xmega, AVR специального назначения ARMv4,5,6,7 и серия

Сообщество

Большой Очень хорошо Очень хорошо Большой

Производитель

NXP, Atmel, Silicon Labs, Даллас, Кипр, Infineon и др.