- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2) 逻辑运算 C51语言有3种逻辑运算符。 ①逻辑与:。 ②逻辑或:‖。 ③逻辑非:!。 使用逻辑运算符将表达式或变量连接起来的表达式称为逻辑表达式,逻辑运算内部运算次序是先逻辑非后逻辑与和逻辑或,相同等级时从左到右,逻辑表达式的值为“真”或“假”,在C51系统中使用“0”代表“假”,使用“非0”代表逻辑“真”,但是逻辑运算表达式结果只能使用“1”来表示“真” 。 * 某一整数只要不为零,即为真;否则为假: 若a=3,b=6,则 !a=0; /*a=3,为真,则!a为假0*/ ab=1; a‖b=1; 3)关系运算 C51语言有6种关系运算,如下所示。 ①小于:<。 ②大于:。 ③小于等于: < = 。 ④大于等于: > = 。 ⑤如果等于:= =。 ⑥如果不等于:!=。 * 关系运算符。 如果x,y,z的值分别为4,3,2,则 x>y=1; y+z<y=0 x>y>z=0; /*因为x>y为真,则为1,1小于2,则表达式结果为0*/ 4)位操作 单片机有位寻址空间,支持位变量操作,恰当的位操作会大大提高单片机程序的运行速度,还能极大地方便用户编程。 位操作包括位逻辑运算和移位运算两种类型。 * (1)位逻辑运算 位逻辑运算包括位与、位或、位异或、位取反。 ①位与:关键字“”,如果两位都为“1”,则结果为“1”,否则为“0”。 ②位或:关键字“∣”,如果两位其中有一个为“1”,则结果为“1”,否则为“0”。 ③位异或:关键字“^”,如果两位相等则为“0”,否则为“1”。 ④位取反:关键字“~”,如果该位为“1”,则取反后为“0”,如果该位为“0”,则该位取反后为“1”。 * 位逻辑操作实例。 如果x=0x54H,y=0x3BH,则: xy00111011B=0x10H; x∣y=0x7FH; x^y=0x6FH; ~x==0xABH; * (2)移位运算 移位运算包括左移位和右移位运算。 ①左移位:关键字“<<”,将一个变量的各个位全部左移,空出来的位补0,被移出变量的位则舍弃不要。 ②右移位:关键字“>>”,操作方式相同,移动方向向右。 移位运算举例 如果x=0xEAH,则 X<<2=0XA8H; x>>2=0x3AH; * 4)自增自减运算、复合运算、逗号运算 自增减运算、复合运算和逗号运算是C语言的特色,C51语言继承了C语言的这种特色 。 (1)自增减运算 自增减运算分别是使变量的值增加或减少1,相当于“变量=变量+1”或“变量=变量-1”操作 自增减运算举例 如果unsigned char x=0x23H,则unsigned char y y=x++; /*y=0x23,x=0x24*/ y=++x; /*y=0x24,x=0x24*/ y=x--; /*y=0x23,x=0x22*/ y=--x; /*y=0x22,x=0x22*/ 可以看到,在程序中,x++是先赋值,后自加,++x是先自加,后赋值,自减运算和自加运算相同。 * (2)复合运算 复合运算是将普通运算符和赋值符号结合起来的运算,有两个操作数的运算符都可以写成“变量 运算符=变量”的形式。复合赋值运算表达式一般形式:变量 双目运算符 =表达式,它等效于:变量=变量 运算符 表达式 复合运算举例。 x+=y; /*相当于x=x+y*/ x>>=y; /*相当于x=x>>y*/ * 5)函数 与普通的C语言程序类似,C51程序是由若干模块化的函数构成。函数是C51程序的基本模块,常说的子程序就是由函数来实现的。 用户可以根据需要定义自己的功能函数,也可以调用C51编译提供的标准函数(库函数)来完成某种特定的功能。 1.C51函数的定义 函数的一般定义形式如下: 返回值类型 函数名(形式参数列表)[编译模式][reentrant][interrupt n][using n] { 函数体 } * 2.C51函数的调用与参数传递 若被调函数是有参函数,则主要函数必须把被调函数所需的参数传递给被调函数。传递给被调函数的数据称为实际参数,即实参。实参向形参的传递是单向的,即只能将实参传
文档评论(0)