Ремонт,
             обслуживание, сопровождение -
компьютеры,
             программное обеспечение.

ООО "Инекскон"
Кемеровская область, г. Юрга,
выезд к клиенту по городу бесплатный

процессор ATMega 8/48/168/328

Основные параметры

ЦПУ: ЯдроAVR
ЦПУ: F,МГцот 0 до 20
Память: Flash,КБайт32
Память: RAM,КБайт2
Память: EEPROM,КБайт1
I/O (макс.),шт.23
Таймеры: 8-бит,шт.2
Таймеры: 16-бит,шт.1
Таймеры: Каналов ШИМ,шт.6
Таймеры: RTCДа
Интерфейсы: UART,шт.1
Интерфейсы: SPI,шт.1
Интерфейсы: I2C,шт.1
Аналоговые входы: Разрядов АЦП,бит10
Аналоговые входы: Каналов АЦП,шт.8
Аналоговые входы: Быстродействие АЦП,kSPS76.9
Аналоговые входы: Аналоговый компаратор,шт.2
VCC,Вот 1.8 до 5.5
ICC,мА40
TA,°Cот -40 до 85
КорпусPDIP-28 MLF-32 TQFP-32

Описание выводов микроконтроллеров ATMega 8/48/168/328 для подключения к Arduino

Описание выводов микроконтроллеров ATMega 8/48/168/328

Структурная схема микроконтроллеров ATMega 8/48/168/328

Структурная схема микроконтроллеров ATMega 8/48/168/328

Команды ассеблера микроконтроллеров ATMega 8/48/168/328

Принятые обозначения
Регистр статуса (SREG)
SREG:Регистр статусаC:Флаг переноса
Z:Флаг нулевого значенияN:Флаг отрицательного значения
V:Флаг-указатель переполнения дополнения до двухS:NЕV, Для проверок со знаком
H:Флаг полупереносаT:Флаг пересылки, используемый командами BLD и BST
I:Флаг разрешения/запрещения глобального прерывания
Регистры и операнды
Rd:Регистр назначения (и источник) в регистровом файлеRr:Регистр источник в регистровом файле
R:Результат выполнения командыK:Литерал или байт данных (8 бит)
k:Данные адреса константы для счетчика программb:Бит в регистровом файле или I/O регистр (3 бита)
s:Бит в регистре статуса (3 бита)X, Y, Z:Регистр косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30)
P:Адрес I/O портаq:Смещение при прямой адресации (6 бит)
I/OрегистрыRAMPX, RAMPY, RAMPZ:Регистры связанные с X, Y и Z регистрами, обеспечивающие косвенную адресацию всей области СОЗУ микроконтроллера с объемом СОЗУ более 64 Кбайт
Стек:
STACK:Стек для адреса возврата и опущенных в стек регистровSP:Указатель стека
Флаги:
ЫФлаг, на который воздействует команда0:Очищенный командой Флаг
1:Установленный командой флаг-:Флаг, на который не воздействует команда

ОбозначениеФункцияОбозначениеФункция
ADCСложить с переносомADDСложить без переноса
ADIWСложить непосредственное значение со словомANDВыполнить логическое AND
ANDIВыполнить логическое AND c непосредственным значениемASRАрифметически сдвинуть вправо
BCLRОчистить флагBLDЗагрузить T флаг в бит регистра
BRBCПерейти если бит в регистре статуса очищенBRBSПерейти если бит в регистре статуса установлен
BRCCПерейти если флаг переноса очищенBRCSПерейти если флаг переноса установлен
BREQПерейти если равноBRGEПерейти если больше или равно (с учетом знака)
BRHCПерейти если флаг полупереноса очищенBRHSПерейти если флаг полупереноса установлен
BRIDПерейти если глобальное прерывание запрещеноBRIEПерейти если глобальное прерывание разрешено
BRLOПерейти если меньше (без знака)BRLTПерейти если меньше чем (со знаком)
BRMIПерейти если минусBRNEПерейти если не равно
BRPLПерейти если плюсBRSHПерейти если равно или больше (без знака)
BRTCПерейти если флаг T очищенBRTSПерейти если флаг T установлен
BRVCПерейти если переполнение очищеноBRVSПерейти если переполнение установлено
BSETУстановить флагBSTПереписать бит из регистра во флаг T
CALLВыполнить длинный вызов подпрограммыCBI- Очистить бит в регистре I/O
CBRОчистить биты в регистреCLCОчистить флаг переноса
CLHОчистить флаг полупереносаCLIОчистить флаг глобального прерывания
CLNОчистить флаг отрицательного значенияCLRОчистить регистр
CLSОчистить флаг знакаCLTОчистить флаг T
CLVОчистить флаг переполненияCLZОчистить флаг нулевого значения
COMВыполнить дополнение до единицыCPСравнить
CPCСравнить с учетом переносаCPIСравнить c константой
CPSEСравнить и пропустить если равноDECДекрементировать
EORВыполнить исключающее ORICALLВызвать подпрограмму косвенно
IJMPПерейти косвенноINЗагрузить данные из порта I/O в регистр
INCИнкрементироватьFMULДробное незнаковое умножение
FMULSДробное умножение со знакомFMULSUДробное умножение знакового с незнаковым
JMPПерейтиLD Rd,XЗагрузить косвенно
LD Rd,X+Загрузить косвенно инкрементировав впоследствииLD Rd,-XЗагрузить косвенно декрементировав предварительно
LDIЗагрузить непосредственное значениеLDSЗагрузить непосредственно из СОЗУ
LPMЗагрузить байт памяти программLSLЛогически сдвинуть влево
LSRЛогически сдвинуть вправоMOVКопировать регистр
MULПеремножитьNEGВыполнить дополнение до двух
NOPВыполнить холостую командуORВыполнить логическое OR
ORIВыполнить логическое OR с непосредственным значениемOUTЗаписать данные из регистра в порт I/O
POPЗагрузить регистр из стекаPUSHПоместить регистр в стек
RCALLВызвать подпрограмму относительноRETВернуться из подпрограммы
RETIВернуться из прерыванияRJMPПерейти относительно
ROLСдвинуть влево через переносRORСдвинуть вправо через перенос
SBCВычесть с переносомSBCIВычесть непосредственное значение с переносом
SBIУстановить бит в регистр I/OSBICПропустить если бит в регистре I/O очищен
SBISПропустить если бит в регистре I/O установленSBIWВычесть непосредственное значение из слова
SBRУстановить биты в регистреSBRCПропустить если бит в регистре очищен
SBRSПропустить если бит в регистре установленSECУстановить флаг переноса
SEHУстановить флаг полупереносаSEIУстановить флаг глобального прерывания
SENУстановить флаг отрицательного значенияSERУстановить все биты регистра
SESУстановить флаг знакаSETУстановить флаг T
SEVУстановить флаг переполненияSEZУстановить флаг нулевого значения
SLEEPУстановить режим SLEEPST X,RrЗаписать косвенно
ST Y,RrЗаписать косвенно из регистра в СОЗУ с использованием индекса YST Z,RrЗаписать косвенно из регистра в СОЗУ с использованием индекса Z
STSЗагрузить непосредственно в СОЗУSUBВычесть без переноса
SUBIВычесть непосредственное значениеSWAPПоменять нибблы местами
TSTПроверить на ноль или минусWDRСбросить сторожевой таймер