下载后可任意编辑第三章 Keil C 语言及其程序设计C51 是在标准 C 的基础上,根据单片机存储器硬件结构及内部资源,扩展了相应的数据类型和变量,而 C51 在语法规定、程序结构与设计方法上,都与标准 C 基本相同
Keil C 语言的编译器及编译过程如图 3-1 所示
图 3-1 Keil C 语言的编译器及编译过程C 语言是美国国家标准协会(ANSI)制定的编程语言标准,1987 年 ANSI公布 87 ANSI C,即标准 C 语言
Keil C51 语言是在 ANSI C 的基础上针对 51 单片机的硬件特点进行的扩展,并向 51 单片机上移植,经过多年努力,C51 语言已经成为公认的高效、简洁而又贴近 51 单片机硬件的有用高级编程语言
目前大多数的 51 单片机用户都在使用 C51 语言来进行程序设计
用 C51 进行单片机软件开发,有如下优点:(1)可读性好
C51 语言程序比汇编语言程序的可读性好,因而编程效率高,程序便于修改
(2)模块化开发与资源共享
用 C51 开发出来的程序模块可以不经修改,直接被其他项目所用,这使得开发者能够很好地利用已有的大量的标准 C 程序资源与丰富的库函数,减少重复劳动
(3)可移植性好
为某种型号单片机开发的 C 语言程序,只需将与硬件相关之处和编译连接的参数进行适当修改,就可以方便地移植到其他型号的单片机上
例如,为 51 单片机编写的程序通过改写头文件以及少量的程序行,就可以方便地移植到 PIC 单片机上
下载后可任意编辑(4)代码效率高
当前较好的 C51 语言编译系统编译出来的代码效率只比直接使用汇编语言低 10%~20%左右,假如使用优化编译选项,效果会更好
【例】 利用单片机的 P1 口接 8 个发光二极管,P0 口接 8 个开关,编程实现,当开关动作时,对应的发光二极管亮或灭
只须把 P0 口的内容读入后,