单片机C语言编程常用语句

上传人:工**** 文档编号:569399104 上传时间:2024-07-29 格式:PPT 页数:23 大小:149.50KB
返回 下载 相关 举报
单片机C语言编程常用语句_第1页
第1页 / 共23页
单片机C语言编程常用语句_第2页
第2页 / 共23页
单片机C语言编程常用语句_第3页
第3页 / 共23页
单片机C语言编程常用语句_第4页
第4页 / 共23页
单片机C语言编程常用语句_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《单片机C语言编程常用语句》由会员分享,可在线阅读,更多相关《单片机C语言编程常用语句(23页珍藏版)》请在金锄头文库上搜索。

1、C51编程常用语句总结一、一、一、一、C51C51定义定义定义定义SFRSFR定义方法:两个关键字:定义方法:两个关键字:定义方法:两个关键字:定义方法:两个关键字:sfrsfr和和和和sbitsbit1.1.定义特殊功能寄存器用定义特殊功能寄存器用定义特殊功能寄存器用定义特殊功能寄存器用sfrsfr例如:例如:例如:例如:sfr PSW=0xD0sfr PSW=0xD0;/*/*定义程序状态字定义程序状态字定义程序状态字定义程序状态字PSWPSW的地址为的地址为的地址为的地址为D0H*/D0H*/sfr TMOD=0x89sfr TMOD=0x89;/*/*定义定时器定义定时器定义定时器定义

2、定时器/ /计数器方式控制寄存器计数器方式控制寄存器计数器方式控制寄存器计数器方式控制寄存器TMODTMOD的地址为的地址为的地址为的地址为89H*/89H*/sfr P1=0x90sfr P1=0x90;/*/*定义定义定义定义P1P1口的地址为口的地址为口的地址为口的地址为90H*/90H*/2.2.定义可位寻址的特殊功能寄存器的位用定义可位寻址的特殊功能寄存器的位用定义可位寻址的特殊功能寄存器的位用定义可位寻址的特殊功能寄存器的位用sbitsbit例如:例如:例如:例如:sbit CY=0xD7sbit CY=0xD7;/*/*定义进位标志定义进位标志定义进位标志定义进位标志CYCY的地

3、址为的地址为的地址为的地址为D7H*/D7H*/sbit AC=0xD06sbit AC=0xD06;/*/*定义辅助进位标志定义辅助进位标志定义辅助进位标志定义辅助进位标志ACAC的地址为的地址为的地址为的地址为D6H*/D6H*/sbit RS0=0xD03sbit RS0=0xD03;/*/*定义定义定义定义RS0RS0的地址为的地址为的地址为的地址为D3H*/ D3H*/ 单片机单片机C C语言编程常用语句语言编程常用语句 标准标准标准标准SFRSFR在在在在reg51.hreg51.h、reg52.h reg52.h 等头文件中等头文件中等头文件中等头文件中已经被定义,只要用文件包含

4、做出声明即可使已经被定义,只要用文件包含做出声明即可使已经被定义,只要用文件包含做出声明即可使已经被定义,只要用文件包含做出声明即可使用。用。用。用。例如:例如:例如:例如:#include #include sbit P10=P10;sbit P10=P10;sbit P12=P12;sbit P12=P12;main()main() P10=1;P10=1;P12=0;P12=0;PSW=0x08;PSW=0x08; 单片机单片机C C语言编程常用语句语言编程常用语句二、二、C51C51定义位变量定义位变量使用关键字使用关键字bitbit例如:例如:bit lockbit lock;/*/

5、*将将将将locklock定义为位变量定义为位变量定义为位变量定义为位变量*/*/bit directionbit direction;/*/*将将将将directiondirection定义为位变定义为位变定义为位变定义为位变量量量量*/*/ 注意:不能定义位变量指针;也不能定义位变注意:不能定义位变量指针;也不能定义位变注意:不能定义位变量指针;也不能定义位变注意:不能定义位变量指针;也不能定义位变量数组。量数组。量数组。量数组。C51编程常用语句总结编程常用语句总结单片机单片机C C语言编程常用语句语言编程常用语句 C51流程控制语句 一、选择语句一、选择语句1.if1.if语句语句语句

6、语句以下三种形式:以下三种形式:以下三种形式:以下三种形式:ifif(表达式)(表达式)(表达式)(表达式) 语句;语句;语句;语句; ifif(表达式)(表达式)(表达式)(表达式) 语句语句语句语句1 1; else else 语句语句语句语句2 2; ifif(表达式(表达式(表达式(表达式1 1) 语句语句语句语句1 1; else ifelse if(表达式(表达式(表达式(表达式2 2) 语句语句语句语句2 2; else if else if(表达式(表达式(表达式(表达式3 3) 语句语句语句语句3 3; else ifelse if(表达式(表达式(表达式(表达式n n) 语

7、句语句语句语句n n; else else 语句语句语句语句n+1n+1; 单片机单片机C C语言编程常用语句语言编程常用语句 C51流程控制语句例例例例1 1: if (p1!=0)if (p1!=0) c=20; c=20;例例例例2 2: if (p1!=0)if (p1!=0) c=20;c=20; elseelse c=0;c=0;例例例例3 3: if (a=1) c=10;if (a=1) c=10; else if (a=2) c=20;else if (a=2) c=20; else if (a=3) c=30;else if (a=3) c=30; else if (a=4

8、) c=40;else if (a=4) c=40; else c=0; else c=0; 单片机单片机C C语言编程常用语句语言编程常用语句C51流程控制语句 switch/case switch/case语句语句语句语句switch/caseswitch/case语句的一般形式如下:语句的一般形式如下:switchswitch(表达式)(表达式) case case 常量表达式常量表达式常量表达式常量表达式1 1:语句:语句:语句:语句1 1; break break;case case 常量表达式常量表达式常量表达式常量表达式2 2:语句:语句:语句:语句2 2; break brea

9、k;case case 常量表达式常量表达式常量表达式常量表达式n n:语句:语句:语句:语句n n; break break;default default :语句:语句:语句:语句n+1n+1; 单片机单片机C C语言编程常用语句语言编程常用语句 C51流程控制语句例:单片机例:单片机例:单片机例:单片机P1P1口的口的口的口的P1.0P1.0和和和和P1.1P1.1各接一个开关各接一个开关各接一个开关各接一个开关K1K1、K2K2,P1.4P1.4、P1.5P1.5、P1.6P1.6和和和和P1.7P1.7各接各接各接各接一只发光二极管。有一只发光二极管。有一只发光二极管。有一只发光二极

10、管。有K1K1和和和和K2K2的不同状态来确的不同状态来确的不同状态来确的不同状态来确定哪个发光二极管被点亮。定哪个发光二极管被点亮。定哪个发光二极管被点亮。定哪个发光二极管被点亮。K2K2K1K1亮的二极管亮的二极管0 00 0L1L10 01 1L2L21 10 0L3L31 11 1L4L4单片机单片机C C语言编程常用语句语言编程常用语句 C51流程控制语句方法一:用方法一:用方法一:用方法一:用ifif语句实现语句实现语句实现语句实现#include #include void main()void main() char a;char a;a=P1;a=P1;a=a&0x03;a=

11、a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位*/*/if (a=3) P1=0x83if (a=3) P1=0x83; else if (a=2) P1=0x43 else if (a=2) P1=0x43; else if (a=1) P1=0x23else if (a=1) P1=0x23; else P1=0x13 else P1=0x13; 单片机单片机C C语言编程常用语句语言编程常用语句C51流程控制语句流程控制语句方法二:用方法二:用方法二:用方法二:用switch/caseswitch/case语句实现语句实现语句实现语句实现#include #include

12、void main()void main() char a;char a;a=P1;a=P1;a=a&0x03;a=a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位*/*/switch (a)switch (a) case 3case 3:P1=0x83P1=0x83;breakbreak; case 2case 2:P1=0x43P1=0x43;breakbreak; case 1case 1:P1=0x23P1=0x23;breakbreak;case 0case 0:P1=0x13P1=0x13; 单片机单片机C C语言编程常用语句语言编程常用语句C51流程控制语句二、循环语

13、句二、循环语句二、循环语句二、循环语句 if if语句和语句和语句和语句和gotogoto语句语句语句语句gotogoto语句只能构成简单循环,与语句只能构成简单循环,与语句只能构成简单循环,与语句只能构成简单循环,与ifif语句一起可语句一起可语句一起可语句一起可以实现当型和直到型循环。以实现当型和直到型循环。以实现当型和直到型循环。以实现当型和直到型循环。 构成当型循环构成当型循环构成当型循环构成当型循环looploop:ifif(表达式)(表达式)(表达式)(表达式) 语句语句语句语句goto loopgoto loop; 构成直到型循环构成直到型循环构成直到型循环构成直到型循环loop

14、loop: 语句语句语句语句 if if(表达式)(表达式)(表达式)(表达式)goto loopgoto loop; 单片机单片机C C语言编程常用语句语言编程常用语句 C51流程控制语句 while while语句语句whilewhile语句的一般格式:语句的一般格式:whilewhile(表达式)语句(表达式)语句 do-while do-while语句语句do-whiledo-while语句一般格式:语句一般格式: do do 语句语句 while while (表达式);(表达式); for for语句语句forfor语句的一般形式:语句的一般形式: for for (表达式(表达式

15、1 1;表达式;表达式2 2;表达式;表达式3 3)语句)语句先计算表达式的值,若其值先计算表达式的值,若其值为非为非0,则执行内嵌语句,则执行内嵌语句(循环),若其值为(循环),若其值为0,则,则退出退出while循环循环。先执行内嵌的语句,先执行内嵌的语句, 若若表达式的值为非表达式的值为非0时,则时,则循环;当表达式的值为循环;当表达式的值为0时,则结束循环,执行时,则结束循环,执行do-while语句下面的语句。语句下面的语句。 单片机单片机C C语言编程常用语句语言编程常用语句举例:例按键的程序只能执行一遍,使用循环程序使举例:例按键的程序只能执行一遍,使用循环程序使举例:例按键的程

16、序只能执行一遍,使用循环程序使举例:例按键的程序只能执行一遍,使用循环程序使其无穷循环下去。其无穷循环下去。其无穷循环下去。其无穷循环下去。用用用用gotogoto语句实现语句实现语句实现语句实现#include #include void main()void main() char a;char a;looploop:a=P1;a=P1;a=a&0x03;a=a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位*/*/switch (a)switch (a) case 3case 3:P1=0x83P1=0x83;breakbreak;case 2case 2:P1=0x43P1=

17、0x43;breakbreak;case 1case 1:P1=0x23P1=0x23;breakbreak;case 0case 0:P1=0x13P1=0x13; goto loopgoto loop; 单片机单片机C C语言编程常用语句语言编程常用语句用用用用whilewhile语句实现语句实现语句实现语句实现#include #include void main()void main() char a;char a;while (1)while (1) a=P1; a=P1; a=a&0x03; a=a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位* */ / switch

18、 (a) switch (a) case 3case 3:P1=0x83P1=0x83;breakbreak; case 2case 2:P1=0x43P1=0x43;breakbreak; case 1case 1:P1=0x23P1=0x23;breakbreak; case 0case 0:P1=0x13P1=0x13; While中的条件恒为中的条件恒为1,表示,表示死循环。死循环。单片机单片机C C语言编程常用语句语言编程常用语句用用用用do-whiledo-while语句实现语句实现语句实现语句实现#include #include void main()void main() c

19、har a; char a; do do a=P1; a=P1; a=a&0x03; a=a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位* */ / switch (a) switch (a) case 3case 3:P1=0x83P1=0x83;breakbreak;case 2case 2:P1=0x43P1=0x43;breakbreak;case 1case 1:P1=0x23P1=0x23;breakbreak;case 0case 0:P1=0x13P1=0x13; while (1);while (1); While中的条件恒为中的条件恒为1,表示死循环。表示死循

20、环。单片机单片机C C语言编程常用语句语言编程常用语句用用用用forfor语句实现语句实现语句实现语句实现#include #include void main()void main() char a;char a;for (for (; ;) ) a=P1;a=P1;a=a&0x03;a=a&0x03;/*/*屏蔽高屏蔽高屏蔽高屏蔽高6 6位位位位* */ /switch (a)switch (a) case 3case 3:P1=0x83P1=0x83;breakbreak;case 2case 2:P1=0x43P1=0x43;breakbreak;case 1case 1:P1=0x2

21、3P1=0x23;breakbreak;case 0case 0:P1=0x13P1=0x13; for中的条件恒为真,表示中的条件恒为真,表示死循环。死循环。单片机单片机C C语言编程常用语句语言编程常用语句C51构造数据类型一、数组一、数组一、数组一、数组 一维数组一维数组一维数组一维数组 一维数组的定义一维数组的定义一维数组的定义一维数组的定义 类型说明符类型说明符类型说明符类型说明符 数组名数组名数组名数组名 元素个数元素个数元素个数元素个数 ;如:如:如:如:int a50int a50; 一维数组的初始化一维数组的初始化一维数组的初始化一维数组的初始化 int a5=1int a5

22、=1,2 2,3 3,4 4,55;/*/*给全部给全部给全部给全部元素赋值元素赋值元素赋值元素赋值*/*/int b6=1int b6=1,2 2,66;/*/*给部分元素赋值给部分元素赋值给部分元素赋值给部分元素赋值*/*/int d10int d10;d0=4d0=4;d1=d1=6 6; /*/*定义完后再赋值定义完后再赋值定义完后再赋值定义完后再赋值*/*/单片机单片机C C语言编程常用语句语言编程常用语句 二维数组二维数组二维数组二维数组 二维数组的定义二维数组的定义二维数组的定义二维数组的定义类型说明符类型说明符类型说明符类型说明符 数组名数组名数组名数组名 行数行数行数行数 列

23、数列数列数列数 ;如:如:如:如:float a34float a34; 二维数组的初始化二维数组的初始化二维数组的初始化二维数组的初始化int a34=1int a34=1,2 2,3 3,44,55,6 6,7 7,88,99,1010,1111,1212;/*/*全部初始化全部初始化全部初始化全部初始化*/ */ int a34=1int a34=1,2 2,3 3,44,55,6 6,7 7,88,;/*/*部分初始化,部分初始化,部分初始化,部分初始化,a20= a21= a20= a21= a22= a23= 0*/a22= a23= 0*/C51C51还可以定义多维数组,也可以定

24、义字符型数组。还可以定义多维数组,也可以定义字符型数组。还可以定义多维数组,也可以定义字符型数组。还可以定义多维数组,也可以定义字符型数组。数组是十分有用的数据类型,用它可以形成容易查找的数组是十分有用的数据类型,用它可以形成容易查找的数组是十分有用的数据类型,用它可以形成容易查找的数组是十分有用的数据类型,用它可以形成容易查找的数据表格。数据表格。数据表格。数据表格。单片机单片机C C语言编程常用语句语言编程常用语句C51函数一、一、一、一、函数的定义与分类函数的定义与分类 函数的分类函数的分类函数的分类函数的分类 标准库函数标准库函数标准库函数标准库函数 用户自定义函数用户自定义函数用户自

25、定义函数用户自定义函数n n用户自定义函数是用户根据自己的需要而编写的函数。用户自定义函数是用户根据自己的需要而编写的函数。用户自定义函数是用户根据自己的需要而编写的函数。用户自定义函数是用户根据自己的需要而编写的函数。n n从函数定义的形式上划分:无参数函数、有参数函数从函数定义的形式上划分:无参数函数、有参数函数从函数定义的形式上划分:无参数函数、有参数函数从函数定义的形式上划分:无参数函数、有参数函数和空函数。和空函数。和空函数。和空函数。 函数的定义函数的定义函数的定义函数的定义 返回值类型返回值类型返回值类型返回值类型 函数名(形式参数列表)函数名(形式参数列表)函数名(形式参数列表

26、)函数名(形式参数列表) 函数体函数体函数体函数体 例如:例如:例如:例如:int maxint max(int xint x,int yint y,int zint z)返回值的数据类型为整型,函数名为返回值的数据类型为整型,函数名为返回值的数据类型为整型,函数名为返回值的数据类型为整型,函数名为maxmax,x x、y y、z z为个整型入口参数。为个整型入口参数。为个整型入口参数。为个整型入口参数。单片机单片机C C语言编程常用语句语言编程常用语句C51函数二、二、二、二、C51C51的库函数的库函数的库函数的库函数C51C51编译器提供了丰富的库函数,使用这些库函数编译器提供了丰富的库

27、函数,使用这些库函数编译器提供了丰富的库函数,使用这些库函数编译器提供了丰富的库函数,使用这些库函数大大提高了编程效率,用户可以根据需要随时调用。每大大提高了编程效率,用户可以根据需要随时调用。每大大提高了编程效率,用户可以根据需要随时调用。每大大提高了编程效率,用户可以根据需要随时调用。每个库函数都在相应的头文件中给出了函数的原型,个库函数都在相应的头文件中给出了函数的原型,个库函数都在相应的头文件中给出了函数的原型,个库函数都在相应的头文件中给出了函数的原型,使用使用使用使用时只需在源程序的开头用编译预处理命令时只需在源程序的开头用编译预处理命令时只需在源程序的开头用编译预处理命令时只需在

28、源程序的开头用编译预处理命令#include#include将将将将相关的头文件包含进来即可。相关的头文件包含进来即可。相关的头文件包含进来即可。相关的头文件包含进来即可。 例如,要使用数学公式,只需要在程序开头使用例如,要使用数学公式,只需要在程序开头使用例如,要使用数学公式,只需要在程序开头使用例如,要使用数学公式,只需要在程序开头使用#include #include 文件包含就可以了。要访问文件包含就可以了。要访问文件包含就可以了。要访问文件包含就可以了。要访问SFRSFR和和和和SFRSFR的位,则只需要在程序开头使用的位,则只需要在程序开头使用的位,则只需要在程序开头使用的位,则只

29、需要在程序开头使用#include #include 或或或或#include #include 文件包含。文件包含。文件包含。文件包含。单片机单片机C C语言编程常用语句语言编程常用语句C51应用编程实例例:例: 外部中断外部中断0 0引脚(引脚(P3.2P3.2)接一个开)接一个开关,关,P1.0P1.0接一个发光二极管。开关闭合接一个发光二极管。开关闭合一次,发光二极管改变一次状态。一次,发光二极管改变一次状态。本例解决外部中断如何应用。本例解决外部中断如何应用。 要求:编程实现此功能。要求:编程实现此功能。单片机单片机C C语言编程常用语句语言编程常用语句#include sbit P

30、10=P10;int i;void main()()EA=1; EX0=1; while(1););void int_srv( )interrupt 0 using 1while(INT0=0) for(i=0,i220;i+); while(INT0=0) P10=!P10; while(INT0=0); 单片机单片机C C语言编程常用语句语言编程常用语句小小 结结本章要求:本章要求:本章要求:本章要求:掌握掌握掌握掌握C51C51的数据类型、的数据类型、的数据类型、的数据类型、C51C51的数据存储类型、的数据存储类型、的数据存储类型、的数据存储类型、C51C51的的的的存储模式、存储模式

31、、存储模式、存储模式、C51C51对对对对SFRSFR的定义、的定义、的定义、的定义、C51C51对位变量的定义,对位变量的定义,对位变量的定义,对位变量的定义,在这些方面与标准在这些方面与标准在这些方面与标准在这些方面与标准C C语言有很大不同,至于其他规则与语言有很大不同,至于其他规则与语言有很大不同,至于其他规则与语言有很大不同,至于其他规则与标准标准标准标准C C语言是基本一致的;语言是基本一致的;语言是基本一致的;语言是基本一致的;了解了解了解了解C51C51的库函数;的库函数;的库函数;的库函数;学习时应特别强调学习时应特别强调学习时应特别强调学习时应特别强调C51C51如何操作基本如何操作基本如何操作基本如何操作基本I/OI/O口,如何进口,如何进口,如何进口,如何进行位操作和对特殊功能寄存器的操作,掌握行位操作和对特殊功能寄存器的操作,掌握行位操作和对特殊功能寄存器的操作,掌握行位操作和对特殊功能寄存器的操作,掌握C51C51下定下定下定下定时器时器时器时器/ /计数器的应用及中断的使用方法。计数器的应用及中断的使用方法。计数器的应用及中断的使用方法。计数器的应用及中断的使用方法。单片机单片机C C语言编程常用语句语言编程常用语句此课件下载可自行编辑修改,供参考!此课件下载可自行编辑修改,供参考!感谢你的支持,我们会努力做得更好!感谢你的支持,我们会努力做得更好!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号