- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 软件设计模块
4.1单片机编程语言
随着单片机技术日新月益的发展,很多人经常会被单片机的各种各样的编程语言搞糊涂。因为单片机目前的编程语言常见的有4种,即汇编语言、C语言、PL/M和BASIC语言。究竟要学习哪一种编程语言好呢?下面我们对这4种语言作详细介绍。
BASIC编程语言
BASIC是一种高级语言,它的英文含义是“初学者通用符号指令代码”,是在1965年5月,由美国科学家托马斯·库 尔兹研制出来的。10多年后,微软公司把它移植到微型机上。几十年来,BASIC语言一直被认为是初学者编程的语言。它已经由QBASIC发展到VB#版本,具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递等。
早期的BASIC语言由于生成的代码不是最终目标机器的代码,而是经过一个RUNTIME程序解释后运行的,所以执行效率低,但这种逐行解释的方法很容易找到程序中的错误,而不是当程序执行完才能显现出来。而单片机的BASIC编译器是直接将程序代码编译成相应芯片的机器码,不需要在单片机的内存中驻留RUNTIME程序,执行效率与其他编译器编译出来的一样。此外还需要注意,BASIC为简化使用变量,所有变量都用浮点值,这一点与c语言存在差异。
以MCS—Electronics公司开发出来的BASCOM一8051开发环境为例,简要介绍以BASIC语言为基础的单片机编程系统。它和一般BASIC语言一样具有如:For、To、Step、If、Else、End、SelectCase等等命令,其用法及功能是没什么区别的,因此比较容易人门。另外,它还有针对单片机硬件所设计的命令如:LCD命令可以用一条命令来实现LCD的显示操作。Cls/清LCD屏Lcd“How are you”/向LCD输人字符串“How are you”
类似于这样的命令主要是提供了直接对单片机及其外部硬件的操作,特别是提供了对单片机端口的直接操作,如:P1,P2,P2.1,Po.3等等,简化了整个开发过程,是开发人员重点学习的部分。
PL/M编程语言
PL/M语言是Intel公司从8080微处理器开始为其系列产品开发的编程语言,其特点是:
(1)简单易学
PL/M一51语言只有两类语句:一类是说明语句,用于说明变量和过程;另一类是可执行语句,如赋值语句、条件语句和循环语句等。这些语句的功能和BASIC语言中相应的语句相似,如:P1=02H;/·赋值语句十/IF M2 THEN N=P1;/十条件语句}/Do M=0 To 10;/·循环语句}/
(2)可读性好
PL/M一51是一种结构化语言,其程序是模块式结构,可采用缩进式方法书写源程序,使程序层次清楚,便于理解和阅读。一个完整的程序可由多个模块组成,而每个模块又是由多个程序块构成。这样一个大型的程序就可以分解成多个小的模块,分别完成一部分功能,可由多人共同完成,这样就大大降低了编程周期,提高了工作效率。这种模块化的程序设计增加了程序设计的灵活性和方便性。
(3)可靠性高
PL/M一51编译软件检查用户程序对单片机的各种资源使用情况,对冲突使用情况或不合理使用情况能提出警告,并能自动为用户程序合理分配内存,避免计算机中有效资源的浪费,为使用者提供方便。
(4)隔离性好
PL/M一51中,既可有全局的静态变量,也可有局部的动态变量,对于全局性的静态变量,其性质和BASIC中的变量一样,该变量在整个程序中均有效。对于局部的动态变量,它只有在其所说明的程序块中或该过程中有效,在该程序块或该过程之外则无效。局部动态变量的特点是,当由多个人共同编制一个程序中的不同模块时,而不必担心是否使用了相同的标识符而发生冲突,在最终调试程序时大大减小了工作量。
(5)兼容性好
PL/M一51可同汇编语言或其他语言的目标模块连接起来,生成可执行代码。如果用户必须使用汇编语言编制一段程序,或是想利用已调好的汇编语言程序块,那么该段汇编可以很方便地连接到PL/M一51程序目标块中。
(6)具有良好的算法库和库管理能力
PL/M一51语言具有Intel公司所提供的算法库和库管理功能。用户能利用现成的算法库完成加、减、乘、除等运算,并能建立自己的特定算法库,使得编程一劳永逸,提高软件的开发效率。
由上面几点可见,PL/M语言是类似于Pascal一种语言,是一种结构化语言。PL/M编译器好像汇编器一样可产生紧凑代码,可以说它是一种”高级汇编语言”,可详细控制着代码的生成。但对51系列的单片机来说,PL/M不支持复杂的算术运算、浮点变量而且无丰富的库函数支持。学习PL/M无异于学习一种新语言,难度相对较大,需要花费较多的时间和精力。
汇编语言
汇编语言是一种用助记符来表示机器指令的符号语言,是最接近于机器码的一种语言。其主要优
文档评论(0)