AVR应用笔记 AVR单片机内核剖析 ATmega168 I/O存储器

ATmega168 I/O存储器

以下资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!

ATmega168的 I/O P311“ 寄存器概述 ” 。

ATmega168 的所有 I/O 和外设都被放置在 I/O 空间。 所有的 I/O地址都可以通过LD/LDS/LDD和ST/STS/STD指令来访问,在32个通用工作寄存器和I/O之间传输数据。 地址为0x00 - 0x1F的I/O寄存器还可用SBI和CBI指令直接进行位寻址,而SBIS和SBIC则用来检查单个位置位与否。使用 IN 和 OUT 指令时地址必须在 0x00 - 0x3F之间。如果要象 SRAM 一样通过 LD 和 ST 指令访问 I/O 寄存器,相应的地址要加上 0x20。 ATmega168 是一个复杂的微处理器,其支持的外设要比预留的 64 个 I/O( 通过IN OUT 指令访问 ) 所能支持的要多。对于扩展的 I/O 空间0x60 - 0xFF,只能使用ST/STS/STD 和 LD/LDS/LDD 指令。

为了与后续产品兼容,保留未用的位应写"0",而保留的 I/O 寄存器则不应进行写操作。

一些状态标志位的清除是通过写"1" 来实现的。 CBI 和 SBI 指令可以操作 I/O寄存器所有的位,并给置位的位回写"1",因此会清除这些标志位。CBI和SBI指令只对0x00 to 0x1F之间的寄存器有效。

I/O 和外设控制寄存器在后续其他章节进行介绍。

 相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR型号资料

ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny26 ATtiny2313
ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32
ATmega64 ATmega128 ATmega162 ATmega169 ATmega8515 ATmega8535

ATmega168 I/O存储器

——