单片机的c51语言.pptxVIP

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机的C51语言 1 C51的程序结构 2 C51的数据结构 3 C51仿真开发环境 4 C51初步应用编程 51汇编语言能直接操作单片机的系统硬件,指令执行速度快。但其程序可读性差,且编写、移植困难。 C51是为51系列单片机设计的一种C语言,其特点:结构化语言,代码紧凑——效率可与汇编语言媲美接近真实语言,程序可读性强——易于调试、维护库函数丰富,编程工作量小——产品开发周期短机器级控制能力,功能很强——适合于嵌入式系统开发与汇编指令无关,易于掌握——在单片机基础上上手快C51语言已成为51系列单片机程序开发的主流软件方法。C51与标准C语言对比相同之处:语法规则、程序结构、编程方法差异之处:数据类型、存储模式、中断处理教学安排:① 介绍C51语言的数据结构及C51编程手段;② 介绍单片机I/O口的初步应用及C51编程方法。1 C51的程序结构 2 C51的数据结构 3 C51仿真开发环境 4 C51初步应用编程 LIB(库函数)(头文件)C51(库函数)C51单片机软件系统结构Project(可包含若干程序文件)File_n(*.*)File_1(*.c)Main(函数)Func_1(函数)………用户编程…….…….Func_n(函数)Func_k(函数)编译系统Keil C51(μVionsion3)C51与标准C程序结构完全相同① 程序由函数组成(一个主函数,或一个主函数和若干自定义函数);② 利用预处理命令对变量或函数进行集中定义或说明;③ 函数和变量都需遵循先定义后使用的基本原则;④ 主函数中的所有语句执行完毕,则程序结束。 举例:LED闪烁控制功能预处理命令---------函数说明------------全局变量定义------ 主函数------------ 程序体调用函数------------局部变量定义--------- 程序体------1 C51的程序结构 2 C51的数据结构 1. C51的变量 2. C51的指针3 C51仿真开发环境 4 C51初步应用编程 例如在程序执行过程中,数值可以发生改变的量称为变量。 变量名与存储单元地址相对应,变量值与存储单元的内容相对应。在哈佛结构的存储空间中如何建立变量概念? 存储地址(标准C)存储空间(C51特有)数据格式(C51扩充)作用范围(标准C)C51变量定义的四个要素:【存储种类】 数据类型 【存储类型】 变量名* 方括号项——可以缺省【存储种类】 数据类型 【存储类型】 变量名 ① 自动变量(auto)——在函数内部定义的变量,退出函数后,分配给该变量的存储单元即自行消失(局部变量)。 ② 外部变量(extern)——在函数外部定义的变量,可始终保持变量的数值(全局变量)。 【强调】一个外部变量只能被定义一次,在定义文件之外的地方使用时需用extern进行声明。 ③ 静态变量(static)——静态局部变量/静态全局变量 ④ 寄存器变量(register)——以寄存器为存储空间的变量* 若省略存储种类选项,则变量默认为自动变量 【存储种类】 数据类型 【存储类型】 变量名数据的不同格式叫做数据类型 标准C语言的数据类型* 有符号数类型可以忽略signed标识符C51扩充数据类型:bit、sfr或sfr16、sbit bit 型用bit 定义一个位变量,语法规则如下:bit bit_name [= 常数0~1];例如:bit door = 0 ; //定义一个叫door的变量且初值为0与标准C的变量定义及初始化用法是一致的,例如: int a = 5 ; unsigned char sum = 0x10 ;Sfr或sfr16型sfr定义特殊功能寄存器SFR,语法规则如下: sfr 或 sfr16 sfr_name = 字节地址常数;例如,sfr P0 = 0x80; //定义P0口地址80H sfr PCON = 0x87; //定义PCON地址87H sfr16 DPTR=0x82; //定义DPTR的低端地址82H序号 特殊功能寄存器名称 符号 字节地址 位地址sbit型将SFR范围内的位地址(0x80~0xFF)定义为位变量序号 特殊功能寄存器名称 符号 字节地址 位地址 1)sbit bit_name = 位地址常数; 将位于SFR字节地址内的绝对位地址定义为位变量名。 例如,sbit CY = 0xD7; 序号 特殊功能寄存

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档