单片机C语言常用语句详解.ppt

上传人:jun****875 文档编号:7632542 上传时间:2020-03-23 格式:PPT 页数:22 大小:167.50KB
返回 下载 相关 举报
单片机C语言常用语句详解.ppt_第1页
第1页 / 共22页
单片机C语言常用语句详解.ppt_第2页
第2页 / 共22页
单片机C语言常用语句详解.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
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的数据类型 C51的数据存储类型 C51的存储模式 C51对SFR的定义 C51对位变量的定义 在这些方面与标准C语言有很大不同 至于其他规则与标准C语言是基本一致的 了解C51的库函数 学习时应特别强调C51如何操作基本I O口 如何进行位操作和对特殊功能寄存器的操作 掌握C51下定时器 计数器的应用及中断的使用方法
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!