单片机指令及接线

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习单片机,除了搞清单片机内部功能、存储空间分配及I/O接口外,还应掌握其指令系统。

MCS-51共有111条指令,现介绍我们总结出的快速记忆MCS-51指令的方法,供大家参考,超简单哦。

大家都知道,汇编语言指令由操作码、操作数两部分组成。

MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。

这里先介绍指令助记符及其相关符号的记忆方法。

一、助记符号的记忆方法
1、表格列举法
把44个指令助记符按功能分为五类,每类列表记忆。

此处从略,请读者自己总结。

2、英文还原法
单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。

例如:
增量INC-Incremect减量DNC-Decrement
短转移SJMP-Short jump 长转移LJMP-Long jump
比较转移CJNE-Compare jump not equality
绝对转移AJMP-Absolute jump空操作NOP-No operation
交换XCH-Exchange加法ADD-Addition
乘法MUL-Multiplication除法DIV-Division
左环移RL-Rotate left进位左环移RLC-Rotateleft carry 右环移RR-Rotate right进位右环移RRC-Rotateright carry
3、功能模块记忆法
单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为2~3组。

这样,化整为零,各个击破,实现快速记忆。

1)数据传送组。

2)加减运算组
MOV 内部数据传送ADD 加法
MOVC 程序存储器传送ADDC 带进位加法
MOVX 外部数据传送SUBB 带进位减法
3)逻辑运算组。

4)子程序调用组。

ANL 逻辑与LCALL 长调用
ORL 逻辑或ALALL 绝对调用
XRL 逻辑异或RET 子程序返回
二、指令的记忆方法
1、指令操作数的有关符号
MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。

我们必须掌握其表示的方法。

1)立即数与直接地址。

?ata表示八位立即数,#data16表示是十六位立即数,data
或direct表示直接地址。

2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。

3)@R0、@R1、@DPTR、SP表示寄存器间址变量。

4)DPTR+A、PC+A表示变址寻址的变量。

5)PC+rel(相对量)表示相对寻址变量。

记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。

MCS-51指令虽多,但按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。

在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。

我们约定,可能的目的操作数按(#[email=data/direct/A/Rn/@Ri]data/direct/A/Rn/@Ri[/email])顺序表示。

对于MOV指令,其目的操作数按A、Rn、direct、@Ri的顺序书写,则可以记住MOV 的15条指令。

例如以累加器A为目的操作数,可写出如下4条指令。

MOV A,#data/direct/A/Rn/@Ri
以此类推,写出其它指令。

MOV Rn,#data/direct/A
MOV direct,#data/direct/A/Rn/@Ri
MOV @Ri,#data/direct/A
2、指令图示记忆法
图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。

例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。

由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。

CJNE A,#data,rel CJNE A,direct,rel
CJNE @Rn,#data,rel CJNE @Ri,#data,rel
另外,对于由(ANL、ORL、ARL)形成的18条逻辑操作指令,有关A的四条环移指令,也可以用图示法表示,请读者自行画出记忆。

3、相似功能归类法
在MCS-51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。

相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。

如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。

ADD/ADDC/SUBB A,#data/direct/Rn/@Ri
ANL/ORL/XRL A,#data/direct/Rn/@Ri
ANL/ORL/XRL direct,#data/a
上述每一排指令,功能相似,其操作数都相同。

其它的如加1(INC)、减1(DEC)指令也可照此办理。

4、口诀记忆法
对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。

如PUSH direct 和POP direct这两条指令。

初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP 的内容)加1(direct的内容)再入栈,(SP的内容)弹出(到direct单元)SP才减1。

又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下。

MUL AB高位积(存于)B,低位积(存于)A。

DIV AB A除以B,商(存于)A余(下)B。

上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。

但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。

只有这样,才能更好更快地掌握单片机指令系统。

**************************************************************** *********************
附:单片机名词解释
总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。

地址总线: 它是传送由CPU发出的用于选择要访问的器件或部件的地址。

数据总线: 它是用来传送微型机系统内的各种类型的数据。

汇编:是能完成一定任务的机器指令的集合。

二进制数: 只有0和1两个数码,基数为二。

16进制数: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。

指令: 是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。

存储器: 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。

暂存器: 用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。

中断: 中断是单片机实时地处理内部或外部事件的一种内部机制。

当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。

掉电保护: 指在正常供电电源掉电时,迅速用备用直流电源供电,以保证在一段时间内信息不会丢失,当主电源恢复供电时,又自动切换为主电源供电。

RAM 随机存取存储器: 主要用来存放各种输入数据、输出数据、中间结果、最终结果以及与外存交换的信息等,当掉电后,RAM中所存储的信息都将消失。

ROM 只读存储器: ROM 通过特别手段可将信息存入其中,并能长期的保存被存储的信息,一般的情况,CPU只能对它进行写入操作,当断电后,ROM中所存储的信息不会消失。

寄存器寻址: 操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。

波特率: 即每秒钟传送二进制数的位数,波特率越高,数据传输的速度越快。

UART 通用异步接收器/发送器: 用于数据的串/并转换,硬件UART由三部分组成:接收部分、发送部分和控制部分,接收和发送都具有双缓冲结构。

D/A转换: 即将二进制数量转换成与其量值成正比的电流信号或电压信号。

A/D转换: 即将模拟量转换成相应的数字量,然而送计算机处理
进行存储器扩展时,可供使用的编址方法有两种,即:线选法和译码法。

5.4.1线选法
所谓线选法,就是直接以系统的地址作为存储芯片的片选信号,为此只需把高位地址线与存储芯片的片选信号直接连接即可。

特点是简单明了,不需增加另外电路。

缺点是存储空间不连续。

适用于小规模单片机系统的存储器扩展。

【例5-1】现有2K*8位存储器芯片,需扩展8K*8位存储结构采用线选法进行扩展。

扩展8KB的存储器结构需2KB的存储器芯片4块。

2K的存储器所用的地址线为A0~A10共11
根地址线和片选信号与CPU的连接如表5-1所示。

表5-1 80C51与存储器的线路连接
扩展存储器的硬件连接如图5.5所示。

这样得到四个芯片的地址分配如表5-2所示
5.4.2译码法
所谓译码法就是使用译码器对系统的高位地址进行译码,以其译码输出作为存储芯片的片选信号。

这是一种最常用的存储器编址方法,能有效地利用空间,特点是存储空间连续,适用于大容量多芯片存储器扩展。

常用的译码芯片有:74LS139(双2-4译码器)和74LS138(3-8译码器)等,它们的CMOS型芯片分别是74HC139和74HC138。

l 74LS139译码器74LS139是2-4译码器,即对2个输入信号进行译码,得到4个输出状态。

其中:为使能端,低电平有效。

A、B为选择端,即译码信号输入。

~为译码输出信号,低电平有效。

74LS139的真值表如表5-3所示。

l 74LS138译码器
74LS138是3-8译码器,即对3个输入信号进行译码,得到8个输出状态。

其中:G1、、为使能端,用于引入控制信号。

、低电平有效,G1高电平有效。

图5.6 译码器管脚图
74LS138的真值表如表5-4所示。

【例5-2】现有2K*8位存储芯片,需扩展8K*8位存储结构采用译码法进行扩展。

扩展8KB的存储器结构需2KB的存储芯片4块。

2K的存储器所用的地址
线为A0~A10共11根地址线和片选信号与CPU的连接如表5-5所示。

表5-5 80C51与存储器的线路连接
P2.3、P2.4作为二-四译码器的译码地址,译码输出作为扩展4个存储器芯片的片选信号,P2.5、P2.6、P2.7悬空。

扩展连线图如图5.7所示。

图5.7 采用译码器扩展8KB存储器连线图
这样得到4个芯片的地址分配如表5-6所示。

表5-6 译码方式地址分配表。

相关文档
最新文档