单片机-第一章.优秀PPT.ppt
《单片机-第一章.优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机-第一章.优秀PPT.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机接口技术(C51版)第一章 C51基本语法内容概述内容概述n数据类型和运算符、表达式数据类型和运算符、表达式是是是是C51语言程序设计的最基础学语言程序设计的最基础学问,问,C51语言把数据分成了多种数语言把数据分成了多种数据类型,并供应了丰富的运算对数据类型,并供应了丰富的运算对数据进行处理。本章对据进行处理。本章对C51语言的基语言的基本数据类型、常量变量、运算符及本数据类型、常量变量、运算符及表达式等进行具体介绍。表达式等进行具体介绍。教学目标教学目标1驾驭数据类型的概念,了解C51语言能够处理的数据类型。2驾驭常量的概念,驾驭各种类型常量的特点及表示形式。3驾驭变量的概念,了解i
2、nt、float、char型变量的特点,驾驭这三种类型变量的定义、赋值和运用方法。理解C51中变量的存储和编译模式的关系,驾驭单片机片内资源的访问方法。4了解C51语言的基本运算符及其特点,驾驭运算符的优先级和结合性的概念。5了解算术运算表达式、关系表达式及逻辑表达式的特点,娴熟进行表达式计算,能娴熟进行实际问题的表达式描述。6熟悉自增、自减运算的特点,驾驭赋值运算,了解逗号运算符和逗号表达式。7驾驭数据类型转换的概念,能进行基本的数据类型转换。11 C51基本数据类型n具有确定格式的数字或数值叫做数据,数据具有确定格式的数字或数值叫做数据,数据的不同格式叫作数据类型。任何程序设计都的不同格式
3、叫作数据类型。任何程序设计都离不开数据的处理。离不开数据的处理。nC5l的数据类型有位型的数据类型有位型(bit)、无符号字符、无符号字符(unsigned char)、有符号字符、有符号字符(signed char)、无符号整型、无符号整型(unsigned int)、有符、有符号整型号整型(signed int)、无符号长型、无符号长型(unsigned long)、有符号长型、有符号长型(signed long)、浮点、浮点(float)和指针类型等。其中和指针类型等。其中short与与long属整型数据、属整型数据、float与与 double型属浮点型数据。型属浮点型数据。数据数据类
4、类型型长长 度度值值 域域 范范 围围bit1 bit0,1sbit1 bit0,1unsigned char1 byte0255signed char1 byte-128127sfr1 byte0255unsigned int2 byte065536signed int2 byte-3276832767sfr162 byte065536*13 byte对对象的地址象的地址unsigned long4 byte04294967295signed long4 byte-21474836482147483647float4 byte+1.175494E-38+3.402823E+38n当程序中出现
5、表达式或变量赋值运算时,若当程序中出现表达式或变量赋值运算时,若运算对象的数据类型不一样,数据类型可以运算对象的数据类型不一样,数据类型可以自动进行转换,转换按以下优先级别自动进自动进行转换,转换按以下优先级别自动进行:行:nbit char int long floatnunsigned signed12 常量与变量121 常量在程序运行中其值不能变更的量称为常量。1整型常量。可以表示为十进制如123,0,-8等。十六进制则以0 x开头如0 x34。长整型就在数字后面加字母L,如10L,0 xF340L等。2浮点型常量。分为十进制和指数表示形式。十进制由数字和小数点组成,如0.888,334
6、5.345,0.0等,整数或小数部分为0时可以省略0但必需有小数点。指数表示形式为:数字.数字e数字 中的内容为可选项,其中内容依据具体状况可有可无,但其余部分必需有,如123e3,5e6,-1.0e-3。而e3,5e4.0则是非法的表示形式。3字符型常量是单引号内的字符,如a,d等。4字符串型常量由双引号内的字符组成,如 hello,english等。当引号内的没有字符时,为空字符串。n用标识符代表的常量称为符号常量。用标识符代表的常量称为符号常量。例如:在指令“#define PI 3.1415926”后,符号常量PI即代表圆周率3.1415926。1.2.2 变量1.2.2.1变量类型在
7、程序运行中,其值可以变更的量称为变量一个变量主要由两部分构成:一个是变量名,一个是变量值。每个变量都有一个变量名,在内存中占据确定的存储单元(地址),并在该内存单元中存放该变量的值。C51支持的变量通常有如下类型:位变量(bit)位变量的值可以是1(true)或0(false)。与805l硬件特性操作有关的位变量必需定位在8051CPU片内存储区(RAM)的可位寻址空间中。字符变量(char)字符变量的长度为l byte,即8位。C51编译器默认的字符型变量为无符号型(unsigned char)。负数在计算机中存储时一般用补码表示。整型变量(int)整型变量的长度为16位。8051系列CPU
8、将整型变量的msb存放在低地址字节。有符号整型变量(signed int)也运用msb位作为标记位,并运用二进制的补码表示数值。长整型变量(1ong int)长整型变量占用4个字节(byte),其它方面与整型变量(int)相像。浮点型变量(float)浮点型变量占4个字节(byte),很多困难的数学表达式都接受浮点变量数据类型。它用符号位表示数的符号,用阶码和尾数表示数的大小。用它们进行任何数学运算都须要运用由编译器确定的各种不同效率等级的库函数。(补充存储格式)n在编程时,为了书写便利,常常运用简化的在编程时,为了书写便利,常常运用简化的缩写形式来定义变量的数据类型。其方法是缩写形式来定义变
9、量的数据类型。其方法是在源程序开头运用在源程序开头运用#define语句。语句。n例如:例如:n#define uchar unsigned charn#define uint unsigned int 1.2.2.2变量的存储变量的存储器类型是指该变量在8051单片机硬件系统中所运用的存储区域,并在编译时精确的定位。8051系列单片机将程序存储器(ROM)和数据存储器(RAM)分开,并各有各自的寻址机构和寻址方式。8051系列单片机在物理上有四个存储空间:*片内程序存储器空间;*片外程序存储器空间,*片内数据存储器空间;*片外数据存储器空间KEIL uVision2所能支持的存储器类型所能支
10、持的存储器类型:存存储储器器类类型型说说 明明datadata直接直接访问访问内部数据存内部数据存储储器(器(128128字字节节),),访问访问速度最快速度最快bdatabdata可位可位寻寻址内部数据存址内部数据存储储器(器(1616字字节节),允),允许许位与字位与字节节混合混合访问访问idataidata间间接接访问访问内部数据存内部数据存储储器(器(256256字字节节),允),允许访问许访问全部全部256B256B地址地址pdatapdata分分页访问页访问外部数据存外部数据存储储器(器(256256字字节节),用),用MOVX RiMOVX Ri指令指令访问访问xdataxdat
11、a外部数据存外部数据存储储器器(64KB)(64KB),用,用MOVX DPTRMOVX DPTR指令指令访问访问codecode程序存程序存储储器(器(64KB64KB),用用MOVC A+DPTRMOVC A+DPTR指令指令访问访问n留意的是在留意的是在AT89C51芯片中芯片中RAM只有低只有低128位,位于位,位于80H到到FFH的高的高128位则在位则在52芯片中才有用,并和特殊寄存器地址重叠。芯片中才有用,并和特殊寄存器地址重叠。n定义变量时假如省略存储器类型,系统则会按编定义变量时假如省略存储器类型,系统则会按编译模式译模式SMALL、COMPACT或或LARGE所规定的默所规
12、定的默认存储器类型去指定变量的存储区域。无论什么认存储器类型去指定变量的存储区域。无论什么存储模式都可以声明变量在任何的存储模式都可以声明变量在任何的8051存储区范存储区范围,然而把最常用的变量、吩咐放在内部数据区围,然而把最常用的变量、吩咐放在内部数据区可以显著的提高系统性能。可以显著的提高系统性能。C51支持的主要编译模式 存存储储模式模式说说 明明SMALLSMALL 函数参数及局部函数参数及局部变变量放在片内量放在片内RAMRAM(默(默认变认变量量类类型型为为DATADATA,最大最大128128字字节节)。另外所有)。另外所有对对象包括象包括栈栈都都优优先放置于片内先放置于片内R
13、AMRAM,当片内当片内RAMRAM用用满满,再向片外,再向片外RAMRAM放置。放置。COMPACTCOMPACT 参数及局部参数及局部变变量放在片外量放在片外RAMRAM(默(默认认的存的存储类储类型是型是PDATAPDATA,最,最大大256256字字节节);通);通过过R0R0、R1R1间间接接寻寻址,址,栈栈位于位于80518051片内片内RAMRAM。LARGELARGE 参数及局部参数及局部变变量直接放入片外量直接放入片外RAM(RAM(默默认认的存的存储类储类型是型是XDATAXDATA,最大,最大64KB)64KB);使用数据指;使用数据指针针DPTRDPTR间间接接寻寻址。
14、因此址。因此访问访问效率效率较较低低且直接影响代且直接影响代码长码长度度1.2.3 8051片内资源及位变量1.2.3.1 特殊功能寄存器的C51定义8051单片机的内部高128个字节为专用寄存器区,其中51子系列有21个(52子系列有26个)特殊功能寄存器(SFR),它们离散的分布在这个区中,分别用于CPU并行口、串行口、中断系统、定时/计数器等功能单元及限制和状态寄存器。n对对SFR的操作,只能接受干脆寻址方式。为的操作,只能接受干脆寻址方式。为了能干脆访问这些特殊功能寄存器,了能干脆访问这些特殊功能寄存器,Keil C51扩充了两个关键字扩充了两个关键字“sfr”、“sfr16”,可以干
15、脆对,可以干脆对51单片机的特殊寄存器进行单片机的特殊寄存器进行定义,这种定义方法与标准定义,这种定义方法与标准C51语言不兼容,语言不兼容,只适用于对只适用于对8051系列单片机系列单片机C51编程。编程。定义方法如下:定义方法如下:sfr 特殊功能寄存器名特殊功能寄存器名=特殊功能寄存器地址常数特殊功能寄存器地址常数;sfr16 特殊功能寄存器名特殊功能寄存器名=特殊功能寄存器地址常特殊功能寄存器地址常数数;对于对于8051片内片内I/O口,定义方法如下:口,定义方法如下:sfr P1=0 x90;/定义定义P1口,地址口,地址90Hsfr P2=0 xA0;/定义定义P1口,地址口,地址
16、A0Hsfr后面是一个要定义的名字,要符合标识符的命名后面是一个要定义的名字,要符合标识符的命名规则,名字最好有确定的含义规则,名字最好有确定的含义 等号后面必需是常数,不允许有带运算符的表达式,等号后面必需是常数,不允许有带运算符的表达式,而且该常数必需在特殊功能寄存器的地址范围之而且该常数必需在特殊功能寄存器的地址范围之内(内(80H-FFH)。)。sfr是定义是定义8位的特殊功能寄存位的特殊功能寄存器,器,sfr16用来定义用来定义16位特殊功能寄存器,如位特殊功能寄存器,如8052的的T2定时器,可以定义为:定时器,可以定义为:nsfr16 T2=0 xCC;/这里定义8052定时器2
17、,地址为T2L=CCH,T2H=CDHn用sfr16定义16位特殊功能寄存器时,等号后面是它的低位地址,高位地址确定要位于物理低位地址之上。留意的是,sfr16不能用于定时器0和1的定义。n对于须要单独访问SFR中的位,C51的扩充关键字sbit可以访问位寻址对象。nsbit定义某些持殊位,并接受任何符号名定义某些持殊位,并接受任何符号名,“=”号后将确定地址赋给变量名号后将确定地址赋给变量名n这种地址安排,有三种方法:这种地址安排,有三种方法:n1)sbit 位变量名位地址位变量名位地址nsbit P1_1=Ox91;n这样是把位的确定地址赋给位变量。这样是把位的确定地址赋给位变量。n同同s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 第一章 优秀 PPT
限制150内