一、单片机的C语言概述
- C51语言或C51:基于51系列单片机的C语言或C语言编译器
- Keil C51:集程序编辑、编译、连接、目标文件格式转换、调试、模拟仿真等功能于一体
- C51程序开发流程:与汇编语言类似
- C51程序结构
- C51程序结构与一般C语言程序结构没有差别
- 源程序文件的扩展名为“.c”
- 每个源程序中包含1个main函数
- C51程序的执行总是从main函数开始
- 在Keil C51中,一般先生成一个项目文件管理器,包含
- 头文件
- 源程序文件
- 库文件
- 编译中间文件
- 最终可执行和烧录的文件
- 程序结构
- 函数是C51程序的基本组成单位
- 预处理命令,包含
- 自定义函数声明
- main函数
- 自定义函数
- 注释
- 实例
#include <reg51.h> // 包含头文件reg51.h
sbit P1_0 = P1^0; // 定义位名称
void delay (unsigned char i); // 延时函数声明
void main()
{
...
while(1)
{
P1 = 0x00; // 点亮LED灯
delay (10000); // 延时
P1 = 0xff; // 熄灭LED灯
delay (10000); // 延时
}
}
void delay (int i) //延时函数
{
unsigned char j, k;
for(k = 0; k < i; k ++)
{
for(j = 0; j < 255; j ++);
}
}
二、C51的数据类型与数据存储类型
- 标识符和关键字
- 标识符:用来表示组成C51程序的常量、变量、语句标号及用户自定义函数的名称等
- 关键字:已经被C51编译器定义的专用标识符
- 标识符必须满足响应规则,尤其不能使用C51的关键字
- C51的数据类型
- 常量与变量
- 变量定义的格式
- [存储种类] 数据类型 [存储器类型] 变量名
- 例如:extern unsigned char data system_status = 0;
- 常量的使用(实际中通常使用宏定义)
- 数据类型
- ASCII C标准数据类型:char、int、short、long、float、double等
- C51中特殊的数据类型
- bit:定义片内RAM的位寻址区
- sfr/sfr16:定义SFR字节寻址区
- sbit:定义SFR位寻址区
- 数据存储类型
- 存储种类:auto(自动)、extern(外部)、static(静态)、register(寄存器)
- 存储器类型:data、bdata、idata、pdata、xdata、code
三、C51的运算符、表达式与规则
- 算术运算:+、-、*、/、%、++、--
- 关系运算:>、<、>=、<=、==、!=
- 逻辑运算:&&、||、!
- 位运算:&、|、^、~、<<、>>
- 赋值运算:=
- 优先级:
C语言运算符优先级列表(超全)_Somnus陳的博客-CSDN博客_c运算符优先级顺序表小编将C语言中的运算符优先级整理了一份,知道宝宝们懒,所以是以图片的形式整理出来的,需要的宝宝们可以直接以图片的形式保存下来。需要注意的点:‘!’属于单目运算符,并不属于逻辑运算符。单目运算符、条件运算符、赋值运算符的结合性是从右至左,其他运算符结合性是从左至右。同一运算符有优先级之分(比如算符运算符的乘法的优先级比加法优先级高)。运算符的优先级...https://blog.csdn.net/DZRYWYBL/article/details/90679557
四、C51流程控制语句
五、C51的数组与结构
六、C51的指针与函数