返回首页

51单片机汇编是ARM汇编吗?

275 2024-01-06 16:07 admin   手机版

一、51单片机汇编是ARM汇编吗?

答51单片机汇编不是ARM汇编的。因51 单片机是早期的、传统的单片机,它是属于 CISC(复杂指令集计算机)体系,相当于把计算机系统微型化。

而ARM 属于 RISC(精简指令集计算机)体系,它指令少,执行速度比较快,更加适用于过程控制,它是属于微控制器。

二、51单片机汇编和8086汇编哪个难?

好像8051是从8086衍生出来的,但是51不兼容X86指令的字节码~ 汇编,寻址方式各种处理器都有那几种,有的有,有的没有,查查手册能用什么,一些简单的处理数据的代码可以通用的,但是51是8位的,操作数宽度不同,还有涉及一些独有的东西就不可以代用~

三、51单片机汇编中MOVA?

MOV 是访问片内的RAM和SFR时用的MOVX 是访问片外的RAM用的还有一个MOVC, 是访问 ROM时用的。51采用的哈佛结构,有许多的地址是重复的。比如说 一个地址是 0x88, 在ROM里有这个地址,内部的RAM里有这个地址,SFR里有这个地址,外部RAM里也有这个地上,究竟是访问哪一个呢,就要用指令来实现。

如果是MOV 间接寻址,就是访问内部的RAM如果是MOV直接寻址,就是访问SFR如果是MOVX 寻址,就是访问外部RAM如果是MOVC寻址,就是访问ROM

四、51单片机汇编编程HERE: SJMP HERE?

这句死循环语句是在等待中断。中断与子程序调用不同,需要用“RETI”返回,所以不是返回下一句命令,而是还返回到死循环语句。

五、51单片机数码管 汇编

51单片机数码管与汇编

在嵌入式系统中,单片机起着至关重要的作用。而51单片机是一种广泛应用的单片机系列,其中数码管是一种常见的输出设备。本文将介绍51单片机数码管的基本原理,并研究如何使用汇编语言控制数码管的显示。

什么是51单片机数码管?

51单片机数码管是指一种由8个LED数字管组成的七段数码管。每个数码管都由7个LED分段和一个小数点组成。通过控制每个段的点亮情况,可以显示任意数字、字母或符号。数码管常用于计时器、计数器、温度显示等应用中。

51单片机数码管的工作原理

51单片机数码管的工作原理是通过控制每个LED段的亮灭来实现显示功能。数码管内部的每个数码段都有一个输入引脚,通过给不同的引脚输入高电平或低电平来控制对应的数码段。

一般的7段数码管有a、b、c、d、e、f、g共7个输入引脚,分别对应数码管的7个段。如果输入高电平,则该段亮起;如果输入低电平,则该段熄灭。

控制51单片机数码管显示的方法是通过对数码管的引脚进行控制,为每个引脚设置相应的电平状态。通过对引脚进行组合,可以实现显示任意数字或字母。

使用汇编语言控制51单片机数码管

在学习51单片机编程时,汇编语言是最常用的编程语言之一。下面介绍如何使用汇编语言控制51单片机数码管。

步骤1:设置引脚模式

首先需要设置51单片机的相应端口引脚为输出模式,以便控制数码管的段。

例如,可以使用MOV指令将引脚口设为输出模式:

MOV P1,#0FFH ; 将P1口设为输出模式

步骤2:设置数码管段的状态

接下来,需要设置每个数码管段的状态,决定哪些段亮、哪些段熄灭。

例如,设定数码管显示数字0:

MOV P2,#11111100B ; 设置P2口的状态,使a~g段均熄灭,点亮小数点

可以根据需要设置不同的状态,以实现不同的显示效果。

步骤3:显示延时

为了让人眼能够观察到数码管的显示效果,需要设置适当的延时。可以使用循环原理实现延时。

例如,可以使用DJNZ指令实现循环,并通过调整循环次数来调节延时时间:

MOV R0,#50 ; 设置循环次数
DELAY:DJNZ R0,DELAY ; 循环延时

步骤4:循环显示

如果需要连续显示数字或字母,可以将以上步骤放入一个无限循环中,以循环显示不同的内容。

例如,将设置引脚模式、设置数码管段的状态、显示延时等步骤放入一个循环中:

LOOP:
    MOV P1,#0FFH ; 设置引脚模式
    MOV P2,#11111110B ; 显示数字0
    MOV R0,#50 ; 设置循环次数
DELAY:DJNZ R0,DELAY ; 循环延时
    SJMP LOOP ; 无限循环

总结

通过本文的介绍,我们了解了51单片机数码管的基本原理以及如何使用汇编语言控制数码管的显示。掌握了这些知识后,我们可以灵活应用51单片机数码管,实现各种不同的显示效果,为嵌入式系统的设计提供更多可能性。

六、51单片机数码管汇编

51单片机数码管汇编

嵌入式系统是计算机科学中一个重要的研究领域,而51单片机则是嵌入式系统开发中使用最广泛的微控制器之一。在许多应用中,我们常常需要使用数码管来显示数字或其他特定信息。本篇博客将介绍如何使用51单片机进行数码管的汇编编程。

数码管介绍

数码管是一种常见的输出设备,它由多个发光二极管组成,可以显示数字、字母和其他符号。常见的数码管有共阳极和共阴极两种类型。共阳极数码管是指所有LED的阳极连接在一起,而共阴极数码管则是指所有LED的阴极连接在一起。

在51单片机中,我们可以使用IO口来控制数码管的显示。由于数码管是一个带有多个引脚的设备,我们需要使用多个IO口来实现对数码管的控制。通过设置相应的IO口状态,我们可以控制数码管显示的数字或字符。

数码管的汇编编程

进行51单片机数码管的汇编编程,我们需要首先了解51单片机的汇编语言指令以及相应的寄存器。以下是常用的一些指令和寄存器:

  • LCDP - 设置数码管端口
  • DATAP - 设置数据端口
  • CMDP - 设置命令端口
  • LCDDP - 设置数码管显示位置指针
  • MOV - 将数据从一个寄存器复制到另一个寄存器
  • INC - 将一个寄存器的值加1
  • DEC - 将一个寄存器的值减1
  • JMP - 无条件跳转到指定地址

在编写51单片机数码管的汇编程序时,我们通常会按照以下步骤进行:

  1. 设置端口方向和初始状态。
  2. 设置数码管显示位置。
  3. 将要显示的数字或字符加载到寄存器中。
  4. 设置数码管端口并发送数据。
  5. 循环显示多个数码管。

下面是一个简单的例子,演示如何在51单片机上显示数字:

LCDP EQU P2 ; 设置数码管端口 CMDP EQU P3 ; 设置命令端口 LCDDP EQU 80H ; 设置数码管显示位置指针 ORG 0000H MOV LCDP, #0FFH ; 设置数码管端口为输出 MOV CMDP, #0FFH ; 设置命令端口为输出 MOV A, #5 ; 要显示的数字 MOV LCDDP, #0 ; 设置数码管显示位置为第一个数码管 MOV LCDP, A ; 将要显示的数字加载到数码管端口 MOV CMDP, #01H ; 发送数据到数码管显示 JMP $ ; 无限循环显示数字 END

以上代码将在51单片机上循环显示数字5。

总结

本篇博客介绍了51单片机数码管的汇编编程。我们了解了数码管的基本原理,以及如何使用51单片机控制数码管进行数字显示。通过编写汇编程序,我们可以实现更复杂的数码管显示效果。希望本篇博客对您学习嵌入式系统编程有所帮助!

七、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连接单片机时,需要将数据线交叉连接;点击了下载按钮后需要给单片机重新断电再上电,进行单片机的冷启动。

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

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

九、如何51单片机的串口发送多个数据和接受多个数据?

你发送时,用循环控制,发几个字节,循环几次。

连续发送多个数据,都是小意思,也是最基本的了。接收更好办了,用中断接收,中断一次接收一次,你就保存一次呗,这有什么难的。

十、51单片机如何存储数据?

不知道你是想保存什么类型的数据,是掉电保护的还是缓存的?

如果是保存掉电不保护的缓存数据,可以用单片机内部的RAM空间,包括20H~7FH直接寻址区、80H~FFH中非SFR占用的间接寻址区,在STC单片机中还有内部扩展RAM也可以使用。

如果是保存掉电保护的数据,可以在单片机外部挂机flash或eeprom芯片。目前常用的51单片机中,有部分型号可以将ROM的顶端空间配置成eeprom,用于存储这类掉电保护的数据。

顶一下
(0)
0%
踩一下
(0)
0%
用户反馈
问题反馈
用户名: 验证码:点击我更换图片