第1章Keil 单片机集成开发环境及应用_第1页
第1章Keil 单片机集成开发环境及应用_第2页
第1章Keil 单片机集成开发环境及应用_第3页
第1章Keil 单片机集成开发环境及应用_第4页
第1章Keil 单片机集成开发环境及应用_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022/10/11单片机原理及应用1第1章 Keil单片机集成开发环境及应用1.1 Keil 单片机集成开发环境简介1.2 Keil 集成开发环境的安装1.3 程序的编辑、链接与调试 1.4 汇编语言的应用1.5 C语言的应用 2022/10/11单片机原理及应用21.1 Keil单片机集成开发环境简介 keil Vision3 是 集文本编辑、程序编译、链接、调试以及仿真于一体的单片机集成开发环境(IDE),具有如下特点: Windows 风格的操作界面 。支持汇编语言、C语言以及混合编程 。 能够完成51系列兼容类型单片机的程序设计和仿真 。集成了丰富的库函数,以及完善的编译链接工具。提

2、供了并口、串口、A/D、D/A、定时/计数器以及中断等资源的硬件仿真能力 。与外部仿真器联合使用,提供了强大的在线调试能力。在一个开发界面中支持多个项目的程序设计。2022/10/11单片机原理及应用31.1 Keil单片机集成开发环境简介1、Keil Vision3 的安装需求内存大于16MB; 至少50MB的硬盘剩余空间; Windows95及以上的操作系统支持。 2、Keil Vision3 的运行方式 Keil Vision3有两种进入方式: 直接双击Windows桌面上的图标。从 “开始”菜单中,单击“Keil Vision3”选项。 Keil Vision3有两种工作方式 :构建方

3、式:用于程序编辑、编译和链接,最终产生可执行程序。调试方式:提供调试程序的功能,用于对程序进行动、静态跟踪和调试。2022/10/11单片机原理及应用4第1章 Keil单片机集成开发环境及应用1.1 Keil 单片机集成开发环境简介1.2 Keil 集成开发环境的安装1.3 程序的编辑、链接与调试 1.4 汇编语言的应用1.5 C语言的应用 2022/10/11单片机原理及应用51.2 Keil 集成开发环境的安装1、在Keil_c51_v802a文件夹中,点击可执行文件c51v802a.exe进行安装;2、显示如下界面:2022/10/11单片机原理及应用61.2 Keil 集成开发环境的安

4、装2022/10/11单片机原理及应用71.2 Keil 集成开发环境的安装2022/10/11单片机原理及应用81.2 Keil 集成开发环境的安装3、安装完后,在C盘的根文件夹下有: 2022/10/11单片机原理及应用9第1章 Keil单片机集成开发环境及应用1.1 Keil 单片机集成开发环境简介1.2 Keil 集成开发环境的安装1.3 程序的编辑、链接与调试 1.4 汇编语言的应用1.5 C语言的应用 2022/10/11单片机原理及应用101.3 程序的编辑、链接与调试1、创建一个项目及程序编辑项目:由一个或多个文件组成,其中包括程序源文件、头文件、库文件等多种文件。大项目:可以

5、同时由多人编辑、调试、最后再链接到一起,形成最终的项目可执行文件。 创建项目的基本步骤: (1)启动软件编辑环境2022/10/11单片机原理及应用111.3 程序的编辑、链接与调试标题栏:显示当前正在编辑的文件名。菜单条:共有11种菜单可供使用,所有的操作命令都可以在相应的菜单中找到。工具栏:其中包含常用的工具和快捷按钮。管理窗口:显示项目结构、CPU寄存器的内容和状态、编程参考资料等。工作窗口:包含所有打开的文档,编辑工作在此处进行。信息窗口:显示各种与当前操作相关的信息。2022/10/11单片机原理及应用121.3 程序的编辑、链接与调试(2)创建项目(Project)2022/10/

6、11单片机原理及应用131.3 程序的编辑、链接与调试选择要用的单片机,如Intel公司的8051AH单片机。 2022/10/11单片机原理及应用141.3 程序的编辑、链接与调试至此创建了一个空项目文件。2022/10/11单片机原理及应用151.3 程序的编辑、链接与调试(3)创建文件(File)2022/10/11单片机原理及应用161.3 程序的编辑、链接与调试(4)向项目中添加文件2022/10/11单片机原理及应用171.3 程序的编辑、链接与调试至此一个完整的项目创建完毕。 2022/10/11单片机原理及应用181.3 程序的编辑、链接与调试2、编译、链接项目程序 2022/

7、10/11单片机原理及应用191.3 程序的编辑、链接与调试3、调试项目程序 2022/10/11单片机原理及应用201.3 程序的编辑、链接与调试在信息窗口中打开存储器显示窗口。 2022/10/11单片机原理及应用211.3 程序的编辑、链接与调试在RAM中的40H和41H两个单元分别放入5和8两个数。鼠标指向欲放数单元,然后点击右键,出现弹出菜单,点击“Modify Memory at D:0 x40”选项。 2022/10/11单片机原理及应用221.3 程序的编辑、链接与调试通过单步执行,观察程序每执行一条语句后的寄存器和存储器的内容变化情况,充分了解和体会单片机在程序运行中的指令行

8、为。 2022/10/11单片机原理及应用23第1章 Keil单片机集成开发环境及应用1.1 Keil 单片机集成开发环境简介1.2 Keil 集成开发环境的安装1.3 程序的编辑、链接与调试 1.4 汇编语言的应用1.5 C语言的应用 2022/10/11单片机原理及应用241.4 汇编语言的应用1、程序设计语言按照语言的结构及其功能可以分为三种:机器语言:机器语言是用二进制代码0和1表示指令和数据的、最原始的程序设计语言。汇编语言:汇编语言是用助记符代替机器码表示指令和数据的、便于记忆和使用的、面向机器的专用语言。高级语言:高级语言是接近于人的自然语言,面向应用、独立于机器的通用语言。 2

9、022/10/11单片机原理及应用251.4 汇编语言的应用2、汇编语言的语句结构(1)汇编语言的指令类型 MCS-51单片机汇编语言,包含两类不同性质的指令。基本指令:是指CPU的指令集,它们都是CPU能够执行的指令,每一条指令都有对应的机器码。伪指令:是在汇编时,用于指示汇编器如何进行汇编的指令。它们都是机器不可执行的指令,无对应的机器码。(2)MCS-51单片机指令系统 指令分为6类:2022/10/11单片机原理及应用261.4 汇编语言的应用数据传递与交换算术运算逻辑运算程序转移布尔处理操作(又称位操作指令)CPU控制 指令主要由操作码和操作数组成。操作码:表明什么性质和类型的操作。

10、如:数的传送、加、减等。操作数: a、表明被操作数的来源(本身或者是所在的地址)。 b、表明操作结果存放的目的地。2022/10/11单片机原理及应用271.4 汇编语言的应用 寻找操作数的方式称为寻址方式:7种立即寻址:操作数跟随操作码,操作数前面加#号,如:MOV A,#70H ;A#70H。直接寻址:指令中给出操作数地址,可用的存储空间:SFR和低128b片内RAM, 如:MOV A,30H ;A(30H)。寄存器寻址:通用寄存器的内容为操作数。通用寄存器指A、B 、DPTR以及R0R7 , 如:ADD R5,# 20H ;R5#20H+(R5)。寄存器间接寻址:寄存器中内容为操作数的地

11、址。可用的存储器空间:片内RAM和外部RAM。可用的寄存器有:R0,R1,DPTR,SP。如:MOV R0,A ;(R0)A。变址寻址:用DPTR和PC作为基址,结合A寄存器进行的间接寻址, 如:MOVC A, A+DPTR ;A(A+DPTR)。相对寻址:以当前PC值为基值,加上指令给出的偏移量(补码),形成新的PC值。 如:SJMP 08H ;PCPC+2+08H。位寻址:是位地址的直接寻址,如:MOV 32H,C ;32H进位位Cy。2022/10/11单片机原理及应用281.4 汇编语言的应用(3)常用的伪指令ORG(汇编起始地址):用来说明该指令下面的程序段在存储器中存放的起始地址。

12、如:ORG 100HEQU(赋值):给变量标号赋予一个确定的数值。如:MAX EQU 30H。DB(定义数据字节):把数据以字节数的形式存放在存储器单元中。如:DW(定义数据字):按字的形式把数据存放在存储单元中。如:DS(定义存储区):从指定的地址单元开始,保留一定数量存储单元。如:BIT(位定义):定义字符名为确定的位地址值。如:END:汇编结束。(4)汇编语言的语句格式 标号:操作码操作数;注释START:MOVA,30H;A(30H)2022/10/11单片机原理及应用291.4 汇编语言的应用(5)汇编语言程序设计步骤分析问题确定算法设计程序流程图分配内存单元编写汇编语言源程序调试程

13、序(6)汇编语言程序设计实例【例】将30H单元内的两位BCD码拆开并转换成ASCII码,存入RAM两个单元中。 ORG 0100H MOV A,30H ;取值 ANL A,#0FH ;取低4位2022/10/11单片机原理及应用301.4 汇编语言的应用 ADDA,#30H ;转换成ASCII码 MOV32H,A ;保存结果 MOVA,30H ;取值 SWAPA ;高4位与低4位互换 ANLA,#0FH ;取低4位(原来的高4位) ADDA,#30H ;转换成ASCII码 MOV31H,A ;保存结果 SJMP$ END2022/10/11单片机原理及应用31第1章 Keil单片机集成开发环境

14、及应用1.1 Keil 单片机集成开发环境简介1.2 Keil 集成开发环境的安装1.3 程序的编辑、链接与调试 1.4 汇编语言的应用1.5 C语言的应用 2022/10/11单片机原理及应用321.5 C语言的应用1、C语言概述C语言是高级语言的一种,它既有汇编语言操作底层硬件的能力,又具有高级语言的许多优点。在单片机程序设计中,以其功能强大、结构清晰等优点得到广泛应用。用于单片机的C语言,也称为C51语言。它继承了C语言结构上的所有优点,便于掌握和使用,同时又具有针对硬件的特有语言成分,对硬件操作十分方便。C语言与汇编语言对比 汇编语言:面向机器,可直接控制硬件,指令执行速度快,执行时间

15、固定,因此执行效率高。但语言格式简单、可读性差、编写和调试难度大,不便于移植,影响程序代码的共享。 C语言:结构上易于理解、可读性强,开发速度快、可靠性好、便于移植。因此,C51语言已成为目前最流行的单片机开发语言。 2022/10/11单片机原理及应用331.5 C语言的应用2、C51的标识符与关键字概述标识符:用来标识源程序中某个对象名称的符号。对象可以是常量、变量、语句标号、数据类型、自定义函数名以及数组名等。 标识符的定义需要符合如下规则:标识符可以由字母、数字(09)和下划线“_”组成。标识符区分大小写,如:“data1”和“Data1”代表两个不同的标识符。标识符第一个字符必须是小

16、写字母(az)、大写字母(AZ)或者下划线“_”。如:“1data”是错误的标识符。标识符定义不能使用C51的关键字,也不能和用户已使用的函数名或C51库函数同名。标识符最多可支持32个字符。2022/10/11单片机原理及应用341.5 C语言的应用 关键字:是被C51编译器已定义保留的专用特殊标识符。如:if、for、do、case等。C51程序语言采用了ANSI C标准定义的32个关键字。3、C51的数据类型数据类型:是C51语言中变量以及常量的类型。每个变量在使用之前必须定义其数据类型。基本数据类型:字符型(char)、整型(int)、浮点型(float)、无值型(void)。聚合类型

17、:数组、指针、结构、联合、枚举和位域。2022/10/11单片机原理及应用351.5 C语言的应用常量与变量 常量:在程序中是固定不变的数值,可为任意数据类型。 变量:在程序中是可以被程序改变的数据量。完整的变量应该有类型说明符和变量标识符。字符类型 字符型变量:两种类型,有符号字符变量(char a)和无符号字符变量(unsigned char b)。 字符型常量:字符型常量是指用一对单引号括起来的一个字符。 如:F,7,!等。单引号中的字符不能是单引号()和反斜杠()。如果需要使用这两个字符,则需要采用转义字符。2022/10/11单片机原理及应用361.5 C语言的应用整数类型 整型变量

18、:格式:类型说明符 变量标识符,变量标识符 如:int a, b;/定义a、b为有符号短整型变量 unsigned longc, d;/定义c、d为无符号长整型变量 整型常量:可以表示十进制、八进制、十六进制的整数值。浮点类型:表示包含小数点的数据类型。 三种类型:float类型、double类型、long double类型。三种具有相同的精度和取值范围。变量字长为4个字节共32位二进制数,取值范围为3.4x10-383.4x10+38。数据均为有符号浮点数,没有无符号浮点数。 浮点型变量:格式:类型说明符 变量标识符,变量标识符 浮点型常量:值由整数部分、尾数部分和指数部分组成。 如:28.

19、57、-57.63、-7.2e-16、8.265。2022/10/11单片机原理及应用371.5 C语言的应用指针型数据类型:指向变量存放的地址。 可分为整型指针、浮点型指针、字符型指针、结构型指针和联合指针。 如:int *i; /定义整型指针变量 float *f; /定义浮点型指针变量 char *c; /定义字符型指针变量 struct *stu; /定义结构型指针变量 union *uni; /定义联合指针变量无值类型:特殊的数据类型,字节长度为0。 两个用途: (1)定义一个该类型指针,该指针可根据需要动态分配内存。 如: void *buf;/buf被定义为无值型指针 (2)在定

20、义和使用函数时,明确地表示这个函数不返回任何值。 2022/10/11单片机原理及应用381.5 C语言的应用4、变量的作用域:程序中变量起作用的范围。在C51语言中规定,在块结构中进行定义的变量,其有效使用范围只在该块结构内。 块结构:以花括号“”和“”括起来的程序段,通常称为复合语句。如:#include /头文件void main() /主函数int i;/定义整型变量i=23;/变量赋值if(i%2=0) /判断是否是偶数,如果是执行下面的语句int j;/定义整型变量j=2;/变量赋值printf(i=%d,i);/输出变量i,正确printf(j=%d,j);/输出变量j,错误 2

21、022/10/11单片机原理及应用391.5 C语言的应用局部变量(自动变量):以关键字auto标识的变量类型。 格式:auto 类型说明符 变量标识符,变量标识符 在函数的内部定义,作用域为该函数内部,函数之外无效。 或:在程序块中声明,作用域为该程序块。在编译C51程序时,自动型变量根据变量类型动态分配存储空间。 动态分配:在程序执行到函数时,为变量自动分配存储空间,当函数执行完毕后,立即清除变量占用的存储空间,即自动型变量消失。全局变量(外部变量):定义在所有函数的外部。 作用域是整个程序文件,也可被程序文件中的任何函数使用。 在编译C51程序时,外部变量根据变量类型被静态地分配适当的存

22、储空间。在整个程序运行过程中,该变量一旦分配空间,便不会消失。2022/10/11单片机原理及应用401.5 C语言的应用静态变量:以关键字static标识的变量类型。 格式:static 类型说明符 变量标识符,变量标识符 内部静态变量,在函数内部定义; 外部静态变量,在函数外部定义。在编译C51程序时,根据数据类型静态地给静态变量分配合适的存储空间,并在程序运行过程中始终占有该存储空间。 C51语言允许将函数定义为静态的。只有同一文件中的其他函数能够调用静态型函数,同一工程项目中的其他文件不能调用访问。这样,可以既有利于程序的模块化设计,又可以防止和其他文件中的函数有重名的情况。寄存器变量

23、: 以关键字register标识的变量类型。 格式:register 类型说明符 变量标识符,变量标识符 常用于变量频繁使用的情况,可提高系统的运算速度。该变量存储在CPU的寄存器中。 在C51语言中,只允许同时定义两个寄存器变量,如果多于两个,程序在编译时会自动地将两个之外的寄存器变量当作非寄存器变量来处理。2022/10/11单片机原理及应用411.5 C语言的应用5、分隔符与const修饰符分隔符在C51程序语言中起辅助标识和分界的作用。分为简单分隔符和复合分隔符。简单分隔符:是除字母、数字、下划线以外的单个ASCII字符,如:+、-、*、/、!、|、=、.、,、:、;、#等。 复合分隔符:是特定字符的某种组合,如:=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论