C语言程序设计语言的特点和优点分析

《单片机C语言基础》由会员分享,可在线阅读,更多相关《单片机C语言基础(45页珍藏版)》请在读根文库上搜索。成为软件开发的一个主流。用高级语言。数字、字母、下划线,都可以为变量命名。特殊功能寄存器。8051单片机的所有内部特殊功能寄存器。16位特殊功能寄存器。对应的语句。语句之外继续执行程序。

1.第2章C51知识 C语言是一种编译型编程语言,兼顾了多种高级语言的特点,并具有汇编语言的功能。 目前,使用C语言进行编程已成为软件开发的主流。 使用C语言开发系统可以大大缩短开发周期,显着增强程序的可读性,并便于改进、扩展和移植。 8051的C语言日益成熟,已成为一门专业、实用的高级语言。 C语言作为一种非常方便的语言得到了广泛的支持。 很多硬件开发都是用C语言编程的,比如:各种单片机、DSP、ARM等。C语言程序本身不依赖于机器硬件系统,基本不需要修改。 程序可以从不同的微控制器移植。 C提供了许多数学函数并支持浮点运算。 开发效率高,可以缩短开发时间。

2. 增加程序可读性和可维护性的时间。 C-51的特点 与ASM-51相比,C-51有以下优点: 1、不需要了解单片机的指令系统,只需要初步了解8051的存储器结构; 2.寄存器分配,不同的内存 内存寻址和数据类型等细节可以由编译器管理; 3、程序结构标准化,可划分不同的功能。 这样就可以构建程序; 4、提供的库包含许多标准子程序,数据处理能力强; 5、由于采用方便的模块化编程技术,编写的程序可以方便地移植; 了解C程序的示例 #include sbit A5=P10 x04; int main(void) / 用户代码 void delay_1s (); 雷图

3. rn 0; void delay_1s() /代码 1. 主程序(程序入口) int main(void) /用户代码 return 0; 注:1. C 程序模块均以“ ”开头,以“ ”结尾,程序为函数主函数和子函数 2. 每行必须有结束号“;” 3. 养成注释程序的习惯 “/”注释一行 “/* -paragraph-*/” 注释一段 2. 头文件(编程预处理) #include 注:定义一些常用引脚和函数 3. 自定义函数(子函数)常用的、反复引用的函数集成,可以在任何文本编辑软件中编写,最后保存为扩展名为.C的程序源文件,其值可以改变的数量称为变量。变量应该有一个名字并在内存中占据一定的空间。

4.存储单元。 变量应先定义,后使用。 区分变量名和变量值是两个不同的概念。 a=3 变量3 存储值存储单元地址a 注:变量名a​​代表地址,由编译系统自动分配,用户不可见。 0 x40 1. C 的变量类型 51 1. 基本数据类型的表达式范围 type 符号 关键字 number 占位符 整型 字符类型 real 类型 (signed) int 16 -3276832767 (signed) Short 16 -3276832767 (signed) long 32 -247483647 16 无符号整型 065535 32 无符号

5. d long int unsigned Short int 16 065535 has float 32 3.4e-383.4e38 has double 64 1.7e-3081.7e308 has char 8 -128127 has no unsigned char 8 0255 2、变量类型的定义格式:变量类型+变量名称,例如:int a,b; /定义a,b为整型并改为long sheng1,sheng2;/长整型Float c,d; /浮点数(带小数) Double e,f; /双精度 char a;/有符号字符类型 无符号 char b; 无符号字符类型 注:变量类型为指定类型; 多变的

6、量的名称可以自由选择,但通常应通俗,并遵循以下C语言变量命名规则: 数字、字母、下划线都可以用来命名变量。 变量名不能以数字开头,如3a_是错误的,但a_3或_a3是正确的。 变量名不能是关键字,如 ifelseprintf 等。 标准 C 表 1 标准 C 表 2 C51 扩展 3、C 51 sfr 数据类型的扩展定义:特殊功能寄存器声明 sfr16:sfr sbit 的 16 位数据声明:特殊功能位声明 位:位变量声明 1 sfr 特殊功能寄存器。 这也是C 51编译器的扩展数据类型,可以用来访问8051微控制器的所有内部特殊功能寄存器。 sfr类型数据占用1个内存单元,其

7. 取值范围为0-255。 2 sfr16 16位特殊功能寄存器。 占用两个内存单元,取值范围为0-65535。 3 sbit 可寻址位。 这也是C51编译器的扩展数据类型,可以用来访问8051单片机内部RAM中的可寻址位或特殊功能寄存器中的可寻址位。 4.bit 位标量。 这是C51编译器的扩展数据类型。 它可以用来定义位标量,但不能定义位指针或位数组。例如: sfr SCON = 0X98; sfr16 T2 = 0 xCC; sbit OV = PSW2 4、数据类型修饰符1)、data:固定指0x00-0x7f前面的128个RAM,可以使用

8. Acc直接读写,速度最快,生成代码最小。 2)代码定义的数据必须放置在ROM(程序存储区)中。 写入后不可更改。 相应的数据存储在ROM(程序存储区)中。 表示进入RAM。例如:char data a; /上面的RAM中存在一个变量 int data disp; /disp 变量存在于上述 RAM 中。 例如:uchar代码 yima= /将数码管位数据(因为没有改变)写入ROM 0 xeb,0 x88,0 xb3,0 xba,0 xd8,0 x7a,0 x7b,0 xa8,0 xfb,0 xfa; 4. 数据类型修饰符 3), 4. 数据类型修饰符 4), 5. 变量赋值 int a, b; /定义

9. a,b 为整型变量 long sheng1,sheng2;/长整型 float c,d;/浮点型(带小数) double e,f;/双精度 char g;/有符号字符类型 Unsigned char h; 无符号字符类型定义赋值a 12; a=0xff; a=0x00; b = 0; b=08; b=03; C=0.214; c=-0.36; d=12e3; e=12e-12; g=10; G=A; h=200; 注:A为字符常数。 该字符的 ASCII 码附在 C-51 中。 包含的头文件通常为: reg51.h reg52.h math.h ctype.h stdio .h stdl

10、ib.h absacc.h 常用的有:reg51.h reg52.h(定义特殊功能寄存器和位寄存器); math.h(定义常见数学运算); 2. C-51 运算符 1. 算术运算符 + – * / %(加、减、乘、除的余数) 说明: +:自加运算符和自减运算符 2. 逻辑运算对两个布尔量进行运算,并且结果是只有 0 或 1 的布尔量。 3. 关系运算 结果只有 0 或 1 的布尔量 4. 位运算 位运算,结果仍然是一个数字,注意与逻辑运算 1 的区别) 2) . 3) . 4)、5)、2. C-51过程控制与标准C语言基本相同:if选择语言switch/case多分支

11. 选择语言 while 循环语言 for 循环语言 do-while 循环语言 1. if 条件选择语句 1)、单分支语句 int a,b,max; 最大值=a; 如果 (maxb) max=a; 否则 max=b ; 3)多分支语句按顺序判断表达式的值。 当某个值为true时,执行相应的语句。 然后它跳出整个if语句并继续程序执行。 如果所有表达式都为假,则执行语句 n+1。 然后继续后续程序。 整数a=10; if(a0 P0=P0; i-; main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%dn

12.总和); 4. for 语句格式 for (表达式1;表达式2;表达式3) 语句作用:循环执行一段代码。 其执行过程如下: 1)先求解式1。 2)求解表达式2。如果其值为true(非0),则执行for语句中指定的嵌入语句,然后执行下面的步骤3); 如果其值为 false (0),则结束循环并转至步骤 5)。 3) 求解表达式3。 4) 返回上面的步骤2)继续执行。 5)循环结束后,执行for语句下面的一条语句Sum=0; for(i=1; i0; i-) / 空语句。 思考一下这段代码的用途。 附:for循环i、j、k的嵌套main() int; 对于 (i=0; i2;

13. i+) for(j=0; j2; j+) for(k=0; k2; k+) printf(“%d %d %dn, i, j, k); 、do-while语句的形式为:do语句while(表达式) 功能:循环执行一段代码。 该循环与while循环的区别在于,它首先执行循环中的语句,然后判断表达式是否为真。 如果为 true,则继续循环; 如果为假,则终止循环。 因此,do-while循环必须至少执行一次循环语句main() int i,sum=0; 我=1; 总和=总和+i; 我+; while(i5 ? 1:0; Y 输出什么值? ? 7. 循环体退出 (1)、break 语句。当 switch 语句 switch 中使用break时,程序可以跳出 switch 并执行switch后面的语句,当break语句用在do-while、for、while循环语句中时,程序可以终止循环并执行循环后面的语句,通常break语句总是和if语句连接在一起。即满足条件时跳出循环 (2) continue 语句 continue 语句的作用是跳过循环本身 循环中剩余的语句强制执行下一个循环。仅用在for、while、do-while等循环体中,常与if条件语句一起使用,以加快循环速度。

单片机

80C51符号名与地址的对应关系,你知道吗?

2024-2-2 9:06:41

单片机

致芯科技可解密飞思卡尔多个系列芯片芯片解密技术

2024-2-2 11:01:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索