FeaturesHighPerformance,LowPowerAVR8-BitMicrocontrollerAdvancedRISCArchitecture–131PowerfulInstructions–MostSingleClockCycleExecution–32x8GeneralPurposeWorkingRegisters–FullyStaticOperation–Upto20MIPSThroughputat20MHz–On-chip2-cycleMultiplierHighEnduranceNon-volatileMemorySegments–4/8/16/32KBytesofIn-SystemSelf-ProgrammableFlashprogrammemory–256/512/512/1KBytesEEPROM–512/1K/1K/2KBytesInternalSRAM–Write/EraseCycles:10,000Flash/100,000EEPROM–Dataretention:20yearsat85°C/100yearsat25°C(1)–OptionalBootCodeSectionwithIndependentLockBitsIn-SystemProgrammingbyOn-chipBootProgramTrueRead-While-WriteOperation–ProgrammingLockforSoftwareSecurityPeripheralFeatures–Two8-bitTimer/CounterswithSeparatePrescalerandCompareMode–One16-bitTimer/CounterwithSeparatePrescaler,CompareMode,andCaptureMode–RealTimeCounterwithSeparateOscillator–SixPWMChannels–8-channel10-bitADCinTQFPandQFN/MLFpackageTemperatureMeasurement–6-channel10-bitADCinPDIPPackageTemperatureMeasurement–ProgrammableSerialUSART–Master/SlaveSPISerialInterface–Byte-oriented2-wireSerialInterface(PhilipsI2Ccompatible)–ProgrammableWatchdogTimerwithSeparateOn-chipOscillator–On-chipAnalogComparator–InterruptandWake-uponPinChangeSpecialMicrocontrollerFeatures–Power-onResetandProgrammableBrown-outDetection–InternalCalibratedOscillator–ExternalandInternalInterruptSources–SixSleepModes:Idle,ADCNoiseReduction,Power-save,Power-down,Standby,andExtendedStandbyI/OandPackages–23ProgrammableI/OLines–28-pinPDIP,32-leadTQFP,28-padQFN/MLFand32-padQFN/MLFOperatingVoltage:–1.
8-5.
5VTemperatureRange:–-40°Cto85°CSpeedGrade:–0-4MHz@1.
8-5.
5V,0-10MHz@2.
7-5.
5.
V,0-20MHz@4.
5-5.
5VPowerConsumptionat1MHz,1.
8V,25°C–ActiveMode:0.
2mA–Power-downMode:0.
1A–Power-saveMode:0.
75A(Including32kHzRTC)8-bitMicrocontrollerwith4/8/16/32KBytesIn-SystemProgrammableFlashATmega48AATmega48PAATmega88AATmega88PAATmega168AATmega168PAATmega328ATmega328PSummaryRev.
8271BS–AVR–04/1028271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P1.
PinConfigurationsFigure1-1.
PinoutATmega48A/48PA/88A/88PA/168A/168PA/328/328P123456782423222120191817(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4GNDVCCGNDVCC(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)ADC7GNDAREFADC6AVCCPB5(SCK/PCINT5)3231302928272625910111213141516(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/SS/OC1B)PB2(PCINT3/OC2A/MOSI)PB3(PCINT4/MISO)PB4PD2(INT0/PCINT18)PD1(TXD/PCINT17)PD0(RXD/PCINT16)PC6(RESET/PCINT14)PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)TQFPTopView12345678910111213142827262524232221201918171615(PCINT14/RESET)PC6(PCINT16/RXD)PD0(PCINT17/TXD)PD1(PCINT18/INT0)PD2(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4VCCGND(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)GNDAREFAVCCPB5(SCK/PCINT5)PB4(MISO/PCINT4)PB3(MOSI/OC2A/PCINT3)PB2(SS/OC1B/PCINT2)PB1(OC1A/PCINT1)PDIP123456782423222120191817323130292827262591011121314151632MLFTopView(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4GNDVCCGNDVCC(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)ADC7GNDAREFADC6AVCCPB5(SCK/PCINT5)(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/SS/OC1B)PB2(PCINT3/OC2A/MOSI)PB3(PCINT4/MISO)PB4PD2(INT0/PCINT18)PD1(TXD/PCINT17)PD0(RXD/PCINT16)PC6(RESET/PCINT14)PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)NOTE:Bottompadshouldbesolderedtoground.
1234567212019181716152827262524232289101112131428MLFTopView(PCINT19/OC2B/INT1)PD3(PCINT20/XCK/T0)PD4VCCGND(PCINT6/XTAL1/TOSC1)PB6(PCINT7/XTAL2/TOSC2)PB7(PCINT21/OC0B/T1)PD5(PCINT22/OC0A/AIN0)PD6(PCINT23/AIN1)PD7(PCINT0/CLKO/ICP1)PB0(PCINT1/OC1A)PB1(PCINT2/SS/OC1B)PB2(PCINT3/OC2A/MOSI)PB3(PCINT4/MISO)PB4PD2(INT0/PCINT18)PD1(TXD/PCINT17)PD0(RXD/PCINT16)PC6(RESET/PCINT14)PC5(ADC5/SCL/PCINT13)PC4(ADC4/SDA/PCINT12)PC3(ADC3/PCINT11)PC2(ADC2/PCINT10)PC1(ADC1/PCINT9)PC0(ADC0/PCINT8)GNDAREFAVCCPB5(SCK/PCINT5)NOTE:Bottompadshouldbesolderedtoground.
38271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P1.
1PinDescriptions1.
1.
1VCCDigitalsupplyvoltage.
1.
1.
2GNDGround.
1.
1.
3PortB(PB7:0)XTAL1/XTAL2/TOSC1/TOSC2PortBisan8-bitbi-directionalI/Oportwithinternalpull-upresistors(selectedforeachbit).
ThePortBoutputbuffershavesymmetricaldrivecharacteristicswithbothhighsinkandsourcecapability.
Asinputs,PortBpinsthatareexternallypulledlowwillsourcecurrentifthepull-upresistorsareactivated.
ThePortBpinsaretri-statedwhenaresetconditionbecomesactive,eveniftheclockisnotrunning.
Dependingontheclockselectionfusesettings,PB6canbeusedasinputtotheinvertingOscil-latoramplifierandinputtotheinternalclockoperatingcircuit.
Dependingontheclockselectionfusesettings,PB7canbeusedasoutputfromtheinvertingOscillatoramplifier.
IftheInternalCalibratedRCOscillatorisusedaschipclocksource,PB7.
.
.
6isusedasTOSC2.
.
.
1inputfortheAsynchronousTimer/Counter2iftheAS2bitinASSRisset.
ThevariousspecialfeaturesofPortBareelaboratedinand"SystemClockandClockOptions"onpage26.
1.
1.
4PortC(PC5:0)PortCisa7-bitbi-directionalI/Oportwithinternalpull-upresistors(selectedforeachbit).
ThePC5.
.
.
0outputbuffershavesymmetricaldrivecharacteristicswithbothhighsinkandsourcecapability.
Asinputs,PortCpinsthatareexternallypulledlowwillsourcecurrentifthepull-upresistorsareactivated.
ThePortCpinsaretri-statedwhenaresetconditionbecomesactive,eveniftheclockisnotrunning.
1.
1.
5PC6/RESETIftheRSTDISBLFuseisprogrammed,PC6isusedasanI/Opin.
Notethattheelectricalchar-acteristicsofPC6differfromthoseoftheotherpinsofPortC.
IftheRSTDISBLFuseisunprogrammed,PC6isusedasaResetinput.
AlowlevelonthispinforlongerthantheminimumpulselengthwillgenerateaReset,eveniftheclockisnotrunning.
TheminimumpulselengthisgiveninTable28-12onpage323.
Shorterpulsesarenotguaran-teedtogenerateaReset.
ThevariousspecialfeaturesofPortCareelaboratedin"AlternateFunctionsofPortC"onpage86.
1.
1.
6PortD(PD7:0)PortDisan8-bitbi-directionalI/Oportwithinternalpull-upresistors(selectedforeachbit).
ThePortDoutputbuffershavesymmetricaldrivecharacteristicswithbothhighsinkandsourcecapability.
Asinputs,PortDpinsthatareexternallypulledlowwillsourcecurrentifthepull-upresistorsareactivated.
ThePortDpinsaretri-statedwhenaresetconditionbecomesactive,eveniftheclockisnotrunning.
48271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328PThevariousspecialfeaturesofPortDareelaboratedin"AlternateFunctionsofPortD"onpage89.
1.
1.
7AVCCAVCCisthesupplyvoltagepinfortheA/DConverter,PC3:0,andADC7:6.
ItshouldbeexternallyconnectedtoVCC,eveniftheADCisnotused.
IftheADCisused,itshouldbeconnectedtoVCCthroughalow-passfilter.
NotethatPC6.
.
.
4usedigitalsupplyvoltage,VCC.
1.
1.
8AREFAREFistheanalogreferencepinfortheA/DConverter.
1.
1.
9ADC7:6(TQFPandQFN/MLFPackageOnly)IntheTQFPandQFN/MLFpackage,ADC7:6serveasanaloginputstotheA/Dconverter.
Thesepinsarepoweredfromtheanalogsupplyandserveas10-bitADCchannels.
58271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P2.
OverviewTheATmega48A/48PA/88A/88PA/168A/168PA/328/328Pisalow-powerCMOS8-bitmicrocon-trollerbasedontheAVRenhancedRISCarchitecture.
Byexecutingpowerfulinstructionsinasingleclockcycle,theATmega48A/48PA/88A/88PA/168A/168PA/328/328Pachievesthrough-putsapproaching1MIPSperMHzallowingthesystemdesignertooptimizepowerconsumptionversusprocessingspeed.
2.
1BlockDiagramFigure2-1.
BlockDiagramTheAVRcorecombinesarichinstructionsetwith32generalpurposeworkingregisters.
Allthe32registersaredirectlyconnectedtotheArithmeticLogicUnit(ALU),allowingtwoindependentPORTC(7)PORTB(8)PORTD(8)USART08bitT/C216bitT/C18bitT/C0A/DConv.
InternalBandgapAnalogComp.
SPITWISRAMFlashEEPROMWatchdogOscillatorWatchdogTimerOscillatorCircuits/ClockGenerationPowerSupervisionPOR/BOD&RESETVCCGNDPROGRAMLOGICdebugWIRE2GNDAREFAVCCDATABUSADC[6.
.
7]PC[0.
.
6]PB[0.
.
7]PD[0.
.
7]6RESETXTAL[1.
.
2]CPU68271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328Pregisterstobeaccessedinonesingleinstructionexecutedinoneclockcycle.
Theresultingarchitectureismorecodeefficientwhileachievingthroughputsuptotentimesfasterthancon-ventionalCISCmicrocontrollers.
TheATmega48A/48PA/88A/88PA/168A/168PA/328/328Pprovidesthefollowingfeatures:4K/8KbytesofIn-SystemProgrammableFlashwithRead-While-Writecapabilities,256/512/512/1KbytesEEPROM,512/1K/1K/2KbytesSRAM,23generalpurposeI/Olines,32generalpurposeworkingregisters,threeflexibleTimer/Counterswithcomparemodes,internalandexternalinterrupts,aserialprogrammableUSART,abyte-oriented2-wireSerialInterface,anSPIserialport,a6-channel10-bitADC(8channelsinTQFPandQFN/MLFpackages),apro-grammableWatchdogTimerwithinternalOscillator,andfivesoftwareselectablepowersavingmodes.
TheIdlemodestopstheCPUwhileallowingtheSRAM,Timer/Counters,USART,2-wireSerialInterface,SPIport,andinterruptsystemtocontinuefunctioning.
ThePower-downmodesavestheregistercontentsbutfreezestheOscillator,disablingallotherchipfunctionsuntilthenextinterruptorhardwarereset.
InPower-savemode,theasynchronoustimercontinuestorun,allowingtheusertomaintainatimerbasewhiletherestofthedeviceissleeping.
TheADCNoiseReductionmodestopstheCPUandallI/OmodulesexceptasynchronoustimerandADC,tominimizeswitchingnoiseduringADCconversions.
InStandbymode,thecrystal/resonatorOscillatorisrunningwhiletherestofthedeviceissleeping.
Thisallowsveryfaststart-upcom-binedwithlowpowerconsumption.
ThedeviceismanufacturedusingAtmel'shighdensitynon-volatilememorytechnology.
TheOn-chipISPFlashallowstheprogrammemorytobereprogrammedIn-SystemthroughanSPIserialinterface,byaconventionalnon-volatilememoryprogrammer,orbyanOn-chipBootpro-gramrunningontheAVRcore.
TheBootprogramcanuseanyinterfacetodownloadtheapplicationprogramintheApplicationFlashmemory.
SoftwareintheBootFlashsectionwillcontinuetorunwhiletheApplicationFlashsectionisupdated,providingtrueRead-While-Writeoperation.
Bycombiningan8-bitRISCCPUwithIn-SystemSelf-ProgrammableFlashonamonolithicchip,theAtmelATmega48A/48PA/88A/88PA/168A/168PA/328/328Pisapowerfulmicrocontrollerthatprovidesahighlyflexibleandcosteffectivesolutiontomanyembeddedcon-trolapplications.
TheATmega48A/48PA/88A/88PA/168A/168PA/328/328PAVRissupportedwithafullsuiteofprogramandsystemdevelopmenttoolsincluding:CCompilers,MacroAssemblers,ProgramDebugger/Simulators,In-CircuitEmulators,andEvaluationkits.
2.
2ComparisonBetweenProcessorsTheATmega48A/48PA/88A/88PA/168A/168PA/328/328Pdifferonlyinmemorysizes,bootloadersupport,andinterruptvectorsizes.
Table2-1summarizesthedifferentmemoryandinter-ruptvectorsizesforthedevices.
Table2-1.
MemorySizeSummaryDeviceFlashEEPROMRAMInterruptVectorSizeATmega48A4KBytes256Bytes512Bytes1instructionword/vectorATmega48PA4KBytes256Bytes512Bytes1instructionword/vectorATmega88A8KBytes512Bytes1KBytes1instructionword/vectorATmega88PA8KBytes512Bytes1KBytes1instructionword/vectorATmega168A16KBytes512Bytes1KBytes2instructionwords/vector78271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328PATmega48A/48PA/88A/88PA/168A/168PA/328/328PsupportarealRead-While-WriteSelf-Pro-grammingmechanism.
ThereisaseparateBootLoaderSection,andtheSPMinstructioncanonlyexecutefromthere.
InATmega48A/48PAthereisnoRead-While-WritesupportandnoseparateBootLoaderSection.
TheSPMinstructioncanexecutefromtheentireFlash.
3.
ResourcesAcomprehensivesetofdevelopmenttools,applicationnotesanddatasheetsareavailablefordownloadonhttp://www.
atmel.
com/avr.
Note:1.
ATmega168PA16KBytes512Bytes1KBytes2instructionwords/vectorATmega32832KBytes1KBytes2KBytes2instructionwords/vectorATmega328P32KBytes1KBytes2KBytes2instructionwords/vectorTable2-1.
MemorySizeSummaryDeviceFlashEEPROMRAMInterruptVectorSize88271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P4.
RegisterSummaryAddressNameBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Page(0xFF)Reserved(0xFE)Reserved(0xFD)Reserved(0xFC)Reserved(0xFB)Reserved(0xFA)Reserved(0xF9)Reserved(0xF8)Reserved(0xF7)Reserved(0xF6)Reserved(0xF5)Reserved(0xF4)Reserved(0xF3)Reserved(0xF2)Reserved(0xF1)Reserved(0xF0)Reserved(0xEF)Reserved(0xEE)Reserved(0xED)Reserved(0xEC)Reserved(0xEB)Reserved(0xEA)Reserved(0xE9)Reserved(0xE8)Reserved(0xE7)Reserved(0xE6)Reserved(0xE5)Reserved(0xE4)Reserved(0xE3)Reserved(0xE2)Reserved(0xE1)Reserved(0xE0)Reserved(0xDF)Reserved(0xDE)Reserved(0xDD)Reserved(0xDC)Reserved(0xDB)Reserved(0xDA)Reserved(0xD9)Reserved(0xD8)Reserved(0xD7)Reserved(0xD6)Reserved(0xD5)Reserved(0xD4)Reserved(0xD3)Reserved(0xD2)Reserved(0xD1)Reserved(0xD0)Reserved(0xCF)Reserved(0xCE)Reserved(0xCD)Reserved(0xCC)Reserved(0xCB)Reserved(0xCA)Reserved(0xC9)Reserved(0xC8)Reserved(0xC7)Reserved(0xC6)UDR0USARTI/ODataRegister196(0xC5)UBRR0HUSARTBaudRateRegisterHigh200(0xC4)UBRR0LUSARTBaudRateRegisterLow200(0xC3)Reserved(0xC2)UCSR0CUMSEL01UMSEL00UPM01UPM00USBS0UCSZ01/UDORD0UCSZ00/UCPHA0UCPOL0198/21398271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P(0xC1)UCSR0BRXCIE0TXCIE0UDRIE0RXEN0TXEN0UCSZ02RXB80TXB80197(0xC0)UCSR0ARXC0TXC0UDRE0FE0DOR0UPE0U2X0MPCM0196(0xBF)Reserved(0xBE)Reserved(0xBD)TWAMRTWAM6TWAM5TWAM4TWAM3TWAM2TWAM1TWAM0–245(0xBC)TWCRTWINTTWEATWSTATWSTOTWWCTWEN–TWIE242(0xBB)TWDR2-wireSerialInterfaceDataRegister244(0xBA)TWARTWA6TWA5TWA4TWA3TWA2TWA1TWA0TWGCE245(0xB9)TWSRTWS7TWS6TWS5TWS4TWS3–TWPS1TWPS0244(0xB8)TWBR2-wireSerialInterfaceBitRateRegister242(0xB7)Reserved(0xB6)ASSR–EXCLKAS2TCN2UBOCR2AUBOCR2BUBTCR2AUBTCR2BUB165(0xB5)Reserved(0xB4)OCR2BTimer/Counter2OutputCompareRegisterB163(0xB3)OCR2ATimer/Counter2OutputCompareRegisterA163(0xB2)TCNT2Timer/Counter2(8-bit)163(0xB1)TCCR2BFOC2AFOC2B––WGM22CS22CS21CS20162(0xB0)TCCR2ACOM2A1COM2A0COM2B1COM2B0––WGM21WGM20159(0xAF)Reserved(0xAE)Reserved(0xAD)Reserved(0xAC)Reserved(0xAB)Reserved(0xAA)Reserved(0xA9)Reserved(0xA8)Reserved(0xA7)Reserved(0xA6)Reserved(0xA5)Reserved(0xA4)Reserved(0xA3)Reserved(0xA2)Reserved(0xA1)Reserved(0xA0)Reserved(0x9F)Reserved(0x9E)Reserved(0x9D)Reserved(0x9C)Reserved(0x9B)Reserved(0x9A)Reserved(0x99)Reserved(0x98)Reserved(0x97)Reserved(0x96)Reserved(0x95)Reserved(0x94)Reserved(0x93)Reserved(0x92)Reserved(0x91)Reserved(0x90)Reserved(0x8F)Reserved(0x8E)Reserved(0x8D)Reserved(0x8C)Reserved(0x8B)OCR1BHTimer/Counter1-OutputCompareRegisterBHighByte139(0x8A)OCR1BLTimer/Counter1-OutputCompareRegisterBLowByte139(0x89)OCR1AHTimer/Counter1-OutputCompareRegisterAHighByte139(0x88)OCR1ALTimer/Counter1-OutputCompareRegisterALowByte139(0x87)ICR1HTimer/Counter1-InputCaptureRegisterHighByte139(0x86)ICR1LTimer/Counter1-InputCaptureRegisterLowByte139(0x85)TCNT1HTimer/Counter1-CounterRegisterHighByte139(0x84)TCNT1LTimer/Counter1-CounterRegisterLowByte139(0x83)Reserved(0x82)TCCR1CFOC1AFOC1B138(0x81)TCCR1BICNC1ICES1–WGM13WGM12CS12CS11CS10137(0x80)TCCR1ACOM1A1COM1A0COM1B1COM1B0––WGM11WGM10135AddressNameBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Page108271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P(0x7F)DIDR1AIN1DAIN0D250(0x7E)DIDR0––ADC5DADC4DADC3DADC2DADC1DADC0D267(0x7D)Reserved(0x7C)ADMUXREFS1REFS0ADLAR–MUX3MUX2MUX1MUX0263(0x7B)ADCSRB–ACME–––ADTS2ADTS1ADTS0266(0x7A)ADCSRAADENADSCADATEADIFADIEADPS2ADPS1ADPS0264(0x79)ADCHADCDataRegisterHighbyte266(0x78)ADCLADCDataRegisterLowbyte266(0x77)Reserved(0x76)Reserved(0x75)Reserved(0x74)Reserved(0x73)Reserved(0x72)Reserved(0x71)Reserved(0x70)TIMSK2OCIE2BOCIE2ATOIE2164(0x6F)TIMSK1––ICIE1––OCIE1BOCIE1ATOIE1140(0x6E)TIMSK0OCIE0BOCIE0ATOIE0112(0x6D)PCMSK2PCINT23PCINT22PCINT21PCINT20PCINT19PCINT18PCINT17PCINT1675(0x6C)PCMSK1–PCINT14PCINT13PCINT12PCINT11PCINT10PCINT9PCINT875(0x6B)PCMSK0PCINT7PCINT6PCINT5PCINT4PCINT3PCINT2PCINT1PCINT075(0x6A)Reserved(0x69)EICRA––––ISC11ISC10ISC01ISC0072(0x68)PCICRPCIE2PCIE1PCIE0(0x67)Reserved(0x66)OSCCALOscillatorCalibrationRegister37(0x65)Reserved(0x64)PRRPRTWIPRTIM2PRTIM0–PRTIM1PRSPIPRUSART0PRADC42(0x63)Reserved(0x62)Reserved(0x61)CLKPRCLKPCE–––CLKPS3CLKPS2CLKPS1CLKPS037(0x60)WDTCSRWDIFWDIEWDP3WDCEWDEWDP2WDP1WDP0550x3F(0x5F)SREGITHSVNZC90x3E(0x5E)SPHSP10)5.
SP9SP8120x3D(0x5D)SPLSP7SP6SP5SP4SP3SP2SP1SP0120x3C(0x5C)Reserved0x3B(0x5B)Reserved0x3A(0x5A)Reserved0x39(0x59)Reserved0x38(0x58)Reserved0x37(0x57)SPMCSRSPMIE(RWWSB)5.
–(RWWSRE)5.
BLBSETPGWRTPGERSSELFPRGEN2940x36(0x56)Reserved0x35(0x55)MCUCR–BODS(6)BODSE(6)PUD––IVSELIVCE45/69/930x34(0x54)MCUSR––––WDRFBORFEXTRFPORF550x33(0x53)SMCR––––SM2SM1SM0SE400x32(0x52)Reserved0x31(0x51)Reserved0x30(0x50)ACSRACDACBGACOACIACIEACICACIS1ACIS02480x2F(0x4F)Reserved0x2E(0x4E)SPDRSPIDataRegister1760x2D(0x4D)SPSRSPIFWCOLSPI2X1750x2C(0x4C)SPCRSPIESPEDORDMSTRCPOLCPHASPR1SPR01740x2B(0x4B)GPIOR2GeneralPurposeI/ORegister2250x2A(0x4A)GPIOR1GeneralPurposeI/ORegister1250x29(0x49)Reserved0x28(0x48)OCR0BTimer/Counter0OutputCompareRegisterB0x27(0x47)OCR0ATimer/Counter0OutputCompareRegisterA0x26(0x46)TCNT0Timer/Counter0(8-bit)0x25(0x45)TCCR0BFOC0AFOC0B––WGM02CS02CS01CS000x24(0x44)TCCR0ACOM0A1COM0A0COM0B1COM0B0––WGM01WGM000x23(0x43)GTCCRTSMPSRASYPSRSYNC144/1660x22(0x42)EEARH(EEPROMAddressRegisterHighByte)5.
210x21(0x41)EEARLEEPROMAddressRegisterLowByte210x20(0x40)EEDREEPROMDataRegister210x1F(0x3F)EECR––EEPM1EEPM0EERIEEEMPEEEPEEERE210x1E(0x3E)GPIOR0GeneralPurposeI/ORegister025AddressNameBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Page118271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328PNote:1.
Forcompatibilitywithfuturedevices,reservedbitsshouldbewrittentozeroifaccessed.
ReservedI/Omemoryaddressesshouldneverbewritten.
2.
I/ORegisterswithintheaddressrange0x00-0x1Faredirectlybit-accessibleusingtheSBIandCBIinstructions.
Intheseregisters,thevalueofsinglebitscanbecheckedbyusingtheSBISandSBICinstructions.
3.
SomeoftheStatusFlagsareclearedbywritingalogicalonetothem.
Notethat,unlikemostotherAVRs,theCBIandSBIinstructionswillonlyoperateonthespecifiedbit,andcanthereforebeusedonregisterscontainingsuchStatusFlags.
TheCBIandSBIinstructionsworkwithregisters0x00to0x1Fonly.
4.
WhenusingtheI/OspecificcommandsINandOUT,theI/Oaddresses0x00-0x3Fmustbeused.
WhenaddressingI/ORegistersasdataspaceusingLDandSTinstructions,0x20mustbeaddedtotheseaddresses.
TheATmega48A/48PA/88A/88PA/168A/168PA/328/328Pisacomplexmicrocontrollerwithmoreperipheralunitsthancanbesupportedwithinthe64locationreservedinOpcodefortheINandOUTinstructions.
FortheExtendedI/Ospacefrom0x60-0xFFinSRAM,onlytheST/STS/STDandLD/LDS/LDDinstructionscanbeused.
5.
OnlyvalidforATmega88A/88PA/168A/168PA/328/328P.
6.
BODSandBODSEonlyavailableforpicoPowerdevicesATmega48PA/88PA/168PA/328P0x1D(0x3D)EIMSKINT1INT0730x1C(0x3C)EIFRINTF1INTF0730x1B(0x3B)PCIFRPCIF2PCIF1PCIF00x1A(0x3A)Reserved0x19(0x39)Reserved0x18(0x38)Reserved0x17(0x37)TIFR2OCF2BOCF2ATOV21640x16(0x36)TIFR1––ICF1––OCF1BOCF1ATOV11400x15(0x35)TIFR0OCF0BOCF0ATOV00x14(0x34)Reserved0x13(0x33)Reserved0x12(0x32)Reserved0x11(0x31)Reserved0x10(0x30)Reserved0x0F(0x2F)Reserved0x0E(0x2E)Reserved0x0D(0x2D)Reserved0x0C(0x2C)Reserved0x0B(0x2B)PORTDPORTD7PORTD6PORTD5PORTD4PORTD3PORTD2PORTD1PORTD0940x0A(0x2A)DDRDDDD7DDD6DDD5DDD4DDD3DDD2DDD1DDD0940x09(0x29)PINDPIND7PIND6PIND5PIND4PIND3PIND2PIND1PIND0940x08(0x28)PORTC–PORTC6PORTC5PORTC4PORTC3PORTC2PORTC1PORTC0930x07(0x27)DDRC–DDC6DDC5DDC4DDC3DDC2DDC1DDC0930x06(0x26)PINC–PINC6PINC5PINC4PINC3PINC2PINC1PINC0930x05(0x25)PORTBPORTB7PORTB6PORTB5PORTB4PORTB3PORTB2PORTB1PORTB0930x04(0x24)DDRBDDB7DDB6DDB5DDB4DDB3DDB2DDB1DDB0930x03(0x23)PINBPINB7PINB6PINB5PINB4PINB3PINB2PINB1PINB0930x02(0x22)Reserved0x01(0x21)Reserved0x0(0x20)ReservedAddressNameBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Page128271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P5.
InstructionSetSummaryMnemonicsOperandsDescriptionOperationFlags#ClocksARITHMETICANDLOGICINSTRUCTIONSADDRd,RrAddtwoRegistersRd←Rd+RrZ,C,N,V,H1ADCRd,RrAddwithCarrytwoRegistersRd←Rd+Rr+CZ,C,N,V,H1ADIWRdl,KAddImmediatetoWordRdh:Rdl←Rdh:Rdl+KZ,C,N,V,S2SUBRd,RrSubtracttwoRegistersRd←Rd-RrZ,C,N,V,H1SUBIRd,KSubtractConstantfromRegisterRd←Rd-KZ,C,N,V,H1SBCRd,RrSubtractwithCarrytwoRegistersRd←Rd-Rr-CZ,C,N,V,H1SBCIRd,KSubtractwithCarryConstantfromReg.
Rd←Rd-K-CZ,C,N,V,H1SBIWRdl,KSubtractImmediatefromWordRdh:Rdl←Rdh:Rdl-KZ,C,N,V,S2ANDRd,RrLogicalANDRegistersRd←RdRrZ,N,V1ANDIRd,KLogicalANDRegisterandConstantRd←RdKZ,N,V1ORRd,RrLogicalORRegistersRd←RdvRrZ,N,V1ORIRd,KLogicalORRegisterandConstantRd←RdvKZ,N,V1EORRd,RrExclusiveORRegistersRd←RdRrZ,N,V1COMRdOne'sComplementRd←0xFFRdZ,C,N,V1NEGRdTwo'sComplementRd←0x00RdZ,C,N,V,H1SBRRd,KSetBit(s)inRegisterRd←RdvKZ,N,V1CBRRd,KClearBit(s)inRegisterRd←Rd(0xFF-K)Z,N,V1INCRdIncrementRd←Rd+1Z,N,V1DECRdDecrementRd←Rd1Z,N,V1TSTRdTestforZeroorMinusRd←RdRdZ,N,V1CLRRdClearRegisterRd←RdRdZ,N,V1SERRdSetRegisterRd←0xFFNone1MULRd,RrMultiplyUnsignedR1:R0←RdxRrZ,C2MULSRd,RrMultiplySignedR1:R0←RdxRrZ,C2MULSURd,RrMultiplySignedwithUnsignedR1:R0←RdxRrZ,C2FMULRd,RrFractionalMultiplyUnsignedR1:R0←(RdxRr)<<1Z,C2FMULSRd,RrFractionalMultiplySignedR1:R0←(RdxRr)<<1Z,C2FMULSURd,RrFractionalMultiplySignedwithUnsignedR1:R0←(RdxRr)<<1Z,C2BRANCHINSTRUCTIONSRJMPkRelativeJumpPC←PC+k+1None2IJMPIndirectJumpto(Z)PC←ZNone2JMP(1)kDirectJumpPC←kNone3RCALLkRelativeSubroutineCallPC←PC+k+1None3ICALLIndirectCallto(Z)PC←ZNone3CALL(1)kDirectSubroutineCallPC←kNone4RETSubroutineReturnPC←STACKNone4RETIInterruptReturnPC←STACKI4CPSERd,RrCompare,SkipifEqualif(Rd=Rr)PC←PC+2or3None1/2/3CPRd,RrCompareRdRrZ,N,V,C,H1CPCRd,RrComparewithCarryRdRrCZ,N,V,C,H1CPIRd,KCompareRegisterwithImmediateRdKZ,N,V,C,H1SBRCRr,bSkipifBitinRegisterClearedif(Rr(b)=0)PC←PC+2or3None1/2/3SBRSRr,bSkipifBitinRegisterisSetif(Rr(b)=1)PC←PC+2or3None1/2/3SBICP,bSkipifBitinI/ORegisterClearedif(P(b)=0)PC←PC+2or3None1/2/3SBISP,bSkipifBitinI/ORegisterisSetif(P(b)=1)PC←PC+2or3None1/2/3BRBSs,kBranchifStatusFlagSetif(SREG(s)=1)thenPC←PC+k+1None1/2BRBCs,kBranchifStatusFlagClearedif(SREG(s)=0)thenPC←PC+k+1None1/2BREQkBranchifEqualif(Z=1)thenPC←PC+k+1None1/2BRNEkBranchifNotEqualif(Z=0)thenPC←PC+k+1None1/2BRCSkBranchifCarrySetif(C=1)thenPC←PC+k+1None1/2BRCCkBranchifCarryClearedif(C=0)thenPC←PC+k+1None1/2BRSHkBranchifSameorHigherif(C=0)thenPC←PC+k+1None1/2BRLOkBranchifLowerif(C=1)thenPC←PC+k+1None1/2BRMIkBranchifMinusif(N=1)thenPC←PC+k+1None1/2BRPLkBranchifPlusif(N=0)thenPC←PC+k+1None1/2BRGEkBranchifGreaterorEqual,Signedif(NV=0)thenPC←PC+k+1None1/2BRLTkBranchifLessThanZero,Signedif(NV=1)thenPC←PC+k+1None1/2BRHSkBranchifHalfCarryFlagSetif(H=1)thenPC←PC+k+1None1/2BRHCkBranchifHalfCarryFlagClearedif(H=0)thenPC←PC+k+1None1/2BRTSkBranchifTFlagSetif(T=1)thenPC←PC+k+1None1/2BRTCkBranchifTFlagClearedif(T=0)thenPC←PC+k+1None1/2BRVSkBranchifOverflowFlagisSetif(V=1)thenPC←PC+k+1None1/2BRVCkBranchifOverflowFlagisClearedif(V=0)thenPC←PC+k+1None1/2138271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328PBRIEkBranchifInterruptEnabledif(I=1)thenPC←PC+k+1None1/2BRIDkBranchifInterruptDisabledif(I=0)thenPC←PC+k+1None1/2BITANDBIT-TESTINSTRUCTIONSSBIP,bSetBitinI/ORegisterI/O(P,b)←1None2CBIP,bClearBitinI/ORegisterI/O(P,b)←0None2LSLRdLogicalShiftLeftRd(n+1)←Rd(n),Rd(0)←0Z,C,N,V1LSRRdLogicalShiftRightRd(n)←Rd(n+1),Rd(7)←0Z,C,N,V1ROLRdRotateLeftThroughCarryRd(0)←C,Rd(n+1)←Rd(n),C←Rd(7)Z,C,N,V1RORRdRotateRightThroughCarryRd(7)←C,Rd(n)←Rd(n+1),C←Rd(0)Z,C,N,V1ASRRdArithmeticShiftRightRd(n)←Rd(n+1),n=0.
.
.
6Z,C,N,V1SWAPRdSwapNibblesRd(3.
.
.
0)←Rd(7.
.
.
4),Rd(7.
.
.
4)←Rd(3.
.
.
0)None1BSETsFlagSetSREG(s)←1SREG(s)1BCLRsFlagClearSREG(s)←0SREG(s)1BSTRr,bBitStorefromRegistertoTT←Rr(b)T1BLDRd,bBitloadfromTtoRegisterRd(b)←TNone1SECSetCarryC←1C1CLCClearCarryC←0C1SENSetNegativeFlagN←1N1CLNClearNegativeFlagN←0N1SEZSetZeroFlagZ←1Z1CLZClearZeroFlagZ←0Z1SEIGlobalInterruptEnableI←1I1CLIGlobalInterruptDisableI←0I1SESSetSignedTestFlagS←1S1CLSClearSignedTestFlagS←0S1SEVSetTwosComplementOverflow.
V←1V1CLVClearTwosComplementOverflowV←0V1SETSetTinSREGT←1T1CLTClearTinSREGT←0T1SEHSetHalfCarryFlaginSREGH←1H1CLHClearHalfCarryFlaginSREGH←0H1DATATRANSFERINSTRUCTIONSMOVRd,RrMoveBetweenRegistersRd←RrNone1MOVWRd,RrCopyRegisterWordRd+1:Rd←Rr+1:RrNone1LDIRd,KLoadImmediateRd←KNone1LDRd,XLoadIndirectRd←(X)None2LDRd,X+LoadIndirectandPost-Inc.
Rd←(X),X←X+1None2LDRd,-XLoadIndirectandPre-Dec.
X←X-1,Rd←(X)None2LDRd,YLoadIndirectRd←(Y)None2LDRd,Y+LoadIndirectandPost-Inc.
Rd←(Y),Y←Y+1None2LDRd,-YLoadIndirectandPre-Dec.
Y←Y-1,Rd←(Y)None2LDDRd,Y+qLoadIndirectwithDisplacementRd←(Y+q)None2LDRd,ZLoadIndirectRd←(Z)None2LDRd,Z+LoadIndirectandPost-Inc.
Rd←(Z),Z←Z+1None2LDRd,-ZLoadIndirectandPre-Dec.
Z←Z-1,Rd←(Z)None2LDDRd,Z+qLoadIndirectwithDisplacementRd←(Z+q)None2LDSRd,kLoadDirectfromSRAMRd←(k)None2STX,RrStoreIndirect(X)←RrNone2STX+,RrStoreIndirectandPost-Inc.
(X)←Rr,X←X+1None2ST-X,RrStoreIndirectandPre-Dec.
X←X-1,(X)←RrNone2STY,RrStoreIndirect(Y)←RrNone2STY+,RrStoreIndirectandPost-Inc.
(Y)←Rr,Y←Y+1None2ST-Y,RrStoreIndirectandPre-Dec.
Y←Y-1,(Y)←RrNone2STDY+q,RrStoreIndirectwithDisplacement(Y+q)←RrNone2STZ,RrStoreIndirect(Z)←RrNone2STZ+,RrStoreIndirectandPost-Inc.
(Z)←Rr,Z←Z+1None2ST-Z,RrStoreIndirectandPre-Dec.
Z←Z-1,(Z)←RrNone2STDZ+q,RrStoreIndirectwithDisplacement(Z+q)←RrNone2STSk,RrStoreDirecttoSRAM(k)←RrNone2LPMLoadProgramMemoryR0←(Z)None3LPMRd,ZLoadProgramMemoryRd←(Z)None3LPMRd,Z+LoadProgramMemoryandPost-IncRd←(Z),Z←Z+1None3SPMStoreProgramMemory(Z)←R1:R0None-INRd,PInPortRd←PNone1OUTP,RrOutPortP←RrNone1PUSHRrPushRegisteronStackSTACK←RrNone2MnemonicsOperandsDescriptionOperationFlags#Clocks148271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328PNote:1.
TheseinstructionsareonlyavailableinATmega168PAandATmega328P.
POPRdPopRegisterfromStackRd←STACKNone2MCUCONTROLINSTRUCTIONSNOPNoOperationNone1SLEEPSleep(seespecificdescr.
forSleepfunction)None1WDRWatchdogReset(seespecificdescr.
forWDR/timer)None1BREAKBreakForOn-chipDebugOnlyNoneN/AMnemonicsOperandsDescriptionOperationFlags#Clocks158271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
OrderingInformation6.
1ATmega48ANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage321.
4.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)PowerSupplyOrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega48A-AUATmega48A-AUR(5)ATmega48A-MMH(4)ATmega48A-MMHR(4)(5)ATmega48A-MUATmega48A-MUR(5)ATmega48A-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)168271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
2ATmega48PANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage321.
4.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)PowerSupplyOrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega48PA-AUATmega48PA-AUR(5)ATmega48PA-MMH(4)ATmega48PA-MMHR(4)(5)ATmega48PA-MUATmega48PA-MUR(5)ATmega48PA-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)178271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
3ATmega88ANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage321.
4.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)PowerSupplyOrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega88A-AUATmega88A-AUR(5)ATmega88A-MMH(4)ATmega88A-MMHR(4)(5)ATmega88A-MUATmega88A-MUR(5)ATmega88A-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)188271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
4ATmega88PANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage321.
4.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)PowerSupply(V)OrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega88PA-AUATmega88PA-AUR(5)ATmega88PA-MMH(4)ATmega88PA-MMHR(4)(5)ATmega88PA-MUATmega88PA-MUR(5)ATmega88PA-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)198271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
5ATmega168ANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage3214.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)(3)PowerSupply(V)OrderingCode(2)Package(1)OperationalRange201.
8-5.
5ATmega168A-AUATmega168A-AUR(5)ATmega168A-MMH(4)ATmega168A-MMHR(4)(5)ATmega168A-MUATmega168A-MUR(5)ATmega168A-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)208271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
6ATmega168PANote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
See"SpeedGrades"onpage321.
4.
NiPdAuLeadFinish.
5.
Tape&Reel.
Speed(MHz)(3)PowerSupply(V)OrderingCode(2)Package(1)OperationalRange201.
8-5.
5ATmega168PA-AUATmega168PA-AUR(5)ATmega168PA-MMH(4)ATmega168PA-MMHR(4)(5)ATmega168PA-MUATmega168PA-MUR(5)ATmega168PA-PU32A32A28M128M132M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28M128-pad,4x4x1.
0body,LeadPitch0.
45mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)218271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
7ATmega328Note:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
SeeFigure28-1onpage321.
4.
Tape&ReelSpeed(MHz)PowerSupply(V)OrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega328-AUATmega328-AUR(4)ATmega328-MUATmega328-MUR(4)ATmega328-PU32A32A32M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)228271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P6.
8ATmega328PNote:1.
Thisdevicecanalsobesuppliedinwaferform.
PleasecontactyourlocalAtmelsalesofficefordetailedorderinginformationandminimumquantities.
2.
Pb-freepackagingcompliestotheEuropeanDirectiveforRestrictionofHazardousSubstances(RoHSdirective).
AlsoHalidefreeandfullyGreen.
3.
SeeFigure28-1onpage321.
4.
Tape&Reel.
Speed(MHz)PowerSupplyOrderingCode(2)Package(1)OperationalRange20(3)1.
8-5.
5ATmega328P-AUATmega328P-AUR(4)ATmega328P-MUATmega328P-MUR(4)ATmega328P-PU32A32A32M1-A32M1-A28P3Industrial(-40°Cto85°C)PackageType32A32-lead,Thin(1.
0mm)PlasticQuadFlatPackage(TQFP)28P328-lead,0.
300"Wide,PlasticDualInlinePackage(PDIP)32M1-A32-pad,5x5x1.
0body,LeadPitch0.
50mmQuadFlatNo-Lead/MicroLeadFramePackage(QFN/MLF)238271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P7.
PackagingInformation7.
132A2325OrchardParkwaySanJose,CA95131TITLEDRAWINGNO.
RREV.
32A,32-lead,7x7mmBodySize,1.
0mmBodyThickness,0.
8mmLeadPitch,ThinProfilePlasticQuadFlatPackage(TQFP)B32A10/5/2001PIN1IDENTIFIER0~7PIN1LCA1A2AD1DeE1EBNotes:1.
ThispackageconformstoJEDECreferenceMS-026,VariationABA.
2.
DimensionsD1andE1donotincludemoldprotrusion.
Allowableprotrusionis0.
25mmperside.
DimensionsD1andE1aremaximumplasticbodysizedimensionsincludingmoldmismatch.
3.
Leadcoplanarityis0.
10mmmaximum.
A––1.
20A10.
05–0.
15A20.
951.
001.
05D8.
759.
009.
25D16.
907.
007.
10Note2E8.
759.
009.
25E16.
907.
007.
10Note2B0.
30–0.
45C0.
09–0.
20L0.
45–0.
75e0.
80TYPCOMMONDIMENSIONS(UnitofMeasure=mm)SYMBOLMINNOMMAXNOTE248271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P7.
228M1TITLEDRAWINGNO.
GPCREV.
PackageDrawingContact:packagedrawings@atmel.
com28M1ZBVB28M1,28-pad,4x4x1.
0mmBody,LeadPitch0.
45mm,2.
4x2.
4mmExposedPad,ThermallyEnhancedPlasticVeryThinQuadFlatNoLeadPackage(VQFN)10/24/08SIDEVIEWPin1IDBOTTOMVIEWTOPVIEWNote:Theterminal#1IDisaLaser-markedFeature.
DEeKA1CAD2E2yL123b1230.
45COMMONDIMENSIONS(UnitofMeasure=mm)SYMBOLMINNOMMAXNOTEA0.
800.
901.
00A10.
000.
020.
05b0.
170.
220.
27C0.
20REFD3.
954.
004.
05D22.
352.
402.
45E3.
954.
004.
05E22.
352.
402.
45e0.
45L0.
350.
400.
45y0.
00–0.
08K0.
20––R0.
200.
4Ref(4x)258271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P7.
332M1-A2325OrchardParkwaySanJose,CA95131TITLEDRAWINGNO.
RREV.
32M1-A,32-pad,5x5x1.
0mmBody,LeadPitch0.
50mm,E32M1-A5/25/063.
10mmExposedPad,MicroLeadFramePackage(MLF)COMMONDIMENSIONS(UnitofMeasure=mm)SYMBOLMINNOMMAXNOTED1DE1EebA3A2A1AD2E20.
08CL123PP0123A0.
800.
901.
00A1–0.
020.
05A2–0.
651.
00A30.
20REFb0.
180.
230.
30DD1D22.
953.
103.
254.
905.
005.
104.
704.
754.
804.
704.
754.
804.
905.
005.
10EE1E22.
953.
103.
25e0.
50BSCL0.
300.
400.
50P––0.
60––12oNote:JEDECStandardMO-220,Fig.
2(AnvilSingulation),VHHD-2.
TOPVIEWSIDEVIEWBOTTOMVIEW0Pin1IDPin#1Notch(0.
20R)K0.
20––KK268271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P7.
428P32325OrchardParkwaySanJose,CA95131TITLEDRAWINGNO.
RREV.
28P3,28-lead(0.
300"/7.
62mmWide)PlasticDualInlinePackage(PDIP)B28P309/28/01PIN1E1A1BREFEB1CLSEATINGPLANEA0~15DeeBB2(4PLACES)COMMONDIMENSIONS(UnitofMeasure=mm)SYMBOLMINNOMMAXNOTEA––4.
5724A10.
508––D34.
544–34.
798Note1E7.
620–8.
255E17.
112–7.
493Note1B0.
381–0.
533B11.
143–1.
397B20.
762–1.
143L3.
175–3.
429C0.
203–0.
356eB––10.
160e2.
540TYPNote:1.
DimensionsDandE1donotincludemoldFlashorProtrusion.
MoldFlashorProtrusionshallnotexceed0.
25mm(0.
010").
278271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P8.
Errata8.
1ErrataATmega48ATherevisionletterinthissectionreferstotherevisionoftheATmega48Adevice.
8.
1.
1Rev.
DAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
2ErrataATmega48PATherevisionletterinthissectionreferstotherevisionoftheATmega48PAdevice.
8.
2.
1Rev.
DAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
3ErrataATmega88ATherevisionletterinthissectionreferstotherevisionoftheATmega88Adevice.
8.
3.
1Rev.
FAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
288271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P8.
4ErrataATmega88PATherevisionletterinthissectionreferstotherevisionoftheATmega88PAdevice.
8.
4.
1Rev.
FAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
5ErrataATmega168ATherevisionletterinthissectionreferstotherevisionoftheATmega168Adevice.
8.
5.
1Rev.
EAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
6ErrataATmega168PATherevisionletterinthissectionreferstotherevisionoftheATmega168PAdevice.
8.
6.
1RevEAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
298271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P8.
7ErrataATmega328TherevisionletterinthissectionreferstotherevisionoftheATmega328device.
8.
7.
1RevDAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
7.
2RevCNotsampled.
8.
7.
3RevBAnalogMUXcanbeturnedoffwhensettingACMEbitUnstable32kHzOscillator1.
Unstable32kHzOscillatorIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
2.
Unstable32kHzOscillatorThe32kHzoscillatordoesnotworkassystemclock.
The32kHzoscillatorusedasasyn-chronoustimerisinaccurate.
ProblemFix/WorkaroundNone.
8.
7.
4RevAAnalogMUXcanbeturnedoffwhensettingACMEbitUnstable32kHzOscillator1.
Unstable32kHzOscillatorIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
2.
Unstable32kHzOscillatorThe32kHzoscillatordoesnotworkassystemclock.
The32kHzoscillatorusedasasyn-chronoustimerisinaccurate.
ProblemFix/WorkaroundNone.
308271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P8.
8ErrataATmega328PTherevisionletterinthissectionreferstotherevisionoftheATmega328Pdevice.
8.
8.
1RevDAnalogMUXcanbeturnedoffwhensettingACMEbit1.
AnalogMUXcanbeturnedoffwhensettingACMEbitIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
8.
8.
2RevCNotsampled.
8.
8.
3RevBAnalogMUXcanbeturnedoffwhensettingACMEbitUnstable32kHzOscillator1.
Unstable32kHzOscillatorIftheACME(AnalogComparatorMultiplexerEnabled)bitinADCSRBissetwhileMUX3inADMUXis'1'(ADMUX[3:0]=1xxx),allMUX'esareturnedoffuntiltheACMEbitiscleared.
ProblemFix/WorkaroundCleartheMUX3bitbeforesettingtheACMEbit.
2.
Unstable32kHzOscillatorThe32kHzoscillatordoesnotworkassystemclock.
The32kHzoscillatorusedasasyn-chronoustimerisinaccurate.
ProblemFix/WorkaroundNone.
8.
8.
4RevAUnstable32kHzOscillator1.
Unstable32kHzOscillatorThe32kHzoscillatordoesnotworkassystemclock.
The32kHzoscillatorusedasasyn-chronoustimerisinaccurate.
ProblemFix/WorkaroundNone.
318271BS–AVR–04/10ATmega48A/48PA/88A/88PA/168A/168PA/328/328P9.
DatasheetRevisionHistoryPleasenotethatthereferringpagenumbersinthissectionarereferredtothisdocument.
Thereferringrevisioninthissectionarereferringtothedocumentrevision.
9.
1Rev.
8271B-04/109.
2Rev.
8271A-12/091.
UpdatedTable8-8withcorrectvaluefortimeroscilliatoratxtal2/tos22.
CorrecteduseofSBISinstructionsinassemblycodeexamples.
3.
CorrectedBODandBODSEbitstoR/WinSection9.
11.
2onpage45,Section11.
5onpage69andSection13.
4onpage934.
Figuresforbandgapcharacterizationadded,Figure29-34onpage349,Figure29-81onpage374,Figure29-128onpage399,Figure29-175onpage424,Figure29-222onpage449,Fig-ure29-269onpage474,Figure29-316onpage499andFigure29-363onpage523.
5.
Updated"PackagingInformation"onpage546byreplacing28M1withacorrectcorrespondingpackage.
1.
Newdatasheet8271withmergedinformationforATmega48PA,ATmega88PA,ATmega168PAandATmega48A,ATmega88AandATmega168A.
AlsoincludedinformationonATmega328andATmega328P2Changesdone:–Newdevicesadded:ATmega48A/ATmega88A/ATmega168AandATmega328–UpdatedFeatureDescription–UpdatedTable2-1onpage6–AddednoteforBODDisableonpage40.
–AddednoteonBODandBODSEin"MCUCR–MCUControlRegister"onpage93and"RegisterDescription"onpage294–Addedlimitationinformatinfortheapplication"BootLoaderSupport–Read-While-WriteSelf-Programming"onpage279–Addedlimitiationinformationfor"ProgramAndDataMemoryLockBits"onpage296–AddedspecifiedDCcharacteristiceperprocessor–Addedtypicalcharacteristicsperprocessor–Removedexecptioninformationin"AddressMatchUnit"onpage223.
8271BS–AVR–04/10HeadquartersInternationalAtmelCorporation2325OrchardParkwaySanJose,CA95131USATel:1(408)441-0311Fax:1(408)487-2600AtmelAsiaUnit1-5&16,19/FBEATower,MillenniumCity5418KwunTongRoadKwunTong,KowloonHongKongTel:(852)2245-6100Fax:(852)2722-1369AtmelEuropeLeKrebs8,RueJean-PierreTimbaudBP30978054Saint-Quentin-en-YvelinesCedexFranceTel:(33)1-30-60-70-00Fax:(33)1-30-60-71-11AtmelJapan9F,TonetsuShinkawaBldg.
1-24-8ShinkawaChuo-ku,Tokyo104-0033JapanTel:(81)3-3523-3551Fax:(81)3-3523-7581ProductContactWebSitewww.
atmel.
comTechnicalSupportavr@atmel.
comSalesContactwww.
atmel.
com/contactsLiteratureRequestswww.
atmel.
com/literatureDisclaimer:TheinformationinthisdocumentisprovidedinconnectionwithAtmelproducts.
Nolicense,expressorimplied,byestoppelorotherwise,toanyintellectualpropertyrightisgrantedbythisdocumentorinconnectionwiththesaleofAtmelproducts.
EXCEPTASSETFORTHINATMEL'STERMSANDCONDI-TIONSOFSALELOCATEDONATMEL'SWEBSITE,ATMELASSUMESNOLIABILITYWHATSOEVERANDDISCLAIMSANYEXPRESS,IMPLIEDORSTATUTORYWARRANTYRELATINGTOITSPRODUCTSINCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTYOFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSE,ORNON-INFRINGEMENT.
INNOEVENTSHALLATMELBELIABLEFORANYDIRECT,INDIRECT,CONSEQUENTIAL,PUNITIVE,SPECIALORINCIDEN-TALDAMAGES(INCLUDING,WITHOUTLIMITATION,DAMAGESFORLOSSOFPROFITS,BUSINESSINTERRUPTION,ORLOSSOFINFORMATION)ARISINGOUTOFTHEUSEORINABILITYTOUSETHISDOCUMENT,EVENIFATMELHASBEENADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGES.
Atmelmakesnorepresentationsorwarrantieswithrespecttotheaccuracyorcompletenessofthecontentsofthisdocumentandreservestherighttomakechangestospecificationsandproductdescriptionsatanytimewithoutnotice.
Atmeldoesnotmakeanycommitmenttoupdatetheinformationcontainedherein.
Unlessspecificallyprovidedotherwise,Atmelproductsarenotsuitablefor,andshallnotbeusedin,automotiveapplications.
Atmel'sproductsarenotintended,authorized,orwarrantedforuseascomponentsinapplicationsintendedtosupportorsustainlife.
2010AtmelCorporation.
Allrightsreserved.
Atmel,Atmellogoandcombinationsthereof,AVR,AVRlogoandothersareregisteredtrade-marksortrademarksofAtmelCorporationoritssubsidiaries.
Othertermsandproductnamesmaybetrademarksofothers.
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...
v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...
www.13ddd.com为你推荐
沙滩捡12块石头价值近百万捡块石头价值一亿 奇石到底应该怎么定价摩根币摩根币是传销吗sherylsandberg这个文章什么意思 给个翻译好吗 谢谢了18comic.fun贴吧经常有人说A站B站,是什么意思啊?杰景新特美国杰尼.巴尼特的资料同ip网站同IP网站9个越来越多,为什么?同一ip网站如何用不同的IP同时登陆一个网站www.kanav001.com翻译为日文: 主人,请你收养我一天吧. 带上罗马音标会更好wwwwww.javmoo.comJAV编程怎么做?103838.com39052.com这电影网支持网页观看吗?
openv hkbn 分销主机 60g硬盘 双11抢红包攻略 realvnc 好看qq空间 howfile 佛山高防服务器 爱奇艺会员免费试用 双线机房 西安服务器托管 web应用服务器 深圳域名 免费个人网页 宿迁服务器 睿云 脚本大全 什么是dns 标准机柜 更多