51单片机学习笔记4 C51语言

C51语言是为8051单片机设计的,它在标准C的基础上增加了位类型、特殊功能寄存器等特性。与标准C不同,C51的库函数、数据类型和存储模式都有所调整,以适应单片机硬件。C51支持位运算、算术运算、关系运算、逻辑运算和赋值运算等,并有特定的中断处理和头文件使用方式。此外,C51的控制语句包括if、switch、while、do-while和for等,以及break、continue和goto语句。C51中的数组也包括一维和多维字符数组的定义和初始化。

C51语言
  C51语言与标准C语言间有许多相同地方,但也有自身特点。不同的嵌入式C语言编译系统之所以与标准C语言有不同的地方,主要是由于它们所针对的硬件系统不同。对于8051单片机,目前广泛使用的是C51语言。
  C51语言基本语法与标准C相同,是在标准C的基础上进行适合8051内核单片机硬件的扩展,但与标准c又有不同之处:

  • 库函数不同:

  例如,在标准C中,库函数printf和scanf,常用于屏幕打印和接收字符,而在C51语言中,主要用于串行口数据的收发。

  • 数据类型有一定区别:

  例如,8051单片机包含位操作空间和丰富的位操作指令,因此,C51语言与标准C语言相比增加了位类型。

  • C51语言变量存储模式与标准C语言中变量存储模式数据不同:

  标准C最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而C51语言中变量的存储模式与8051单片机的各种存储器区紧密相关。

  • 数据存储类型不同:

  8051存储区可分为内部数据存储区、外部数据存储区以及程序存储区。

  • 其他不同:

  中断。标准C语言没有处理单片机中断的定义,而C51语言中有专门的中断函数。
  头文件。C51语言头文件必须把8051单片机内部的外设硬件资源(如定时器、中断、I/O等)相应的特殊功能寄存器写入到头文件内,而标准C不用。
  程序结构。由于8051单片机的硬件资源有限,它的编译系统不允许太多的程序嵌套。其次,标准C语言所具备的递归特性不被C51语言支持。
 C51支持的基本数据

数据类型 位数 字节 值域
signed char 8 1 -128~127
unsigned char 8 1 0~255
signed int 16 2 -32768~32767
unsigned int 16 2 0~65536
signed long 32 4 -32768~32767
unsigned long 32 4 0~4294967295
float 32 4 -2147483648~2147483647
double 32 4 +-1.75494E-38~+-3.402834E+38
* 8~24 1~3 对象指针
bit 1 0/1
sfr 8 1 0~255
sfr16 16 2 0~65536
sbit 1 0/1
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    打赏作者

    sunai8297

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

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

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

    打赏作者

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

    抵扣说明:

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

    余额充值