单片机C51语言及程序设计ppt课件

  • 格式:ppt
  • 大小:4.58 MB
  • 文档页数:78

下载文档原格式

  / 78
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.
11
C51扩充数据类型:bit、sfr或sfr16、sbit
标准C的变量定义举例:
int a = 5 ;
//定义一个初值为5的整形变量a
定义一个再入函数
.
定义8051的工作寄存器组
7
三、C51的变量及数据类型
1. C51的变量
在程序执行过程中,数值可以发生改变的量称为变量。
例如
变量名与存储单元地址相对应,变量值 与存储单元的内容相对应。
.
8
C51变量定义的四要素: 【存储类别】 数据类型 【存储器类型】 变量名
(标准C) (标准C+C51) (C51特有) (标准C)
• 关键字是一种已被系统使用过的具有特定含义的标识符。 用户不得再用关键字给变量等命名。C语言关键字较少, ANSI C标准一共规定了32个关键字,见表
.
4
ANSI C语言的关键字
关键字 auto break case char const continue default
do double
else enum extern float for goto
计算表达式或数据类型的字节数
静态变量
结构类型数据
构成Switch选择结构
重新进行数据类型定义
联合类型数据
无符号数数据
无类型数据
该变量在程序执行中可被隐含地改变
. 构成while和do…while循环结构
6
Keil C51编译器除了有ANSI C标准的32个关键字外,还根据51单片机的特点扩 展了相应的关键字。在Keil C51开发环境的文本编辑器中编写C程序,系统可 以把保留字以不同的颜色显示,缺省颜色为蓝色。下表为Keil C51编译器扩展 的关键字。
用途 存储种类说明
程序语句 程序语句 数据类型说明 存储种类说明 程序语句 程序语句 程序语句 数据类型说明 程序语句 数据类型说明 存储种类说明 数据类型说明 程序语句 程序语句
说明
用以说明局部变量,缺省值为此
退出最内层循环
Switch语句中的选择项
单字节整型数或字符型数据
在程序执行过程中不可更改的常量值
.
3
二、C51的标识符与关键字
• 标识符即特定的字符或字符串,用来给变量、函数、符号 常量、自定义类型等命名。用标识符给C语言程序中各种对 象命名时,要用字母、下划线和数字组成的字符序列,并 要求首字符是字母或下划线,不能是数字。字母的大小写 是有区别的。
• 通常下划线开头的标识符是编译系统专用的,因此在编写C 语言源程序时一般不使用以下划线开头的标识符,而将下 划线用作分段符。C51编译器规定标识符最长可达255个字 符,但只有前32个字符在编译时有效,因此标识符的长度 一般不要超过32个字符。
关键字 bit sbit sfr
sfr16 data bdata idata pdata xdata code interrupt reentrant using
用途 位标量声明 位变量声明 特殊功能寄存器声明 特殊功能寄存器声明 存储器类型说明 存储器类型说明 存储器类型说明 存储器类型说明 存储器类型说明 存储器类型说明 中断函数声明 再入函数声明 寄存器组定义
–运行于单片机平台,支持的微处理器种类繁多,可移 植性好。对于兼容的8051系列单片机,只要将一个硬 件型号下的程序稍加修改,甚至不加改变,就可移植 到另一个不同型号的单片机中运行。
–具有高级语言的特点,尽量减少底层硬件寄存器的操 作。
–单片机C51语言提供了完备的数据类型、运算符及函数 供使用。
–C51语言代码执行的效率方面十分接近汇编语言,且比 汇编语言的程序易于理解,便于代码共享。
或语句块执行结束后,其分配的内存单元继续保留。 4、register(寄存器型) ——将变量对应的储存单元指定为
通用寄存器,以提高程序运行速度。
缺省存储种类为auto (自动)型变量
.
10
【存储类别】 数据类型 【存储器类型】 数据的不同格式叫做数据类型
标准C语言的数据类型
变量名
* 有符号数类型可以忽略signed标识符
单片机C51语言基础 及C51程序设计
.
1
主要内容:
• C51语言概述 • C51的标识符与关键字 • C51的变量及数据类型 • C51的运算符及表达式 • C51的程序结构 • C51开发环境 • C51编程实例
.
2
一、C51语言概述
–单片机C51语言是ANSI C的扩展。
–C51语言除了具有C语言的优点外,同时具有汇编语言 的硬件操作能力。
转向下一次循环
Switch语句中的失败选择项
构成 do…while循环结构
双精度浮点数
构成 if…else选择结构
枚举类型
在其他程序模块中说明了的全局变量
单精度浮点数
构成for循环结构
.
构成goto转移结构
5
if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
说明
声明一个位标量或位类型的函数
声明一个可Hale Waihona Puke Baidu寻址变量
声明一个特殊功能寄存器(8位)
声明一个16位的特殊功能寄存器
直接寻址的8051内部数据存储器
可位寻址的8051内部数据存储器
间接寻址的8051内部数据存储器
“分页”寻址的8051外部数据存储器
8051外部数据存储器
8051程序存储器
定义一个中断函数
程序语句 数据类型说明 数据类型说明 存储种类说明
程序语句 数据类型说明 数据类型说明
运算符 存储种类说明 数据类型说明
程序语句 数据类型说明 数据类型说明 数据类型说明 数据类型说明 数据类型说明
程序语句
构成 if…else选择结构
基本整型数
长整型数
使用CPU内部寄存器的变量
函数返回
短整型数
有符号数,二进制数据的最高位为符号位
* 括号项——可以缺省(但需有缺省值)
.
9
【存储类别】 数据类型 【存储器类型】 变量名
共有四个说明符: 1、auto(自动型)——变量的作用范围在定义它的函数体或
语句块内。执行结束后,变量所占内存即被释放。 2、extern(外部型) ——在一个源文件中被定义为外部型的
变量,在其它源文件中需要通过extern说明方可使用。 3、static(静态型) ——利用static可使变量定义所在的函数