单片微机原理与接口技术(第3版)习题答案_第1页
单片微机原理与接口技术(第3版)习题答案_第2页
单片微机原理与接口技术(第3版)习题答案_第3页
单片微机原理与接口技术(第3版)习题答案_第4页
单片微机原理与接口技术(第3版)习题答案_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章思考题及习题参考答案

1.1写出下列二进制数的原码、反码和补码(设字长为8位)。

(1)001011100110

(3)-001011(4)-111111

答:

(1)原码:0()0()】()11反码:000()1011补码:00001011

(2)原码:00100110反码:00100110补码:00100110

(3)原码:10001011反码:11110100补码:11110101

(4)原码:10111111反码:11000000补码:11000001

1.2已知X和Y,试计算下列各题的[X+Y]补和[X-Y]补(设字长为8位)。

⑴X=1011Y=0()l1

⑵X=1011Y=0111

⑶X=1000Y=U00

答:

(1)X补码=00001011Y补码=00000011[-丫]补码=11111101

[X+Y]^=00001110[X-Y]^'=00001000

(2)X补码=00001011Y补码=00000111[-Y]补码=11111001

[X+Y]#=00010010[X-Y]#=00000100

(3)X补码=00001000Y补码=00001100[-Y]补码=11110100

[X+Y]补=00010100[X-Y]^b=lll11100

1.3微型计算机由那几部分构成?微机系统由那几部分构成?

答:微型计算机由微处理器、存储器、I/O接口电路和系统总线构成。

微型计算机系统是在微型计算机的基础上,配上必要的外设(如键盘、光驱等)、电

源以及必要的软件而构成的系统。

1.4什么叫单片机?它有何特点?

答:单片机就是在一块硅片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O口(如

并行、串行及A/D变换器等)的一个完整的微机处理系统。

单片机主要特点有:品种多样,型号繁多:存储容量大:频率高,速度快:捽制功能

强,集成度高;功耗低;配套应用软件多。

第2章思考题及习题参考答案

2.1.说明ROM、EPROM、EEPROM和FLASH之间的主要区别

解:ROM为只读存储器,在一般情况下只能读出所存信息,而不能重新写入,信

息的写入是通过工厂的制造环节或采用特殊的编程方法进行的,一旦写入,就能长期

保存。EPROM芯片一般允许用户多次编程和擦除。擦除时,通过向芯片窗口照射紫外

光的方法来进行。EEPROM,也称E2PROU。该类芯片允许用户多次编程和擦除。擦除

时,可采用加电方法在线进行。FLASH是一种新型的大容量、速度快、电可擦除可编

程只读存储器。

2.2.EPROM、PROM、动态RAM、静态RAM等存储器中,哪几类是可以随时读写的?

解:动态RAM、静态RAM这几类是可以随时读写的。

2.3某ROM芯片中有12根地址输入端和8个数据输出端,该芯片的存储容景是多少

位?

解:芯片的存储容量是4K*8位。

2.4.说明动态RAM和狰态RAM的主要区别,使用时应如何选用?

解:静态(static)RAM,即SRAM。它以触发器为基本存储单元,所以只要不掉电,其所

存信息就不会丢失。该类芯片的集成度不如动态RAM,功耗也比动态RAM高,但它的速度比

动态RAM快,也不需要刷新电路。在构成小容展的存储系统时一般选用SRAM。在微型计算

机中普遍用SRAM构成高速缓冲存储器。

动态(Dynamic)RAM,即DRAM。一般用MOS型半导体存储器件构成,以单个MOS管为基

本单元,以极间的分布电容是否持有电荷作为信息的存储手段,其结构简单,集成度高。但

是,如果不及时进行刷新,极间电容中的电荷会在很短时间内自然泄漏,致使信息丢失。所

以,必须为它配备专门的刷新电路。动态RAM芯片的集成度高、价格低廉,所以多用在存储

容量较大的系统中。目前,微型计算机中的主存几乎都是使用动态RAM。

2.5.说明NORFLASH与NANDFLASH的主要区别,使用时应如何选用?

解:NORFlash具有以下特点:

(1)程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线,能快速随机

读取,允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行;

(2)可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对整片执行擦除

操作,在对存储器进行重新编程之前需要对块或整片进行预编程和擦除操作。

但是NORFlash的擦除和编程速度较慢,块尺寸又较大,因此擦除和编程操作所荐野的

时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。

NANDFlash具有以下特点:

(1)以页为单位进行读和编程操作,1页为256或512B(字节);以块为单位进行擦

除操作,1块为4K、8K或16KB。具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR

技术的块擦除时间达到几百ms。(2)数据、地址采用同一总线,实现串行读取。随机读

取速度慢且不能按字节随机编程。(3)芯片尺寸小,引脚少,是位成本(bitcost)最低的

固态存储器,将很快突破驾兆字节1美元的价格限制。(4)芯片包含有失效块,其数目最

大可达到3~35块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者倦要将

失效块在地址映射表中屏蔽起来。

NORFlash具有可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行

代码的场合,尤其是纯代码存储的应用中广泛使用,如PC的BIOS固件、移动电话、硬盘驱

动器的控制存储器等。

NANDFlash结构的闪速存储器适合于纯数据存储和文件存储,主要作为SmartMedia卡、

CompactFlash卡、PCMCIAATA卡、固态盘的存储介质,并正成为闪速磁盘技术的核心。

2.6.现有2KX8位的RAM芯片若干片,若用线选法组成存储器,有效的寻址范围最大是

多少KB?若用3-8译码器来产生片选信号,则有效的寻址范围最大又是多少?若要将寻址

范围扩展到64KB,应选用什么样的译码器来产生片选信号?

解:以8086为例,8D86有20条地址线,用11条地址线寻址一片2KX8位的RAM,余

下的9条地址线做线选法的线,故可以并联9个芯片,故寻址最大范围是20KB,若用3-8

译码器来产生片选信号,9条地址线可以控制3个3-8译码器这样就可以控制24个芯片最

大范围是50KB.若要将寻址范围扩展到64KB可选用4-16地址译码器来产生片选信号,

2.7.什么是地址重叠区?它对存储器扩展有什么影响?

解:基本地址和前面全译码连接的地址范围是相同的,但两者还是有区别的。区别在于

全译码连接时各芯片的地址是唯一的,而部分译码连接时各芯片地址不是唯一的,也就是可

以由若干个地址都选中同一芯片的同一单元,既所谓的地址重叠区。由于存在的地址重叠,

影响了地址区的有效使用,也限制了存储器的扩展。因此,在选用部分译码时,也要尽可能

多选一些高位地址线来作为译码器的输入。

2.8如图2-22若用1KX8位片子来扩展3KX8位RAM,试核算各片的地址范围为多少?

D7-D0

“1D7-D0*2D7-D0#3D7-D0

74138

A%ACSWEA9AoCSWE.^AOCSSTAP-AO

AB

ACYnb

A10-

A15比-

T5

A研

\

WR

图2-221KX8位片子扩展的3KX8位RAM系统

解:

AisAnAisA12AHAioAgAsAvAtiAsAiA;AAA°itil址

GiABC

1010000000000000片1:AOOOH

1010001111111111片1:A3FFH

A15AllA13A12AHAIOA9ABA;A6A5A4A3A2A1A0地址

G.ABC

1011000000000000片2:BOOOH

1011001111111111片2:B3FFH

A15AnAi3A12AnAioAyAsATABASAJA^^AIAO地址

G.ABC

101010000000000片3:B400H

1011011111111111片3:B7FFH

所以各片地址范围为:

片1:A000H-A3FFH,

片2:B000H-B3FFH,

片3:B400H-B7FFH

2.9.现有8KX8位RAM多片,1片3-8译码器,要构成容量为16Kx8位的存储器,请

用线译码、部分译码、全译码3种方式分别设计,画出连接图,并指出寻址范围。

解:

线译码法:寻址范围:20001r5FFFH

A13

A14

部分译码寻址范围:OOOOH~3FFFH

AI3

全译码:寻址范围:OOOOH~FFFFH

2.10.如何检查扩展的RAM工作是否正

常?试编•个简单的RAM检查程序,要求此程序能记录有多少个RAM单元工作有错?且能记

录出错的单元地址。

解:

TESTCONSTEQU5AH

TEST_RAMEQL03H

ORG0000H

LJMPINITIAL

ORG0050H

INITIAL:MOVRO,#253

MOVRI,#3H

TESTALLRAM:MOVR2,#OFFH

TEST_ONE_RAM:MOVA,R2

MOV@R1,A

CLRA

MOVA,@R1

CJNEA,2H,ERROR_DISPLAY

DJNZR2,TEST_ONE_RAM

INCRI

DJNZRO,TEST_ALL_RAM

ONDISPLAY:

MOVPl,#11111110B

WAIT1:SJMPWAIT1

ERROR_DISPLAY:MOVA,RI

MOVPl,A

WAIT2:SJMPWAIT2

END

第3章思考题及习题参考答案

3.1.80C51单片机的P0~P3口在通用I/O口时操作要注意哪些?P0~P3口不做通用I/O

口时是什么功能?在使用上有何特点?P0、P3驱动能力如何?

答:(1)作为通用I/O口时,P0~P3都是准双向口,输入引脚信息时都必须先向其锁存器写

“1”,作为输出口时F0口需结上拉电阻。

(2)P0可以作为地址/数据总线;P2口可以作为地址线的高8位;P3口是双功能

口.每条口线还具有不同的第二功能八

(3)P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。

3.2、MCS-51单片机运行出错或程序进入死循环,如何摆脱困境?

答:通过复位电路复位

3.3、单片机的复位(RST)操作有几种方法,复位功能的主要作用是什么?

答:单片机的复位操作方式有:1、上电复位;2、手动复位。

复位功能的主要作用是:复位时,PC初始化为0000H,使MCS-51单片机从0000H开始

执行程

3.4、简述程序状态寄存器PSW寄存器中各位的含义。

答:程序状态字寄存器PSW,8位。其各位的意义为:

CY:进位、借位标志。有进位、借位时CY=1,否则CY=O;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);

F0:用户标志位,由用户自己定义;

RSI、RSO:当前工作寄存器组选择位,共有四组:0。、01、10、11;

OV:溢出标志位。有溢出时0V=l,否则0V=0;

P:奇偶标志位。存于累加器ACC中的运算结果有奇数个1时P=l,否则P=0.

3.5、80C51单片机的当前工作寄存器组如何选择?

答:由特殊功能寄存器中的程序状态寄存器PSW的RSI、RS0来决定,当RSI、RS0为0。时,

选择0组;为01时,选择1组;为10时选择2组,为11时选择3组。

3.6.80C51单片机的控制总线信号有哪些?各信号的作用如何?

答:80c51单片机的控制总线信号有以下4个,各信号的作用为:

RST/VPD:复位信号输入引脚/备用电源输入引脚;

ALE/PR0G:地址锁存允许信号输出引脚/编程脉冲输入引脚;

EA/Vpp:内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚;

PSEN:外部程序存储器选通信号输出引脚。

3.7、8051单片机中EA引脚的作用是什么?

答:访问内部或外部程序存储器的选择端当EA接高电平的时候程序从内部ROM开始执行,

当EA为低电平的时候,从外部ROM开始执行

3.8、程序计数器PC的作用是什么?

答:程序计数器PC是一个16位的计数器,他总是存放着下一个要取的指令的16位存

储单元地址。用来存放下一条指令的地址。当执行一条指令时,首先需要根据PC中存放的

指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PCt•的

地址或自动加1或由转移指针给出下一条指今的地址。此后经过分析指令,执行指令,完成

第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。

3.9、堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么要对

SP重新赋值?

答:堆栈在中断过程中用来保护现场数据,复位后SP=07H,而堆栈一般设置在通用ROM

区(30H-7FH),在系统初始化时要从新设置。

3.10、内部RAM低128单元划分为哪3个主要部分?说明各部分的使用特点。

答:80c51内部128B的数据RAM区.包括有工作寄存器组区、可直接位寻址区和数

据缓冲区。各区域的特性如下:

(1)OOH'IFH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元

作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7.当前

工作寄存器组的选择是由程序状态字PSW的RSI、RSO两位来确定。如果实际应

用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄

存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间

接寻址来访问。

(2)2()H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为()0H~7FH。

当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。

(3)30H~7FH为堆栈、数据缓冲区。

3.1k简述MCS-述单片机存储区的划分。

答:

DMCS-51单片机的存偌器从物理结构上分为:片内和片外数据存储器,片内和片外程序

存储器。

2)从逻辑上分别可划分为:片内统一寻址的64KB程序存储器空间(OOOOH-—FFFF:T);

64KB的片外数据存储器空间(0000H--FFFFH);256B的片内数据存储器空间(00H--FFH)。

3.12、MCS-51基本型单片机的中断入口地址各为多少。

答:外部中断0中断入口地址0003H

定时/计数器0中断入口地址OOOBH

外部中断1中断入口地址0013H

定时/计数器1中断入口地址001BH

串行接口中断入口地址0023H

3.13、什么是指令周期、机器周期和状态周期?

答:指令周期:指令的执行时间;机器周期:CPU完成一个最简单的指令所需要的时间;状

态周期:晶振信号周期的2倍。

3.14、已知一MCS51单片机系统使用6MHz的外部晶体振荡器,计算:该单片机系统的状态

周期与机器周期各为多少?

解:由于晶振为6MHz,所以机器周期为2us,因为一个机器周期由6个状态周期组成,所以

状态周期l/3us

第4章思考题及习题参考答案

4.1.寻址方式是什么?

答:寻址方式是寻找操作数或操作数地址的方式。

4.2.89c51指令系统有哪几种寻址方式?

答:89C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻

址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

4.3、访问特殊功能寄存器SFR可以采用哪些寻址方式?

答:直接寻址和位寻址方式。

4.4、访问RAM单元可以采用哪些寻址方式?访问外部RAM单元有哪些指令?

答:直接寻址、寄存器间接寻址和位寻址方式。

访问外部RAM单元的指令有4条:

MOVXA,@DPTR

MOVXA,@Ri

MOVX@DPTR,A

MOVX@Ri,A

4.5、访问外部程序存储器可以采用哪些寻址方式?访问外部程序存储器有哪些指令?

答:立即寻址、变址寻址和相对寻址方式。

访问外部程序存储器的指令有2条

MOVCA,©A+DPTR

MOVCA,@A+PC

4.6、试写出完成以卜每种操作的指令序列。

⑴将R0的内容传送到片内RAM20H;

(2)将R1的内容传送到R0;

(3)内部RAM单元1011的内容传送到外部RAM单元100011;

(4)外部RAM单元1000H的内容传送到R5;

(5)外部ROM单元1000H的内容传送到R5;

(6)外部RAM单元2000H的内容传送到外部RAM单元200lHo

答:⑴MOV20H,R0

(2)MOVA,RI

MOVRO,A

(3)MOVA,10H

MOVDPTR,#1000H

MOVX@DPTR,A

(4)MOVDPTR,#10004

MOVXA,@A+DPTR

MOVR5,A

(5)MOVDPTR,#1000H

MOVA,#00H

MOVCA,@A+DPTR

MOVR5,A

(6)MOVDPTR,#2009H

MOVXA,@DPTR

INCDPTR

MOVXgDPTR,A

4.7.设内部RAM(3010=6011,(6011)=1011,(1011)=2011,(R1)=22H,(P1)=OAH,分析以下

程序执行后(30H)二?,(60H)=?,(10H)=?,(A)=?,(B)=?,(P2)=?每条指令

的机器码为多少?

MOVRO,#30H

MOVA:@R0

MOVRI,A

MOVB:@R1

MOV@R1,Pl

MOVP2,Pl

MOV10H,#9011

答:MOVRD,#30H;(R0)=30H,7830

MOVA1@R0;(A)=60H,E6

MOVRI,A;(RI)=60H,F9

MOVB;@R1;(B)=1011,87FO

MOV@R1,Pl;(60H)=OAH,A790

MOVP2,Pl;(P2)=OAH,8590AO

MOV10H,#90H;(10H)=90H,751090

(30H)=GOH,(60H)=0AH,(10H)=90H,(A)=60H,(B)=10H,(P2)=OAH

4.8.设外部RAM(2030H)=0FH,分析以下指令执行后(DPTR)=?,(30H)=?,

(203011)=?(A)=?每条指令的机器码为多少?

MOVDPTR,#2030H

MOVXA,©DPTR

MOV30H,A

MOVA,#3FH

MOVX@I)PTR;A

答:

MOVDPTR,#2030H;(DPTR)=2030H,902030

MOVXA,©DPTR;(A)=OFH,EO

MOV30H,A;OOH)=OFH,F530

MOVA,#3FH;(A)=3FH,743F

MOVX@DPTR;A;(2030H)=3FH,FO

执行结果为:(DPTR)=2030H,(30H)=0FH,(2030H)=3FH,(A)=3FH。

4.9、编写指令实现下列位操作。

(1)使累加器的最高2位清零;

(2)屏蔽(清零)20H的高4位;

(3)将E0H的低4位取反,高4位不变;

(4)将P0的低2位置1。

(5)将10H的内容取补后存放到20H

答:⑴CLRACC.7

CLRACC.6

(2)ANL20H,tfOFH

(3)XRLE0H,#0FH

(4)0RLP0,#0311

(5)XRL10H,#0FFH

INC10H

MOV20H,10H

4.10.在外部程序存储器中,从1020H单元开始依次存放。〜9的平方值:0、1、4、

9、…、81,要求依据累加器A中的值(0〜9)来查找所对应的平方值,试设计程序实现。

答:MOVDPTR,#1020H

MOVCA,@A+1)PTR

4.11.设(R0)=20H,(20H)=40H,(A)=58H,则:

执行XCHA,@R0后(A)=?,(20H)=?

若执行XCHDA;@R0后(A)=?,(2011)=?

答:执行XCHA,@R0后(A)=40H,(20H)=58H

若执行XCHDA,@R。后(A)=5011,(20H)=48U

4.12、试编写程序序列,完成两个16位数的减法:(30H)(31H)-(1OH)⑴H)-*(30H)

(31H)

答:CLRC

MOVA,31H

SUBBA,11H

MOV31H,A

MOVA,30H

SUBBA,10H

MOV30H,A

4.13、试编写程序,将R0中的低4位数与R1中的高4位数合并成一个8位数,并将其

存放在R0中。

答:MOVA,R0

ANLA,#OFH

MOVB,A

MOVA,RI

ANLA,#OFOH

ORLA,B

MOVRO,A

4.14.设计双字节无符号数加法程序实现(ROR1)+(R2R3)-(R4R5),RO、R2、R4

存放16位数的高字节,RI、R3、R5存放低字节,假设其和不超过16位。

答:MOVA,RI

ADDA,R3

MOVR5,A

MOVA,RO

ADDCA,R2

MOVR4,A

4.15.设计双字节无符号数相减程序实现(RORD-(R2R3)-(R4R5)°R0、R2、R4

存放16位数的高字节,RI、R3、R5存放低字节,

答:

MOVA,RI

CLRC

SUBBA,R3

MOVR5,A

MOVA,RD

SUBBA,R2

MOVR4,A

4.16.设2个BCD码数存在外部RAM的2000H和内部RAM的20H。设计程序实现2个BCD

码相加,其结果的十位和个位送到外部RAM的2000H单元,结果的百位值送F0位。

答:MOVDPTR,#2000H

MOVXA,

ADI)A,20H

DAA

MOVX@DPTR,A

MOVFOH,CY

4.17.设变量X存放在片内10H单元中,函数Y存放在片内20H单元。编写程序实现

如下函数功能。

80HX>0

Y=<50X=0

[FFHX<0

答:MOVA,1011;取出X送A

JZCOM;若X=0则转移到COM

JNBACC.7,POSI;若X>0则转移到POSI

MOVA,#OFFH;若XV)则A斗

SJMPCOMP;转分支结构出口

COM:MOVA,#50;X=0时的赋值

SJMPCOMP;;转分支结构出口

POSI:MOVA,#8011;X>0时A=80H

COMP:MOV20H,A;存函数Y值

SJMP$;等待

4.18.利用位逻辑指令,模拟下图硬件逻辑电路功能。试编写程序实现。

答:MOVCY,Pl.0

ANLCY,P1.1

CPLCY

MOVF0,CY

MOVCY,Pl.1

ORLCY,P1.2

ANLCY,F0

CPLCY

MOVE0,CY

4.19.若(CY)=0,(Pl)=10110111B,试指出执行下列程序段后,CY、口内容的变

化情况。

MOVPL2,C

MOVC,Pl.4

JBCPL7,SS

ORLC,Pl.6

SS:CPLPl.3

ANLC,/PL3

MOVP1.0,C

答:(CY)=0,(Pl)=00111010B

第5章思考题及习题参考答案

5.1、80c51单片机汇编语言有何特点?

答:优点:源程序结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运

行速度快、实时性强等优点。

缺点:由于它是面向机器的语言,所以它缺乏通用性,编程复杂繁琐,但应用相当广泛。

5.2、利用80C51单片机汇编语言进行程序设计的步骤如何?

答:(1).需要对单片机应用系统预先完成的任务进入深入的分析,明确系统的设计任

务、功能要求、技术指标,

(2).要对系统的硬步资源和工作环境进行分析和勃悉.

(3).利用数学方法或数学模型来对其进行描述,从而把一个实际问题转化成由计算机

进行处理的问题。

(4).对各种算法进行分析比较,并进行合理的优化。

5.3、常用的程序结构有哪儿种?特点如何?

答:常用的程序结构有以下几种:

(1)顺序程序结构:顺序结构是按照逻辑操作顺序,从某一条指令开始逐条顺序进

行,直到某一条指令为止;比如数据传送与交换、查表程序和查表程序的设计等;在顺序结

构中没有分支,也没有子程序,但它是组成更杂程序的基础和主干;

(2)分支程序结构:它的主要特点是程序执行沆程中必然包含有条件判断指令,符

合条件要求的和不符条件合要求的有不同的处理程序;

(3)循环程序结构:它在本质上只是分支程序中的一个特殊形式,它由循环初始

化、循环体、循环控制和结束部分构成;在循环次数已知情况下,采用计数循环程序,其特

点是必须在初始部分设定计数的初始值,循环控制部分依据计数器的值决定循环次数;根据

控制循环结束的条件,决定是否继续循环程序的执行。

(4)子程序:它的主要特点是,在执行过程中需要由具它的程序来调用,执行完后

又需要把执行流程返回到调用该子程序的主程序。

5.4、子程序调用时,参数的传递方法有哪几种?

答:在80C51单片机中,子程序调用时,参数的传递方法由三种:

(1)、利用累加器A或寄存器;

(2)、利用存储器;

(3)、利用堆栈。

5.5、什么是伪指令?常用的伪指令功能如何?

答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令

有:

(1)起始地址设定伪指令0RG,该指令的功能是向汇编程序说明下面紧接的程序

段或数据段存放的起始地址;

(2)汇编结束伪指令END,该指令的功能是汇编程序遇到END伪指令后立即结束

汇编;

(3)字节数据定义伪指令DB,该指令的功能是从标号指定的地址单元开始,在程

序存储器中定义字节数据;

(4)字数据定义伪指令DW,该指令的功能是从标号指定的地址单元开始,在程序

存储器中定义字数据;

(5)空间定义伪指令DS,该指令的功能是从标号指定的地址单元开始,在程序存

储器中保留由表达式所指定的个数存储单元作为备用空间,并都填以零值;

(6)赋值伪指令EQU,该指令的功能是将表达式的值或特定的某个汇编符号定义

为一个指定的符号名;

(7)位地址符号定义伪指令BIT,该指令的功能是将位地址赋给指定的符号名。

5.6:把外部RAM的2000-20PFHRAM空间置零

程序如下:

ORG000011

MOVRO,#00H

MOVDPTR,#2000H;空间首地址送DPTR

LOOP:MOVA,#0011

MOVX@DPTR:A;清零

INCDPTR;DPTR加1

INCR0;字节数加1

CJNER0,#OOH,LOOP;连续清256个字节

LOOP!:SJMPLOOP!

END

Memory1

R<pst<rIVUnt4:LOOP:MOVA,I5SH

AC:0x00057455MOV10x55Addrees[XiOOCh

5:MOVX8DPTR,A:消等

rC:0x0007FOMO'ZX@DPTR,AX:0x002000:55555555555S55SS55

6:INCDPTR;DPTRtniX:0x002009:000000000000000000

■C:0x0008A3INCDPTRX:0x002012:0000000000000000

m7:INCRO;字节数:tOlX:0x00201B:0000000000000000

■C:0X000908INCR0X:0x002024:0000000000000000

8:CJNER0,#00M,L8P;连续洎2”个字节X:Ox00202D:0000000000000000

|^:0xO00ABS00F8CJNER0,#0x00,LOOP<C:0005>X:0x002036:0000000000000000

_。-・a/TVDT/V>0,X:0x00203F:0000000000000000

,口

X:0X002048:0000000000000000

/专X:0x002051:0000000000000000

X:Ox0020SA:0000000000000000

dplr0x2009

ORG0O0HX:0x002063:0000000000000000

rc$COxOOOT

MOVRO,IOOHX:0x00206C:0000000000000000

76MOVDPTR,#2000H:空间营地址送DPTR

(•coooooacoX:0x002075:0000000000000000

LOOP:MOVAtSSH

♦psvcwwrX:Ox00207E:0000000000000000

IMOVX»DPTO.A;清行X.0x002087i0000000000000000

INCDPTR;DPTR加1

X:0x002090:0000000000000000

INCRO:字节效加1

X:0x002099:0000000000000000

CJNERD,*00%SOP;连续漕256个字节

▼〜*»c)・onevX:Ox0020A2:0000000000000000

□ProjectISfieQistersiX:0xO020AB:0000000000000000

软件仿真时为了更好地看到结果,把清零改为了赋值55Ho

5.7、录入并调试一个排序子程序,其功能为用冒泡法将内部RAM中从5011开始的十个单

字节无符号正整数,按从小到大的次序重新排列。

程序如下:

用冒泡法进行数据排序

ORG0000H

MOVR3,口50H

LOOPO:MOVA,R3

MOVR0,A;指针送R0

MOVR7,#OAH;长度送R7

CLR0011;标志位为0

MOVA,@R0

L00P1:INCR0

MOVR2,A

CLRC

MOV22H,@R0

CJNEA,22H,L00P2;相等吗?

SETBC

L00P2:MOVA,R2

JCL00P3;小于或等于不交换

SETBOOH

XCHA,@R0

DECR0

XCHA,@R0

INCR0;大于交换位置

L00P3:M0VA,@R0

DJNZR7,L00P1

JBOOH,LOOPO;最后一次循环中有交换继续

LOOP:SJMPLOOP;无交换退出

END

5.8、设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求

和存放在24H、25H中,试编写出16位数相加的程序。

答:

OKG0000H

CLRC

MOVA,21H

ADDCA,2311

MOV25H,A

MOVA,2011

ADDCA,22H

MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论