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单片机的硬件资源有限,它的编译系统不允许太多的程序嵌套。

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

  1. 程序设计语言编译原理_编译原理学习笔记(二):高级程序设计语言

    高级程序设计语言 一.语言概述 1.1 语法 v.s. 语义 程序本质上是一定字符集上的字符串 语法:一组规则,用它可以形成和产生一个合式(well-formed)的程序 定义了程序的形式结构 定义语 ...

  2. 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】

    C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...

  3. C51单片机学习笔记(一)——搭建开发环境及烧写工具

    C51单片机学习笔记(一)--搭建开发环境及烧写工具 文章目录 C51单片机学习笔记(一)--搭建开发环境及烧写工具 1.搭建软件开发环境及使用(Keil uVision) 2.将程序下载到单片机(烧 ...

  4. 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版

    原标题:[下载资料]<51单片机学习笔记>北航版 如果手机下载有问题,请移步至电脑端,链接:https://forum.mianbaoban.cn/t/topic/36906 内容简介 本 ...

  5. 和丨c语言运算符号理解(单片机学习)

    &和丨c语言运算符号理解(单片机学习) a&0x80 a丨0x80 丨是按位或运算 & 是按位与运算 ox表示十六进制数 关于按位与运算,先要将其他的进制数转化为二进制数, 然 ...

  6. C51单片机学习笔记之定时器

    简介 "定时器/计数器"说的是一个东西,因为它既能计时也能计数.是存在于单片机内部的一个独立的硬件部分,依赖晶振产生固定的时间间隔,产生了一定量的固定时间间隔后会引发定时器中断从而 ...

  7. c51单片机学习笔记-LED流水灯实验

    目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮. 方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1. D3-D8 熄灭,延时一段时间后再点亮 D3 ...

  8. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

  9. stm32正常运行流程图_STM32单片机学习笔记(超详细整理143个问题,学习必看)...

    原标题:STM32单片机学习笔记(超详细整理143个问题,学习必看) 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f ...

最新文章

  1. SqlServer按照指定顺序对字段进行排序
  2. FreeRTOS之列表和列表项
  3. Windows中使用PowerShell+任务计划程序实现Mysql数据之间的同步
  4. Unity shader之金属质感衣服
  5. java:蓝桥杯 矩阵乘法
  6. 洛谷2296 寻找道路
  7. android 下载器布局,Android Studio下载约束布局失败
  8. Windows Server 2008 R2 成功安装 Serv-U
  9. 无锡美景:踏过樱花第几桥
  10. epson r1900 清零软件_EPSON 1430 R1900 1500 R330 R1800 R2000 R230 打印机清零软件
  11. 电力监控系统的研究与应用
  12. linux 编译 pascal,免费开源的Pascal编译器 GNU Pascal
  13. 怎么把ide改成ahci_Win10系统无需重装,硬盘IDE改为AHCI模式的方法
  14. 【附源码】计算机毕业设计SSM七七美食汇
  15. 关于cidaemon.exe进程CPU占用率高的解决
  16. 打造Win10+WSL开发环境(2)
  17. 那些年奋斗的日子,岁月静好
  18. 万豪集团将在苏州引入丽思卡尔顿和万豪行政公寓双品牌项目;美联航等成立合资企业开发新可持续航空燃料技术 | 美通企业日报...
  19. 简单总结下目前市场常见的理财产品
  20. scriptmanager

热门文章

  1. 学习面向对象思想,开始考虑通过封装、 继承、多态把程序的耦合度降低
  2. Web安全实践(6)web应用剖析之信息提炼
  3. 无法定位序数于动态库mfc90d.dll上 由于应用程序配置不正确...解决方法
  4. SQL Server - SQL Server 2016新特性之 --- Query Store
  5. 微信支付之JSAPI开发-第二篇:业务流程详解与方案设计
  6. partproble在RHEL 6下无法更新分区信息
  7. 2015.10.13课堂
  8. xcode调试打印QString
  9. eclipse 项目导入时报错invalid project description
  10. 用FPGA实现视频中物体边缘二值化