汇编语言和单片机的区别?

51 2024-02-28 17:07

一、汇编语言和单片机的区别?

软件和硬件。

单片机是硬件,汇编是语言,是软件。

单片机从诞生到现在,经过了将近70年的发展。众所周知,单片机是可以通过编写程序实现产品的功能,这么多年来,单片机的规格并没有多大变化,而单片机编程一般使用的都是汇编语言和c语言。

汇编语言是一种用文字助记符来表示机械指令的符号语言,是最接近机械码的一种语言。

二、汇编语言中,“@”,“#”,都有什么含义?

#表示立即数寻址。采用立即寻址方式的指令,在立即数前面加上立即寻址符“#”。

例如指令MOV A,#30H中30H就是立即数,指令功能为将30H赋给累加器A。

@表示寄存器的间接寻址。

例如指令MOV A,@R0就使用了寄存器间接寻址方式,这条指令的意义为将地址指针R0指向的内部数据存储器单元中的数据送入累加器A中。假设R0中内容为30H,则此指令的功能是以R0寄存器的内容30H为地址,把内部RAM 30H单元中的内容传送给累加器A。

三、51单片机的汇编语言怎么烧录?

 1 所用到的硬件工具

  51单片机烧写程序需要用到单片机的UART串口,所用到的工具为USB/TTL,具有四个引脚分别为5V、GND、TXD、RXD,需要和单片机的UART口连接,在连接的时候需要注意的是,串口要交叉连接,即USB/TTL的TXD和单片机的RXD连接;USB/TTL的RXD和单片机的TXD连接。

  2 所用到的软件以及设置

  STC的51单片机需要用到STC-ISP软件,该软件可以在STC的官网上下载到

  烧写过程为:1)选择具体的单片机型号,本文用的是STC89C51;2)选择串口号,该串口号就是USB/TTL的串口号,可以在我的电脑→设备属性中可以看到;3)选择所要下载的hex文件,点击“打开程序文件”选择需要烧写的hex文件,该文件由编程软件生成,如keil生成;4)点击下载“下载/编程”,这里需要注意的是,点击完了后,会在右侧出现“正在检测目标单片机”的字样,这时要把单片机的电源开关一下,即先断电再马上上电。之后,就出现下载的进度条。

  经过以上步骤单片机烧写程序的过程就完成了。

  3 烧写程序需要注意的地方

  用USB/TTL连接单片机时,需要将数据线交叉连接;点击了下载按钮后需要给单片机重新断电再上电,进行单片机的冷启动。

四、单片机汇编语言和c语言区别?

学了C语言和单片机,来挑战下这个问题。Keil5同时支持汇编语言.asm和C语言.c。以下以51单片机为例。对于汇编语言,你要掌握100多条指令,背下来更好[呲牙]要区分立即数寻址,直接寻址这几种寻址方式,访问的程序还是数据存储器,用的时候不能用错。同时要注意编写程序的时候避开中断向量区。C语言和C51有些许区别,但是区别不大。同一个问题,用汇编语言和C语言应该都能够解决。但是用汇编语言来写应该更复杂一些,比如汇编语言里面没有if,for这些函数,但是可以用其他汇编指令实现同样的功能。

我学的时候,写51单片机实验,两种语言都用了,行数都差不多但C更方便。多用C语言编程对51之后学STM32也有帮助吧[思考]

总的来说吧,学了汇编语言来编写51程序,你能够更加了解单片机的底层结构。用C语言来写51程序或者stm32程序,一定要学好指针和结构体。

五、为什么大学单片机都讲汇编语言?

对单片机而言,汇编语言有以下优势:

1.汇编语言的执行效率高,比C语言的执行效率都高。

2.用汇编语言可以锻炼以机器指令编码的能力,可以以最优化的方式编写代码。

3.使用汇编语言能够更深入的了解单片机,了解单片机的内部框架结构,能够更好的理解机器代码在单片机内部是怎么运行的。

4.汇编语言的时序性很强,可以精确严格按既定时序控制流程。

5.汇编语言可以精确定时。

六、单片机汇编语言如何定义外部表格?

其他程序要调用此变量的话,要用申明此变量为外部变量,用extern.

七、51单片机汇编语言是几进制?

默认是十进制的。如果hour=03。03是十进制3。十进制十六进制其实是对人来说的,是你写程序的时候区分的,如果我用串口发送十进制数30 hour=sbuf 单片机中hour=?寄存器中存贮的是0001 1110。如果我写hour++ hour是用十进制还是十六进制规则运算,这个在内存里面就是该变量位置二进制的加1,如果说在程序里面十进制和十六进制++,差别不大。

八、汇编语言中@,#是什么含义啊?

#表示是一个立即数,或者是一个地址指针

@是间接寻址用的,可以理解为取地址,一般后面为R0-R7

拓展资料

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。当计算机的硬件不认识字母符号,这时候就需要一个专门的程序把这些字符变成计算机能够识别的二进制数。因为汇编语言只是将机器语言做了简单编译,所以并没有根本上解决机器语言的特定性,所以汇编语言和机器自身的编程环境息息相关,推广和移植很难,但是还是保持了机器语言优秀的执行效率,因为他的可阅读性和简便性,汇编语言到现在依然是常用的编程语言之一。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

【参考资料】

来自头条百科:

https://www.baike.com/wiki/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80?search_id=2dpw72kjnxgk00&prd=search_sug&view_id=s49ny12rxgw00

九、单片机cxh含义?

XCH指令是计算机的专业术语,全称为eXCHange,主要实现将累加器A和源操作数的内容交换。

十、rl单片机含义?

单片机RL指令,是左移指令(参加左移的是8个位,也就是一个字节)。是属于单片机的位移指令。

RR指令:是右移指令(参加左移的是8个位,也就是一个字节)。

相对转移指令:       SJMP rel

它们都用于指令跳转,从当前位置跳转到后面的地址位(一般为自己拟了名字的地址如DELAY:)。(它们的差别在于跳转的范围:LJMP一下能跳64Kb。而AJMP最多只能跳2Kb,而SJMP则最多只能跳256b)

常用的跳转指令还有ACALL

ACALL 使用范围是±2K范围,超出这个范围的调用将会出错,这时可以使用LCALL即长调用语句。

有下面历程被使用到:

ACALL DELAY

跳转到程序中的DELAY处去继续执行。

SJMP DOWN

跳转到程序中的DOWN处去继续执行

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片