1.关于C语言
1.介绍
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的特点.目前,使用C语言设计已经成为软件开发的一个主流.用C语言开发可以大大缩短开发周期,明显增强程序可读性,便于改进,扩充和移植
2. 一个简单的单片机程序要有什么
- 包含头文件
- 程序主函数
# include<reg5.1>
void main()
{
while(1)
{
}
}
2.常用语句
1. if-else语句
表达式的值为真(非0),则执行语句1,否则执行语句2
if(表达式){
语句1
}else{
语句2
}
2.while语句
表达式为循环条件,语句为循环体.
当表达式为真(非0)时,执行语句.否则跳过或者跳出
while(表达式){
语句
}
3.do-while语句
do-while循环与while循环不同的是,do-while先执行循环内的语句,再去判断条件是否为真(非0),如果为真则继续循环,反之停止循环.所以do-while循环体至少会执行一遍语句
do
{语句}
while
(表达式);
4.for循环语句
执行过程:
- 先解表达式1
- 再解表达式2判断值是否为真(非0),为真(f非0),则执行for循环内的语句,执行第三歩;
若为假(0),则循环结束,执行第五歩 - 解表达式3
- 转会上面第二歩继续执行循环
- 循环结束
for(表达式1,表达式2,表达式3){
语句
}
例子
i++等同于i=i+1
for(i=0;i<10;i++){
printf ("Hello World");
}
5.swich语句
计算表达式的值.并逐个与其后面的常量表达式相比较,当表达式的值与某个常量表达式的相等时,执行其后面跟随的语句,然后不再继续执行判断比较,然后跳过switch继续执行.如果没有case后面的常量表达式成立,则执行default的跟随语句.
break则是跳出switch语句
switch(表达式){
case(常量表达式1):语句1;
case(常量表达式2):语句2;
......
case(常量表达式n):语句n;
default :语句n+1
}
switch(a){
case(0):b=0;break;
case(1):b=1;break;
default:b=3;
}
6.函数
- 函数的定义
函数体;
如: unsigned char read(unsigned char addr)
{
unsigned char dat;//定义一个变量存储的返回值
(do anything you want);//函数中的程序
return dat;//返回函数的返回值
}
- 函数的调用
在函数条用之前要在主函数前门加上该函数的声明.(或者你可以放在头文件里面,包含该头文件时,就可以声明了)
3.C-51的数据类型扩充定义
- sfr:特殊功能寄存器声明
srf 变量名=地址值
特殊功能寄存器在reg51.H这个头文件里面都帮我们定义好了,所以平时我们就不要自己去定义寄存器的名字
- sbit:特殊功能位声明
在给某个引脚取名的时候经常会用到
- bit:位变量声明
用来定义位数据变量
- 列:
- sfr SCON=0X98;
- sbit LED=P0^2;
4.C-51中常用到的预处理命令
- #define
(注意后面不用跟分号)
#define A P0
- #typedef
(后面要加分号)
#typedef unsigned char uint;
- #ifndef…#endif
条件编译,常用于头文件的定义还有一些程序条件编译
5.C-51基本数据类型
6. C语言中常用的运算符
- 基础运算
- 加(+)
- 减(-)
- 乘(*)
- 除(/)
- 比较
- 大于(>)
- 小于(<)
- 大于等于(>=)
- 小于等于(<=)
- 逻辑运算符
- 测试等于(==)
- 测试不等于(!=)
该组运算符是逻辑运算符
if(a==1){}
if(a!=1){}
-
- 逻辑与(&&)
- 逻辑或(||)
- 逻辑非(!) 等价于 !x = (x == 0) 参考文章
if(a>1&&a<10){}
if(a>10||a<1){}
结尾
- 参考资料:普中科技-单片机开发视频教程
- 视频连接:哔哩哔哩