- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ATCXX....单片机C语言keilc编程不用积分.ppt
3.4 C51的运算符及表达式 3.4.1 赋值运算 3.4.2 算术运算 3.4.3 逻辑运算 3.4.4 位运算 3.4.5 复合赋值运算 3.4.6 逗号运算 3.4.7 条件运算 3.4.8 指针与地址运算 3.5 表达式语句及复合语句 3.5.1 表达式语句 在表达式的后边加一个分号“;”就构成了表达式语句 ,如: a=++b*9; x=8;y=7; ++k; 可以一行放一个表达式形成表达式语句,也可以一行放多个表达式形成表达式语句,这时每个表达式后面都必须带“;”号,另外,还可以仅由—个分号“;”占一行形成一个表达式语句,这种语句称为空语句。 空语句在程序设计中通常用于两种情况: (1)在程序中为有关语句提供标号,用以标记程序执行的位置。例如采用下面的语句可以构成一个循环。 repeat:; ; goto repeat; (2)在用while语句构成的循环语句后面加一个分号,形成一个不执行其它操作的空循环体。这种结构通常用于对某位进行判断,当不满足条件则等待,满足条件则执行。 【例】下面这段子程序用于读取8051单片机的串行口的数据,当没有接收到则等待,当接收到,接收数据后返回,返回值为接收的数据。 #include reg51.h char getchar() { char c; while(!RI); //当接收中断标志位RI为0则等待, 当接收中断标志位为1则;等待结束 c=SBUF; RI=0; return(c); } 3.5.2 复合语句 复合语句是由若干条语句组合而成的一种语句,在C51中,用一个大括号“{ }”将若干条语句括在一起就形成了一个复合语句,复合语句最后不需要以分号“;”结束,但它内部的各条语句仍需以分号“;”结束。复合语句的一般形式为: { 局部变量定义; 语句l; 语句2; } 复合语句在执行时,其中的各条单语句按顺序依次执行,整个复合语句在语法上等价于一条单语句,因此在C51中可以将复合语句视为一条单语句。通常复合语句出现在函数中,实际上,函数的执行部分(即函数体)就是一个复合语句;复合语句中的单语句一般是可执行语句,此外还可以是变量的定义语句(说明变量的数据类型)。在复合语句内部语句所定义的变量,称为该复合语句中的局部变量,它仅在当前这个复合语句中有效。利用复合语句将多条单语句组合在—起,以及在复合语句中进行局部变量定义是C51语言的一个重要特征。 3.6 C51的输入输出 在C51语言中,它本身不提供输入和输出语句,输入和输出操作是由函数来实现的。在C51的标准函数库中提供了一个名为“stdio.h”的一般I/O函数库,它当中定义了C51中的输入和输出函数。当对输入和输出函数使用时,须先用预处理命令“#include stdio.h”将该函数库包含到文件中。 在C51的一般I/O函数库中定义的I/O函数都是通过串行接口实现,在使用I/O函数之前,应先对MCS-51单片机的串行接口进行初始化。选择串口工作于方式2(8位自动重载方式),波特率由定时器/计数器1溢出率决定。例如,设系统时钟为12MHZ,波特率为2400,则初始化程序如下: SCON=0x52; TMOD=0X20; TH1=0xf3; TR1=1; 3.6.1 格式输出函数printf() printf()函数的的作用是通过串行接口输出若干任意类型的数据,它的格式如下: printf(格式控制,输出参数表) 格式控制是用双引号括起来的字符串,也称转换控制字符串,它包括三种信息:格式说明符、普通字符和转义字符。 (1)格式说明符,由“%”和格式字符组成,它的作用是用于指明输出的数据的格式输出,如%d、%f等,它们的具体情况见下表。 (2)普通字符,这些字符按原样输出,用来输出某些提示信息。 (3)转义字符,就是前面介绍的转义字符(下表),用来输出特定的控制符,如输出转义字符\n就是使输出换一行。 输出参数表是需要输出的一组数据,可以是表达式。 格式字符 数据类型 输出格式 d int 带符号十进制数 u int 无符号十进制数 o int 无符号八进制数 x int 无符号十六进制数,用“a~f”表示 X int 无符号十六进制数,用“A~F”表示 f float 带符号十进制数浮点数,形式为[-]dddd.dddd e,E float 带符号十进制数浮点数,形式为[-]d.ddddE?dd g,G float 自动选择e或f格式中更紧凑的
文档评论(0)