《51单片机C语言开发详解》第4章 Keil C51单片机开发环境

合集下载

单片机原理及应用(C51版)第4章单片机C语言程序设计精品PPT课件

单片机原理及应用(C51版)第4章单片机C语言程序设计精品PPT课件
第9章 单片机C语言程序设计
4.1 Keil C简介与环境设置 4.2 C51 4.3 C51基础知识及表达式 4.4 C51控制语句 4.5 数组 4.6 指针 4.7 函数 4.8 C51开发工具使用 4.9 Keil C调试方法
一般情况下单片机常用的程序设计语言有两种:
4.2 Cx51简介
4.2.1 Cx51的扩展
Cx51编译器兼容ANSI C标准,又扩展支持了8051微处 理
器,其扩展内容如下: ① 存储区; ② 存储区类型; ③ 存储模型; ④ 存储类型说明符; ⑤ 变量数据类型说明符; ⑥ 位变量和位可寻址数据; ⑦ SFR; ⑧ 指针; ⑨ 函数属性。
部RAM地址为0x80-0xFF的128字节存储单元,这些 存储器一般用作计时器、计数器、串口、并口和外围 使用。
4. sfr16类型 sfr16类型用于声明两个连续地址的特殊功能寄
存器(地址范围为0~65 535)。 5.其它类型 C51程序中常用的数据类型还有: char(字符型) unsigned char(无符号字符型) int(整型) unsigned int(无符号整型)等类型。
4.2.2 存储区
8051单片机支持程序存储器和数据存储器的分离,存 储器根据读写情况可以分为:程序存储区(ROM)、快速 读写存储器(内部RAM)、随机读写存储器(外部RAM)。
1. 程序存储器(code)
在中程序存储器是只读存储器,其空间为64K ,在 C51中用code关键字来声明访问程序存储区中的 变量。 。
● 汇编语言:
汇编语言具有执行速度快、占存储空间少、对硬件可直 接编程等特点,因而特别适合在对实时性能要求比较高的 情况下使用。
● C语言:
C语言克服了汇编语言的不足之处,同时又增加了代码 的可读性,C语言大多数代码被翻译成目标代码后,其效 率和汇编语言相当。特别是C语言的内嵌汇编功能,使C语 言对硬件操作更加方便。

Keil_C51开发系统基本知识

Keil_C51开发系统基本知识

Keil_C51开发系统基本知识Keil C51开发系统基本知识1. 第一节系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C 来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍Keil C51开发系统各部分功能和使用。

2. 第二节 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

图(1) C51工具包整体结构图3. 第三节 Keil C51工具包的安装1. 1. C51 for Dos在Windows下直接运行软件包中DOS\C51DOS.exe然后选择安装目录即可。

完毕后欲使系统正常工作须进行以下操作(设C:\C51为安装目录):修改Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后运行Autoexec.bat2. 2. C51 for Windows的安装及注意事项:在Windows下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:\C51目录下)。

Keil C51单片机开发环境

Keil C51单片机开发环境
用户编写的源程序只能控制程序执行的流程。但有些时 候,需要对编译程序的工作进行一些干预,这时就要用 到编译预处理命令。
技术凝聚实力 专业创新出版
4.2 Keil C51开发工具
MCS-51内核系列单片机作为工业使用的微处理器,从1985年开始,就有对 应的C语言编译器,简称C51。并非所有的C51编译器都产生和发挥MCS-51 单片机特点的有效代码,下面就各公司的编译器做简要介绍。
通常情况下,程序从EXTERN、PUBLIC和SEGMENT指示器 开始。列表文件包含了每个源代码的行号及每行产生的 代码。
列表文件包含了错误和告警信息,错误和告警的位置被 明显地标识出来。
存储器组的占用信息和程序中的错误和告警总数包括在 文件的结尾处。
技术凝聚实力 专业创新出版
4.2.4 Keil C51的BL51代码链接器/定位器
技术凝聚实力 专业创新出版
4.2.4 Keil C51的BL51代码链接器/定位器
(2)代码段 BL51连接器支持创建程序空间大于64KB的应用。8051不能直接操作
大于64KB的代码地址空间,必须由外部硬件来交换代码段。完成此 功能的硬件必须要8051中运行的程序的控制中,这就是段(块)切换。 BL51连接器管理一个公共的区域和32个最大64KB空间的块,从而达 到总共2MB的分段程序空间。支持外部硬件块切换的软件包括的一 个可编辑的汇编程序,以适应应用中的特定硬件平台。 BL51连接器可以定义哪个段装载哪个特定的程序模块。通过仔细考 虑,把各个函数分配到不同的段中来创建一个非常大而有效的应用。
类似Borland C和Turbo CO C编译器产生一个汇编语言文件,然后再用汇 编器,其编译速度较快。
技术凝聚实力 专业创新出版

单片机应用技术(C语言版)第4章C51程序设计入门ppt课件

单片机应用技术(C语言版)第4章C51程序设计入门ppt课件
构造类型(数组、结构体、共同体、 枚举)、指针类型和空类型
10.05.2021
完整最新ppt
8
在计算机中不能随意给一个变量赋任意 的值,因为变量在单片机的内存中要占空 间的,变量不同,所占的空间不同。
为了合理利用单片机的内存空间,在编 程时要设定合适的数据类型。
10.05.2021
完整最新ppt
9
33
4、 C51变量定义举例
1)定义存储在data区域的动态 unsigned char变量:
unsigned char data sec=0, min=0, hou=0;
2)定义存储在data区域的静态 unsigned char变量:
static unsigned char data scan_code=0xfe;
sfr 特殊功能寄存器名 = 地址常数
地址常数范围:0x80~0xff。
特殊功能寄存器定义例子(见reg51.h 、reg52.h等文件):
sfr P0=0x80; 存器
//定义P0寄
sfr P1=0x90; 寄存器
//定义P1口
sfr 10.05.2021 PSW=0x完d整0最新;ppt //定义PSW
10.05.2021
完整最新ppt
14
3、 sbit型位变量的定义
特殊功能寄存器的位声明 一般格式为:
sbit 位变量名 = 位地址表达式 这里的位地址表达式有三种形式: 直接位地址 特殊功能寄存器名带位号 字节地址带位号
10.05.2021
完整最新ppt
15
a、用直接位地址定义位变量
定义特殊功能寄存器的位。例如:
sbit P0_0=0x80; sbit P1_1=0x91; sbit RS0=0xd3; //定义PSW的第3 位

单片机实验一 Keil C51编译环境的使用

单片机实验一 Keil C51编译环境的使用

实验一Keil C51编译环境的使用一、实验目的:1)安装keil uVision4 集成开发环境。

2)熟悉Keil C51 集成开发环境二、实验内容:(一)安装keil u Vision集成开发环境1、下载keil C51 安装软件2、运行srtup.exe安装软件并安装3、选择安装路径4、等待安装,单击finish安装完毕(二)熟悉Keil C51 集成开发环境1、打开Keil C51熟悉界面2、创建一个工程项目文件点击工具栏中的Project选项,选择new project建立一个工程,并为你的工程命名,选择存放路径并保存3、建立源文件点击工具栏中的File选项,在下拉菜单中选择New,在此窗口中输入我们的源文件ORG 0000HSJMP MAINORG 0030HMAIN: MOV 30H,#55HMOV A,30HSJMP $END4、保存源文件点击工具栏中的File选项下拉菜单的保存命令进行保存。

如果源文件是汇编语言,则文件名应有ex.asm,若为c语言,则应该有ex.c。

保存完毕后,会发现程序中的关键字变成了蓝色。

5、将文件加入工程中要将刚刚建立的程序文件ex.asm加入到工程项目中。

在Project Windows窗口内,选择Source Group1后,点击鼠标右键,在弹出的快捷菜单中选择Add Files To Group “Source Group1”命令,选择源文件的路径,文件类型和文件名,点击Add按钮将源文件加入工程项目中。

6、程序文件的编译和连接点击Project选项,在弹出的下拉菜单中选择”Option For Target “Target1””命令分别对Target 、Output、C51、Debug等选型卡进行设置完成后,再对程序进行编译。

点击点击Project选项,在弹出的下拉菜单中选择Build Taget 或Rebuild All Target Files 命令对源程序文件进行编译,若没有错误,此刻会在“Output Windows”信息输出窗口输出一些相关的信息,如果有错也会有相关的错误信息。

单片机的开发环境keil的描述

单片机的开发环境keil的描述

一、概述单片机是一种集成了微处理器、存储器和输入/输出功能的集成电路,它在嵌入式系统中扮演着重要角色。

为了进行单片机的开发和编程,开发环境的选择和配置至关重要。

其中,Keil是一款专业的单片机开发环境,本文将对其进行描述和详细介绍。

二、Keil开发环境概述1. Keil开发环境简介Keil是一款由Keil Software公司开发的嵌入式系统开发工具,主要用于单片机的软件开发、调试和编程。

它提供了一整套完整的软件开发工具,包括C编译器、调试器、仿真器等,能够帮助开发者轻松进行单片机的开发工作。

2. Keil支持的单片机类型Keil支持包括STC、ATMEL、TI、NXP、Renesas等多种常见的单片机型号,覆盖了市面上绝大部分主流的单片机芯片。

3. Keil的特点Keil具有良好的易用性和稳定性,它可以在Windows操作系统下运行,并支持多种编程语言,包括C、C++、汇编语言等。

它还提供了丰富的编程和调试工具,能够帮助开发者高效地进行单片机程序的开发和调试工作。

三、Keil开发环境的安装和配置1. Keil软件的下载和安装开发者可以从Keil冠方全球信息站上下载Keil软件的安装包,然后按照安装向导逐步进行安装。

安装过程相对简单,一般不会遇到太大的问题。

2. Keil开发环境的配置安装完成后,开发者需要对Keil开发环境进行一些基本的配置,以确保其能够正常运行。

需要对工程文件、编译器设置、仿真器设置等进行配置,以满足具体的项目需求。

四、Keil开发环境的基本使用1. 新建项目在Keil中,开发者可以通过简单的操作新建一个项目,然后将需要的源码文件或者库文件添加到项目中。

2. 编写程序开发者可以在Keil中使用C、C++或者汇编语言编写单片机程序,支持的语言种类丰富,为开发者提供了更多的选择。

3. 编译和调试Keil提供了强大的编译器和调试工具,开发者可以利用这些工具对程序进行编译和调试,并对程序的运行状态进行实时监控和分析。

Keil C51使用详解

Keil C51使用详解

Keil C51使用详解第一章Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节Keil C51单片机软件开发系统的整体结构 (6)第三节Keil C51工具包的安装 (7)1. C51 for Dos 72. C51 for Windows的安装及注意事项: (7)第四节Keil C51工具包各部分功能及使用简介 (7)1. C51与A51. 72. L51和BL51. 83. DScope51,Tscope51及Monitor51. 84. Ishell及uVision. 9第二章Keil C51软件使用详解 (10)第一节Keil C51编译器的控制指令 (10)1. 源文件控制类 (10)2. 目标文件(Object)控制类: (10)3. 列表文件(listing)控制类: (10)第二节dScope51的使用 (11)1. dScope51 for Dos 112. dScope for Windows 12第三节Monitor51及其使用 (13)1. Monitor51对硬件的要求 (13)2. Mon51的使用 (13)3. MON51的配置 (13)4. 串口连接图: (13)5. MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1. Ishell for Dos的使用 (14)2. uVision for windows的使用 (15)第三章Keil C51 vs 标准C.. 15第一节Keil C51扩展关键字 (15)第二节内存区域(Memory Areas): (16)1. Pragram Area: (16)2. Internal Data Memory: 163. External Data Memory. 164. Speciac Function Register Memory. 16第三节存储模式 (16)1. Small模式 (16)2. Compact模式 (17)3. large模式 (17)第四节存储类型声明 (17)第五节变量或数据类型 (17)第六节位变量与声明 (17)1. bit型变量 (17)2. 可位寻址区说明20H-2FH.. 18第七节Keil C51指针 (18)1. 一般指针 (18)2. 存储器指针 (18)3. 指针转换 (18)第八节Keil C51函数 (19)1. 中断函数声明: (19)2. 通用存储工作区 (19)3. 选通用存储工作区由using x声明,见上例。

51单片机C语言应用与开发(第4章)

51单片机C语言应用与开发(第4章)

4.4 创建项目
第三步:CPU型号选定后再单击“确定”按钮,出现 “询问是否添加启动文件”对话框。 第四步:点击“是”完成添加项目,出现项目初始化 界面。 第五步:新建一个代码编辑文本,点击“File”下的 “New” 选项新建文本,然后直接在新建的文本下编 写程序并命名为“led1.c”。 第六步:选中工程管理器中的“Source Group1”点击 右键,选择Add Files To “Source Group1”,然后选 中流水灯的源文件(如led1.c),再点击“Add”就可 以了。

4.1 Keil C51的安装 4.2 μVision3集成开发环境 4.3 μVision3的栏目和窗口 4.4 创建项目 4.5 简单程序的调试 4.6 代码优化 4.7 技巧和窍门 4.8 Keil C编译器常见警告与错误信息的解决方法
4.1 Keil C51的安装
4.2 μVision3集成开发环境
4.2.2 开发环境的配置
4.3 μVision3的栏目和窗口
μVision3的界面窗口除具有大量的工具以外,还 对这些工具的布局进行合理的安排,充分考虑到了用 户的需求,常用的工具在工具栏中都设置了快捷图标。 μ Vision3运行界面从上往下的顺序首先是菜单 项,共11个选项,包括文本操作、项目管理、开发工 具配置和仿真等功能。其次是工具栏,主要是一些常 用操作的快捷图标。 部分菜单下的命令的功能、图标和常用的快捷键 如下所示:
4.3 μVision3的栏目和窗口
7.Peripherals菜单项
4.4 创建项目
一个完整的项目是能够实现特定功能的程序的集 合。下面以新建一个流水灯的项目为例,来演示如何 去创建一个完整的项目。Keil C51的项目文件的后缀 名是“.uv2”。创建项目具体的步骤如下: 第一步:点击Project->new μVision Project 选项,会弹出“新建项目”对话框,给新建项目取一 个文件名。 第二步:点击“保存”,接着会弹出一个选择CPU 的对话框,选择与自己使用单片机型号相对应的CPU。

单片机开发与仿真软件keilc51的使用

单片机开发与仿真软件keilc51的使用

单片机开发与仿真软件Keil C51的使用一、Keil C51 操作入门Keil C51 简介Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。

Keil 51支持汇编语言、C语言等各种开发语言。

其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。

uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。

实验所用的是Keil C51 评估版。

Keil C51 的启动双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。

图1 Keil C51的启动界面建立第1 个Keil C51 程序Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。

现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。

硬件电路参见图2,单片机I/O 输出低电平可点亮LED。

图2 LED 闪烁发光电路●新建工程。

执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create New Project”的对话框。

先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。

建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。

最后,为工程取名为“LedFlash”,并保存。

参见图3。

图3 新建Keil C51 工程●选择CPU。

紧接着,Keil C51 提示选择CPU 器件。

8051 内核单片机最早是由鼎鼎大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。

开发工具KeilC51介绍

开发工具KeilC51介绍
开发工具Keil C51介绍
目录
• Keil C51简介 • Keil C51开发环境 • Keil C51的编程语言 • Keil C51的实践应用 • Keil C51的未来发展
01 Keil C51简介
什么是Keil C
01
Keil C51是一款针对8051微控制器 的集成开发环境(IDE),由德国 Keil Software公司开发。
THANKS FOR WATCHING
感谢您的观看
制系统、工业控制系统等。
单片机应用开发
03
使用Keil C51开发工具进行单片机应用开发,如电子门锁、智
能仪表等。
常见问题及解决方案
01
编译错误
检查代码中是否有语法错误或拼 写错误,确保代码符合C语言规 范。
链接错误
02
03
调试错误
检查链接器设置是否正确,确保 目标硬件平台和编译器之间的兼 容性。
习和使用。
02 Keil C51开发环境
界面介绍
菜单栏
包含文件、编辑、工程、查看 、工具等常用菜单,方便用户
进行操作。
工具栏
提供常用操作按钮,如新建、 打开、保存、编译等,方便用 户快速执行操作。
工程管理器
展示工程文件和文件夹结构, 方便用户管理工程文件。
编辑器
提供代码编写和编辑功能,支 持语法高亮、自动缩进等功能
嵌入式C语言编程规范
内存管理
由于嵌入式系统资源有限,程序员需要谨慎管理内存,避免内存 泄漏和非法访问。
实时性
嵌入式系统通常要求实时响应,因此程序应尽量减少不必要的延 时和计算。
可靠性
程序应具备错误处理和异常处理机制,确保系统稳定可靠。

KeilC51开发系统知识

KeilC51开发系统知识

KeilC51开发系统知识简介KeilC51是一款基于Keil公司开发的微处理器开发系统。

它是针对Intel 8051系列单片机的集成开发环境(IDE),提供了丰富的工具和功能,方便开发人员进行单片机软件的编写、调试和仿真。

开发环境搭建要开始使用KeilC51开发系统,需要按照以下步骤搭建开发环境:1.下载和安装KeilC51软件,可以从Keil官方网站上下载安装程序。

2.安装所需的编译器和调试器。

KeilC51集成了多个编译器和调试器,用户可以根据需要选择合适的版本安装。

3.连接目标硬件。

将开发板或嵌入式系统与电脑连接,确保硬件的正常工作。

KeilC51的主要功能KeilC51提供了以下主要功能:1. 编辑器KeilC51内置了一个强大的文本编辑器,支持多种编程语言的语法高亮显示、代码自动补全和代码折叠等功能。

开发人员可以通过编辑器编写和修改单片机的软件代码。

2. 编译器KeilC51集成了多个编译器,可以将高级语言(如C语言)编译为可执行的机器码。

编译器还提供了丰富的编译选项,可以对代码进行优化,以提高程序的性能和效率。

3. 调试器KeilC51的调试器功能强大,可以帮助开发人员定位程序中的错误和问题。

调试器可以实时监测程序的执行状态,包括变量的值、寄存器的状态和内存的使用情况等。

开发人员可以通过调试器来查看和修改程序的运行状态,以便进行调试和测试。

4. 仿真器KeilC51还提供了仿真器的功能,可以模拟目标设备的行为,以便在不连接实际硬件的情况下进行程序的调试和测试。

仿真器可以模拟外部设备的输入和输出,以及处理器的执行过程,方便开发人员进行程序的验证和优化。

5. 项目管理KeilC51具有强大的项目管理功能,开发人员可以将相关的文件组织为一个项目,并进行版本控制和管理。

项目管理功能还可以帮助开发人员生成可执行文件和固件,方便部署和测试。

小结KeilC51开发系统是一款功能强大、易于使用的微处理器开发环境。

51单片机C语言编程入门以及keil_uvision使用方法介绍(详讲版)

51单片机C语言编程入门以及keil_uvision使用方法介绍(详讲版)
同时,本学习资料还致力于引导读者编写高质量的单片机 C 语言程序。尽管单片机程序 的规模有限,但高质量的单片机程序除了可以优化运行效率外,对程序的开发速度和可维护 性也具有重要的影响。
中国科学技术大学业余无线电协会
1
51 单片机 C 语言编程入门——Easy 51 Kit Pro 配套学习资料
§2 单片机简介
§3 MCS-51 单片机的 C 语言编程……………………………………………………………… 8 3.1 汇编语言………………………………………………………………………………… 8 3.2 建立你的第一个 C 项目………………………………………………………………… 8 3.3 生成 hex 文件…………………………………………………………………………… 12 3.4 Keil C 语言……………………………………………………………………………… 14 3.5 单片机 I/O……………………………………………………………………………… 18 3.6 中断……………………………………………………………………………………… 25 3.7 定时器/计数器………………………………………………………………………… 27 3.8 定时器的应用举例……………………………………………………………………… 29 3.9 外部中断………………………………………………………………………………… 34 3.10 串行通信……………………………………………………………………………… 38 3.11 定时器 2……………………………………………………………………………… 43 3.12 看门狗………………………………………………………………………………… 47 3.13 空闲模式和掉电模式………………………………………………………………… 50

keil_C51的详解

keil_C51的详解

Keil C51使用详解1作者:未知文章来源:21ic 点击数:3489 更新时间:2005-3-15 第一章 Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节 Keil C51单片机软件开发系统的整体结构 (6)第三节 Keil C51工具包的安装 (7)1. C51 for Dos 72. C51 for Windows的安装及注意事项: (7)第四节 Keil C51工具包各部分功能及使用简介 (7)1. C51与A51. 72. L51和BL51. 83. DScope51,Tscope51及Monitor51. 84. Ishell及uVision. 9第二章 Keil C51软件使用详解 (10)第一节 Keil C51编译器的控制指令 (10)1. 源文件控制类 (10)2. 目标文件(Object)控制类: (10)3. 列表文件(listing)控制类: (10)第二节 dScope51的使用 (11)1. dScope51 for Dos 112. dScope for Windows 12第三节 Monitor51及其使用 (13)1. Monitor51对硬件的要求 (13)2. Mon51的使用 (13)3. MON51的配置 (13)4. 串口连接图: (13)5. MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1. Ishell for Dos的使用 (14)2. uVision for windows的使用 (15)第三章 Keil C51 vs 标准C.. 15第一节 Keil C51扩展关键字 (15)第二节内存区域(Memory Areas): (16)1. Pragram Area: (16)2. Internal Data Memory: 163. External Data Memory. 164. Speciac Function Register Memory. 16第三节存储模式 (16)1. Small模式 (16)2. Compact模式 (17)3. large模式 (17)第四节存储类型声明 (17)第五节变量或数据类型 (17)第六节位变量与声明 (17)1. bit型变量 (17)2. 可位寻址区说明20H-2FH.. 18第七节 Keil C51指针 (18)1. 一般指针 (18)2. 存储器指针 (18)3. 指针转换 (18)第八节 Keil C51函数 (19)1. 中断函数声明: (19)2. 通用存储工作区 (19)3. 选通用存储工作区由using x声明,见上例。

第4章单片机的C51语言PPT课件

第4章单片机的C51语言PPT课件

编译系统
7
第4章单片机的C51语言
C51与标准C程序结构完全相同
① 程序由函数组成(一个主函数, 或一个主函数和若干自定义函 数);
② 利用预处理命令对变量或函数 进行集中定义或声明;
③ 函数和变量都需遵循先定义后 使用的基本原则;
④ 主函数中的所有语句执行完毕, 则程序结束。
8
举例:LED闪烁控制功能
语句A
条件P
不成 立
成立
图:直到型循环结构
构成循环结构的语句主要有:while、do while、for、goto等。
41
4.7.2 if语句 if语句是C51中的一个基本条件选择语句,它通常 有三种格式: (1)if (表达式) {语句;} (2)if (表达式) {语句1;} else {语句2;} (3)if (表达式1) {语句1;} else if (表达式2) (语句2;) else if (表达式3) (语句3;) …… else if (表达式n-1) (语句n-1;) else {语句n}
符号 字节地址
位地址
21
第4章单片机的C51语言
2)sbit bit_name = sfr_name ^ 位位置;
将已有定义的SFR的0~7位定义为位变量名。 例如: sfr PSW = 0xD0;
sbit CY = PSW^7;
序号 特殊功能寄存器名称
符号 字节地址
位地址
22
第4章单片机的C51语言
led闪烁控制功能随着电能应用的不断拓展以电能为介质的各种电气设备广泛进入企业社会和家庭生活中与此同时使用电气所带来的不安全事故也不断发生第4章单片机的c51语言预处理命令函数声明全局变量定义主函数调用函数局部变量定义程序体程序体随着电能应用的不断拓展以电能为介质的各种电气设备广泛进入企业社会和家庭生活中与此同时使用电气所带来的不安全事故也不断发生第4章单片机的c51语言41c51的程序结构42c51的数据结构c51的指针43c51与汇编语言的混合编程44c51仿真开发环境45c51初步应用编程随着电能应用的不断拓展以电能为介质的各种电气设备广泛进入企业社会和家庭生活中与此同时使用电气所带来的不安全事故也不断发生第4章单片机的c51语言在程序执行过程中数值可以发生改变的量称为变量

单片机应用技术(C语言版)第4篇C51程序设计入门共84页文档

单片机应用技术(C语言版)第4篇C51程序设计入门共84页文档

1
0
、倚Βιβλιοθήκη 南窗以寄









46、我们若已接受最坏的,就再没有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特
单片机应用技术(C语言版)第4篇C51 程序设计入门
6













7、翩翩新 来燕,双双入我庐 ,先巢故尚在,相 将还旧居。
8













9、 陶渊 明( 约 365年 —427年 ),字 元亮, (又 一说名 潜,字 渊明 )号五 柳先生 ,私 谥“靖 节”, 东晋 末期南 朝宋初 期诗 人、文 学家、 辞赋 家、散
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 《 归 园 田 居 》 、 《 桃花 源 记 》 、 《 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
技术凝聚实力 专业创新出版
第4章 Keil C51单片机开发环境


通过前面章节的讲解,读者对于AT89S51单片机的硬件 结构和汇编语言编程都有了一个详细的了解。随着单片 机开发工具的不断发展,目前,利用C语言开发单片机 程序,具有效率高、可读性强、可移植性强等特点,已 经成为单片机程序开发中的主要方式。 Keil C51是一款十分流行的MCS-51内核单片机C语言开 发环境,在本章中详细向读者介绍Keil C51的开发方法, 使读者能够具备利用C语言开发AT89S51单片机程序的能 力。
技术凝聚实力 专业创新出版
4.1.2 标识符与关键字


标识符是用来标识源程序中某个对象的名字的,这些对 象可以是语句、数据类型、函数、变量、数组等等。C 语言是区分大小写的一种高级语言,如果要定义一个定 时器1,可以写做“Timer1”,如果程序中有"TIMER1", 那么这两个是完全不同定义的标识符。 标识符由字符串、数字和下划线等组成,需要注意的是, 第一个字符必须是字母或下划线,类似“1Timer”的定 义是错误的,编译时便会有错误提示。有些编译系统专 用的标识符以下划线开头,所以除了在定义专业标识符 以外,一般不要以下划线开头命名标识符。
技术凝聚实力 专业创新出版
4.2.4 Keil C51的BL51代码链接器/定位器


(2)代码段 BL51连接器支持创建程序空间大于64KB的应用。8051不能直接操作 大于64KB的代码地址空间,必须由外部硬件来交换代码段。完成此 功能的硬件必须要8051中运行的程序的控制中,这就是段(块)切换。 BL51连接器管理一个公共的区域和32个最大64KB空间的块,从而达 到总共2MB的分段程序空间。支持外部硬件块切换的软件包括的一 个可编辑的汇编程序,以适应应用中的特定硬件平台。 BL51连接器可以定义哪个段装载哪个特定的程序模块。通过仔细考 虑,把各个函数分配到不同的段中来创建一个非常大而有效的应用。
技术凝聚实力 专业创新出版
4.2.3 Keil C51的A51宏汇编器


A51是一个8051系列MCU的宏汇编器,它把汇编语言翻译 成机器代码。A51汇编器允许定义程序中的每一个指令, 在需要极快的运行速度、很小的代码空间和精确的硬件 控制时使用。其宏特性让公共代码只需要开发一次,从 而节约了开发和维护的时间。 A51汇编器宏处理的另一个有用的特性是根据命令行参 数或汇编符号进行条件汇编。代码段的条件汇编能帮助 用户实现最紧凑的代码,也可以从一个汇编源代码文件 产生不同的应用:
一个好的C语言程序应该把一个大问题划分成若干子问题,解决一 个子问题对应编制一个函数,C程序一般是由大量的小函数而不是 由少量大函数构成的。使用函数带来的好处是程序各部分相互充分 独立,任务单一。函数提供了编制程序的手段,使之容易读、写、 理解、排除错误、修改和维护。 这些独立的小模块也可以作为一种固定规格的程序,用来组成新的 大程序,使得程序的可移植性和可重用性能大大提高。 一些较常用的函数时,只要将其保存在函数库里,在以后的编程中 可被方便地调用而不需要再去编译它们,连接时将会自动从相应的 库中装配成所需程序。
技术凝聚实力 专业创新出版
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
技术凝聚实力 专业创新出版
4.2 Keil C51开发工具


(4)DUNFIELD


SHAREWARE 它是非专业的软件包,不支持float、long或结构等数据结构。它不生成 重定位代码。 (5)FRANKLIN 它的鼻祖是Keil,在代码生成方面领先,可产生最少的代码。它支持浮点 和长整数、重入和递归,不提供库源代码,不能生成能汇编的汇编代码, 仅产生混合代码,只能修改后汇编。若使用汇编语言,必须分开汇编程序, 然后手工连接。 若使用单片模式,它是最好的选择。 (6)Keil C51 Keil C51的V8. xx是目前世界上最好的51单片机的汇编和C语言的开发工 具。它支持汇编、C语言以及混合编程,同时具备强大的软件仿真和硬件 仿真功能。 在本节中主要介绍采用Keil C51的开发方法。
技术凝聚实力 专业创新出版
4.1.6 结构体与联合体


结构体是一种由基本数据类型构成、并用一个标识符来命名的各种 变量的组合。结构体中可以使用不同的数据类型。 在Keil C51中,结构体也是一种数据类型,可以使用结构体变量, 因此,与其他类型的变量一样,在使用结构体变量时要先对其定义。 定义结构体变量的一般格式如下: struct 结构体名 { 类型 变量名; 类型 变量名; „„ } 结构体变量;
技术凝聚实力 专业创新出版
4.1.3 数据类型


数据在计算机内存中的存放情况由数据结构决定。C 语 言的数据结构是以数据类型决定的,数据类型可分为基 本数据类型和复杂数据类型,复杂数据类型是由基本数 据类型构造而成的。 在标准C语言中基本的数据类型为char、int、short、 long、float和double,而在C51编译器中int和short相 同,float和double相同。
技术凝聚实力 专业创新出版
4.1.8 宏定义与条件编译



在编写程序时,使用的是用户能够看懂的ASCII码。但 是计算机必须将这些ASCII码经过翻译后变成机器语言。 这个翻译过程分两步,叫做编译、链接过程。 第一步的编译过程是将源程序中除了函数调用以外的语 句翻译成机器语言,此时要生成一个中间目标文件,后 缀名为obj。链接过程是将库函数的执行代码加入到刚 才生成的obj文件中,生成可执行文件。 用户编写的源程序只能控制程序执行的流程。但有些时 候,需要对编译程序的工作进行一些干预,这时就要用 到编译预处理命令。
技术凝聚实力 专业创新出版
4.1.6 数组与指针


数组是指具有相同数据类型的变量集合,拥有共同的名 字。数组中的每个特定元素都使用下标来访问。数组存 放在一段连续的存储地址中,第一个数组元素存放于最 低的地址,最高的地址对应最后一个数组元素。数组有 一维的和多维的,下面分别介绍。 (1)一维数组 一维数组的声明格式是: 类型 变量名[长度] 类型是指数据类型,即每一个数组元素的数据类型,包 括整数型、浮点型、字符型、指针型以及结构和联合。
技术凝聚实力 专业创新出版
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编译器产生一个汇编语言文件,然后再用汇 编器,其编译速度较快。
技术凝聚实力 专业创新出版
4.2.4 Keil C51的BL51代码链接器/定位器


(3)公共段 段切换程序中的公共段是一块在任何时候、在所有的段 中都可以访问的存储器。此公共段在物理上就不能切换 出局或变换地址空间。 在公共段中的代码可以复制到每个段中(如果切换整个 程序空间)或驻留在一个独立的地址空间或器件中(公共 段不用切换)。
技术凝聚实力 专业创新出版
4.2.4 Keil C51的BL51代码链接器/定位器


பைடு நூலகம்
BL51是具有代码分段功能的连接器/重定位器,它组合一个或多个目标模 块成一个8051的执行程序。此连接器处理外部和全局数据,并将可重定位 的段分配到固定的地址上。BL51连接器处理由Keil C51编译器、A51汇编 器和Intel PL/M-51编译器、ASM-51汇编器产生的目标模块。连接器自动 选择适当的运行库并连接用到的模块。BL51主要有以下的功能: (1)数据地址管理 BL51连接器通过覆盖那些不会同时使用的函数变量的技术来管理8051有限 的内部存储器资源,这极大地降低了大多数应用对存储器的需求。BL51连 接器分析函数间的引用以决定存储的覆盖策略。可以用OVERLAY指示器来 人为控制函数间的引用,这些引用被连接器用来确定哪些存储器单元是独 占的。NOOVERLAY指示器让BL51不进行覆盖连接,这在使用间接调用的函 数或为了调试而禁止覆盖时比较有用。
技术凝聚实力 专业创新出版
4.2.3 Keil C51的A51宏汇编器



A51汇编器产生一个列表文件,包括行号、汇编时的时 间和日期。关于汇编器运行和目标文件产生的信息被记 录下来。 通常情况下,程序从EXTERN、PUBLIC和SEGMENT指示器 开始。列表文件包含了每个源代码的行号及每行产生的 代码。 列表文件包含了错误和告警信息,错误和告警的位置被 明显地标识出来。 存储器组的占用信息和程序中的错误和告警总数包括在 文件的结尾处。
相关文档
最新文档