标准c语言与c51的区别,单片机学习笔记5-C51语言与标准C语言的比较

C51语言基本语法与标准C相同,是在标准C的基础上进行适合8051内核单片机硬件的扩展。

C51语言与标准C语言一些差别如下:

(1)库函数不同。标准C中不适合于嵌入式控制器系统的库函数,被排除在C51语言之外,如字符屏幕和图形函数。有些库函数必须针对8051的硬件特点来做出相应的开发。

(2)数据类型有一定区别。在C51中增加几种8051单片机的数据类型,在标准C的基础上又扩展了4种类型。例如,8051单片机包含位操作空间和丰富的位操作指令,因此,C51语言与标准C语言相比增加了位类型。

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

(4)数据存储类型不同。8051存储区可分为内部数据存储区、外部数据存储区以及程序存储区。

①内部数据存储区可分为3个不同的C51存储类型:data、idata和bdata。

②外部数据存储区分为2个不同的C51存储类型:xdata和pdata。

③程序存储区只能读不能写,可能在8051内部或者在外部,C51语言提供的code存储类型用来访问程序存储区。

(5)标准C语言没有处理单片机中断的定义,而C51语言中有专门的中断函数。

(6)头文件不同。C51语言头文件必须把8051单片机内部的外设硬件资源(如定时器、中断、I/O等)相应的特殊功能寄存器写入到头文件内,而标准C不用。

(7)程序结构的差异。由于8051单片机的硬件资源有限,它的编译系统不允许太多的程序嵌套。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值