1.3 单片机开发语言概述
进行单片机程序开发时,首先需要选择合适的开发语言。在单片机设计中,一般可以选择单片机汇编语言和单片机C51语言两种。这两种语言各有优势,目前以单片机C51语言使用得最多。
1.3.1 单片机汇编语言
单片机汇编语言是采用助记符标识的指令的程序设计语言,其中助记符标识是二进制指令的形象标记。单片机汇编语言程序是单片机汇编指令的集合。汇编语言程序设计与51系列单片机的汇编指令集和硬件结构等有密切联系,在单片机上可以用来实现特定的功能和任务。汇编语言以其简练的代码、快速地操作硬件的能力而最先获得了广泛应用。一个典型的汇编语言程序示例如下。
ORG 0200H ;汇编程序起始命令
MOV A,R4 ;低字节送入累加器A
CPL A ;取反
ADD A,#01H ;加1
MOV 21H,A ;将结果送入地址21H
MOV A,R3 ;高字节送入累加器A
CPL A ;取反
ADDC A,#00H ;加进位
MOV 20H,A ;将结果送入地址20H
END ;程序结束
该程序实现了一个16位二进制数的求补。程序中,假定带操作的这个双字节数存放在R3、R4中,程序将求补以后的结果存放于地址20H和21H中。首先低字节求补,即“求反加一”,然后进行高字节的求补。
从上面的程序可以看出,采用汇编语言编写的程序,每条指令的含义一目了然,而且用汇编语言编写的程序代码少,执行速度快,每条指令的执行时间完全确定。因此,在最初的单片机应用系统中,主要是用汇编语言来编写程序。总结起来,汇编语言与高级语言相比具有以下优点。
❑汇编程序代码简短,执行速度快。
❑占用较少的内存单元和CPU资源。
❑和硬件结构密切相关,可直接调用单片机的全部资源,从而有效地利用单片机的专有特性。
❑指令的执行时间十分明确,适用于实时控制系统或者对时间有严格要求的情况。
单片机汇编语言仍然是一种面向机器的低级语言。使用汇编语言编写程序时,必须熟悉单片机的指令系统、寻址方式、寄存器的设置和使用方法以及系统的硬件资源等。每个计算机系统都有它自己的汇编语言指令集,不同计算机或者单片机的汇编语言之间一般不能通用。因此,单片机汇编语言也有其明显的缺点,罗列如下。
❑一般只针对某种单片机,缺乏通用性,程序不易移植。
❑汇编语言格式比较晦涩,代码难懂,不便于阅读和后期修改。
❑汇编程序结构不清晰,给代码阅读和交流带来很大的困难。
由于单片机汇编语言的诸多不便,现在使用的已经比较少了。程序开发者大都转向单片机C51语言进行设计,只有在对执行速度有严格要求的情况下,才在单片机C51语言中嵌入汇编代码来实现。