版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-2-6单片机原理及应用1第第1 1章章 Keil单片机集成开发环境及应用单片机集成开发环境及应用1.1 1.1 Keil 单片机集成开发环境简介单片机集成开发环境简介1.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试 1.4 1.4 汇编语言的应用汇编语言的应用1.5 1.5 C语言的应用语言的应用 2022-2-6单片机原理及应用21.1 Keil1.1 Keil单片机集成开发环境简介单片机集成开发环境简介 keil Vision3 keil Vision3 是是 集文本编辑、程序编译、链接、调试以及仿真集文本
2、编辑、程序编译、链接、调试以及仿真于一体的单片机集成开发环境(于一体的单片机集成开发环境(IDE),具有如下特点:),具有如下特点: lWindows Windows 风格的操作界面风格的操作界面 。l支持汇编语言、支持汇编语言、C C语言以及混合编程语言以及混合编程 。 l能够完成能够完成5151系列兼容类型单片机的程序设计和仿真系列兼容类型单片机的程序设计和仿真 。l集成了丰富的库函数,以及完善的编译链接工具。集成了丰富的库函数,以及完善的编译链接工具。l提供了并口、串口、提供了并口、串口、A/DA/D、D/AD/A、定时、定时/ /计数器以及中断等资源的硬件计数器以及中断等资源的硬件仿真
3、能力仿真能力 。l与外部仿真器联合使用,提供了强大的在线调试能力。与外部仿真器联合使用,提供了强大的在线调试能力。l在一个开发界面中支持多个项目的程序设计。在一个开发界面中支持多个项目的程序设计。2022-2-6单片机原理及应用31.1 Keil1.1 Keil单片机集成开发环境简介单片机集成开发环境简介1 1、Keil Vision3 Keil Vision3 的安装需求的安装需求l内存大于内存大于16MB16MB; l至少至少50MB50MB的硬盘剩余空间;的硬盘剩余空间; lWindows95Windows95及以上的操作系统支持。及以上的操作系统支持。 2 2、Keil Vision3
4、 Keil Vision3 的运行方式的运行方式 Keil Vision3 Keil Vision3有两种进入方式:有两种进入方式: l直接双击直接双击WindowsWindows桌面上的图标。桌面上的图标。l从从 “ “开始开始”菜单中,单击菜单中,单击“Keil Vision3”“Keil Vision3”选项。选项。 Keil Vision3Keil Vision3有两种工作方式有两种工作方式 :l构建方式:用于程序编辑、编译和链接,最终产生可执行程序。构建方式:用于程序编辑、编译和链接,最终产生可执行程序。l调试方式:提供调试程序的功能,用于对程序进行动、静态跟踪和调试方式:提供调试程
5、序的功能,用于对程序进行动、静态跟踪和调试。调试。2022-2-6单片机原理及应用4第第1 1章章 Keil单片机集成开发环境及应用单片机集成开发环境及应用1.1 1.1 Keil 单片机集成开发环境简介单片机集成开发环境简介1.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试 1.4 1.4 汇编语言的应用汇编语言的应用1.5 1.5 C语言的应用语言的应用 2022-2-6单片机原理及应用51.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1、在、在Keil_c51_v802a文件夹中,点击可执行文件文件夹中
6、,点击可执行文件c51v802a.exe进行安装;进行安装;2、显示如下界面、显示如下界面:2022-2-6单片机原理及应用61.2 1.2 Keil 集成开发环境的安装集成开发环境的安装2022-2-6单片机原理及应用71.2 1.2 Keil 集成开发环境的安装集成开发环境的安装2022-2-6单片机原理及应用81.2 1.2 Keil 集成开发环境的安装集成开发环境的安装3、安装完后,在、安装完后,在C盘的根文件夹下有:盘的根文件夹下有: 2022-2-6单片机原理及应用9第第1 1章章 Keil单片机集成开发环境及应用单片机集成开发环境及应用1.1 1.1 Keil 单片机集成开发环境
7、简介单片机集成开发环境简介1.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试 1.4 1.4 汇编语言的应用汇编语言的应用1.5 1.5 C语言的应用语言的应用 2022-2-6单片机原理及应用101.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试1 1、创建一个项目及程序编辑、创建一个项目及程序编辑l项目:由一个或多个文件组成,其中包括程序源文件、头文件、库项目:由一个或多个文件组成,其中包括程序源文件、头文件、库文件等多种文件。文件等多种文件。l大项目:可以同时由多人编辑、调试、最后再链接到一起,形成最大项目
8、:可以同时由多人编辑、调试、最后再链接到一起,形成最终的项目可执行文件。终的项目可执行文件。 创建项目的基本步骤:创建项目的基本步骤: (1 1)启动软件编辑环境)启动软件编辑环境2022-2-6单片机原理及应用111.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试标题栏:标题栏:显示当前正在编辑的文件显示当前正在编辑的文件名。名。菜单条:菜单条:共有共有1111种菜单可供使用,种菜单可供使用,所有的操作命令都可以在相应的菜所有的操作命令都可以在相应的菜单中找到。单中找到。工具栏:工具栏:其中包含常用的工具和快其中包含常用的工具和快捷按钮。捷按钮。管理窗口:管理窗口:显示项目结构、显
9、示项目结构、CPUCPU寄存器的内容和状态、编程参考资料等。寄存器的内容和状态、编程参考资料等。工作窗口:工作窗口:包含所有打开的文档,编辑工作在此处进行。包含所有打开的文档,编辑工作在此处进行。信息窗口:信息窗口:显示各种与当前操作相关的信息。显示各种与当前操作相关的信息。2022-2-6单片机原理及应用121.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试(2 2)创建项目()创建项目(ProjectProject)2022-2-6单片机原理及应用131.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试选择要用的单片机,如选择要用的单片机,如IntelIntel公司的公司
10、的8051AH8051AH单片机。单片机。 2022-2-6单片机原理及应用141.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试至此创建了一个空项目文件。至此创建了一个空项目文件。2022-2-6单片机原理及应用151.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试(3 3)创建文件()创建文件(FileFile)2022-2-6单片机原理及应用161.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试(4 4)向项目中添加文件向项目中添加文件2022-2-6单片机原理及应用171.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试至此一个完整的项目创建完毕。
11、至此一个完整的项目创建完毕。 2022-2-6单片机原理及应用181.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试2 2、编译、链接项目程序、编译、链接项目程序 2022-2-6单片机原理及应用191.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试3 3、调试项目程序、调试项目程序 2022-2-6单片机原理及应用201.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试在信息窗口中打开存储器显示窗口。在信息窗口中打开存储器显示窗口。 2022-2-6单片机原理及应用211.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试l在在RAMRAM中的中的40H40
12、H和和41H41H两个单元分别放入两个单元分别放入5 5和和8 8两个数。鼠标指向欲放数单元,两个数。鼠标指向欲放数单元,然后点击右键,出现弹出菜单,点击然后点击右键,出现弹出菜单,点击“Modify Memory at D:0 x40”“Modify Memory at D:0 x40”选项。选项。 2022-2-6单片机原理及应用221.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试l通过单步执行,观察程序每执行一条语句后的寄存器和存储器的内容变化情通过单步执行,观察程序每执行一条语句后的寄存器和存储器的内容变化情况,充分了解和体会单片机在程序运行中的指令行为。况,充分了解和体会
13、单片机在程序运行中的指令行为。 2022-2-6单片机原理及应用23第第1 1章章 Keil单片机集成开发环境及应用单片机集成开发环境及应用1.1 1.1 Keil 单片机集成开发环境简介单片机集成开发环境简介1.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试 1.4 1.4 汇编语言的应用汇编语言的应用1.5 1.5 C语言的应用语言的应用 2022-2-6单片机原理及应用241.4 1.4 汇编语言的应用汇编语言的应用1 1、程序设计语言、程序设计语言按照语言的结构及其功能可以分为三种:按照语言的结构及其功能可以分为三
14、种:l机器语言:机器语言:机器语言是用二进制代码机器语言是用二进制代码0 0和和1 1表示指令和数据的、最原始的程序表示指令和数据的、最原始的程序设计语言。设计语言。l汇编语言:汇编语言:汇编语言是用助记符代替机器码表示指令和数据的、便于记忆和汇编语言是用助记符代替机器码表示指令和数据的、便于记忆和使用的、面向机器的专用语言。使用的、面向机器的专用语言。l高级语言:高级语言:高级语言是接近于人的自然语言,面向应用、独立于机器的通用高级语言是接近于人的自然语言,面向应用、独立于机器的通用语言。语言。 2022-2-6单片机原理及应用251.4 1.4 汇编语言的应用汇编语言的应用2 2、汇编语言
15、的语句结构、汇编语言的语句结构(1 1)汇编语言的指令类型)汇编语言的指令类型 MCS-51MCS-51单片机汇编语言,包含两类不同性质的指令。单片机汇编语言,包含两类不同性质的指令。l基本指令:基本指令:是指是指CPUCPU的指令集,它们都是的指令集,它们都是CPUCPU能够执行的指令,每一条指令都能够执行的指令,每一条指令都有对应的机器码。有对应的机器码。l伪指令:伪指令:是在汇编时,用于指示汇编器如何进行汇编的指令。它们都是机器是在汇编时,用于指示汇编器如何进行汇编的指令。它们都是机器不可执行的指令,无对应的机器码。不可执行的指令,无对应的机器码。(2 2)MCS-51MCS-51单片机
16、指令系统单片机指令系统 指令分为指令分为6 6类:类:2022-2-6单片机原理及应用261.4 1.4 汇编语言的应用汇编语言的应用l数据传递与交换数据传递与交换l算术运算算术运算l逻辑运算逻辑运算l程序转移程序转移l布尔处理操作(又称位操作指令)布尔处理操作(又称位操作指令)lCPUCPU控制控制 指令主要由操作码和操作数组成。指令主要由操作码和操作数组成。l操作码:表明什么性质和类型的操作。如:数的传送、加、减等。操作码:表明什么性质和类型的操作。如:数的传送、加、减等。l操作数:操作数: a a、表明被操作数的来源(本身或者是所在的地址)。、表明被操作数的来源(本身或者是所在的地址)。
17、 b b、表明操作结果存放的目的地。、表明操作结果存放的目的地。2022-2-6单片机原理及应用271.4 1.4 汇编语言的应用汇编语言的应用 寻找操作数的方式称为寻址方式:寻找操作数的方式称为寻址方式:7 7种种l立即寻址:立即寻址:操作数跟随操作码,操作数前面加操作数跟随操作码,操作数前面加# #号,如:号,如:MOV AMOV A,#70H #70H ;A#70HA#70H。l直接寻址:直接寻址:指令中给出操作数地址,可用的存储空间:指令中给出操作数地址,可用的存储空间:SFRSFR和低和低128b128b片内片内RAMRAM, 如:如:MOV AMOV A,30H 30H ;AA(3
18、0H30H)。)。l寄存器寻址:寄存器寻址:通用寄存器的内容为操作数。通用寄存器指通用寄存器的内容为操作数。通用寄存器指A A、B B 、DPTRDPTR以及以及R0R0R7 R7 , 如:如:ADD R5ADD R5,# 20H # 20H ;R5#20H+R5#20H+(R5R5)。)。l寄存器间接寻址:寄存器间接寻址:寄存器中内容为操作数的地址。可用的存储器空间:片内寄存器中内容为操作数的地址。可用的存储器空间:片内RAMRAM和外和外部部RAMRAM。可用的寄存器有:。可用的寄存器有:R0R0,R1R1,DPTRDPTR,SPSP。如:。如:MOV R0MOV R0,A A ;(R0)
19、A(R0)A。l变址寻址:变址寻址:用用DPTRDPTR和和PCPC作为基址,结合作为基址,结合A A寄存器进行的间接寻址,寄存器进行的间接寻址, 如:如:MOVC AMOVC A, A+DPTR A+DPTR ;AA(A+DPTRA+DPTR)。)。l相对寻址:相对寻址:以当前以当前PCPC值为基值,加上指令给出的偏移量(补码),形成新的值为基值,加上指令给出的偏移量(补码),形成新的PCPC值。值。 如:如:SJMP 08H SJMP 08H ;PCPC+2+08HPCPC+2+08H。l位寻址:位寻址:是位地址的直接寻址,如:是位地址的直接寻址,如:MOV 32HMOV 32H,C C
20、;32H32H进位位进位位CyCy。2022-2-6单片机原理及应用281.4 1.4 汇编语言的应用汇编语言的应用(3 3)常用的伪指令)常用的伪指令lORG(ORG(汇编起始地址汇编起始地址) ):用来说明该指令下面的程序段在存储器中存放的起始用来说明该指令下面的程序段在存储器中存放的起始地址。如:地址。如:ORG 100HORG 100HlEQU(EQU(赋值赋值) ):给变量标号赋予一个确定的数值。如:给变量标号赋予一个确定的数值。如:MAX EQU 30HMAX EQU 30H。lDB(DB(定义数据字节定义数据字节) ):把数据以字节数的形式存放在存储器单元中。如:把数据以字节数的
21、形式存放在存储器单元中。如:lDW(DW(定义数据字定义数据字) ):按字的形式把数据存放在存储单元中。如:按字的形式把数据存放在存储单元中。如:lDS(DS(定义存储区定义存储区) ):从指定的地址单元开始,保留一定数量存储单元。如:从指定的地址单元开始,保留一定数量存储单元。如:lBIT(BIT(位定义位定义) ):定义字符名为确定的位地址值。如:定义字符名为确定的位地址值。如:lENDEND:汇编结束。汇编结束。(4 4)汇编语言的语句格式)汇编语言的语句格式 标号:标号:操作码操作码操作数操作数;注释;注释STARTSTART:MOVMOVA A,30H30H;AA(30H30H)20
22、22-2-6单片机原理及应用291.4 1.4 汇编语言的应用汇编语言的应用(5 5)汇编语言程序设计步骤汇编语言程序设计步骤l分析问题分析问题l确定算法确定算法l设计程序流程图设计程序流程图l分配内存单元分配内存单元l编写汇编语言源程序编写汇编语言源程序l调试程序调试程序(6 6)汇编语言程序设计实例)汇编语言程序设计实例【例】将【例】将30H30H单元内的两位单元内的两位BCDBCD码拆开并转换成码拆开并转换成ASCIIASCII码,码,存入存入RAMRAM两个单元中。两个单元中。 ORG 0100H ORG 0100H MOV A MOV A,30H 30H ;取值;取值 ANL A A
23、NL A,#0FH #0FH ;取低;取低4 4位位2022-2-6单片机原理及应用301.4 1.4 汇编语言的应用汇编语言的应用 ADD ADDA A,#30H#30H ;转换成;转换成ASCIIASCII码码 MOV MOV32H32H,A A ;保存结果;保存结果 MOV MOVA A,30H30H ;取值;取值 SWAP SWAPA A ;高;高4 4位与低位与低4 4位互换位互换 ANL ANLA A,#0FH#0FH ;取低;取低4 4位(原来的高位(原来的高4 4位)位) ADD ADDA A,#30H#30H ;转换成;转换成ASCIIASCII码码 MOV MOV31H31
24、H,A A ;保存结果;保存结果 SJMP SJMP$ $ END END2022-2-6单片机原理及应用31第第1 1章章 Keil单片机集成开发环境及应用单片机集成开发环境及应用1.1 1.1 Keil 单片机集成开发环境简介单片机集成开发环境简介1.2 1.2 Keil 集成开发环境的安装集成开发环境的安装1.3 1.3 程序的编辑、链接与调试程序的编辑、链接与调试 1.4 1.4 汇编语言的应用汇编语言的应用1.5 1.5 C语言的应用语言的应用 2022-2-6单片机原理及应用321.5 1.5 C语言的应用语言的应用1、C语言概述语言概述lC C语言是高级语言的一种,它语言是高级语
25、言的一种,它既有汇编语言操作底层硬件的能力,又具有高既有汇编语言操作底层硬件的能力,又具有高级语言的许多优点。在单片机程序设计中,以其功能强大、结构清晰等优点级语言的许多优点。在单片机程序设计中,以其功能强大、结构清晰等优点得到广泛应用。得到广泛应用。l用于单片机的用于单片机的C语言,也称为语言,也称为C51语言。它继承了语言。它继承了C语言结构上的所有优点,语言结构上的所有优点,便于掌握和使用,同时又具有针对硬件的特有语言成分,对硬件操作十分方便于掌握和使用,同时又具有针对硬件的特有语言成分,对硬件操作十分方便。便。lC语言与汇编语言对比语言与汇编语言对比 汇编语言:汇编语言:面向机器,可直
26、接控制硬件,指令执行速度快,执行时间固定,面向机器,可直接控制硬件,指令执行速度快,执行时间固定,因此执行效率高。但语言格式简单、可读性差、编写和调试难度大,不便于因此执行效率高。但语言格式简单、可读性差、编写和调试难度大,不便于移植,影响程序代码的共享。移植,影响程序代码的共享。 C语言:语言:结构上易于理解、可读性强,开发速度快、可靠性好、便于移植。结构上易于理解、可读性强,开发速度快、可靠性好、便于移植。因此,因此,C51语言已成为目前最流行的单片机开发语言。语言已成为目前最流行的单片机开发语言。 2022-2-6单片机原理及应用331.5 1.5 C语言的应用语言的应用2、C51C51
27、的标识符与关键字概述的标识符与关键字概述l标识符:标识符:用来标识源程序中某个对象名称的符号。对象可以是常量、变量、用来标识源程序中某个对象名称的符号。对象可以是常量、变量、语句标号、数据类型、自定义函数名以及数组名等。语句标号、数据类型、自定义函数名以及数组名等。 标识符的定义需要符合如下规则:标识符的定义需要符合如下规则:l标识符可以由字母、数字(标识符可以由字母、数字(0 09 9)和下划线)和下划线“_”“_”组成。组成。l标识符区分大小写,如:标识符区分大小写,如:“data1”“data1”和和“Data1”“Data1”代表两个不同的标识符。代表两个不同的标识符。l标识符第一个字
28、符必须是小写字母(标识符第一个字符必须是小写字母(a az z)、大写字母()、大写字母(A AZ Z)或者下划线)或者下划线“_”“_”。如:。如:“1data”“1data”是错误的标识符。是错误的标识符。l标识符定义不能使用标识符定义不能使用C51C51的关键字,也不能和用户已使用的函数名或的关键字,也不能和用户已使用的函数名或C51C51库函库函数同名。数同名。l标识符最多可支持标识符最多可支持3232个字符。个字符。2022-2-6单片机原理及应用341.5 1.5 C语言的应用语言的应用 关键字:关键字:是被是被C51C51编译器已定义保留的专用特殊标识符。如:编译器已定义保留的专
29、用特殊标识符。如:ifif、forfor、dodo、casecase等。等。C51C51程序语言采用了程序语言采用了ANSI CANSI C标准定义的标准定义的3232个关键字。个关键字。3 3、C51C51的数据类型的数据类型l数据类型:数据类型:是是C51C51语言中变量以及常量的类型。每个变量在使用之前必须定语言中变量以及常量的类型。每个变量在使用之前必须定义其数据类型。义其数据类型。l基本数据类型:字符型(基本数据类型:字符型(charchar)、整型()、整型(intint)、浮点型()、浮点型(floatfloat)、无值型)、无值型(voidvoid)。)。l聚合类型:数组、指针
30、、结构、联合、枚举和位域。聚合类型:数组、指针、结构、联合、枚举和位域。2022-2-6单片机原理及应用351.5 1.5 C语言的应用语言的应用l常量与变量常量与变量 常量:常量:在程序中是固定不变的数值,可为任意数据类型。在程序中是固定不变的数值,可为任意数据类型。 变量:变量:在程序中是可以被程序改变的数据量。完整的变量应该有类在程序中是可以被程序改变的数据量。完整的变量应该有类型说明符和变量标识符。型说明符和变量标识符。l字符类型字符类型 字符型变量:字符型变量:两种类型,有符号字符变量(两种类型,有符号字符变量(char achar a)和无符号字符)和无符号字符变量(变量(unsi
31、gned char bunsigned char b)。)。 字符型常量:字符型常量:字符型常量是指用一对单引号括起来的一个字符。字符型常量是指用一对单引号括起来的一个字符。 如:如:FF,77,!等。单引号中的字符不能是单引号(等。单引号中的字符不能是单引号()和反斜杠()和反斜杠( )。如果需要使用这两个字符,则需要采用转义字符)。如果需要使用这两个字符,则需要采用转义字符。2022-2-6单片机原理及应用361.5 1.5 C语言的应用语言的应用l整数类型整数类型 整型变量:整型变量:格式:类型说明符格式:类型说明符 变量标识符,变量标识符变量标识符,变量标识符 如:如:int a, b
32、;int a, b;/定义定义a a、b b为有符号短整型变量为有符号短整型变量 unsigned long unsigned longc, d;c, d;/定义定义c c、d d为无符号长整型变量为无符号长整型变量 整型常量:整型常量:可以表示十进制、八进制、十六进制的整数值。可以表示十进制、八进制、十六进制的整数值。l浮点类型:表示包含小数点的数据类型。浮点类型:表示包含小数点的数据类型。 三种类型:三种类型:floatfloat类型、类型、doubledouble类型、类型、long doublelong double类型。三种具有相同的精类型。三种具有相同的精度和取值范围。变量字长为度
33、和取值范围。变量字长为4 4个字节共个字节共3232位二进制数,取值范围为位二进制数,取值范围为3.4x10-3.4x10-383.4x10+38383.4x10+38。数据均为有符号浮点数,没有无符号浮点数。数据均为有符号浮点数,没有无符号浮点数。 浮点型变量:浮点型变量:格式:类型说明符格式:类型说明符 变量标识符,变量标识符变量标识符,变量标识符 浮点型常量:浮点型常量:值由整数部分、尾数部分和指数部分组成。值由整数部分、尾数部分和指数部分组成。 如:如:28.5728.57、-57.63-57.63、-7.2e-16-7.2e-16、8.2658.265。2022-2-6单片机原理及应
34、用371.5 1.5 C语言的应用语言的应用l指针型数据类型:指向变量存放的地址。指针型数据类型:指向变量存放的地址。 可分为整型指针、浮点型指针、字符型指针、结构型指针和联合指针。可分为整型指针、浮点型指针、字符型指针、结构型指针和联合指针。 如:如:int int * *i i; / /定义整型指针变量定义整型指针变量 float float * *f f; / /定义浮点型指针变量定义浮点型指针变量 char char * *c c; / /定义字符型指针变量定义字符型指针变量 struct struct * *stustu; / /定义结构型指针变量定义结构型指针变量 union un
35、ion * *uniuni; / /定义联合指针变量定义联合指针变量l无值类型:特殊的数据类型,字节长度为无值类型:特殊的数据类型,字节长度为0 0。 两个用途:两个用途: (1 1)定义一个该类型指针,该指针可根据需要动态分配内存。)定义一个该类型指针,该指针可根据需要动态分配内存。 如:如: void void * *buf;buf;/buf/buf被定义为无值型指针被定义为无值型指针 (2 2)在定义和使用函数时,明确地表示这个函数不返回任何值。)在定义和使用函数时,明确地表示这个函数不返回任何值。 2022-2-6单片机原理及应用381.5 1.5 C语言的应用语言的应用4 4、变量的
36、作用域:程序中变量起作用的范围。、变量的作用域:程序中变量起作用的范围。l在在C51C51语言中规定,在块结构中进行定义的变量,其有效使用范围只在该块结构内。语言中规定,在块结构中进行定义的变量,其有效使用范围只在该块结构内。 块结构:以花括号块结构:以花括号“”“”和和“”“”括起来的程序段,通常称为复合语句。如:括起来的程序段,通常称为复合语句。如:#include #include /头文件头文件void main() void main() /主函数主函数int i;int i;/定义整型变量定义整型变量i=23;i=23;/变量赋值变量赋值if(i%2=0) if(i%2=0) /判
37、断是否是偶数,如果是执行下面的语句判断是否是偶数,如果是执行下面的语句int j;int j;/定义整型变量定义整型变量j=2;j=2;/变量赋值变量赋值 printf(i=%d,i);printf(i=%d,i);/输出变量输出变量i i,正确,正确printf(j=%d,j);printf(j=%d,j);/输出变量输出变量j j,错误,错误 2022-2-6单片机原理及应用391.5 1.5 C语言的应用语言的应用l局部变量(自动变量):以关键字局部变量(自动变量):以关键字autoauto标识的变量类型。标识的变量类型。 格式:格式:auto auto 类型说明符类型说明符 变量标识符
38、,变量标识符变量标识符,变量标识符 在函数的内部定义,作用域为该函数内部,函数之外无效。在函数的内部定义,作用域为该函数内部,函数之外无效。 或:在程序块中声明,作用域为该程序块。或:在程序块中声明,作用域为该程序块。在编译在编译C51C51程序时,自动型变量根据变量类型动态分配存储空间。程序时,自动型变量根据变量类型动态分配存储空间。 动态分配:在程序执行到函数时,为变量自动分配存储空间,当函数执行完动态分配:在程序执行到函数时,为变量自动分配存储空间,当函数执行完毕后,立即清除变量占用的存储空间,即自动型变量消失。毕后,立即清除变量占用的存储空间,即自动型变量消失。l全局变量(外部变量):
39、定义在所有函数的外部。全局变量(外部变量):定义在所有函数的外部。 作用域是整个程序文件,也可被程序文件中的任何函数使用。作用域是整个程序文件,也可被程序文件中的任何函数使用。 在编译在编译C51C51程序时,外部变量根据变量类型被静态地分配适当的存储空间。程序时,外部变量根据变量类型被静态地分配适当的存储空间。在整个程序运行过程中,该变量一旦分配空间,便不会消失。在整个程序运行过程中,该变量一旦分配空间,便不会消失。2022-2-6单片机原理及应用401.5 1.5 C语言的应用语言的应用l静态变量:以关键字静态变量:以关键字staticstatic标识的变量类型。标识的变量类型。 格式:格
40、式:static static 类型说明符类型说明符 变量标识符,变量标识符变量标识符,变量标识符 内部静态变量,在函数内部定义;内部静态变量,在函数内部定义; 外部静态变量,在函数外部定义。外部静态变量,在函数外部定义。在编译在编译C51C51程序时,根据数据类型静态地给静态变量分配合适的存储空间,并在程序程序时,根据数据类型静态地给静态变量分配合适的存储空间,并在程序运行过程中始终占有该存储空间。运行过程中始终占有该存储空间。 C51 C51语言允许将函数定义为静态的。只有同一文件中的其他函数能够调用静态型函语言允许将函数定义为静态的。只有同一文件中的其他函数能够调用静态型函数,同一工程项
41、目中的其他文件不能调用访问。这样,可以既有利于程序的模块化设数,同一工程项目中的其他文件不能调用访问。这样,可以既有利于程序的模块化设计,又可以防止和其他文件中的函数有重名的情况。计,又可以防止和其他文件中的函数有重名的情况。l寄存器变量:寄存器变量: 以关键字以关键字registerregister标识的变量类型。标识的变量类型。 格式:格式:register register 类型说明符类型说明符 变量标识符,变量标识符变量标识符,变量标识符 常用于变量频繁使用的情况,可提高系统的运算速度。该变量存储在常用于变量频繁使用的情况,可提高系统的运算速度。该变量存储在CPUCPU的寄存器中。的寄
42、存器中。 在在C51C51语言中,只允许同时定义两个寄存器变量,如果多于两个,程序在编译时会自动语言中,只允许同时定义两个寄存器变量,如果多于两个,程序在编译时会自动地将两个之外的寄存器变量当作非寄存器变量来处理。地将两个之外的寄存器变量当作非寄存器变量来处理。2022-2-6单片机原理及应用411.5 1.5 C语言的应用语言的应用5 5、分隔符与、分隔符与constconst修饰符修饰符l分隔符在分隔符在C51C51程序语言中起辅助标识和分界的作用。分为简单分隔符和复合分隔符。程序语言中起辅助标识和分界的作用。分为简单分隔符和复合分隔符。简单分隔符:简单分隔符:是除字母、数字、下划线以外的单个是除字母、数字、下划线以外的单个ASCIIASCII字符,如:字符,如:+ +、- -、* *、/ /、! !、| |、 、= =、. .、, ,、: :、; ;、# #等。等。 复合分隔符:复合分隔符:是特定字符的某种组合,如:是特定字符的某种组合,如:=、 、 、 、 、( (、) )等。等。 例:例: 用用“;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都七中万达学校高一上化学半期考试试卷
- 2026-2031年中国智能电表市场深度研究与投资可行性报告
- 2025至2030中国桂酸乙酯行业项目调研及市场前景预测评估报告
- 2023自贡市新初一均衡分班语文试卷含答案
- 2025-2030中国液体化工中转基地选址模型与投资回报分析报告
- 2025至2030中国PBAT行业项目调研及市场前景预测评估报告
- 高效能保温隔热材料行业产业发展现状及未来发展趋势分析研究
- 2025氢能冶金技术在钢铁行业的应用前景分析
- 2025母婴用品市场发展现状及消费趋势研究报告
- 2025植物基皮革商业化障碍分析及时尚品牌合作与材料创投基金筛选报告
- 全国大学生职业规划大赛《运动训练》专业生涯发展展示【高职(专科)】
- GB/T 21782.1-2025粉末涂料第1部分:用筛分法测定粒度分布
- 2026届湖南省郴州市高三上学期第一次教学质量监测生物试题(含答案)
- 2025年物理湖南中考试题及答案
- 小学法制教育及安全课件下载
- 2025年公共基础知识题库及答案(完整版)
- 车辆防侧翻安全培训课件
- 中国类风湿关节炎相关自身抗体临床应用指南(2025版)解读 4
- DB11T 2483-2025 水务行业反恐怖防范要求
- 实验安全考试试题及答案
- 2025年税务遴选试题及答案
评论
0/150
提交评论