【摘要】:表2-1列出了ATmega16单片机的I/O寄存器的地址空间分配、名称和功能。此外,I/O寄存器地址范围在$00~$1F之间的寄存器还可通过指令实现位操作和位判断跳转。SBI和CBI指令可直接对I/O寄存器中的每一位进行位操作。在I/O寄存器专用指令IN、OUT、SBI、CBI、SBIS和SBIC中使用I/O寄存器地址$00~$3F。当以SRAM方式寻址I/O寄存器时,必须将其地址加上$0020,映射成在数据存储器空间的地址。
表2-1列出了ATmega16单片机的I/O寄存器的地址空间分配、名称和功能。
表2-1 ATmega16 I/O寄存器空间分配表
(续)
(www.xing528.com)
AVR系列单片机所有I/O口及外围接口的功能和配置均通过I/O寄存器进行设置和使用。CPU访问I/O寄存器可以使用两种不同的方法,使用对I/O寄存器访问的IN、OUT专用指令,以及使用对SRAM访问的指令。
所有的I/O寄存器可以通过IN(I/O口输入)和OUT(输出到I/O口)指令访问,这些指令是在32个通用寄存器与I/O寄存器空间之间传输交换数据,指令周期为1个时钟周期。此外,I/O寄存器地址范围在$00~$1F之间的寄存器(前32个)还可通过指令实现位操作和位判断跳转。SBI(I/O寄存器中指定位置1)和CBI(I/O寄存器中指定位清零)指令可直接对I/O寄存器中的每一位进行位操作。使用SBIS(I/O寄存器中指定位为1跳行)和SBIC(I/O寄存器中指定位为0跳行)指令能够对这些I/O寄存器中每一位的值进行检验判断,实现跳过一条指令执行下一条指令的跳转。
在I/O寄存器专用指令IN、OUT、SBI、CBI、SBIS和SBIC中使用I/O寄存器地址$00~$3F。
当以SRAM方式寻址I/O寄存器时,必须将其地址加上$0020,映射成在数据存储器空间的地址。本书中I/O寄存器地址均给出了两种地址表示:I/O寄存器空间地址以及在数据存储器空间中的映射地址(在圆括号中)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。