第3章-51单片机的C51语言程序设计-单片机原理、接口及应用-课件.ppt

上传人:可****阿 文档编号:73600980 上传时间:2023-02-20 格式:PPT 页数:34 大小:2.13MB
返回 下载 相关 举报
第3章-51单片机的C51语言程序设计-单片机原理、接口及应用-课件.ppt_第1页
第1页 / 共34页
第3章-51单片机的C51语言程序设计-单片机原理、接口及应用-课件.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《第3章-51单片机的C51语言程序设计-单片机原理、接口及应用-课件.ppt》由会员分享,可在线阅读,更多相关《第3章-51单片机的C51语言程序设计-单片机原理、接口及应用-课件.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3 3章章 51 51单片机的单片机的C51C51语言程序设计语言程序设计 教学目的:教学目的:1.1.熟悉熟悉80C5180C51系列单片机的系列单片机的C51C51语言程序设计;语言程序设计;2.2.能够编写简单能够编写简单C51C51语言程序语言程序 。教学重点难点:教学重点难点:1.1.C51 C51 语言程序变量的定义与使用;语言程序变量的定义与使用;2.2.C51C51 语言函数的参数传递。语言函数的参数传递。2/19/20231第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学

2、院3.1 标识符与关键字标识符与关键字详见表详见表3-1 注意关键字的排列顺序。注意关键字的排列顺序。使用使用C语言的注意事项语言的注意事项 标准标准C C语言没有提供对内存地址范围的定义,没有处理中断语言没有提供对内存地址范围的定义,没有处理中断的指令。的指令。对于此问题,不同的单片机对于此问题,不同的单片机C C语言的解决方案不完语言的解决方案不完全相同,从而不同型号单片机上的程序不可互相移植全相同,从而不同型号单片机上的程序不可互相移植 。在用在用C C语言编写单片机程序时,需要根据单片机的存储器结语言编写单片机程序时,需要根据单片机的存储器结构和内部资源定义相应的数据类型和变量构和内部

3、资源定义相应的数据类型和变量 。在编程时不要在编程时不要使用大量不必要的变量类型。使用大量不必要的变量类型。2/19/20232第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院3.2 数据基本类型数据基本类型基本数据基本数据类类型型长长度度取取值值范范围围unsigned char1字字节节0255unsigned int2字字节节065535bit1位位0或或1Sbit1位位0或或1sfr1字字节节0255sfr162字字节节0655352/19/20233第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院1.整型:一般情况下采用;整型:

4、一般情况下采用;2.浮点型:小数点运算时采用;浮点型:小数点运算时采用;3.字符型:一般情况下采用字符型:一般情况下采用常量、变量的形式一般与数据类型相互对应常量、变量的形式一般与数据类型相互对应3.3常量与变量2/19/20234第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院经常使用模式经常使用模式事先定义:事先定义:#define unsigned int uint#define unsigned char uchar uint a,b,c /可以使用到可以使用到065535uchar

5、 /只可以使用到只可以使用到02562/19/20236第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院3.4 3.4 运算符运算符1、赋值运算符赋值运算符l 赋值运算符赋值运算符“=”,将一个数据的值赋给一个变,将一个数据的值赋给一个变量。量。如如x=10。l利用赋值运算符将一个变量与一个表达式连接起利用赋值运算符将一个变量与一个表达式连接起来的式子称为赋值表达式,在赋值表达式的后面加来的式子称为赋值表达式,在赋值表达式的后面加一个分号一个分号“;”就构成了赋值语句,一个赋值语句就构成了赋值语句,一个赋值语句的格式如下:的格式如下:变量变量=表达式;表达式;2/1

6、9/20237第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院执行时先计算出右边表达式的值,然后赋给左边执行时先计算出右边表达式的值,然后赋给左边的变量。例如:的变量。例如:x=8+9;/*将将8+9的值赋绐变量的值赋绐变量x*/x=y=5;/*将常数将常数5同时赋给变量同时赋给变量x和和y*/一个语句中同时给多个变量赋值,赋值顺序自右一个语句中同时给多个变量赋值,赋值顺序自右向左。向左。2/19/20238第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院特殊计算

7、符特殊计算符+自加自加1自减自减1void delay()/延时子程序延时子程序 unsigned char n,m;for(n=100;n 0;n-)for(m=300;m 0;m-);2/19/202310第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院3、关系运算符关系运算符C51中有中有6种关系运算符:种关系运算符:大于大于=大于等于大于等于=小于等于小于等于=等于等于 注意和赋值注意和赋值=的书写不同的书写不同!=不等于不等于在程序中作为比较的判断依据。在程序中作为比较的判断依据。2/19/202311第第3章章 51单片机单片机C程序设计基础程序设计基础

8、 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院4、逻辑运算符逻辑运算符C51有有3种逻辑运算符:种逻辑运算符:|逻辑或逻辑或&逻辑与逻辑与!逻辑非逻辑非 逻辑运算符则用于求条件式的逻辑值,用逻辑逻辑运算符则用于求条件式的逻辑值,用逻辑运算符将关系表达式或逻辑量连接起来的式子运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。就是逻辑表达式。2/19/202313第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院逻辑非逻辑非格式:格式:!条

9、件式!条件式 当条件式原来为真(非当条件式原来为真(非0值),逻辑非后结值),逻辑非后结果为假(果为假(0值)。值)。当条件式原来为假(当条件式原来为假(0值),逻辑非后结果为值),逻辑非后结果为真(非真(非0值)。值)。例如:若例如:若a=8,b=3,c=0,则!,则!a为假,为假,a&b为真,为真,b&c为假。为假。2/19/202315第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院5、位运算符位运算符 C51语言能对运算对象按位进行操作语言能对运算对象按位进行操作位运算是按位对变量进行运算,但并不改变参与运位运算是按位对变量进行运算,但并不改变参与运算的变量

10、的值。如果要求按位改变变量的值,则要利算的变量的值。如果要求按位改变变量的值,则要利用相应的赋值运算。用相应的赋值运算。C51中位运算符只能对整数进行操作中位运算符只能对整数进行操作C51中的位运算符有:中的位运算符有:&按位与按位与|按位或按位或 按位异或按位异或 按位取反按位取反 右移右移2/19/202316第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院复合赋值运算的一般格式如下复合赋值运算的一般格式如下:变量变量 复合运算赋值符复合运算赋值符 表达式表达式 它的处理过程:它的处理过

11、程:先把变量与后面的表达式进行某种运算,然后先把变量与后面的表达式进行某种运算,然后将运将运算的结果赋给前面的变量。算的结果赋给前面的变量。其实这是其实这是C51语言中简化程序的一种方法,大多数语言中简化程序的一种方法,大多数二目运算都可以用复合赋值运算符简化表示。例如:二目运算都可以用复合赋值运算符简化表示。例如:a+=6相当于相当于a=a+6;a*=5相当于相当于a=a*5;b&=0 x55相相当于当于b=b&0 x55;x=2相当于相当于x=x2。2/19/202318第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院7、逗号运算符逗号运算符 在在C51语言中,

12、逗号语言中,逗号“,”将两个或两个以上的将两个或两个以上的表达式连接起来,称为逗号表达式。表达式连接起来,称为逗号表达式。逗号表达式的一般格式为:逗号表达式的一般格式为:表达式表达式1,表达式,表达式2,表达式,表达式n 程序执行时对逗号表达式的处理:按从左至右的程序执行时对逗号表达式的处理:按从左至右的顺序依次计算出各个表达式的值,而顺序依次计算出各个表达式的值,而整个逗号表达整个逗号表达式的值是最右边的表达式(表达式式的值是最右边的表达式(表达式n n)的值)的值。例如:。例如:x=(a=3,6*3)结果结果x的值为的值为18。2/19/202319第第3章章 51单片机单片机C程序设计基

13、础程序设计基础 泉州信息职业技术学院8、条件运算符条件运算符 条件运算符条件运算符“?:?:”是是C51语言中唯一的一个三目语言中唯一的一个三目运算符,它要求有三个运算对象,运算符,它要求有三个运算对象,用它可以将三个用它可以将三个表达式连接在一起构成一个条件表达式表达式连接在一起构成一个条件表达式。条件表达。条件表达式的一般格式为:式的一般格式为:逻辑表达式?表达式逻辑表达式?表达式1:表达式:表达式2 2/19/202320第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院其功能是先计算逻辑表达式的值,其功能是先计算逻辑表达式的值,当逻辑表达式的值为真(非当逻辑表

14、达式的值为真(非0值)时,将计算值)时,将计算的表达式的表达式1的值作为整个条件表达式的值;的值作为整个条件表达式的值;当逻辑表达式的值为假(当逻辑表达式的值为假(0值)时,将计算的值)时,将计算的表达式表达式2的值作为整个条件表达式的值。的值作为整个条件表达式的值。例如:条件表达式例如:条件表达式max=(ab)?a:b的执行结果的执行结果是将是将a和和b中较大的数赋值给变量中较大的数赋值给变量max。2/19/202321第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院3.5 函数函数C语言程序是由函数构成的,语言程序是由函数构成的,函数是函数是C语语言程序中的

15、基本模块,言程序中的基本模块,C51函数分为函数分为2,一类,一类是库函数,一类是用户定义函数。是库函数,一类是用户定义函数。C51中函中函数的定义、参数和函数值及函数调用等内容数的定义、参数和函数值及函数调用等内容与标准与标准C语言基本相同,下面仅说明几个不同语言基本相同,下面仅说明几个不同点。点。2/19/202322第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院 2寄存器组的切换(寄存器组的切换(using修饰符的应用)修饰符的应用)在在51系列单片机中有系列单片机中有4个寄存器组,

16、每组包含个寄存器组,每组包含8个通用寄个通用寄存器,在采用中断程序时,经常需要保护某些寄存器存器,在采用中断程序时,经常需要保护某些寄存器组,此时采用交换寄存器组的方法很方便快捷,组,此时采用交换寄存器组的方法很方便快捷,C51编译器定义了一个函数编译器定义了一个函数using可方便地用于寄存器组可方便地用于寄存器组的交换。的交换。函数使用指定寄存器组的定义性说明如下:函数使用指定寄存器组的定义性说明如下:void 函数标识符(形参表)函数标识符(形参表)using nn=03为寄存器组号,对应为寄存器组号,对应80C51中的中的4个寄存器组。个寄存器组。3函数使用指定的存储模式函数使用指定的

17、存储模式2/19/202324第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院 修饰存储空间的修饰符,用以指明所定义的变修饰存储空间的修饰符,用以指明所定义的变量应分配在什么样的存储空间,其定义性格量应分配在什么样的存储空间,其定义性格式为:式为:类型说明符类型说明符 函数标识符(形参表)存储模式修函数标识符(形参表)存储模式修饰符饰符small,compact,large 例如:例如:extern int func(int i,int j)large;/*修饰为大模式修饰为大模式*/一般较少采用一般较少采用2/19/202325第第3章章 51单片机单片机C程序设

18、计基础程序设计基础 泉州信息职业技术学院C语言的程序结构语言的程序结构 C语言程序采用函数结构,每个语言程序采用函数结构,每个C语言程序由一个语言程序由一个或多个函数组成,在这些函数中或多个函数组成,在这些函数中1.至少应包含至少应包含一个主函数一个主函数main(),也可以包含一,也可以包含一个个main()函数和若干个其它的功能函数。函数和若干个其它的功能函数。2.不管不管main()函数放于何处,函数放于何处,程序总是从程序总是从main()函函数开始执行数开始执行,执行到,执行到main()函数结束则结束。函数结束则结束。3.在在main()函数中调用其它函数,其它函数也可以函数中调用

19、其它函数,其它函数也可以相互调用,但相互调用,但main()函数只能调用其它的功能函函数只能调用其它的功能函数,而不能被其它的函数所调用。数,而不能被其它的函数所调用。2/19/202326第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院功能函功能函数数主函数主函数功能函数功能函数功能函数功能函数1 fun1()函数体函数体 主函数主函数 main()主函数体主函数体 功能函数功能函数2 fun2()函数体函数体2/19/202328第第3章章 51单片机单片机C程序设计基础程序设计基础 泉

20、州信息职业技术学院 其中,函数往往由其中,函数往往由“函数定义函数定义”和和“函函数体数体”两个部分组成。两个部分组成。1.1.函数定义部分包括有函数类型、函数名、函数定义部分包括有函数类型、函数名、形式参数说明等,函数名后面必须跟一个形式参数说明等,函数名后面必须跟一个圆括号(),形式参数在()内定义。圆括号(),形式参数在()内定义。2.2.函数体由一对花括号函数体由一对花括号“”组成,在组成,在“”的内容就是函数体的内容就是函数体。如果一个函数。如果一个函数内有多个花括号,则最外层的一对内有多个花括号,则最外层的一对“”为函数体的内容。为函数体的内容。2/19/202329第第3章章 5

21、1单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院函数的结构特点函数的结构特点1.C51中的库函数是按中的库函数是按MCS-51单片机相应情况单片机相应情况来定义的;来定义的;2.C51中还增加了几种针对中还增加了几种针对MCS-51单片机特有单片机特有的数据类型的数据类型3.C51中变量的存储模式是与中变量的存储模式是与MCS-51单片机的单片机的存储器紧密相关输入输出指令执行前必须要存储器紧密相关输入输出指令执行前必须要对串行口进行初始化;对串行口进行初始化;4.C51中有专门的中断函数。中有专门的中断

22、函数。2/19/202331第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院 C语言程序在书写时格式十分自由,一条语句可以语言程序在书写时格式十分自由,一条语句可以写成一行,也可以写成几行;还可以一行内写多条写成一行,也可以写成几行;还可以一行内写多条语句;但语句;但1.语句后面必须以分号语句后面必须以分号“;”作为结束符作为结束符。2.C语言程序语言程序对大小写字母比较敏感对大小写字母比较敏感,在程序中,同,在程序中,同一个字母的大小写系统是作不同的处理。一个字母的大小写系统是作不同的处理。3.在程序中可以用在程序中可以用“/*/”或或“/”对对C程序程序中的任何

23、部分作注释,以增加程序的可读性。中的任何部分作注释,以增加程序的可读性。2/19/202332第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院课题训练一课题训练一在练习板上实现下述功能在练习板上实现下述功能:1.按下按键按下按键0,LED 2个(个(3个、个、4个左移);个左移);2.按下按键按下按键1,数码管显示,数码管显示0,逐步左移(右移);,逐步左移(右移);3.更改按键编号,让数码管的按键按下表显示。更改按键编号,让数码管的按键按下表显示。048C159D26AE37BF2/19/202333第第3章章 51单片机单片机C程序设计基础程序设计基础 泉州信息职业技术学院THANK YOU VERY MUCH!本章到此结束,谢谢您的光临!结束放映返回本章首页2/19/202334

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁