当前课程知识点:单片机原理及应用 > 3 指令系统 > 3.15 布尔变量操作指令 > 布尔变量操作指令
同学
你好
今天我们再来看一看
对某一个位进行单独操作的布尔变量操作指令
我们先来看一看位传送指令
由于位寻址区
我们前面都说过
都在内部RAM中
所以位传送指令
也是用的是片内RAM的传送指令MOV
那么单片机会根据MOV指令中的寻址方式
自动的判断是对字节单元传送
还是对某一个位来进行单独的传送
我们来看一看这道例题
将位地址22H的一位数传送到
位地址32H中
那么我们先用指令MOV C , 22H
由于该指令中的目的操作数为进位位C
所以单片机可以判断出
源操作数22H是一个位地址
其对应的是片内RAM 24H地址单元中的
红色标注的那一位
同学们可以看看我们这边PPT中给出了
这个图中标明了22H到底是
RAM哪个单元中的哪一位
MOV指令会把该位的值0
送给进位位C存储
然后再用一条指令MOV 32H , C
这条指令和上条指令类似
由于该指令的源操作数为进位C
所以单片机可以判断出
目的操作数32H是一个位地址
就不是一个单元地址了
32H对应的是我们PPT中
片内RAM 26H地址单元中
红色标注的那一位
MOV指令会把该进位位C中暂存的值 零
送给该位来进行存储
如此通过C的暂存
我们就实现了题目的要求
除了位传送指令之外
还有位清零指令CLR
位置1指令SETB
以及位取反指令CPL
比如说指令CLR C是将进位位C清零
指令CLR 33H
是将位地址33H置1
同学可能问了这一条CLR 33H
我怎么知道33H是一个位地址还是一个字节地址
因为我们前面说过
用CLR也可以对某一个单元来进行清零
但是我们前面说过CLR
如果你是带单操作数
这个操作数必须是累加器A
这里面指令中用的是一个33H
它不是一个累加器A
所以单片机会自动判断出来
33H是一个位地址
是对33H位地址对应的位来进行清零
好
下面我们再来看一看另外几个布尔指令
ANL和ORL
这个是位与和位或指令
指令ANL C , 32H
实现把进位位C和位地址32H的位相与
结果会反存到C
而指令ORL C , 32H
是实现把进位位C和位地址32H的位相或
结果会反存到C中
比如Cy如果原来等于1
位地址32H的内容如果也是为1
那么执行指令ANL C , 32H后
我们会推断出来
这时候把Cy置0
位地址32H的值依然是0
位地址的表示方法有很多种
我们前面也都讲过
比如说可以直接用位地址32H
也可以用这个位地址
如果有名字的话也可以用名字
比如说32H实际上我们取个名字是F1
也可以用字节地址加位数
或者字节名加位数
比如说同样这个位也可以用ACC.3
来进行表示
最后我们来看一道例题
设累加器A中的数据为69H
也就说是01101001
Cy是等于0
执行指令ORL C , 0E6H后
请问进位标志位Cy等于多少
注意指令中0E6H是位地址
它实际上就是RAM地址29H单元中
红色表示的那一位
由于该位的值为1
所以执行指令ORL后就是或了
或指令后
那么Cy的值就置1
好的
我们今天主要介绍了一下布尔操作类的指令
主要是可以对某一个位来进行操作的指令
请同学们下去之后
仔细的体会位寻址和字节寻址的区别
以及要把握一下
我们的单片机会自动的在指令中识别地址
到底代表的是位还是代表的是字节
好的
今天的课就到这里
同学们再见
-1.1 单片机的名称
--单片机的名称
-1.2 单片机的相关概念
--单片机的相关概念
-1.3 单片机的设计语言及软件
-1.4 单片机的发展
--单片机的发展
-1.5单片机的应用
--单片机的应用
-1.6 第一单元作业
-2.1 单片机的结构框图
--单片机的结构框图
-2.2 80C51内部结构
-2.3 信号引脚
--信号引脚
-2.4 内部数据存储器RAM
-2.5 特殊功能寄存器
--特殊功能寄存器
-2.6 堆栈
--堆栈
-2.7 内部程序存储器ROM
-2.8 存储器的结构特点
--存储器的结构特点
-2.9 并行输入输出接口电路
-2.10 并口功能与时序
--并口功能与时序
-2.11 工作方式
--工作方式
-2.12 最小应用系统
-- 最小应用系统
-2.13 第二单元作业
-3.1 指令格式
--指令格式
-3.2 立即寻址与直接寻址
-3.3 寄存器寻址与寄存器间接寻址
-3.4 变址间接寻址与位寻址
-3.5 内部RAM传送指令
-3.6 外部RAM传送指令
-3.7 ROM传送指令
--ROM传送指令
-3.8 交换指令
--交换指令
-3.9 堆栈操作指令
--堆栈操作指令
-3.10 传送类指令习题讲解
-3.11 算术运算类指令特点
-3.12 加法指令
--加法指令
-3.13 加法习题、减法和乘除指令
-3.14 逻辑运算指令
--逻辑运算指令
-3.15 布尔变量操作指令
--布尔变量操作指令
-3.16 无条件转移指令
--无条件转移指令
-3.17 条件转移指令
--条件转移指令
-3.18 循环转移指令
--循环转移指令
-3.19 子程序相关指令
--子程序相关指令
-3.20 并口访问指令及指令小结
-3.21 第三单元作业
-4.1 汇编程序约定
--汇编程序约定
-4.2 宏指令
--宏指令
-4.3 汇编控制指令
--汇编控制指令
-4.4 汇编语言程序设计步骤
-4.5 顺序程序举例
-- 顺序程序举例
-4.6 单重分支结构
--单重分支结构
-4.7 多重分支结构
--多重分支结构
-4.8 单重循环结构
--单重循环结构
-4.9 计数控制循环程序
--计数控制循环程序
-4.10 特征控制循环程序
-- 特征控制循环程序
-4.11 多重循环程序
--多重循环程序
-4.12 子程序的概念
--子程序的概念
-4.13 子程序设计注意事项
-4.14 子程序举例
--子程序举例
-4.15 第四单元作业
-5.1 系统扩展
--系统扩展
-5.2 51单片机扩展方法
-5.3 存储器单元位数扩充方法
-5.4 存储器容量单元扩充方法
-5.5 译码线选法
--译码线选法
-5.6 程序存储器的类型
--程序存储器的类型
-5.7 程序存储器的扩展
--程序存储器的扩展
-5.8 数据存储器的扩展
--数据存储器的扩展
-5.9 存储器综合扩展
--存储器综合扩展
-5.10 单片机存储器系统的特点
-- 单片机存储器系统的特点
-5.11 第五单元作业
-6.1 中断技术
--中断技术
-6.2 中断优先级及中断系统内部结构
-6.3 中断控制寄存器及中断响应过程
-6.4 中断请求的撤消
--中断请求的撤消
-6.5 外部中断举例
--外部中断举例
-6.6 定时器/计数器
--定时器/计数器
-6.7 定时计数器工作方式及程序编写
-6.8 定时器举例
--定时器举例
-6.9 第六单元作业
-7.1 并行接口
-- 并行接口
-7.2 并口举例
--并口举例
-7.3 并口扩展芯片
--并口扩展芯片
-7.4 8155连接方式及编程
-7.5 键盘接口技术
--键盘接口技术
-7.6 按键处理程序及举例
-7.7 键盘扫描子程序
-- 键盘扫描子程序
-7.8 显示接口技术
--显示接口技术
-7.9 多位字符静态显示
--多位字符静态显示
-7.10 多位字符动态显示
--多位字符动态显示
-7.11 第七单元作业
-8.1 流水灯控制系统设计
--html
-8.2 数码管显示系统设计
--html
-8.3 按键控制系统设计
--html
-8.4 中断控制系统设计
--html
-8.5 定时计数器系统设计
--html
-8.6 串口通信系统设计
--html
-8.7 汉字显示系统设计
--html
-8.8 单片机烧录方法
--单片机烧录方法
-8.9 第八章作业-作业


