下载此文档

第3章 KeilC语言及其程序设计2(1).doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
第三章 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口的内容读入后,通过P1口输出即可。
汇编程序:
ORG 0100H
MOV P0,#0FFH
LOOP: MOV A,P0
MOV P1,A
SJMP LOOP
C51语言程序:
#include <>
void main(void)
{
unsigned char i;
P0=0xFF;
while(1)
{ i=P0;
P1=i;
}
}
Keil C51的开发环境
Keil C51是德国Keil Software公司开发的用于51系列单片机的C51语言开发软件。Keil C51在兼容ANSI C的基础上,又增加很多与51单片机硬件相关的编译特性,使得开发51系列单片机程序更为方便和快捷,程序代码运行速度快,所需存储器空间小,完全可以和汇编语言相媲美。它支持众多的MCS-51架构的芯片,同时集编辑、编译、仿真等功能于一体,具有强大的软件调试功能,是众多的单片机应用开发软件中最优秀的软件之一。
目前,Keil C51已被完全集成到一个功能强大的全新集成开发环境(IDE)µVision3中,该环境集成了文件编辑处理、编译链接、项目(Project)管理、窗口、工具引用和仿真软件模拟器以及Monitor51硬件目标调试器等多种功能,这些功能可在Keil µVision3环境中进行操作。
µVision3内部集成了源程序编辑器,并允许用户在编辑源文件时就可设置程序调试断点,便于在程序调试过程中快速检查和修改程序。此外,µVision3还支持软件模拟仿真(Simulator)和用户目标板调试(Monitor51)两种工作方式。在软件模拟仿真方式下不需任何51单片机及其外围硬件即可完成用户程序仿真调试。
在用户目标板调试方式下,利用硬件目标板中的监控程序可以直接调试目标硬件系统,使用户节省购买硬件仿真器的费用。
C51与标准C的主要区别
不同的嵌入式处理器的C编译系统与标准C的不同之处,主要是它们所针对的嵌入式处理器的硬件系统不同。Keil C51的基本语法与标准C相同,但对标准C进行了扩展。理解Keil C51对标准C的扩展部分是掌握Keil C51的关键。
C51与标准C的主要区别如下:
(1)头文件的差异。51系列单片机厂家有多个,它们的差异在于内部资源如定时器、中断、I/O等数量以及功能的不同,而对使用者来说,只需要将相应的功能寄存器的头文件加载在程序内,就可实现所具有的功能。因此,Keil C51系列的头文件集中体现了各系列芯片的不同资源及功能。
(2)数据类型的不同。51系列单片机包含位操作空间和位操作指令,因此Keil C51与ANSI C相比又扩展了4种类型,以便能够灵活地进行操作。
(3)数据存储类型的不同。C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而51系列单片机有片内、外程序存储器,还有片内、外数据

第3章 KeilC语言及其程序设计2(1) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zgs35866
  • 文件大小810 KB
  • 时间2017-11-14