11~12年度阶段2第2次课-3单片机C语言程序设计.ppt

11~12年度阶段2第2次课-3单片机C语言程序设计.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11~12年度阶段2第2次课-3单片机C语言程序设计

* 课程:电子工程设计I 8051单片机C语言程序设计 张 辉 电控学院 电工电子实验教学中心 2011年10月 * * 设计小型温度测量与控制系统——典型电子系统 * 关于课程“电子工程设计I” * C51是针对51系列单片机的C语言 比较常用的C51编译器有Keil C51和Franklin C51,两者完全支持C的标准指令。 C51与汇编语言对比 降低系统开发难度 用户不必熟知处理器指令集 寄存器的分配及各种变量和数据的寻址都有编译器完成 具有选择特定操作符操作变量的能力,代码结构清晰易读 程序可移植性好 * 8051单片机C语言程序设计 * C51与ANSI C对比(由于单片机应用与PC机应用的不同) PC机主要用于数据处理与数据交换 基本上不需要与硬件发生关系 单片机主要用于过程控制与数据采集 主要进行硬件控制以及绝对地址的数据访问 * 单片机以SFR映射的形式实现其丰富的功能! 单片机的资源应用与管理过程,实质上是SFR的读写访问过程! 在单片机汇编语言程序设计中: 从汇编、ANSI C到C51的过渡,关键是将汇编中对硬件资源(SFR)的操作转换成C中对变量的操作。 * C51的程序结构 * * C51中的关键字 * * 单片机C51语言扩展的关键字 * 数据类型 存储类型 函数相关 * 单片机C51语言对ANSI C的扩展 C51编译器是一个兼容ANSI的编译器,为了支持8051系列单片机,加入了一些扩展内容。包括: 存储类型 数据类型 指针 中断服务程序 * * 存储类型 存储类型用于指明变量所处的单片机的存储器区域情况。C51编译器能识别的存储类型: * 存储类型 描 述 data 直接寻址的片内RAM低128B,访问速度最快,0~7FH(缺省类型) idata 间接寻址(@Ri)访问的片内RAM,允许访问全部片内RAM,0~FFH bdata 片内RAM的可位寻址区,允许字节和位混合访问,20H~2FH pdata 用Ri间接访问的片外RAM的低256B,片外分页寻址RAM256B,浮动 xdata 用DPTR间接访问的片外RAM,允许访问全部64k片外RAM,0~FFFFH code 程序存储器ROM64k空间,0~FFFFH C51数据定义格式: 数据类型 存储类型 变量标识符 例:int xdata a; 存储类型 数据类型 变量标识符 例:xdata int a; * 不同存储类型与存储资源对应关系 * 外ROM 内ROM 64KB 无 8KB 4KB code 外RAM 64KB xdata pdata 256B 内RAM 128B 内RAM data 128B idata 256B SFR 128B bdata 16B * 存储模式 存储模式决定了变量的默认存储类型,此存储类型应用于函数参数、局部变量以及定义时未包含存储类型的变量。 在定义变量时,若显式定义了变量的存储类型,存储模式中指定的默认存储类型将被屏蔽。存储模式有三种: SMALL(小)模式 所有变量默认存放在data中。此模式访问速度快,但所以数据对象包括堆栈都必须放在内部RAM,堆栈空间面临溢出。 COMPACT(紧凑)模式 所有变量默认存放在pdata中。地址高字节有P2输出,此模式最多提供256B的变量 LARGE(大)模式 所有变量默认存放在xdata中。访问效率低,此数据访问类型比SMALL和COMPACT模式占用更多的代码长度。 * * 存储模式与存储类型的选择建议 数据存储模式 — 选择SMALL模式 数据存储类型 常量(含数组):code 类型 经常使用的变量:data 类型(默认) 使用频度低的变量:idata 类型 内RAM容不下的变量:xdata 类型 需要位处理的变量:bdata 类型 变量数组:xdata 类型 * * C51编译器能够识别的基本数据类型 基本数据类型 长度 取值范围 unsigned char 1字节 0~255 signed char 1字节 -128~+127 unsigned int 2字节 0~65535 signed int 2字节 -32768~+32767 unsigned long 4字节 0~4294967295 signed long 4字节 -2147483648~+2147483647 float 4字节 ?1.175494E-38~?3.402823E+38 sfr 1字节 0~255 sfr16 2字节 0~65535 bit 1位 0或1 sbit 1位 0或1 * * 特殊功能寄存器的数据类型:sfr/sfr16 C

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档