位寻址与字节寻址

在单片机中,有位寻址概念,单片机有多组IO口组成, 每组IO口对应着一个寄存器,通过代码给寄存器赋值从而来控制IO口的输入输出电平,达到控制单片机各部件的运行。

如上图,以8位单片机为例。sfr标识符定义的如ACC、PSW等等都是特殊的寄存器, 等号后面是分配给寄存器的地址,两位十六进制,由8个二进制位组成。

而我们熟知的IO口就是P0-P3,一共四组。每组寄存器地址都是八位,每一位又代表了一个具体的IO口,一般情况下我们直接对一组寄存器赋值,就是字节寻址,一个字节等于8位,列如:

在P3这组IO口中,假设P3.0连接了LED那么,从右边低位开始数,第一个就是P3.0,  0代表低电平,那么灯就会被点亮。

 这种对寄存器地址整个进行赋值的方式可能会影响其他IO口的输出,所以我们可以对具体的一个位进行寻址,在这里可以用 sbit  变量名 = IO组 ^ IO口号, 如图:

 上面我们假设P3.0口连接了LED,那么我们这里通过位寻址的方式找的P3.0口,并将值改为1,1为高电平,LED灯灭。这就是位寻址。

总结:

字寻址 给一个寄存器地址进行 整体赋值

位寻址 则是找到寄存器地址中的 一位进行赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值