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

下载本文档

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

文档简介

C51编程中常用语句的总结1、C51定义SFR定义方法: SFR和sbit1.定义特殊功能寄存器用sfr:sfrpsw=0xd0; /*定义程序状态字PSW的地址为D0H*/sfrTMOD=0 x89; /*定义定时器/计数器方式控制寄存器TMOD的地址为89H*/sfrP1=0 x90;/*定义P1端口的地址是90H*/2 .定义可比特地址的特殊功能寄存器的比特用sbit:sbitcy=0xd7; 定义进位标志CY的地址是D7H*/sbitAC=0 xD06; /*定义辅助进位标志AC的地址是D6H*/sbitRS0=0 xD03; /*定义RS0的地址是D3H*/,标准SFR在reg51.h、reg52.h等头文件中定义,只要文件中包含声明,就可以使用。 例如: #includesbitP10=P10; sbitP12=P12; 主() p10=1; P12=0; PSW=0 x08; ,二、C51定义比特变量使用关键字bit :比特锁定; 将lock定义为位变量*/bitdirection将direction定义为位变量*/注意:不能定义位变量指针,也不能定义位变量数组。 另外,C51编程中常用的语句的总结,C51流控制语句,另一方面,选择语句1.if语句,if (式) 语句; if (式) 文1; else 文2 if (式1)文1; elseif (式2)文2; elseif (式3)文3; elseif (式n)文n; elseelse文n 1; ,C51流控制语句,例1:if(p1!=0)c=20; 例2:PS (PS!=0)c=20; elseelsec=0; 例3:if(a=1)c=10; elseif(a=2)c=20; PS PS (a=3) c=30; PS PS (a=4) c=40; elseelsec=0; C51进程控制语句,switch/case语句switch/case语句的一般形式如下: switch (式) case常数式1 :语句1; break; case常数式2 :文2 break; case常数式n :文n; break; 默认:语句n 1; 、C51流量控制语句,例如在单片机P1端口的P1.0和P1.1上分别连接开关K1、K2、P1.4、P1.5、P1.6和P1.7上发光二极管。 根据K1和K2的状态,决定哪个发光二极管点亮。C51流控制语句、方法1 :在if语句中使用#includevoidmain()chara; a=P1; a=a/*掩码高位6位*/if(a=3)P1=0 x83; elseif(a=2)P1=0 x43; elseif(a=1)P1=0 x23; elseP1=0 x13; ,C51流控制语句,方法在switch/case语句中#includevoidmain()chara; a=P1; a=a/*屏蔽高位6位*/switch(a)case3:P1=0 x83; break; 情况2:P1=0x43; break; 情况1:P1=0x23; break; 情况0:P1=0x13; 、C51过程控制语句、2、循环语句if语句和goto语句goto语句只构成简单的循环,就能与if语句一起实现类型和类型的循环。 构成该型环路loop:if (式) 文gotoloop; 型环loop:构成: 文if (式) gotoloop; 、C51进程控制语句、while语句while语句的一般格式: while (式)语句do-while语句do-while语句的一般格式: do语句while (式)for语句for语句的一般形式: for (式1; 式2; 公式3 )语句,例如:按钮的程序只能执行一次,使用循环程序进行无限循环。 在goto语句中#includevoidmain()chara; 循环: a=P1; a=a/*屏蔽高位6位*/switch(a)case3:P1=0 x83; break; 情况2:P1=0x43; break; 情况1:P1=0x23; break; 情况0:P1=0x13; gotoloop; ,在while语句中#includevoidmain()chara; while(1)a=P1; a=a/*屏蔽上位6位*/switch(a)case3:P1=0 x83; break; 情况2:P1=0x43; break; 情况1:P1=0x23; break; 情况0:P1=0x13; ,While的条件总是为1,表示死锁循环。 在do-while语句中#includevoidmain()chara; doa=P1; a=a ),While的条件总是为1,表示死锁循环。 for语句中的#includevoidmain()chara; for (; a=p 1; a=a/*屏蔽高位6位*/switch(a)case3:P1=0 x83; break; 情况2:P1=0x43; break; 情况1:P1=0x23; break; 情况0:P1=0x13; ,for的条件总是真的,表示死亡循环。、C51结构数据类型、一、数组一维数组一维数组的定义类型指定符数组名要素数; 例如,inta50; 一维数组的初始化inta 5= 1,2,3,4,5 ; /*对所有要素*/intb 6= 1,2,6 ; /*某些元素包含*/intd10; d0=4; d1=-6; /*定义后分配值*/,二维阵列二维阵列的定义类型指定子阵列名行数列数; 例如floata34; 二维数组的初始化inta 3= 1,2,3,4 、 5,6,7,8 、 9,10,11,12 /*全部初始化*/inta 3 4= 1,2,3,4 、 5,6,7,8 ,; /*部分初始化,还可以定义a 2=a 2=a 2=a 2=a 2 3=0*/C51多维数组,还可以定义字符类型数组。 数组是非常有用的数据类型,可以形成容易搜索的数据表。C51函数、一、函数的定义和分类函数的分类标准库函数用户定义的函数用户定义的函数是用户根据自己的需要而创建的函数。 从函数定义的格式(无参数函数、有参数函数、null函数)分割。 函数的定义返回值类型函数名(形式参数列表) 函数体例: intmax(intx,inty,intz )返回值的数据类型为整数,函数名为max,x,y,z为3个整数条目参数。 C51函数、二、C51的库函数C51编译器提供了丰富的库函数,使用这些库函数可以大大提高编程效率,用户可以随时根据需要调用。 每个库函数只需在源程序的开头使用编译预处理命令#include来包含相关的头文件,就能在相应的头文件中描述函数的原型。 例如,要使用公式,只需在程序的开头包含#include文件。 要访问SFR和SFR位,只需要在程序的开头包含#include或#include文件。 C51应用编程示例:外部中断0端子(P3.2 )开关,P1.0发光二极管。 开关闭合一次,发光二极管改变一次状态。 本示例解决了外部中断是如何应用的。 要求:通过程序实现这个功能。#includesbitP10=P10; inti; voidmain()EA=1; EX0=1; while (1) void int _ SRV ()中断0使用1 while (int0=0) for (I=0,i20; I) while(INT0=0)P10=! P10; while(INT0=0) ,总结来说,在本章中,在掌握C51的

温馨提示

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

评论

0/150

提交评论