C51单片机程序设计概述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Keil C51简介及软件设计 4.1 Keil开发工具简介 4.1.2 启动程序 4.1.3 工作环境介绍 4.2 单片机软件开发流程 创建工程项目-设置项目文件-编译与连接软件-调试软件 4.2 单片机软件开发流程 4.2.1 建立工程 4.2.2 建立源代码文件 4.2.3 工程设置 4.2.4 软件的编译与连接 4.3 软件的调试 第五章 C51程序设计基础 5.1 C程序设计的基本概念 C语言是一种通用的计算机程序设计语言,在国际上十分 流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。 C5l是在5l系列单片机上使用的C语言。 C51程序结构与一般C语言没有什么差别。一个C5l程序大体上是一个函数定义的集合,在这个集合中仅有一个名为main的函数(主函数)。主函数是程序的入口,主函数中 的所有语句执行完毕,则程序执行结束。 C51中使用的编译器主要是Keil C5l。Keil C51完全支持C的标准指令,并有很多用来优化805l指令结构的C的扩展指令。 5.1.1 主函数(C51的程序结构) 预处理命令 #includereg51.h 函数说明 long funl(); float fun2(); 功能函数1 fun1() { 函数体 …. } 主函数 main() { 函数体 …… } 功能函数2 fun2() { 函数体 …….. } 5.1.2 标识符和关键字 包括c语言ANSI C标准规定的32个关键字: Auto,break,case,char,const, continue,default,do,double,else, enum,extern,float,for,goto,if,int, long,register,return,short,signed, sizeof,static,struct,switch,typedef, union,unsigned,void,volatile,while C51编译器除了支持ANSI C标准的关键字以 外,还扩展了13个关键字。 C51扩展的关键字 5.1.3 数据类型长度 Keil编译器除了少数一些关键地方外,基本类似于ANSI C,差异主要是Keil可以让用户针对8051的结构进行程序设计,其它差异主要是8051的一些局限引起的。 KeilC 有ANSI C 的所有标准数据类型,除此之外,为了更加有利地利用805l的结构还加入了一些特殊的数据类型。 除了标准数据类型外,C5l编译器还支持一种位数据类型。一个位变量存在于内部RAM的可位寻址区中。可像操作其它变量那样对位变量进行操作。 位数组和位指针是违法的。 C5l语言的扩展 C5l是一个兼容ANSI 的编译器,为了支持8O5l系列MCU,加入了一些扩展的内容。C5l编译器的扩展内容包括: 数据类型 存储器类型 指针 重入函数 中断服务程序 实时操作系统 特殊功能寄存器的数据类型 bit: 定义一个位变量或函数(地址自动分配) sbit: 定义可位寻址RAM和特殊功能寄存器的位变量 (类似给地址一个别名)。 例如可: bit ksw 但不能 sbit ksw 而只能是 sbit ksw=0x90(地址) bit ksw=0(或1)等号后是数值 sbit ksw=0x90 等号后是地址 sfr: 定义8位特殊功能寄存器。 sfrl6:定义16位特殊功能寄存器,如DPTR。 通过名字或地址来引用特殊功能寄存器。 sbit、sfr和sfrl6为805l硬件和C5l编译器特有,它们不是ANSI C的一部分,也不能用指针对它们进行存取。 例: sfr P0=0x80; /*声明一个变量P0,并把它和位于 0x80 (805l的端口0)处的特殊功能寄

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档