- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;培训内容;C51知识;;C-51与ASM-51相比,有如下优点:
1.??对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;
2.??寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;
3.??程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;
4.??提供的库包含许多标准子程序,具有较强的数据处理能力;
5.??由于具有方便的模块化编程技术,使已编好程序可容易地移植;;汇编语言与C语言对比举例 (1)
;1、在一个C语序中必须有一个void main()函数,此函数是整个程序的入口,函数体由{}括起。
2、C语言中的大小写是敏感的。
3、C程序是由语句构成,一个语句必须由“;”号结束。
4、#include命令的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。:系统路径查找 “”:源文件路径查找
通常有:reg51.h reg52.h math.h stdio.h 常用有:reg51.h reg52.h(定义特殊功能寄存器和位寄存器);C语言基础知识;一、常量
常量是在程序运行过程中不能改变值的量
常量表示:
1. 整型常量十进制表示如123,0,-89等。十六进制表示则以0x开头如0x34,-0x3B等。
2. 浮点型常量。十进制由数字和小数点组成,如0.888,3345.345,0.0等,
3. 字符型常量是单引号内的字符,如‘a’,‘d’等,
4. 字符串型常量由双引号内的字符组成,如test,OK等。;二、变量
程序执行过程中其值能不断变化的量,放在RAM中。
例如你要对P1.1口输入的脉冲进行计数,就需要一个地方存这个数。
1、定义一个普通变量的格式如下:
数据类型 变量名表
例如:unsigned int a,b,c;
变量名,只能以字母或下划线开头,由字符组成,不能与关键字重名。
常见的数据类型:;;C关键字(保留);;2、定义一个特殊功能寄存器变量的格式如下:
sfr 特殊功能寄存器名= 特殊功能寄存器地址常数;
例如:sfr P0 = 0x80;
3、定义一个可位寻址对象变量的格式如下:
sbit 位变量名=位地址
例如:sbit P0.0 = 0x80;
sbit P0.0 = P0^0;
举例说明作用
4、位变量定义
bit 位变量名
;;三、运算符
1、赋值运算符
赋值运算符就是赋值符号“=”
2、算术运算符
+ ——加法运算符
- ——减法运算符
*——乘法运算符
/——除法运算符
% ——模运算或取余运算符
++——为自增运算符
--——为自减运算符。;3、复合赋值运算符
+=,-=, *=,/=, %=
例如:
a+=b 等价于a=(a+b)
x*=a+b 等价于x=(x*(a+b))
4、位运算符
——按位与 相当于ANL指令
| ——按位或 相当于ORL指令
^——按位异或 相当于XRL指令
~ ——按位取反 相当于CPL指令
——左移 相当于RL指令
——右移 相当于RR指令
;按位与 ();按位与举例;按位或 (|);按位或举例;按位异或 (^);按位异或用法举例;按位取反 (~);按位取反举例;左移 ();左移举例;右移 ();右移举例;5、关系运算符
< ——小于
<= ——小于等于
> ——大于
>= ——大于等于
== ——等于
!= ——不等于
;实例分析
;6、逻辑运算符
——逻辑与
|| ——逻辑或
! ——逻辑非
;实例分析
;四、程序流程控制
1、顺序结构
依次执行的语句。
2、选择语句
(1)、if语句
以下三种形式:
if(表达式){语句;}
if(表达式){语句1;} else {语句2;}
;嵌套使用:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
……
else if(表达式m)
语句m;
else
语句 n;
;三种形式的简明示意图;例1: if (p1!=0)
{c=20;}
例2: if (p1!=0)
{c=20;}
else
{c=0;}
例3: if (a=1) {c=10;}
else if (a=2) {c=20;}
else if (a=3) {c=30;}
else if (a=4) {c=40
文档评论(0)