单片机应用开发 位运算符 1-1-9单片机的基本概念(位运算符).pptVIP

  • 54
  • 0
  • 约2.55千字
  • 约 11页
  • 2020-08-29 发布于北京
  • 举报

单片机应用开发 位运算符 1-1-9单片机的基本概念(位运算符).ppt

Application and Development of Microcontroller 《单片机应用开发》课程 主讲教师 刘德新 移动通信技术专业教学资源库 深圳信息职业技术学院电子与通信学院 C语言位运算在 单片机中的应用 目录 01 C语言的位操作运算 02 编程的基本规则 03 C51的特色 1.C语言的位操作运算 EDITED BY LIU DEXIN * 单片机应用开发 位操作运算符:按位反(~)、按位与()、按位或(|)、按位异或(^)、按位左移()、按位右移() 其中除按位反(~)是单目运算符,其它运算符都是双目运算符。特别注意:位操作运算符操作的对象只能是整型数或字符型数,不能是实型数,非常符合单片机的要求,单片机处理中,常常用到的数据类型主要是整型数和字符型数,所以位操作运算符在单片机的C51程序中用的非常多。 EDITED BY LIU DEXIN * 单片机应用开发 按位反(~):是将运算对象的二进制位中的每一位逐位取反,例如:若有定义char a=0x59;则~a的结果是0xa6 按位与():是将两个运算对象的二进制位对应相与。与的规则是对应位中有0则结果为0,只有两个位都为1时,结果为1。例如:char a=0x54,b=0x3b,则ab为0x10 按位与()在单片机C51中,常常用作将指定位清零。例如:P1=P10x0f含义是将P1口的高4位清零 按位或(|):是将两个运算对象的二进制位对应相或。或的规则是对应位中有1则结果为1,只有两个位都为0时,结果为0。例如:char a=0x54,b=0x3b,则a|b为0x7f。 按位或(|)在单片机C51中,常常用作将指定位置1。例如:P1=P1|0x0f含义是将P1口的低4位置1 1.C语言的位操作运算 EDITED BY LIU DEXIN * 单片机应用开发 按位异或(^):是将两个运算对象的二进制位对应相异或。异或的规则是对应位不同时则结果为1,相同时结果为0。例如:char a=0xa5,b=0x37,则a^b为0x92 按位异或(^)在单片机C51中,常常用作将指定位取反。例如:P1=P1^0x0f含义是将P1口的低4位取反 按位左移()、按位右移():是用来将一个数的各二进制位的全部左移或右移若干位,移位后,空白位补0,而溢出的位舍弃。例如: 若a=EAH 则 表达式:a=a2,将a值左移两位,其结果为A8H 表达式:a=a2,将a值右移两位,其结果为3AH 1.C语言的位操作运算 单片机应用开发 2.编程的基本规则 若使用浮点运算和复杂函数的调用,则会导致高级语言在转换成机器语言时,将生成庞大的机器语言,导致执行效率的降低。在这种情况下,一般可以考虑用简单的算术运算或事先计算好的查表法。例如:对一些数据求以10为底的对数,若调用函数LOG(X),则会产生大量的程序代码,并在执行时占用大量的单片机时间;若采用查表法,虽然代码看起来没有减少,但单片机的程序变得非常简单,执行时间则会减少很多。 所以说,优秀的单片机编程者是由汇编编程者转变而来的,而不是简单的原来用过标准C语言的用户。 EDITED BY LIU DEXIN * 单片机应用开发 2.编程的基本规则 在MCS-51系列单片机中,使用变量的类型时,尽量使用占用字节数少的类型。能用字符型的不要用整型,能用整型的不要用长整型。例如:字符型相加和整型数相加的区别,在C51单片机语言中区别,只是变量的定义上,而在单片机的汇编语言中则相差很远。如下例: void main(void) { unsigned char ch1=0x41,ch2=0x32; ch1+=ch2; while(1); } KeiL C51生成的汇编码为: MOV A,#32H ADD A,#41H MOV R7,A SJMP $ EDITED BY LIU DEXIN * 单片机应用开发 2.编程的基本规则 若改为: void main(void) { unsigned int ch1=0x41,ch2=0x32; ch1+=ch2; while(1); } KeiL C51生成的汇编码为: MOV A,#32H ADD A,#41H MOV R7,A CLR A RLC A MOV R6,A SJMP $ EDITED BY LIU DEXIN * C51完全支持标准C语言的语法,并根据51系列单片机硬件的特点,进行了关键字的扩展。与标准C语言比较而言,主要扩展了下列19个关键字: _at_ idata sfr16 ali

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档