课件第6章-C51的程序的编制.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第六章C51程序的编制

知识目标:掌握C51的数据结构、存储类型、基本运算符、基本语句结构、程序结构,掌握C51程序的编制方法。技能目标:能区分与运用C51的特殊数据结构,能够编制基于C51的中等程度的单片机控制程序。素质目标:养成在已有的基础上扩展知识的学习习惯。项目一任务5点亮一个发光二极管要求:在跑马灯电路中只点亮一只LED.6.1C51的特点

C51的优点:C51与ASM-51(汇编语言)相比,有如下优点:一、?对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解;二、?寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;三、程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;四、具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;五、提供的库包含许多标准子程序,具有较强的数据处理能力;六、由于具有方便的模块化编程技术,使已编好程序可容易地移植。C51使用要注意什么?需要根据单片机存储器结构及内部资源,定义相应的数据类型和变量。其它的语法规定、程序结构及程序设计方法,都与ANSIC相同。C51扩展的关键字

_at_ bdata bit code data idata interrupt pdata reentrant sbit sfr sfr16 using volatile xdata这些关键字在后面会陆续接触到,此处先不给出它们的含义。项目一任务5点亮一个发光二极管解答方法一:#includereg51.hmain(){unsignedchara=0xfe;P1=a;while(1);}显然,要使D1点亮就是要使P1.0为低电平,而其它管脚为高电平。程序解释:“#includereg51.h”称为包含语句,其作用是将8051的特殊功能寄存器的地址及位地址加以定义,使得它们在程序中可识别;“main()”称作主函数,在一个程序中,必需要有且仅能有个主函数,程序启动时,总是最先从主函数开始运行的,单片机复位后也是如此。“unsignedchara=0xfe;”称作变量定义语句,它指出变量“a”为无符号的字符型变量,其初始值为十六进制数“fe”,注意“;”是一条语句的结束标识符,不能省略。“P1=a;”是赋值语句,其作用是将“a”的值传递给了“P1”,故P1的最低位为0,D1亮。“while(1);”的作用是让程序停下来。因为程序如果不停下来,将一直往下运行,将跑飞,即运行到未知的区域,造成不可预测的结果。运行效果图将KeilC及Proteus放到一个界面中,在KeilC中运行程序,在Proteus中观察运行结果。在复位及刚启动仿真时可以看到P1口都为高电平(红色),如图6.1所示。然后,单步运行程序,当运行了语句“P1=a;”后,可以看到,P1.0处的电平弯为低电平(蓝色),面与此相连的LED亮了,如图所示。以后也可运行类似的方法观察程序的运行过程。为什么要用高级语言当设计一个小的嵌入式系统时,一般我们都用汇编语言.在很多工程中这是一个很好的方法,因为代码一般都不超过8K,而且都比较简单.如果硬件工程师要同时设计软件和硬件,经常会采用汇编语言来做程序.过去,硬件工程师一般不熟系像C一类的高级语言,使用汇编的麻烦在于它的可读性和可维护性,特别当程序没有很好的标注的时候,代码的可重用性也比较低.如果使用C的话可,以很好的解决这些问题.用C编写的程序,因为C语言很好的结构性和模块化,更容易阅读和维护,而且由于模块化,用C语言编写的程序有很好的可移植性.功能化的代码能够很方便的从一个工程移植到另一个工程,从而减少了开发时间.用C编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间.使用像C这样的语言程序员,不必十分熟系处理器的运算过程.这意味着对新的处理器也能很快上手.不必知道处理器的具体内部结构,使得用C编写的程序比汇编程序有更好的可移植性.很多处理器支持C编译器.所有这些并不说明汇编语言就没了立足之地.很多系统特别是实时时钟系统,都是用C和汇编语言联合编程.对时钟要求很严格时,使用汇编语言成了唯一的方法.除此之外根据经验,包括硬件接口的操作都应该用C来编程.C的特点就是可以使你尽量少地对硬件进行操作,是一种功能性和结构性很强的语言.方法二:#includereg51.hsbitD1=P1^0;main(){D1=0;while(1);}这种方法更简便,其中变量D1为位变量,那么,变量有哪些类型,都有什么特点?下面将讨论C

文档评论(0)

粱州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档