可进行置位、复位、取反、等于0转移、等于1转移且清“0”、逻辑运算以及与可寻址位之间传送数据的操作。MCS51系列单片机的I/O接口位输入、输出操作指令只能通过累加位C进行。本例中使用了I/O接口置位清“0”输出操作指令,而例3-1使用了I/O接口按口输出操作指令。......
2023-11-07
位运算是以运算量的二进制位为单位所进行的运算。它包括两部分:位逻辑运算和位移位运算。
1.位逻辑运算(见表4-5)
表4-5 位逻辑运算表
位逻辑运算的规律与基本逻辑是相同的,只不过是按位进行而已。一般位逻辑运算都是以十六进制数形式进行。例如,
设a=0x85,b=0x36,执行a&b则按二进制展开:
设a=0x85,b=0x36,执行a^b则按二进制展开:
状态相同结果为0,不同结果为1。
2.位移位运算
有位左移和位右移两种,见表4-6。
表4-6 移位运算表
在左移运算中,右端的空位补0,左端移出位则舍弃。例如,a=0x45=01000101,执行a<<1,则为10001010,应补0,a=0x8A。(www.chuimin.cn)
在右移运算中,左端的空位补0,右端移出位则舍弃。例如,a=0x45=01000101,执行a>>1,0则为00100010,应补0,a=0x22。
带符号的运算数右移时,左端的空位按原符号位复制,右端移出位则舍弃。
3.【例4-5】 位运算编程
(1)编辑C语言源程序
(2)编译源程序
(3)软仿真调试
对于具有赋值运算符的复合语句,先执行后面运算,再执行赋值运算。
1)进入调试状态,连续执行“跟踪”,在P1、P2、P3、P0口可显示结果。
2)运算验证。按条件将a=0x85,b=0x36,执行位运算具体如下:
P3=a<<1,左移1位后 a=00001010=0x0A 显示正确,左位取消,右位补0。
P0=a>>1,右移1位后 a=01000010=0x42 显示正确,右位取消,左位补0。若下载到实验机,P2/P3/P0可用逻辑笔观察结果。
有关零起点学习单片机多语言编程的文章
可进行置位、复位、取反、等于0转移、等于1转移且清“0”、逻辑运算以及与可寻址位之间传送数据的操作。MCS51系列单片机的I/O接口位输入、输出操作指令只能通过累加位C进行。本例中使用了I/O接口置位清“0”输出操作指令,而例3-1使用了I/O接口按口输出操作指令。......
2023-11-07
将一个二进制数转换成十进制数表示,只需按权展开做一次10进制运算即可以完成。将一个十进制数转换成二进制数表示,是数据转换中较复杂的工作。做乘、除运算时,其法则与十进制数也是相同的。它不同于数值运算。二进制数可以进行按位的逻辑运算,每位之间相互独立,位与位之间不存在进位和借位的关系。......
2023-11-07
单片机是将CPU+ROM+RAM+I/O集成在一块小小的芯片上,这种结构使用非常灵活,可以“嵌入”任何控制对象内,组成嵌入式系统。单片机中的片内程序存储器是一种可编程可擦除的只读存储器。通用计算机的CPU主要是进行高速数据处理。单片机体积很小,可以直接“嵌入”到机器的控制板上,实际上就是将计算机系统嵌入到机器内,组成所谓的“嵌入式系统”。......
2023-11-07
第二行程序的开始地址是02,第二条机器码程序有两个指令有分别是“0B”、“05”,其中02地址单元中存放“0B”指令,03地址单元中存放“05”数据。第三条程序的开始地址是04,第三条机器码程序有三个指令有分别是“12”、“05”、“02”。......
2023-11-07
所谓独立键,就是各个按键的功能线之间没有电的连接,每个按键独立存在。这种连接方法一只按键要占用一个接口。常用于键少的应用场合。若再次查询按键并没有闭合,则认为按键未被按下,无效。流程图的作用就是将一个应用任务转化为计算机的工作流程。这是用计算机解决应用问题的必要前提。对于任何程序,只有三种基本结构,即顺序结构、分支结构和循环结构。反复执行,则P1.0反复取反状态,表示程序执行正确。......
2023-11-07
安装在单片机上的两个数码管从“00”开始累加1显示,到“99”后循环。需要讲解的指令重点是累加器A加1赋值指令“INC A”和十进制变换指令“DA A”。低位数码管逐段循环显示源程序实例程序运行效果:在完成了源文件建立、汇编、下载的步骤后,单片机自动运行该程序。......
2023-11-07
定时器/计数器是MCS51系列单片机芯片内的一个组件,简写为T/C。它有2个相同的定时器/计数器,称为定时器/计数器0和定时器/计数器1。实际上定时器/计数器是一个计数器,可以8位、13位或16位计数,对应的两组4个8位计数器。TCON定时控制位共4位。TR0=0,停止定时器/计数器工作;TR0=1,开启定时器/计数器工作。TMOD是专业寄存器,用于设定定时器/计数器0和定时器/计数器1的工作方式,只能用字节传送设置。......
2023-11-07
以上几方面导致了在嵌入式系统中应用高级语言变得非常必要。如何让读者较容易的具备嵌入式C语言的基本应用技能,从而为大量学习应用实例创造条件是本书的一个特点。嵌入式C语言与被控对象结合紧密,编程除具有标准C语言的特点外,与标准C语言相比,还有如下一些要求:1)对一些关键字进行了一定的扩展。......
2023-11-07
相关推荐