教学课件第10章 基于C语言的单片机程序设计.ppt
《教学课件第10章 基于C语言的单片机程序设计.ppt》由会员分享,可在线阅读,更多相关《教学课件第10章 基于C语言的单片机程序设计.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/ 试卷下载:/shiti/ 教案下载:/jiaoan/ 字体下载:/ziti/ 教学课件第10章 基于C语言的单片机程序设计2022-7-9第十章 基于C语言的单片机程序设计qC
2、51特点。qC51基本语法要素。qC51的变量扩充。qC51访问单片机硬件资源方法。2022-7-9广东松山职业技术学院课件制作组本章主要内容本章主要内容 10.1 概概 述述 10.2 C51语言语法要素语言语法要素 10.3 C51存储类型与存储模式存储类型与存储模式 10.4 C51单程序设计实例单程序设计实例2022-7-9广东松山职业技术学院课件制作组10.1 绪论绪论一一 C语言优点语言优点(2 2)可移植性好)可移植性好 (3 3)表达能力强)表达能力强 (4 4)表达方式灵活。)表达方式灵活。 (5 5)可进行结构化程序设计)可进行结构化程序设计 (6 6)可以直接操作计算机硬
3、件)可以直接操作计算机硬件 (7 7)生成的目标代码质量高)生成的目标代码质量高(1 1) C C 语言简洁,使用方便灵活语言简洁,使用方便灵活2022-7-9广东松山职业技术学院课件制作组10.1 绪论绪论二二 C语言缺点语言缺点(1)如不能自动检查数组的边界,如不能自动检查数组的边界,(2)各种运算符的优先级别太多,各种运算符的优先级别太多,(3)某些运算符具有多种用途等。某些运算符具有多种用途等。 但总的来说,C语言的优点还还超过了它的缺点。 经验表明,程序设计员学会使用经验表明,程序设计员学会使用C语言之后,就语言之后,就会对它爱不释手,尤其是单片机应用系统的程序设会对它爱不释手,尤其
4、是单片机应用系统的程序设计人员更是如此。计人员更是如此。2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 为叙述方便,通常将为叙述方便,通常将C语言编写的语言编写的MCS51单单片机程序简称片机程序简称C51程序,而将基于程序,而将基于x86的的C语言语言统称为标准统称为标准C语言,本书也沿用这一称呼。语言,本书也沿用这一称呼。C51语法要素与标准语法要素与标准C语言语法要素基本相同,包括语言语法要素基本相同,包括C语言运算符、语言运算符、C语言数据结构、语言数据结构、C语言语句结语言语句结构等。构等。2022-7-9广东松山职业技术学院课件制作组1
5、0.2 C51C51语言语法要素语言语法要素 为叙述方便,通常将为叙述方便,通常将C语言编写的语言编写的MCS51单单片机程序简称片机程序简称C51程序,而将基于程序,而将基于x86的的C语言语言统称为标准统称为标准C语言,本书也沿用这一称呼。语言,本书也沿用这一称呼。C51语法要素与标准语法要素与标准C语言语法要素基本相同,包括语言语法要素基本相同,包括C语言运算符、语言运算符、C语言数据结构、语言数据结构、C语言语句结语言语句结构等。构等。2022-7-9广东松山职业技术学院课件制作组一一 运算符运算符算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符位运算符位运算符赋值运算符赋
6、值运算符复合运算符等。复合运算符等。各种运算符的定义及优先级见表各种运算符的定义及优先级见表10-1。1. 运算符概述运算符概述10.2 C51C51语言语法要素语言语法要素2022-7-9广东松山职业技术学院课件制作组2022-7-9广东松山职业技术学院课件制作组2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素一一 运算符运算符例例10-1 a+=b 等价于等价于a=(a+b)例例10-2 x*=a+b 等价于等价于x=(x*(a+b)例例10-3 a&=b 等价于等价于a=(a&b)例例10-4 a=4 等价于等价于a=(a4) 2. 运算符举例
7、运算符举例2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型1、变量与常量、变量与常量变量变量:在程序执行过程中其值可以改变的,在程序执行过程中其值可以改变的,常量常量:在程序运行过程中其值是不能改变。在程序运行过程中其值是不能改变。 常量还可以用常量还可以用define宏定义指令定义成宏定义指令定义成其它容易记忆的符号或名称。其它容易记忆的符号或名称。 2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型1、变量与常量、变量与常量#define PI
8、3.1415926#define ADC *(volatile*)0 xc005 2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型2. 基本数据类型基本数据类型 基本数据类型有整型、实型、字符型、指针型等。基本数据类型有整型、实型、字符型、指针型等。不同的数据类型,编译器分配的存储单元不同,详细不同的数据类型,编译器分配的存储单元不同,详细见表见表10-2。 2022-7-9广东松山职业技术学院课件制作组2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据
9、类型2. 基本数据类型基本数据类型 有整型、实型、字符型、指针型等。不同的数据类有整型、实型、字符型、指针型等。不同的数据类型,编译器分配的存储单元不同,详细见表型,编译器分配的存储单元不同,详细见表10-2。 (1 1). .整型数据整型数据(16bit)(16bit) 整型变量就是用关键字整型变量就是用关键字intint定义的变量符号,定义的变量符号,比如:比如: int R; int R;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型(2).(2).实型数据实型数据(32bit)(32bit) 实型数据结构就是定
10、义一个实数变量或常量。实实型数据结构就是定义一个实数变量或常量。实型数据用型数据用floatfloat关键字定义比如:关键字定义比如:float R=3.125;float R=3.125;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型 实使用关键字实使用关键字charchar定义。定义。(3 3). .字符型数据字符型数据(8bit)char a;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型 实使用关键字实使用关键字charchar定义。定
11、义。(3 3). .字符型数据字符型数据(8bit)char a;(4).指针型数据指针型数据 指针也即地址的概念,是表示一个变量所在存储指针也即地址的概念,是表示一个变量所在存储器地址编号。器地址编号。2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型(4).指针型数据指针型数据 指针是指针是C51C51的灵魂和精华,具有灵活的应用及功的灵魂和精华,具有灵活的应用及功能,在能,在C51C51中,一些操作只有指针操作才能完成。比中,一些操作只有指针操作才能完成。比如:如:unsigned char xdata unsign
12、ed char xdata * *ADC=0 xc005ADC=0 xc005;ADC=0 x00ADC=0 x00;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型 用用unsigned charunsigned char定义一个无符号的指针变量定义一个无符号的指针变量ADCADC,它所指的地址单元为它所指的地址单元为xdataxdata空间的空间的0 xc0050 xc005地址单元。地址单元。 第第2 2条指令条指令ADC=0 x00ADC=0 x00指令是为指令是为0 xc0050 xc005这个地址单这个地址单
13、元送数据元送数据0 x000 x00,假设,假设A/DA/D转换的启动地址为转换的启动地址为c005Hc005H,则,则运行这条语句之后将启动运行这条语句之后将启动I/OI/O口的口的A/DA/D转换器开始工作。转换器开始工作。2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素二二 、C51数据类型数据类型 用构造型数据包括数组、结构体、共用体等,用构造型数据包括数组、结构体、共用体等,C51C51构造型数据类型与标准构造型数据类型与标准C C语言完全相同,包括定义、语言完全相同,包括定义、引用等,详参考文献,此不在赘述。引用等,详参考文献,此不在赘述
14、。3. 构造型数据构造型数据2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 三、程序表达式与结构三、程序表达式与结构?是程序的重要组成部分是程序的重要组成部分?由运算对象、运算符组成由运算对象、运算符组成?运算对象一般包含常量、变量、函数和表达式等运算对象一般包含常量、变量、函数和表达式等? C C语言提供比较丰富的运算符号语言提供比较丰富的运算符号, ,有算术运算符、有算术运算符、 逻辑运算符以及特殊运算符。逻辑运算符以及特殊运算符。?为编写程序提供了方便,可以精简程序代码,为编写程序提供了方便,可以精简程序代码, 提高程序执行效率。提高程序执行
15、效率。2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 三、程序表达式与结构三、程序表达式与结构 算法表达式就是用一般的算术符号表达的式子,如算法表达式就是用一般的算术符号表达的式子,如加、减、乘、除等。加、减、乘、除等。 如:如:1. 算术表达式算术表达式2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 三、程序表达式与结构三、程序表达式与结构1. 算术表达式算术表达式 这是一个求表示与这是一个求表示与z z轴垂直的圆的方程,它在轴垂直的圆的方程,它在C C语语言的表示为言的表示为: : double z
16、0 double z0,z1z1;z0=z0=(x+ax+a)* *(x+ax+a)+ +(y+by+b)* *(y+by+b) z1=sqrt z1=sqrt(z0z0);); (x+ax+a)* *(x+ax+a)+ +(y+by+b)* *(y+by+b)是()是(x+ax+a)平方平方+ +(y+by+b)平方的表达式,开方在)平方的表达式,开方在C51C51中可以引用中可以引用sqrtsqrt库函数实现。库函数实现。2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 三、程序表达式与结构三、程序表达式与结构2. 赋值表达式赋值表达式 赋值表达
17、式是将常量、常数赋给变量的表达式,赋值表达式是将常量、常数赋给变量的表达式,其格式如下:其格式如下: 如:如: a=12 a=12; b=PI b=PI; c ca+ba+b c=+1 c=+1; / /等效为等效为c=c+1c=c+1;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 三、程序表达式与结构三、程序表达式与结构3.逻辑表达式逻辑表达式 逻辑表达式是用一些逻辑运算赋连接,逻辑表达式是用一些逻辑运算赋连接,通过一通过一系列逻辑后其值只有系列逻辑后其值只有真真或或假假,两种结果,两种结果, 有逻辑与有逻辑与(&)、逻辑或、逻辑或(|)、逻辑
18、非、逻辑非()等运算。等运算。如:如: key_val=P1; key_val=key_val&0 xf0; if(!(key_val=0 xf0) 2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构 程序语句就是一些指令实现实体。程序语句就是一些指令实现实体。 C C语言的语句经过编译之后将编成计算机语言的语句经过编译之后将编成计算机CPUCPU能能识别并执行的机器代码。合理利用识别并执行的机器代码。合理利用C C语言程序的语句语言程序的语句结构,能使程序更简洁,执行效率更高。结构,能使程序更简洁,执行效率更高。1.
19、选择执行结构选择执行结构一种是switch语句一种使if语句2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构 1).if()语句()语句 如:如: if(SS60)if(SS60) SS+; SS+;2)if()() 语句语句1 else 语句语句2 如:如:ifif(SS60SS60) SS+SS+; else SS=0else SS=0;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构 3)if(表达式(表达式1) 语句语句1 else i
20、f (表达式(表达式2) 语句语句2else if (表达式(表达式3) 语句语句3else if (表达式(表达式4) 语句语句n2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构4)if语句的嵌套使用语句的嵌套使用if() if() if() if(key_val=K1) FUC-; if(FUC=0) FUC=0 x64; 2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构(2)switch语句语句switchswitch是多分支选择语句,又
21、叫开关语句。是多分支选择语句,又叫开关语句。其语法结构为:其语法结构为:switch(表达式表达式)case 常量表达式常量表达式1:语句:语句1 case 常量表达式常量表达式2:语句:语句2case 常量表达式常量表达式n: 语句语句ndefault:语句语句n+12022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素(2)switch语句语句switch(key_val) case K1: led(1,0 x3f) /键盘键盘1 _nop_();(); break; case K2: led(2,0 x26) /键盘键盘2 _nop_();(); b
22、reak; case K3: led(1,0 x5b);); _nop_();(); break; default: break;2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素2. 循环执行结构循环执行结构一个常见的循环程序如下:一个常见的循环程序如下:while(1) P0=0 xfe; delay(10); P0=0 xff; delay(10); 四、四、C51语句结构语句结构2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构(1) while循环结构循环结构while
23、(条件表达式条件表达式)语句语句while(x60)x-;功能:如果功能:如果(条件表达式条件表达式)为真,则执行后面的语句,为真,则执行后面的语句,如:如:2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构(2)do- while循环结构循环结构do语句语句 while(条件表达式)(条件表达式)功能:先执行功能:先执行语句语句,再判断,再判断(条件表达式条件表达式),如果为,如果为真,则停止执行。真,则停止执行。do a-;while(!a)2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法
24、要素语言语法要素 四、四、C51语句结构语句结构(3)for循环结构循环结构for(表达式(表达式1;表达式;表达式2;表达式;表达式3)语句)语句如:如:for(i=0;iN;i+) xi=0; 2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构(3)for循环结构循环结构 用用for语句代替语句代替while语句可以实现更长时间延语句可以实现更长时间延时,如:时,如: void delay(x)unsigned char I,j,k;for (i=0;ix;i+)for (j=0;j200;j+)for (k=0;k
25、200;k+););2022-7-9广东松山职业技术学院课件制作组10.2 C51C51语言语法要素语言语法要素 四、四、C51语句结构语句结构(3)for循环结构循环结构 用用for语句代替语句代替while语句可以实现更长时间延语句可以实现更长时间延时,如:时,如: void delay(x)unsigned char I,j,k;for (i=0;ix;i+)for (j=0;j200;j+)for (k=0;k200;k+);); 可以使用公式可以使用公式ijxt大至计算延时时大至计算延时时间,其中间,其中t为编译后的汇编指令周期时间为编译后的汇编指令周期时间。2022-7-9广东松山
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件第10章 基于C语言的单片机程序设计 教学 课件 10 基于 语言 单片机 程序设计
限制150内