单片机编程,汇编语言
汇编语言是用英文助记符表示指令的符号语言,弄懂每个助记符的含义汇编语言就掌握一大半了.助记符的英文对照表,看了就明白了.
助记符意义\x09助记符
\x09对照英文
传送\x09
MOV\x09
MOVe
代码区数据传送\x09MOVC\x09MOVe
Code
外部RAM区数据传送MOVX\x09MOVe
eXternal
压栈\x09
PUSH\x09
PUSH
退栈\x09
POP\x09
POP
交换\x09
XCH\x09
eXCHange
十进制交换\x09XCHD\x09eXCHange
Decimal
加法\x09
ADD\x09
ADD
带进位加
ADDC
ADD
with
Carry
带借位减\x09
SUBB
SUBtract
with
Borrow
加1\x09
INC
\x09INCrement
减1\x09
DEC\x09DECrement
乘\x09
MUL\x09MULtiply
除\x09
DIV\x09DIVide
十进制调整
DA\x09Decimal
Adjust
逻辑与\x09
ANL\x09Logicle
ANd
逻辑或\x09
ORL\x09Logicle
OR
逻辑异或\x09
XRL\x09Logicle
eXclusive-oR
求补\x09
CPL\x09ComPLement
清零\x09
CLR\x09CLeaR
置位\x09
SETB\x09SET
Bit
左移\x09
RL\x09Rotate
Left
带进位左移
RLC
\x09Rotate
Left
throuth
the
Carry
flag
右移\x09
RR\x09Rotate
Right
带进位右移
RRC\x09Rotate
Right
throuth
the
Carry
flag
(半字节)互换
SWAP\x09SWAP
绝对转移
\x09AJMP
\x09Absolute
JuMP
短转移
\x09SJMP\x09Short
JuMP
长转移\x09
LJMP\x09Long
JuMP
跳转\x09
JMP\x09JuMP
累加器为零转移\x09JZ\x09Jump
if
acc
is
Zero
累加器不为零转移\x09JNZ\x09Jump
if
acc
is
Not
Zero
进位位为1转移\x09JC\x09Jump
if
Carry(if
Cy=1)
进位位为0转移\x09JNC\x09Jump
if
Not
Carry(if
Cy=0)
指定为为1转移\x09JB\x09Jump
if
Bit
is
set
指定位为0转移\x09JNB\x09Jump
if
Not
Bit
(if
bit=0)
指定位为1转移并清该位JBC\x09Jump
if
Bit
is
set
add
Clear
bit
比较不等转移\x09CJNE\x09Compare
and
Jump
if
NotEqual
减1不为0转移\x09DJNZ\x09Decrement
and
Jump
if
Not
Zero
绝对调用\x09
ACALL\x09Absolute
CALL
长调用\x09
LCALL\x09Long
CALL
子程序返回\x09RET\x09RETurn
中断返回\x09
RETI
\x09RETurn
from
Interrupt
空操作\x09
NOP
\x09No
OPeration
利用编译软件,业界最常用功能最强大的是KEIL uv2/3,将你的源程序编译生成为.hex格式的文件。具体用法你可以先下载一个keil c51的软件。找一个教程看一下。keil c51可以编译C语言,也可以编译汇编语言,也可以把两者混合汇编。但是只有将他们转换成.hex格式(十六进制格式文件)的文件(或者二进制的文件,这种情况一般很少),单片机才能识别。
程序编译好后,剩下的工作就是将生成的.hex烧录到单片机中去啦。使用编程器将文件传到单片机中就行啦。
编程器(也即程序烧录器)现在网上有很多卖的(很便宜的,四五十就行了。我前一段时间在淘宝上买了一个。当然,也可以自己做一个,算了下自己做的话,单个的成本也在三十六块钱左右。单个做不合算,批量才有的赚),很多可以通过计算机串口直接将单片机烧录好。然后再将烧录好的单片机取下来,安装在你的MCU系统中。上电....
搞定收工!O(∩_∩)O~
SORT: ;排序子程序
MOV R6, #10 ;11个数字,比较10次
S1:
MOV R0, #30H ;起始地址
MOV A, R6
MOV R7, A
CLR PSW.5 ;交换标志清零
S2:
MOV B, @R0 ;取出前一个数
INC R0
MOV A, @R0 ;取出后一个数
CJNE A, B, S3 ;后-前
S3:
JNC N_JH ;够减就不用交换
MOV @R0, B ;交换存放
DEC R0
MOV @R0, A
INC R0
SETB PSW.5 ;设立交换标志位
N_JH:
DJNZ R7, S2
JNB PSW.5, S_END ;没有交换过,就结束
DJNZ R6, S1
S_END:
RET
单片机编程语言一般有哪几种
单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算谏磨快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中栗用模块化程序设计方法提供了有力的保障。
跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间间隔0.5秒。 30 跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从左向右移动,时间间隔0.5秒。 最好加上注释每一步在做什么,急用,好人一生平安!萌の残念 | 浏览914 次 |举报 我有更好的答案推荐于2017-12...
什么是机器语言,汇编语言和高级语言
机器语言是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。机器码有时也被称为原生码(Native Code),这个名词比较强调某种编程语言或库,它与运行平台相关的部份。汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言...
学习单片机是用汇编语言好呢?还是用c语言好呢?
C相对容易读写。对于新手,相对来说,C容易上手和理解,在算法上也有自己的函数,而汇编必须自己编写各种函数。所以各有优劣,有时候优点也是缺点。编程主要还是思路,也就是流程,语言只是个工具,用熟了都好用。
什么是汇编语言
汇编语言是一种低级编程语言。汇编语言是一种用助记符表示计算机指令的编程语言。它不同于高级语言,如Python或Java等,因为它不采用面向对象的抽象层次,而是直接与计算机的底层架构和操作相对应。下面详细介绍汇编语言的几个关键点:1. 汇编语言的基本定义 汇编语言是一种用特定的编码形式来表示计算机指令...
编程语言有几种,分别都是编什么程序的?
ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。 此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生...
汇编语言(面向机器的程式设计语言)详细资料大全
在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。 许多汇编程式为程式开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。 汇编语言不...
编程语言有哪几种,详细介绍一下这些语言
ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。 此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生...
单片机原理及应用难学吗?
单片机原理及应用需要学习低级汇编语言和C语言。学习具有一定难度。但只要有恒心是一定能学好的。1)编程语言:a)汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号...
机器语言和汇编语言和高级语言的关系
机器语言是计算机可以识别并运行的二进制代码 汇编语言是将二进制的机器码通过助记符的方式让人可以更方便的编写并检查的低级语言 汇编语言接近机器语言,可以看做是机器语言的另一种形式,计算机在运行时也需要将其变为机器语言的二进制才可运行 高级语言最接近人类语言,但机器是无法执行的,需要最终编译...
蒲晴依托: 如下即可:SORT: ;排序子程序 MOV R6, #10 ;11个数字,比较10次 S1: MOV R0, #30H ;起始地址 MOV A, R6 MOV R7, A CLR PSW.5 ;交换标志清零 S2: MOV B, @R0 ;取出前一个数 INC R0 MOV A, @R0 ;取出后一个数 CJNE A, B, S3 ...
松阳县13796447834: 单片机用什么语言编写程序? - ?
蒲晴依托: 单片机一般用C语言或者汇编语言来编写程序.建议先学C语言,汇编语言要算地址,汇编语言比较难,所以建议先学C语言.汇编语言要算地址,大多数情况下,单片机运行的程序,都是C语言编写的.不过并不是一般意义上的C语言,而是变种后的C51语言.单片机是典型的嵌入式微控制器(Microcontroller Unit),由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机.与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本.
松阳县13796447834: 单片机汇编语言编程 - ?
蒲晴依托: ORG 0000H JMP MAIN ORG 0030H MAIN: MOV SP,#68H MOV R0,#30H MOV DPTR,#...
松阳县13796447834: 单片机汇编语言编程?
蒲晴依托:这个是用P1口接发光管的汇编程序 ORG 0000H INITIA: LJMP 0200HORG 0800H DELAY: MOV R7,#10 DEL1: MOV R6,#125 DEL2: MOV R5,#200 DJNZ R5,$ DJNZ R6,DEL2 DJNZ R7,DEL1 RETORG 0200H FAS0: MOV A,#01H LOOP: MOV P1,A LCALL DELAY RR A SJMP LOOP END
松阳县13796447834: 单片机编程入门(单片机编程) ?
蒲晴依托: 1、你得先知道什么是单片机:2、单片机是指一个集成在一块芯片上的完整计算机系统.尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大...
松阳县13796447834: 单片机C语言与汇编语言各有什么特点? - ?
蒲晴依托: 首先,单片机在初始发展的时候应用的都是汇编语言,汇编语言属于低级语言,但是也有它特色的地方,更加的贴近硬件,你要搞清楚你的数据要存哪里,变量再哪个位置,cpu运行时时寄存器的变量变化等等,也让你更清楚单片机里的一些资...
松阳县13796447834: 什么单片机的汇编语言~~~ - ?
蒲晴依托: 单片机的汇编是最接近机器底层的语言,它的特点是要求你每个时刻要清楚数据或者程序执行到那里,所有的硬件资源你都可以操纵,什么数据要放到那个存储单元,你能随心所欲,但是必须要按规范,离开规范当然不行,所以要学好单片机的汇编,首先就要掌握单片机的硬件,不必很多,起码是它的可利用资源,你不了解,根本就用不上汇编,就算是硬着头皮去学汇编,也只是事倍功半,会有很累的感觉
松阳县13796447834: 单片机开发用C和汇编语言各有什么优缺点 - ?
蒲晴依托: 单片机开发用C和汇编优缺点对比如下: 1、C可以读性较强,容易让后继者接手进行扩展,汇编相对而言难度就大多了,一般人很难短时间内弄懂原开发者的原意和理清思路. 2、C可移植性较强,一个单片机的程序稍加修改,可以移植到其他环境下使用,汇编程序几乎无法移植. 3、汇编的时序性很强,可以精确严格按既定时序控制流程,C无法做到. 4、汇编可以精确定时,C只能初略定时.
松阳县13796447834: C语言和汇编语言在开发单片机时各有哪些优缺点? - ?
蒲晴依托: 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码 的一种语言.其主要优点是占用资源少、程序执行效率高.但是不同的 CPU, 其汇编语言可能有所差异,所以不易移植. C 语言是一种结构化的高级语言.其优点是可...
松阳县13796447834: 单片机的编程用C语言好还是汇编语言好.为什么? - ?
蒲晴依托: 一般都用C语言编程.只有在C解决不了和代码效率比较高的时候才会使用汇编.很明显,C语言容易编程,更容易模块化编程,容易学习,会的人多.编写同一个程序,C语言所花的时间平均比汇编短很多.而且对应不同的单片机平台,汇编语言都是不同的,而C语言是通用的.鉴于C语言有这么多好处,建议你用C语言编程,现在随着编译器功能的强大,如KIEL,基本上没有C语言处理不了的单片机问题了.现在的硬件技术的发展,硬件成本越来越低,在代码效率不高的时候可以通过提升硬件的水平来实现系统的实时性需求.因此,在很多时候,代码的优化工作量减少了很多.总之,C语言编程优于汇编.C语言是硬件的语言.