第4章 Keil C51单片机开发环境
C51单片机开发环境
技术凝聚实力 专业创新出版
第4章 Keil C51单片机开发环境
通过前面章节的讲解,读者对于AT89S51单片机的硬件 结构和汇编语言编程都有了一个详细的了解。随着单片 机开发工具的不断发展,目前,利用C语言开发单片机 程序,具有效率高、可读性强、可移植性强等特点,已 经成为单片机程序开发中的主要方式。 Keil C51是一款十分流行的MCS-51内核单片机C语言开 发环境,在本章中详细向读者介绍Keil C51的开发方法, 使读者能够具备利用C语言开发AT89S51单片机程序的能 力。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1 C语言编程基础
Keil C51的开发方法其实和大家学习的C语言基本相同, 本节介绍C51的开发,内容和C语言的基础知识差不多, 由于篇幅有限,如需要深入了解的读者可以参考一些C 语言的教程。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.1 C51程序的基本结构
C51 源程序结构与一般C 语言基本一致,C51 源程序文 件的扩展名为".c" ,如Add. c 、Max. c 等。一个C51 源程序大体上是一个函数定义的集合,在这个集合中有 且仅有一个名为main( )的函数,也称为该程序的主函 数。 主函数是程序的入口,它是一个特殊的函数,程序的执 行都是从main( )函数开始的。主函数中的所有语句执 行完毕,则程序执行结束。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.2 标识符与关键字
标识符是用来标识源程序中某个对象的名字的,这些对 象可以是语句、数据类型、函数、变量、数组等等。C 语言是区分大小写的一种高级语言,如果要定义一个定 时器1,可以写做“Timer1”,如果程序中有"TIMER1", 那么这两个是完全不同定义的标识符。 标识符由字符串、数字和下划线等组成,需要注意的是, 第一个字符必须是字母或下划线,类似“1Timer”的定 义是错误的,编译时便会有错误提示。有些编译系统专 用的标识符以下划线开头,所以除了在定义专业标识符 以外,一般不要以下划线开头命名标识符。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.3 数据类型
数据在计算机内存中的存放情况由数据结构决定。C 语 言的数据结构是以数据类型决定的,数据类型可分为基 本数据类型和复杂数据类型,复杂数据类型是由基本数 据类型构造而成的。 在标准C语言中基本的数据类型为char、int、short、 long、float和double,而在C51编译器中int和short相 同,float和double相同。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.4 常量与变量
在程序运行过程中不能改变值的量称为常量,在程序运 行过程中不断变化的量称为变量。可以使用所有C51编 译器支持的数据类型定义一个变量,而常量的数据类型 只
限于整型、浮点型、字符型、字符串型和位标量。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.5 函数
一个好的C语言程序应该把一个大问题划分成若干子问题,解决一 个子问题对应编制一个函数,C程序一般是由大量的小函数而不是 由少量大函数构成的。使用函数带来的好处是程序各部分相互充分 独立,任务单一。函数提供了编制程序的手段,使之容易读、写、 理解、排除错误、修改和维护。 这些独立的小模块也可以作为一种固定规格的程序,用来组成新的 大程序,使得程序的可移植性和可重用性能大大提高。 一些较常用的函数时,只要将其保存在函数库里,在以后的编程中 可被方便地调用而不需要再去编译它们,连接时将会自动从相应的 库中装配成所需程序。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.6 数组与指针
数组是指具有相同数据类型的变量集合,拥有共同的名 字。数组中的每个特定元素都使用下标来访问。数组存 放在一段连续的存储地址中,第一个数组元素存放于最 低的地址,最高的地址对应最后一个数组元素。数组有 一维的和多维的,下面分别介绍。 (1)一维数组 一维数组的声明格式是: 类型 变量名[长度] 类型是指数据类型,即每一个数组元素的数据类型,包 括整数型、浮点型、字符型、指针型以及结构和联合。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.6 结构体与联合体
结构体是一种由基本数据类型构成、并用一个标识符来命名的各种 变量的组合。结构体中可以使用不同的数据类型。 在Keil C51中,结构体也是一种数据类型,可以使用结构体变量, 因此,与其他类型的变量一样,在使用结构体变量时要先对其定义。 定义结构体变量的一般格式如下: struct 结构体名 { 类型 变量名; 类型 变量名; } 结构体变量;
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.7 类型定义
与C语言编程一样,Keil C51允许由用户自己定义类型 说明符,也就是说允许由用户为数据类型使用自定义的 名字,该功能可以使用类型定义符typedef完成。例如, 有整型量a、b,其说明如下: int a ,b; 其中int是整型变量的类型说明符,int的长度为16位, 为了增加程序的可读性,可把整型说明符用typedef定 义为“typedef int INT16”,这以后就可用INT16来代 替int作整型变量的类型说明了,例如: INT16 a , b; //等效于 int a ,b
C51单片机开发环境
技术凝聚实力 专业创新出版
4.1.8 宏定义与条件编译
在编写程序时,使用的是用户能够看懂的ASCII码。但 是计算机必须将这些ASCII码经过翻译后变成机器语言。 这个翻译过程分两步,叫做
编译、链接过程。 第一步的编译过程是将源程序中除了函数调用以外的语 句翻译成机器语言,此时要生成一个中间目标文件,后 缀名为obj。链接过程是将库函数的执行代码加入到刚 才生成的obj文件中,生成可执行文件。 用户编写的源程序只能控制程序执行的流程。但有些时 候,需要对编译程序的工作进行一些干预,这时就要用 到编译预处理命令。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.2 Keil C51开发工具
MCS-51内核系列单片机作为工业使用的微处理器,从1985年开始,就有对 应的C语言编译器,简称C51。并非所有的C51编译器都产生和发挥MCS-51 单片机特点的有效代码,下面就各公司的编译器做简要介绍。 (1)AMERICAN AUTOMATION 该编译器通过#asm和endasm预处理选择支持汇编语言。此编译器编译速度 慢,要求汇编的中间环节支持。 (2)ARCHIMEDES 它的鼻祖是瑞典的JAR,是支持分组开关(Bank)的编译器。它和ANSI C兼 容,只是需要一个较复杂的连接程序控制文件支持,程序才能运行。 (3)AVOCET 该软件包包括编译器、汇编器、连接器、库MAKE工具和编辑器,集成环境 类似Borland C和Turbo CO C编译器产生一个汇编语言文件,然后再用汇 编器,其编译速度较快。
C51单片机开发环境
技术凝聚实力 专业创新出版
4.2 Keil C51开发工具
(4)DUNFIELD
SHAREWARE 它是非专业的软件包,不支持float、long或结构等数据结构。它不生成 重定位代码。 (5)FRANKLIN 它的鼻 …… 此处隐藏:2863字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




