ATmega88 I/O P311 "Register Overview".
All I/O and peripherals of the ATmega88 are placed in the I/O space. All I/O addresses can be accessed by the LD/LDS/LDD and ST/STS/STD instructions to transfer data between the 32 general-purpose working registers and the I/O. The I/O registers with addresses 0x00 - 0x1F can also be directly bit-addressed using the SBI and CBI instructions, while SBIS and SBIC are used to check whether a single bit is set. When using the IN and OUT instructions, the address must be between 0x00 - 0x3F. If you want to access the I/O registers like SRAM through LD and ST instructions, add 0x20 to the corresponding address. The ATmega88 is a complex microprocessor that supports more peripherals than the reserved 64 I/O (accessed through IN OUT instructions) can support. For the extended I/O space 0x60 - 0xFF, only ST/STS/STD and LD/LDS/LDD instructions can be used.
For compatibility with subsequent products, unused bits should be written to "0", and reserved I/O registers should not be written.
Some status flags are cleared by writing "1". CBI and SBI instructions can operate all bits of the I/O register and write "1" back to the set bits, thus clearing these flags. CBI and SBI instructions are only valid for registers between 0x00 and 0x1F.
I/O and peripheral control registers are introduced in other subsequent chapters.
Previous article:ATmega88 clock system and its distribution
Next article:ATmega88 EEPROM Data Memory
Recommended posts
- [Digi-Key Follow me Issue 3] Task 2: Driving the OLED screen on the expansion board
- Requirements UsetheOLEDscreenontheexpansionboardtodisplaytextandgraphics HardwarePreparation Thistaskrequiresanexpansionboardtocomplete.TheexpansionboardisSeeedStudioExpansionBoardBaseforXIAO.Youneedtoso
- 鲜de芒果 DigiKey Technology Zone
- Help everyone
- Hasanyoneusedasm330lHHtodoattitudedecoding?Pleaseprovidethemethodandsourcecode. Thisasmofficialshouldhaveroutinecode.
- saber1233221 Sensor
- 【STM32MP135F-DK】6-Use GTK to build desktop applications
- ThistimeItriedtousepython+gtktobuildasimpledesktopprogramtocontroltheLEDonthedevelopmentboard. First,usevitocreateahello.pyfileinthedirectory.Thecodeisasfollows: importgi gi.require_version("Gtk","3.0") fromg
- manhuami2007 stm32/stm8
- Protecting Your IP Cores - Part 1 Soft IP, Section 1: Encryption of HDL Code
- ProtectingYourIPCores-Part1SoftIP,Section1:EncryptionofHDLCode IEEEStd17352014IEEERecommendedPracticeforEncryptionandManagementofIPHDLSourceCodeProtection IEEEStd17352014IEEERecommendedPracticefo
- modemdesign Integrated technical exchanges
- 【TI recommended course】#Give old motors new skills#
- //training.eeworld.com.cn/TI/show/course/3912
- landeng1986 TI Technology Forum
- Large model voice development board shell 3D printing resources and key structure explanation
- Preface TheCSK6largemodelvoiceandvisiondevelopmentboardcanbeusedforlargemodelvoicedialoguewhenconnectedtotheInternet,sosomefriendswanttoaddashellandputitonthedesktoptouseitlikeaspeaker.However,sincethed
- 胡黎明 DIY/Open Source Hardware
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
- President of the Chinese Academy of Sciences: Turn the US bottleneck list into a scientific research list
- Siemens Industrial Automation Data Collection (August 9, 2019)
- The troubles of capacitor testers in traditional mode - Part 1
- Playing with Zynq Serial 19——[ex02] A happy running water lamp based on Zynq PL
- 5G O-RAN All-in-one Small Base Station Hardware White Box Reference Architecture
- [Problem Feedback] Problem with the "SplitContainer" control of Anlu TangDynastyr.
- Flex flexible vibration plate can solve the problem of feeding vulnerable parts
- Basic knowledge of burning program (downloading program)
- This PCB Checklist is circulated on the Internet, if you need it, please collect it
- Smooth configuration of bq4050