从头开始学51单片机之4:C51程序设计基础

一、单片机的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流程控制语句

  • 顺序
  • 选择
    • If
    • switch
  • 循环
    • for
    • while

五、C51的数组与结构

  • 数组
    • 一维数组
    • 二维数组
  • 结构

六、C51的指针与函数

  • 指针
  • 函数
    • 定义
    • 调用和返回
    • 中断函数
    • 库函数
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forster-C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值