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

下载本文档

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

文档简介

C51编程常用语句总结 一 C51定义SFR定义方法 两个关键字 sfr和sbit1 定义特殊功能寄存器用sfr例如 sfrPSW 0 xD0 定义程序状态字PSW的地址为D0H sfrTMOD 0 x89 定义定时器 计数器方式控制寄存器TMOD的地址为89H sfrP1 0 x90 定义P1口的地址为90H 2 定义可位寻址的特殊功能寄存器的位用sbit例如 sbitCY 0 xD7 定义进位标志CY的地址为D7H sbitAC 0 xD0 6 定义辅助进位标志AC的地址为D6H sbitRS0 0 xD0 3 定义RS0的地址为D3H 标准SFR在reg51 h reg52 h等头文件中已经被定义 只要用文件包含做出声明即可使用 例如 includesbitP10 P1 0 sbitP12 P1 2 main P10 1 P12 0 PSW 0 x08 二 C51定义位变量使用关键字bit例如 bitlock 将lock定义为位变量 bitdirection 将direction定义为位变量 注意 不能定义位变量指针 也不能定义位变量数组 C51编程常用语句总结 C51流程控制语句 一 选择语句1 if语句以下三种形式 if 表达式 语句 if 表达式 语句1 else 语句2 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式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 elseif a 2 c 20 elseif a 3 c 30 elseif a 4 c 40 else c 0 C51流程控制语句 switch case语句switch case语句的一般形式如下 switch 表达式 case常量表达式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流程控制语句 方法一 用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 case2 P1 0 x43 break case1 P1 0 x23 break case0 P1 0 x13 C51流程控制语句 二 循环语句 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 loop a P1 a a 屏蔽高6位 switch a case3 P1 0 x83 break case2 P1 0 x43 break case1 P1 0 x23 break case0 P1 0 x13 gotoloop 用while语句实现 includevoidmain chara while 1 a P1 a a 屏蔽高6位 switch a case3 P1 0 x83 break case2 P1 0 x43 break case1 P1 0 x23 break case0 P1 0 x13 While中的条件恒为1 表示死循环 用do while语句实现 includevoidmain chara do a P1 a a While中的条件恒为1 表示死循环 用for语句实现 includevoidmain chara for a P1 a a 屏蔽高6位 switch a case3 P1 0 x83 break case2 P1 0 x43 break case1 P1 0 x23 break case0 P1 0 x13 for中的条件恒为真 表示死循环 C51构造数据类型 一 数组 一维数组 一维数组的定义类型说明符数组名 元素个数 如 inta 50 一维数组的初始化inta 5 1 2 3 4 5 给全部元素赋值 intb 6 1 2 6 给部分元素赋值 intd 10 d 0 4 d 1 6 定义完后再赋值 二维数组 二维数组的定义类型说明符数组名 行数 列数 如 floata 3 4 二维数组的初始化inta 3 4 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 0 a 2 1 a 2 2 a 2 3 0 C51还可以定义多维数组 也可以定义字符型数组 数组是十分有用的数据类型 用它可以形成容易查找的数据表格 C51函数 一 函数的定义与分类 函数的分类 标准库函数 用户自定义函数用户自定义函数是用户根据自己的需要而编写的函数 从函数定义的形式上划分 无参数函数 有参数函数和空函数 函数的定义返回值类型函数名 形式参数列表 函数体 例如 intmax intx inty intz 返回值的数据类型为整型 函数名为max x y z为 个整型入口参数 C51函数 二 C51的库函数C51编译器提供了丰富的库函数 使用这些库函数大大提高了编程效率 用户可以根据需要随时调用 每个库函数都在相应的头文件中给出了函数的原型 使用时只需在源程序的开头用编译预处理命令 include将相关的头文件包含进来即可 例如 要使用数学公式 只需要在程序开头使用 include文件包含就可以了 要访问SFR和SFR的位 则只需要在程序开头使用 include或 include文件包含 C51应用编程实例 例 外部中断0引脚 P3 2 接一个开关 P1 0接一个发光二极管 开关闭合一次 发光二极管改变一次状态 本例解决外部中断如何应用 要求 编程实现此功能 includesbitP10 P1 0 inti voidmain EA 1 EX0 1 while 1 voidint srv interrupt0using1 while INT0 0 for i 0 i 220 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

提交评论