首页 理论教育 AVR单片机I/O寄存器快速入门

AVR单片机I/O寄存器快速入门

时间:2023-11-20 理论教育 版权反馈
【摘要】:表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,映射成在数据存储器空间的地址。

AVR单片机I/O寄存器快速入门

表2-1列出了ATmega16单片机的I/O寄存器的地址空间分配、名称和功能。

表2-1 ATmega16 I/O寄存器空间分配表

978-7-111-36320-0-Chapter02-13.jpg

(续)

978-7-111-36320-0-Chapter02-14.jpg(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寄存器空间地址以及在数据存储器空间中的映射地址(在圆括号中)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈