历史上的今天
今天是:2024年12月08日(星期日)
2021年12月08日 | ATmega88 状态寄存器
2021-12-08 来源:eefocus
ATmega88状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。
在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。

AVR 中断寄存器 SREG 定义如下:
·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: 进位标志
表明算术或逻辑操作发生了进位。详见指令集的说明。
上一篇:ATmega88 通用寄存器
下一篇:ATmega88 ALU
史海拾趣
|
哥们今天刚画的16口以太网交换机的原理图(改进过)哥们今天刚画的16口以太网交换机的原理图(PROTEL99SE格式),改进过的,朋友们辛苦啦! [ 本帖最后由 西门 于 2009-5-12 18:50 编辑 ]… 查看全部问答> |
|
LM3S系列单片机采用的是结构简单、性能出众的ARM Cortex-M3处理器内核。Luminary官方(已被TI收购)免费公开地提供了基于C语言(符合ANSI C标准)的驱动库软件包,并且源代码是公开的。因此用户完全可以摒弃晦涩难懂的汇编语言,也不需要掌握底层寄 ...… 查看全部问答> |
|
这是一本关于Intel 80C51 以及广大的51 系列单片机的书 这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单 请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法。 周立功… 查看全部问答> |
|
想用2262,2272做遥控小车,怎样才能使小车前进的同时转弯? 想用2262,2272做个遥控小车,可这个芯片在同一时段只能有一个端口输出,前进时就不能转弯了,不知道该怎样解决,请大家想想,给点思路,用单片机控制也行。… 查看全部问答> |
|
请教如何在Win CE 下开发Driver【或寻北京兼职人员】 想请教一下如何开发Win CE 下的Dirver。 开发流程,用到的技术,是怎么样子的。 希望能帮忙找点例子和相关的文档。 我这边有个嵌入式的项目,目前准备自学后再做。 也希望能得到嵌入式工程师的帮助,大家一起接下这个单子。 如果有兴趣的可以 ...… 查看全部问答> |
|
我把nboot烧写到FLASH的BL0块中,然后把EBOOT烧写到BL2块中,然后通过EBOOT把NK.BIN再下载到FLASH中, 问题一: 那么这个NK.BIN是被EBOOT下载到FLASH哪个地方的呢?是不是代码在EBOOT哪个地方?还是在别的地方?能否告诉下小弟! 问题二: 为什么EBOOT非 ...… 查看全部问答> |




