logo

AVR应用笔记 AVR单片机内核剖析 ATmega64 状态寄存器

ATmega64 状态寄存器

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

状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以 实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许 多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。

在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作 需要软件来处理。

AVR 状态寄存器 SREG 定义如下

ATmega64 状态寄存器

• Bit 7 – I: 全局中断使能
I 置位时使能全局中断。单独的中断使能由其他独立的控制寄存器控制。如果I 清零,则不论单独中断标志置位与否,都不会产生中断。任意一个中断发生后I 清零,而执行RETI指令后I 恢复置位以使能中断。I 也可以通过SEI 和CLI 指令来置位和清零。

• Bit 6 – T: 位拷贝存储
位拷贝指令BLD 和BST 利用T 作为目的或源地址。BST 把寄存器的某一位拷贝到T,而BLD 把T 拷贝到寄存器的某一位。

• Bit 5 – H: 半进位标志
半进位标志H 表示算术操作发生了半进位。此标志对于BCD 运算非常有用。详见指令集的说明。

• Bit 4 – S: 符号位,S = N ⊕ V
S 为负数标志N 与2 的补码溢出标志V 的异或。详见指令集的说明。

• Bit 3 – V: 2 的补码溢出标志
支持2 的补码运算。详见指令集的说明。

• Bit 2 – N: 负数标志
表明算术或逻辑操作结果为负。详见指令集的说明。

• Bit 1 – Z: 零标志
表明算术或逻辑操作结果为零。详见指令集的说明。

• Bit 0 – C: 进位标志
表明算术或逻辑操作发生了进位。详见指令集的说明。

 相关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

ATmega64 状态寄存器

——