版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C51编程中常见语句的总结。首先,C51定义了sfr定义方法:两个关键字:sfr和sbit 1。为特殊功能寄存器定义SFR,例如:sfr PSW=0 xD0;/*将程序状态字PSW的地址定义为d0h */sfrtmod=0x89。/*将定时器/计数器模式控制寄存器TMOD的地址定义为89H */sfr P1=0 x90;/*将P1港的地址定义为90H*/2。定义特殊功能寄存器的位,这些位可以通过位来寻址。例如:sbit CY=0 xD7;/*将进位标志CY的地址定义为D7H */sbit AC=0 xD06;/*将辅助进位标志AC的地址定义为D6H */sbit RS0=0 xD03;/* R
2、S0的地址被定义为D3H*/,并且在头文件中定义了标准的SFR,例如reg51.h和reg52.h,只要通过文件包含声明,就可以使用它们。示例:# include sbit P10=P10sbit P12=P12main()P10=1;P12=0。PSW=0x 08;第二,C51使用关键字定义位变量,如位锁;/*将锁定义为位变量*/bit direction;/*将方向定义为位变量*/注意:无法定义位变量指针;您不能定义位变量数组。C51编程中常见语句的总结,C51流量控制语句,1。选择语句1.if语句有以下三种形式:if(表达式)语句;If(表达式)语句1;Else语句2;If(表达式1)语
3、句1;否则,如果(表达式2)语句2;否则,如果(表达式3)语句3;否则if(表达式n)语句n;Else语句n1;C51过程控制语句,示例1: if (P1!=0)c=20;例2:如果(P1!=0)c=20;否则c=0;例3:如果(a=1)c=10;否则,如果(a=2)c=20;否则,如果(a=3)c=30;否则,如果(a=4)c=40;否则c=0;switch/case语句的一般形式如下:switch(表达式)case常量表达式1:语句1;休息;案例常量表达式2:语句2;休息;大小写常量表达式n:语句n;休息;默认:语句n1;C51流量控制语句,例如:单片机P1端口的P1.0和P1.1分别与开
4、关K1和K2连接,P1.4、P1.5、P1.6和P1.7分别与发光二极管连接。K1和K2有不同的状态来确定哪个发光二极管点亮。C51流控制语句,方法1:用if语句实现# include void main()char a;a=P1;A=a/*屏蔽高位6位*/if(a=3)P1=0x 83;否则,如果(a=2)P1=0x 43;否则如果(a=1)P1=0 x23;否则P1=0 x13;C51流控制语句,方法2:用switch/case语句实现# include void main()char a;a=P1;A=a/*掩码高位6位*/开关(a)情况3:P1=0x 83;休息;案例2:P1=0x 4
5、3;休息;案例1:P1=0 x23;休息;案例0:P1=0x 13;C51流控制语句、循环语句、if语句和goto语句、goto语句只能构成一个简单的循环,并且与if语句一起,既可以实现when-type循环,也可以实现直到-type循环。形成等价的循环:if(表达式)语句gotoloop形成一个直到型循环:语句if(表达式)gotoloop,C51流控制语句,while语句while语句通用格式:while语句do-while语句do-while语句通用格式:do语句while(表达式);for语句的一般形式:for(表达式1;表达式2;表达式3)语句,例如:按键程序只能执行一次,循环程序用
6、于使其循环往复。用goto语句实现#include void main()字符a;循环:a=P1;A=a/*掩码高位6位*/开关(a)情况3:P1=0x 83;休息;案例2:P1=0x 43;休息;案例1:P1=0 x23;休息;案例0:P1=0x 13;goto循环;使用while语句实现# include void main()char a;而(1)a=P1;A=a/*掩码高位6位*/开关(a)情况3:P1=0x 83;休息;案例2:P1=0x 43;休息;案例1:P1=0 x23;休息;案例0:P1=0x 13;而条件总是1,表示无限循环。用do-while语句实现#include vo
7、id main()字符a;P1;条件总是1,这意味着一个无限循环。使用for语句实现# include void main()char a;用于(;)a=P1;A=a/*掩码高位6位*/开关(a)情况3:P1=0x 83;休息;案例2:P1=0x 43;休息;案例1:P1=0 x23;休息;案例0:P1=0x 13;for中的条件始终为真,表示无限循环。C51构造数据类型1。数组一维数组的定义类型描述符的数组名称元素的数量;例如,inta50一维数组int a5的初始化=1,2,3,4,5;/*为所有元素赋值*/int b6=1,2,6;/*为某些元素赋值*/intd10。d0=4;D1=6;
8、/*定义后,赋值*/,定义2D数组2D数组的类型描述符,数组名称的行数和列数;例如浮子a34;Int a34=1,2,3,4,5,6,7,8,9,10,11,12;/*初始化all */int a34=1,2,3,4,5,6,7,8;/*部分初始化,a20=a21=a22=a23=0*/C51也可以定义多维数组或字符数组。数组是一种非常有用的数据类型,可以用来形成一个易于查找的数据表。函数定义和分类标准库函数自定义函数自定义函数是用户根据自己的需要编写的函数。从函数定义的形式来看:非参数函数、参数函数和零函数。函数定义返回值类型函数名(形参表)函数体,例如:int max(int x,int
9、y,int z)返回值的数据类型为整数,函数名为max,x,y,z为整数输入参数。C51编译器提供了丰富的库函数,大大提高了编程效率,用户可以根据需要随时调用。每个库函数的原型在相应的头文件中给出。使用它时,您只需要在源程序的开头用编译预处理命令#include包含相关的头文件。例如,要使用数学公式,只需使用#include文件将其包含在程序的开头。要访问SFR和SFR位,只需在程序开始时使用#include或#include文件即可。C51应用编程示例,示例:外部中断0引脚(P3.2)连接到开关,而P1.0连接到发光二极管。当开关闭合一次时,发光二极管会改变一次状态。这个例子解决了如何应用外部中断。要求:实现该功能的程序。#包括sbit P10=P10int I;空总管()EA=1;EX0=1;而(1);void int_srv()中断0使用1,而(INT0=0)用于(i=0,i220;而(INT0=0) P10=!P10而(INT0=0);本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳药科大学《逻辑学》2025-2026学年期末试卷
- 上海工商职业技术学院《儿童文学》2025-2026学年期末试卷
- 松原职业技术学院《波谱解析》2025-2026学年期末试卷
- 齐齐哈尔高等师范专科学校《公司理财》2025-2026学年期末试卷
- 上海农林职业技术学院《民间文学》2025-2026学年期末试卷
- 上海工会管理职业学院《麻醉解剖学》2025-2026学年期末试卷
- 绥化学院《中国对外贸易史》2025-2026学年期末试卷
- 上海电机学院《特殊教育概论》2025-2026学年期末试卷
- 乌兰察布医学高等专科学校《商业银行经营学》2025-2026学年期末试卷
- 急性胰腺炎治疗管理方案
- 杨修啖酪课件
- 6.2探索2互联网社会与新业态 说课稿 苏科版(2023)初中信息技术七年级下册
- 物业交接表格2
- 驾驶员雨天安全教育培训课件
- 力学性能仿真与实验数据融合的承口弯头疲劳寿命评估新范式探索
- 国网课件培训
- SolidWorks软件介绍讲解
- 交换机的工作原理
- 2025年针灸简答题试题及答案
- 防电信诈骗家长会课件
- 以综合材料赋能小学美术课堂:创新教学与实践探索
评论
0/150
提交评论