第3章 C51语言编程基础.ppt

上传人:99****p 文档编号:1453573 上传时间:2019-02-28 格式:PPT 页数:153 大小:1.11MB
下载 相关 举报
第3章 C51语言编程基础.ppt_第1页
第1页 / 共153页
第3章 C51语言编程基础.ppt_第2页
第2页 / 共153页
第3章 C51语言编程基础.ppt_第3页
第3页 / 共153页
第3章 C51语言编程基础.ppt_第4页
第4页 / 共153页
第3章 C51语言编程基础.ppt_第5页
第5页 / 共153页
点击查看更多>>
资源描述

1、 第 3章 C51语言编程基础与Keil Vision3开发平台 1单片机应用系统日趋复杂,对 程序的可读性、升级与维护以及模块化要求越来越高 ,对软件编程要求也越来越高,要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。同时,也要方便多个编程人员来进行协同开发。C51语言是近年来在 8051单片机开发中,普遍使用的程序设计语言,能 直接对 8051单片机硬件进行操作,既有高级语言特点,又有汇编语言特点 ,因此在 8051单片机程序设计中,得到广泛使用。本章介绍 8051单片机的 C51语言,以及如何使用 C51语言集成化开发平台Keil Vision3,进行 C51程序设计与开发。

2、23.1 C51编程语言简介用于 8051单片机编程的 C语言,在标准 C基础上针对 8051硬件特点进行扩展,并向 8051上移植,经多年努力, C51已成为公认的高效、简洁的8051单片机的实用高级编程语言。与 8051汇编语言相比, C51语言在功能上、结构性、可读性、可维护性上有明显优势,易学易用。3.1.1 C51语言与 8051汇编语言比较与 8051汇编语言相比, C51有如下优点。( 1)可读性好 。 C51语言程序比汇编语言程序的可读性好,编程效率高,程序 便于修改、维护以及升级 。( 2) 模块化开发与资源共享 。用 C51开发的程序模块可不经修改,直接被其他工程所用,使得

3、开发者能够很好地 利用已有的大量标准 C程序资源与丰富的库函数,减少重复劳动, 同时也有利于多个工程师进行协同开发。( 3) 可移植性好。 为某种型号单片机开发的 C语言程序,只需把与硬件相关的 头文件 和 编译链接的参数 进行适当修改,就可方便地移植到其他型号的单片机上。 例如 ,为 8051单片机编写的程序通过改写头文件以及少量的程序行,就可方便地移植到 PIC单片机上。( 4) 生成的代码效率高。 当前较好的 C51语言编译系统编译出来的代码效率只比直接使用汇编语言 低 20%左右,如果使用 优化编译选项 ,最高可达到 90%左右。43.1.2 C51语言与标准 C语言的比较C51语言与

4、标准 C语言间有许多相同地方,但也有自身特点。不同的嵌入式 C语言编译系统之所以与标准 C语言有不同的地方,主要是由于它们所针对的硬件系统不同。对于 8051单片机,目前广泛使用的是 C51语言。C51语言基本语法与标准 C相同,是 在标准 C的基础上 进行适合 8051内核单片机硬件的扩展 。深入理解 C51语言 对标准 C语言的 扩展部分 以及它们的不同之处,是掌握 C51语言的关键之一。5C51语言与标准 C语言 一些差别 如下。( 1)库函数不同。 标准 C中不适合于嵌入式控制器系统的库函数,被排除在 C51语言之外,如字符屏幕和图形函数。有些库函数必须针对 8051的硬件特点来做出相

5、应的开发。例如, 在标准 C中,库函数 printf和 scanf,常用于屏幕打印和接收字符,而在 C51语言中,主要用于 串行口数据的收发 。( 2)数据类型有一定区别 。在 C51中增加几种 8051单片机的数据类型,在标准 C的基础上又扩展了 4种类型。例如, 8051单片机包含位操作空间和丰富的位操作指令,因此, C51语言与标准 C语言相比 增加了 位类型 。6( 3) C51语言变量存储模式与标准 C语言中变量存储模式数据不一样 。标准 C最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而 C51语言中 变量的存储模式 与 8051单片机的 各种存储器

6、区紧密相关 。( 4)数据存储类型不同 。 8051存储区可分为 内部数据存储区、外部数据存储区以及程序存储区 。内部数据存储区 可分为 3个不同的 C51存储类型: data、 idata和 bdata。外部数据存储区分 为 2个不同的 C51存储类型: xdata和 pdata。程序存储区 只能读不能写,可能在 8051内部或者在外部, C51语言提供的code存储类型用来访问程序存储区。7( 5)标准 C语言没有处理单片机中断的定义 ,而 C51语言中有专门的中断函数。( 6)头文件不同 。 C51语言头文件必须把 8051单片机内部的外设硬件资源(如定时器、中断、 I/O等)相应的 特

7、殊功能寄存器 写入 到头文件 内,而标准 C不用。( 7)程序结构的差异 。由于 8051单片机的硬件资源有限,它的编译系统 不允许太多的程序嵌套 。其次,标准 C语言所具备的 递归特性 不被 C51语言支持。8但从数据运算操作、程序控制语句以及函数的使用上来说, C51与标准 C几乎没有什么明显差别。如果程序设计者具备了有关标准 C语言的编程基础,只要注意 C51与标准 C不同之处,并熟悉 8051单片机的硬件结构,就能较快掌握 C51编程。3.2 C51语言程序设计基础本节在标准 C基础上,了解掌握 C51的数据类型和存储类型、 C51的基本运算与流程控制语句、 C51语言构造数据类型、 C51函数以及 C51程序设计的其他一些问题,为 C51的程序开发打下基础 。 93.2.1 C51语言中的数据类型与存储类型1数据类型数据是单片机操作的对象,具有一定格式的数字或数值,数据的不同格式就称为 数据类型 。Keil C51支持的基本数据类型见 表 3-1。针对 8051的硬件特点, C51在标准 C基础上, 扩展了 4种数据类型 (见表 3-1中最后 4行)。注意,扩展的 4种数据类型,不能使用指针来对它们存取。10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。