单片机C语言编程常用语句_第1页
单片机C语言编程常用语句_第2页
单片机C语言编程常用语句_第3页
单片机C语言编程常用语句_第4页
单片机C语言编程常用语句_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c51程式设计一般陈述式摘要,1,c51 sfr定义方法:sfr和sbit 1的两个关键字。用于定义特殊功能寄存器的sfr,例如sfr psw=0 xd0):/*程序状态单词定义psw的地址为d0h */sfr tmod=0 x89;/*计时器/计数器方法定义控制寄存器tmod的地址为89h */sfr p1=0 x90;/*定义的p1端口的地址为90h*/2。定义位可寻址特殊功能寄存器的位是sbit,例如,sbit cy=0 xd7;/*定义舍入标志cy的地址为d7h * d7h */sbit ac=0 xd0 6;是。/*定义次要舍入旗标ac的地址为d6h * d6h */sbit rs0

2、=0 xd0 3;是。/*定义rs0的地址为d3h*/,标准sfr已在头文件(如reg51.h、reg52.h)中定义,只要文件中包含的声明即可使用。例如:# includesbit p10=p10sbit p12=p1 2;main() p10=1;p12=0;psw=0 x08.,2,c51定义的位变量使用关键字位示例:位锁定;将/* lock定义为位变量*/bitdirection。/*将direction定义为位变量*/注意:不能定义位变量指针;您也无法定义位元变数阵列。c51编程常规语句概要,c51进程控制语句,一个,选择语句1.if语句,以下三种形式:if(表达式)语句; if(表

3、达式)语句1; else 门2; if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3;.elseif(表达式n)语句n; else 门n 1;,c51流程控制语句,示例1: if (p1!=0) c=20;示例2: if (p1)!=0) c=20; else c=0;示例3:if(a=1) c=10; else if(a=2) c=20; else if(a=3) c=30; else if(a=4) c=40; else c=0;、c51流程控制语句和switch/case语句switch/case语句的一般形式如下:switch(表达式)cas

4、e常量表达式1:语句1;break;case常量表达式2:语句2;break;case常数表达式n:语句n;break;default:门n 1;,c51流量控制语句,例如单芯片p1端口p1.0和p1.1角度开关k1、k2、p1.4、p1.5、p1.6和p1.7角度发光二极管。k1和k2有不同的状态,以确定哪个指示灯亮起。c51流程控制语句,方法1:使用if语句# include void main() char a;a=p1a=a /*屏蔽高度6位*/if(a=3)p1=0 x83;else if(a=2)p1=0x 43;else if(a=1)p1=0 x23;else p1=0 x13

5、;,c51流程控制语句,方法2:使用switch/case语句执行# include void main() char a;a=p1a=a /*屏蔽高度6位*/交换机(a) case 3:p1=0 x83;break;案例2:p1=0x 43;break;case 1:p1=0 x23;break;case 0:p1=0 x13; 、c51流程控制语句、2、循环语句935if和goto语句goto语句只能配置简单循环,并且可以与if语句一起实现成型循环和端到端循环。930;建构时回路:if(表示式)陈述式goto loop;配置循环循环循环:语句if(表达式)goto loop;,c51流程控

6、制语句, while语句while语句的通用格式:while(表达式)语句935do-while语句的通用格式:do语句while(表达式);for语句for语句的一般形式:for(表达式1;表达式2;表达式3)语句,例如,仅执行一次键击的程序使用循环程序创建无限循环。使用goto语句,输入# include void main() char a;loop:a=p1;a=a /*屏蔽高度6位*/交换机(a) case 3:p1=0 x83;break;案例2:p1=0x 43;break;case 1:p1=0 x23;break;case 0:p1=0 x13; goto loop;,使用w

7、hile语句# include void main() char a;while(1) a=p1;a=a /*屏蔽高度6位*/交换机(a) case 3:p1=0 x83;break;案例2:p1=0x 43;break;case 1:p1=0 x23;break;case 0:p1=0 x13;,在while中,如果条件等于1,则表示死循环。使用do-while语句# include void main() char a;do a=p1a=a ,如果while的条件等于1,则表示死循环。,使用for语句# include void main() char a;for(;) a=p1;a=a

8、/*屏蔽高度6位*/交换机(a) case 3:p1=0 x83;break;案例2:p1=0x 43;break;case 1:p1=0 x23;break;case 0:p1=0 x13;,for的条件始终为true,表示死循环。c51配置数据类型,1,数组9351维数组930;一维数组的定义类型指示符数组名称元素数;范例:int a50;一维阵列的初始化int a 5=1,2,3,4,5 ;/*指定给所有元素*/intb 6=1,2,6 ;/*分配给某些元素*/intd10;d0=4;d1=-6;/*定义后赋值*/,二维数组 3d数组的定义类型指示符数组名称行 列数;范例:float a

9、34;二维阵列的初始化int a34=1,2,3,4,5,6,7,8,9,10,11,12/*全部初始化*/int a34=1,2,3,4,5,6,7,8, ;/*部分初始化,a20=a21=a22=a23=0 */c51定义多维数组或基于字符数组是非常有用的数据类型,可以用来组织容易找到的数据表。c51函数,第一,函数定义和分类函数的分类。标准库函数自定义函数自定义函数是您根据自己的需要编写的函数。除以函数定义的形式(无参数函数、有参数函数和空函数)。函数定义返回值类型函数名(正式参数列表)函数体例如,int max(int x,int y,int z)返回值的数据类型为整数,函数名为max

10、、x、y、z是三个整数条目参数。c51函数,第二,c51的库函数c51编译器提供了丰富的库函数,可以显着提高编程效率,使用户可以根据需要随时调用。每个库函数在其头文件中提供函数原型。您只需在源程序的开头使用编译预处理命令#include包含相关头文件。例如,要使用数学公式,只需在程序开头使用#include文件即可访问sfr和sfr中的位,只需在程序开头使用#include或#include文件即可。c51应用程序编程示例:外部中断0针(p3.2)开关,p1.0 led。开关一关闭,发光二极管就改变一次状态。此示例解决了外部中断的应用方法。要求:对实现此功能进行编程。# include sbit p10=p1 0;int i;void main() ea=1;ex0=1;while(1); void int _ srv()interrupt 0 using 1 while(int 0=0) for(i=0,i220);i);while(int0=0) p10=!p10;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论