项目二 流水灯系统设计ppt课件(完整版).ppt





《项目二 流水灯系统设计ppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《项目二 流水灯系统设计ppt课件(完整版).ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、项目二项目二 流水灯系统设计流水灯系统设计ppt课件(完整课件(完整版)版)单单 片片 机机 应应 用用 技技 术术 项目二项目二 流水灯系统设计流水灯系统设计2.1 单片机的单片机的C语言语言2.2 C51的数据与运算的数据与运算2.3 C51 流程控制语句流程控制语句2.4 C语言的函数语言的函数2.5 数组的概念数组的概念2.1 单片机的单片机的C语言语言1.C语言的特点语言的特点p结构化语言p丰富的数据类型p便于维护管理p与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;结构清
2、晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处理能力。2.C语言的结构语言的结构 C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。 C程序基本结构2.1 单片机的单片机的C语言语言p一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。pC语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。pC语言程序使用“;”作为语句的结束符
3、,一条语句可以多行书写,也可以一行书写多条语句。2.1 单片机的单片机的C语言语言分隔符分隔符为分号为分号2.2 C语言数据与运算语言数据与运算 1.C51的数据与数据类型的数据与数据类型 2. 常量与变量常量与变量 3. C51的数据存储类型与的数据存储类型与8051存储器结构存储器结构 4. 8051特殊功能寄存器(特殊功能寄存器(SFR)及其)及其C51定义定义 5.位变量(位变量(BIT)及其)及其C51定义定义 6.C51运算符表达式及其规则运算符表达式及其规则一一.数据与数据类型数据与数据类型数据数据具有一定格式的数字或数值叫做数据具有一定格式的数字或数值叫做数据数据类型数据类型数
4、据的不同格式叫做数据类型数据的不同格式叫做数据类型 单片机编程中所使用的是单片机编程中所使用的是C51语言,与语言,与ANSI C基本基本相同,只是在某些方面进行了扩展。简单的说,相同,只是在某些方面进行了扩展。简单的说,C51语语言是在言是在ANSI C标准的基础上标准的基础上扩展了数据类型和关键字扩展了数据类型和关键字。C51编译器中编译器中int 和和short 相同,相同,float 和和double 相同。相同。 在在ANSI C标准标准C 语言中基本的数据类型为语言中基本的数据类型为char、int、short、long、float 和和double,2.2 C语言数据与运算语言数
5、据与运算 KEIL uVision2 C51 编译器所支持的数据类型编译器所支持的数据类型数据类型数据类型长长 度度值值 域域unsigned char单字节单字节0255signed char单字节单字节-128+127unsigned int双字节双字节065535signed int双字节双字节-32768+32767unsigned long四字节四字节04294967295signed long四字节四字节-2147483648+2147483647float四字节四字节1.175494E-383.402823E+38*13 字节字节对象的地址对象的地址bit位位0 或或 1sfr单
6、字节单字节0255sfr16双字节双字节065535sbit位位0 或或 1。默认值为默认值为signed 类类型型2.2 C语言数据与运算语言数据与运算 C C5151的数据类型扩充定义的数据类型扩充定义sfr:sfr:特殊功能寄存器特殊功能寄存器声明声明sfr16:sfr16:sfrsfr的的1616位数据声明位数据声明sbit:sbit:特殊功能位声明特殊功能位声明bitbit: :位变量声明位变量声明2.2 C语言数据与运算语言数据与运算 1.sfr 特殊功能寄存器特殊功能寄存器 sfr 是一种扩充数据类型,是一种扩充数据类型,占用一个内存单元(占用一个内存单元(1个字节),个字节),
7、值域为值域为0255。利用它可以访问利用它可以访问51单片单片机内部的所有机内部的所有特殊功能寄存器特殊功能寄存器。sfr 特殊功能寄存器名特殊功能寄存器名= 特殊功能寄存器地址常数特殊功能寄存器地址常数; sfr P0= 0 x80; sfr IE=0 xA8H;#include 2.2 C语言数据与运算语言数据与运算 2.sfr16 16 位特殊功能寄存器位特殊功能寄存器 sfr16 占用两个内存单元,值域为占用两个内存单元,值域为065535。sfr16和和sfr 一样用于操作特殊功能寄存器,一样用于操作特殊功能寄存器,所不同的是它用于操所不同的是它用于操作占两个字节的寄存器。作占两个字
8、节的寄存器。sfr16 特殊功能寄存器名特殊功能寄存器名= 特殊功能寄存器地址常数特殊功能寄存器地址常数; 用用sfr16定义定义16位特殊功能寄存器时,等号后面是它位特殊功能寄存器时,等号后面是它的低位地址,高位地址一定要位于物理低位地址之上。的低位地址,高位地址一定要位于物理低位地址之上。 sfr 16 T2 = 0 xCC;2.2 C语言数据与运算语言数据与运算 sbit 也是也是C51 中的一种扩充数据类型,中的一种扩充数据类型,利用它可以利用它可以访问芯片内部的访问芯片内部的RAM 中的中的可寻址位可寻址位或或特殊功能寄存器特殊功能寄存器中的可寻址位中的可寻址位。3.sbit 可寻址
9、位可寻址位(1)sbit 位变量名位地址位变量名位地址 sbit P1_1 = 0 x91;这样是把位的绝对地址赋给位变量。同这样是把位的绝对地址赋给位变量。同sfr一样一样sbit的位地址必须位的位地址必须位于于80H-FFH之间。之间。(2)sbit 位变量名特殊功能寄存器名位变量名特殊功能寄存器名位位置位位置 sfrP1 = 0 x90;sbit P1_1 = P1 1; /先定义一个特殊功能寄存器名再指定位变先定义一个特殊功能寄存器名再指定位变量名所在的位置。量名所在的位置。 当可寻址位位于特殊功能寄存器中时可采用这种方法当可寻址位位于特殊功能寄存器中时可采用这种方法,例如例如sbit
10、 OV = PSW2; (3)sbit 位变量名字节地址位变量名字节地址位位置位位置sbit P1_1 = 0 x90 1; 2.2 C语言数据与运算语言数据与运算 二二.常量与变量常量与变量常量是在程序运行过程中常量是在程序运行过程中不能改变值不能改变值的量,如固定的数据表,字库等。的量,如固定的数据表,字库等。 1. 常量常量(1) 整型常量可以表示为十进制如整型常量可以表示为十进制如123,0,89等。十六进制则以等。十六进制则以0 x开头如开头如0 x34,-0 x3B等。等。 (2) 浮点型常量可分为十进制和指数表示形式。十进制由数字和小浮点型常量可分为十进制和指数表示形式。十进制由
11、数字和小数点组成,如数点组成,如0.888,3345.345,0.0等。等。 (3) 字符型常量是单引号内的字符,如字符型常量是单引号内的字符,如A,B等等 (4) 字符串型常量由双引号内的字符组成,如字符串型常量由双引号内的字符组成,如“TEST,OK等。等。 (5) 位标量,它的值是一个二进制。位标量,它的值是一个二进制。 常量的数据类型只有整型、浮点型、字符型、字符串型和位型。常量的数据类型只有整型、浮点型、字符型、字符串型和位型。2.2 C语言数据与运算语言数据与运算 常量定义的几种方式常量定义的几种方式#define False 0 x0#define True 0 x1/这里定义这
12、里定义False为为0,True为为1在程序中用到在程序中用到False编译时自动用编译时自动用0替换,同理替换,同理True替换为替换为1 (1)用预定义语句可以定义常量)用预定义语句可以定义常量unsigned int code a=100; /这一句用这一句用 code 把把 a 定义在定义在程序存储器中并赋值程序存储器中并赋值(2)用)用code 定义定义2.2 C语言数据与运算语言数据与运算 const unsigned int c=100; /用用 const 定义定义 c 为无符号为无符号 int 常量并赋值常量并赋值 。(3)用)用const 定义定义 以上以上2,3两句它们的
13、值都保存在程序存储器中,而两句它们的值都保存在程序存储器中,而程序程序存储器存储器在运行中是不允许被修改的。在运行中是不允许被修改的。2.2 C语言数据与运算语言数据与运算 2. 变量变量 变量就是一种在程序执行过程中其值能变量就是一种在程序执行过程中其值能不断变化不断变化的量。变量的定义能使用所有的量。变量的定义能使用所有c51编译器支持的数据类编译器支持的数据类型型 。 定义一个变量的格式定义一个变量的格式存储种类存储种类数据类型数据类型存储器类型存储器类型变量名表变量名表 dataunsigned charsmalla ;2.2 C语言数据与运算语言数据与运算 存储器类型说明Data(0
14、0H-7FH)直接访问内部数据存储器(128字节),访问速度最快Bdata (20H-2FH)可位寻址内部数据存储器(16字节),允许位与字节混合访问xdata外部数据存储器(64KB),用MOVX DPTR指令访问code程序存储器(64KB),用MOVC A+DPTR指令访问 数据类型数据类型和和变量名表变量名表是必要的,其它都是可选项。是必要的,其它都是可选项。unsigned chara ;2.2 C语言数据与运算语言数据与运算 三三.C51的数据存储类型与的数据存储类型与8051存储器结构存储器结构1.C511.C51的数据存储类型的数据存储类型类型关键字长度说明data直接访问内部
15、数据存储器(128字节),访问速度最快bdata 可位寻址内部数据存储器(16字节),允许位与字节混合访问idata间接寻址片内数据存储器,可访问片内全部RAM地址空间(256字节)pdata分页寻址片外数据存储区(256字节),由MOVXR0访问xdata外部数据存储器(64KB),用MOVX DPTR指令访问code程序存储器(64KB),用MOVC A+DPTR指令访问单片机存储类型及与单片机存储类型及与80518051存储空间的对应关系存储空间的对应关系2.2 C语言数据与运算语言数据与运算 变量的存储类型定义举例:变量的存储类型定义举例:char data pulse;/data存储
16、类型存储类型,该变量被定位在该变量被定位在8051片内数据存储区片内数据存储区 中(地址:中(地址:00H07H)。)。bit bdata flag; /bdata存储类型,该变量被定位在存储类型,该变量被定位在8051片内数据存储片内数据存储 区中的可位寻址区(地址:区中的可位寻址区(地址:20H2FH)。)。float idata x,y,z; / idata存储类型,该变量被定位在存储类型,该变量被定位在8051片内数据存片内数据存 储区,并只能用间接寻址的方法进行访问。储区,并只能用间接寻址的方法进行访问。unsigned int pdata length; / pdata存储类型,该
17、变量被定位在片外数存储类型,该变量被定位在片外数据存储区,并用操作码据存储区,并用操作码MOVXRi访问。访问。unsigned char xdata parameter 835; / xdata存储类型,该变量存储类型,该变量被定位在片外数据存储区,并占据被定位在片外数据存储区,并占据 835=120字节存储空间。字节存储空间。2.2 C语言数据与运算语言数据与运算 存储模式存储模式说明说明SMALL该模式与采用data存储类型方式相同,参数及局部变量放入可直接寻址的片内存储器(最大128字节),访问速度快、效率高。所有对象包括堆栈,都必须嵌入片内RAM。栈长很关键,因为实际栈长依赖于不同函
18、数的嵌套层数。COMPACT该模式默认的存储类型是PDATA,参数及局部变量放入分页片外存储区(最大256字节),通过寄存器R0和R1(R0,R1)间接寻址,栈空间位于8051系统内部数据存储区中。LARGE该模式默认的存储类型是XDATA,参数及局部变量直接放入片外数据存储区(最大64KB),使用数据指针DPTR来进行寻址。用此数据指针进行访问效率较低,尤其是对两个或多个字节的变量,这种数据类型的访问机制直接影响代码的长度。另一不方便之处在于这种数据指针不能对称操作。存储模式及说明存储模式及说明2.2 C语言数据与运算语言数据与运算 运算符就是完成某种特定运算的符号。运算符就是完成某种特定运
19、算的符号。 运算符按其表达式中与运算符的关系可分为运算符按其表达式中与运算符的关系可分为:单目单目运算符,双目运算符和三目运算符。运算符,双目运算符和三目运算符。 表达式则是由运算及运算对象所组成的具有特定表达式则是由运算及运算对象所组成的具有特定含义的式子。含义的式子。 C是一种表达式语言,表达式后面加是一种表达式语言,表达式后面加;号就构号就构成了一个表达式语句。成了一个表达式语句。 四四. C51运算符表达式及其规则运算符表达式及其规则2.2 C语言数据与运算语言数据与运算 其中只有取正值和取负值运算符是单目运算符,其它其中只有取正值和取负值运算符是单目运算符,其它则都是双目运算符。则都
20、是双目运算符。+加或取正值运算符加或取正值运算符-减或取负值运算符减或取负值运算符*乘运算符乘运算符/除运算符除运算符%取余运算符取余运算符表达式表达式1算术运算符表达式算术运算符表达式21.算术运算符及其表达式算术运算符及其表达式(1)算术运算符)算术运算符(2)算术表达式)算术表达式2.2 C语言数据与运算语言数据与运算 (3)优先级和结合性)优先级和结合性: 算术运算符的优先级算术运算符的优先级:先乘除模先乘除模,后加减后加减,括号括号最优先最优先算术运算符的结合性算术运算符的结合性:自左至右方向自左至右方向2.赋值运算符赋值运算符变量变量 = 表达式;表达式; a = 0 xFF; /
21、将常数十六进制数将常数十六进制数 FF 赋于变量赋于变量 ab = c = 33; /同时赋值给变量同时赋值给变量 b,c d = e; /将变量将变量 e 的值赋于变量的值赋于变量 d f = a+b; /将变量将变量 a+b 的值赋于变量的值赋于变量 f2.2 C语言数据与运算语言数据与运算 3.增减量运算符增减量运算符+ 增量运算符增量运算符- 减量运算符减量运算符作用就是作用就是 对运算对象作加对运算对象作加 1 和减和减 1 运算。运算。注意:注意:运算对象在符号运算对象在符号前前或或后后,其含义都是不一样的,虽,其含义都是不一样的,虽 然同是加然同是加 1 或减或减 1。如:。如:
22、I+,+I,I-,-I。I+(或(或 I-) 是先使用是先使用 I 的值,再执行的值,再执行 I+1(或(或 I-1)+I(或(或-I) 是先执行是先执行 I+1(或(或 I-1),再使用),再使用 I 的值。的值。增减量运算符只允许用于变量的运算中,不能用于常数或增减量运算符只允许用于变量的运算中,不能用于常数或表达式。表达式。 2.2 C语言数据与运算语言数据与运算 4.关系运算符及其表达式关系运算符及其表达式 大于大于 小于小于 大于等于大于等于 小于等于小于等于 等于等于! 等于等于 前四个前四个具有相同的优先级,具有相同的优先级,后两个后两个也具有相同的也具有相同的优先级,但是前四个
23、的优先级要高于后优先级,但是前四个的优先级要高于后2个的。个的。 (1)关系运算符)关系运算符2.2 C语言数据与运算语言数据与运算 表达式表达式 1 关系运算符关系运算符 表达式表达式 2 (2)关系表达式p 用用关系运算符关系运算符将两个表达式(可以是算术表达式、关系表达式将两个表达式(可以是算术表达式、关系表达式、赋值表达式或逻辑表达式、赋值表达式或逻辑表达式)连接起来的式子,称为连接起来的式子,称为关系表达式关系表达式。p 关系表达式的值为关系表达式的值为逻辑值逻辑值“真真”或或“假假”,以,以1代表代表“真真”,以,以0代表代表“假假”。 例如:例如: (1)关系表达式关系表达式“8
24、=4”的值为的值为 ,表达式的值为,表达式的值为 。 (2) 关系表达式关系表达式“50”的值为的值为 ,表达式的值为,表达式的值为 。 2.2 C语言数据与运算语言数据与运算 5.逻辑运算符及其表达式逻辑运算符及其表达式逻辑与逻辑与& :条件式:条件式 1 & 条件式条件式 2 逻辑或逻辑或 | :条件式:条件式 1 | 条件式条件式 2逻辑非逻辑非 ! : ! 条件式条件式 2逻辑与逻辑与:当条件式:当条件式 1“与与”条件式条件式 2 都为真时结果为真都为真时结果为真(非(非 0 值),不然为值),不然为 假(假(0 值)。值)。 逻辑或逻辑或:是指只要二个运算条件中有一个为真时,运算:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目二 流水灯系统设计ppt课件完整版 项目 流水 系统 设计 ppt 课件 完整版

限制150内