《单片机原理及应用》复习试题整理版(3)

2018-11-24 18:11

(1)、16根地址线的寻址空间可达1MB。 (2)、内存储器的存储单元是按字节编址的。

(3)、CPU中用于存放地址的寄存器称为地址寄存器。 (4)、地址总线上传送的只能是地址信息。

041、20根地址线的寻址范围可达( )。

(1)、512KB (2)、1024KB (3)、640KB (5)、4096KB

042、主存储器系统中使用Cache的目的是( )。

(1)、增加主存容量 (2)、存放常用的系统程序 (3)、存放固化的软件 (4)、提高CPU存取主存的速度

043、MCS-51系列单片机外扩存储器芯片时,4个IO口中用作数据总线的是( )。

(1)、P0和P2口 (2)、P0口 (3)、P2和P3口 (4)、P2口

044、计算机工作时,能写入也能读出的半导体存储器是( )。

(1)、RAM (2)、ROM (3)、磁盘 (4)、磁带

045、区分片外程序存储器还是数据存储器的最可靠方法是( )。

(1)、看其芯片型号是RAM还是ROM (2)、看其位于地址范围的低端还是高端 (3)、看其离MCS-51芯片的远近

(4)、看其是被RD信号连接还是被PSEN信号连接

046、指令AJMP的跳转范围是( )。

(1)、256 (2)、1KB (3)、2KB (4)、64K

三、编程题

001、编写程序实现两个4位BCD数相加,设被加数存放在内部RAM 40H和41H单元,加数存放在45H和

46H单元,和数存入50H和51H单元,并设最高位不产生进位。 解:程序如下:

002、编写程序,将1字节的压缩BCD数转换为二进制数,并存入内部RAM 30H单元中。

解:程序如下:

MOV A,41H

ADD A,46H DA A

MOV 51H,A MOV A,40H ADDC A,45H DA A

MOV 50H,A SJMP $

MOV A,40H SWAP A

ANL A,#0FH MOV B,#10 MUL AB

11

ANL 40H,#0FH ADD A,40H MOV 30H,A SJMP $

003、编写程序,将一个字节的二进制数转换为BCD数(0-255),并存入内部RAM 31H和32H单元中。

解:程序如下:

MOV A,30H MOV B,#10 DIV AB MOV 32H,B MOV B,#10 DIV AB XCH A,B SWAP A ORL 32H,A MOV 31H,B SJMP $

004、试编写一个程序,将内部RAM中 45H单元的高4位清0,低4位置1。

解:程序如下: MOV A,#0FH XCH A, 45H

005、设有字无符号数X、Y存放在内部RAM 30H、31H和32H、33H,试编写求|X-Y|的程序。

解:程序如下: CLR C MOV A,31H SUBB A,33H MOV 35H,A MOV A,30H SUBB A,32H JNC NN CPL A MOV 34H,A MOV A,35H CPL A ADD A,#1 MOV 35H,A MOV A,34H ADDC A,#0 NN: MOV 34H,A SJMP $

12

006、设平面上一点P的直角坐标为(X,Y),X、Y为字节符号数,试编写若P落在第I象限内,则令K

=I;若P落在坐标轴上,则令K=0的程序。 解:程序如下:

X DATA 30H Y DATA 31H K DATA 33H MOV A,Y JZ K0 MOV A,X JZ K0 JNB ACC。7,K14 MOV A,Y JNB ACC。7,K2 MOV K,#3 SJMP $ K2: MOV K,#2 SJMP $ K0: MOV K,#0 SJMP $ K14: MOV A,Y JNB ACC。7,K1 MOV K,#4 SJMP $ K1: MOV K,#1 SJMP $

007、编写程序把起始地址为1000H的100个连续单元中的内容送到以2000H开始的单元中。

解:程序如下: MOV DPTR,#1000H AG1: MOVX A,@DPTR XRL DPH,#30H MOVX @DPTR,A XRL DPH,#30H INC DPTR MOV A,DPL CJNE A,#04H,AG1 SJMP $

008、编程求内部RAM中40H-49H 10个单元中的内容的平均值,并放入4AH单元中。

解:程序如下: MOV R0,#40H CLR A MOV 4AH,A AG1: ADD A,@R0 JNC NINC

13

INC 4AH NINC: INC R0 CJNE R0,#4AH,AG1 XCHD A,@R0 SWAP A MOV B,#10 DIV AB XCH A,@R0 XCH A,B SWAP A ORL A,B MOV B,#10 DIV AB SWAP A ORL A,@R0 SWAP A MOV @R0,A SJMP $

009、从2000H地址单元开始,连续存有200W个字节补码数,编写程序将它们改变为各自的绝对值。

解:程序如下: MOV DPTR,#2000H AG1: MOVX A,@DPTR JNB ACC。7,NN CPL A INC A MOVX @DPTR,A NN: INC DPL MOV A,DPL CJNE A,#200,AG1 SJMP $

010、编写程序把内部RAM 20H-23H单元的内容分别送到2000H、2004H、2008H和200CH单元中。

解:程序如下: MOV DPTR,#2000H MOV R0,#20H AG1: MOV A,@R0 MOVX @DPTR,A INC R0MOV A,DPL ADD A,#4 MOV DPL,A CJNE R0,#24H,AG1 SJMP $

011、编写程序求放在3000H单元开始的5个字无符号数的和,并将和存放在3100H开始的单元中。

14

解:程序如下:

012、从内部RAM的DATA单元开始,存有H个数。请设计一个程序,将其中正数,零及负数分选出来,

将数据块中的正数和零传送到自ZHEN单元开始的存贮区,而把其中的负数送到FUSH单元开始的存贮区。

解:程序如下: ORG 300H START:MOV R1,#H MOV 20H,#ZHEN MOV 21H,#FUSH MOV R0,#DATA LOOP: MOV A,@R0 JB ACC。7,NEG MOVV R1,#20H MOV @R1,A INC 20H SJMP HEDNEG: MOV R1,21H MOV @R1,A HED: INC R0

15

AG1: NI: AGI1: MOV DPTR,#3000H

MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 MOV R7,#5

MOVX A,@DPTR MOV 4AH,A INC DPL

MOVX A,@DPTR ADD A,42H MOV 42H,A MOV A,41H ADDC A,4AH MOV 41H,A JNC NI INC 40H INC DPL

DJNZ R7,AG1 MOV R0,#40H

MOV DPTR,#3100H MOV A,@R0

MOVX @DPTR,A INC DPL INC R0

CJNE R0,#43H,AGI1 SJMP $


《单片机原理及应用》复习试题整理版(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:编写童话故事 (精选)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: