设计与开发

sjmp单片机 单片机应用技术测试 试卷及答案

小编 2025-07-05 设计与开发 23 0

单片机应用技术测试 试卷及答案

一、填空题(每空1分,共15分)

1、二进制数(10100101)2=___A5____H =___165____D。

2、LED显示器中的发光二极管的两种连接方法是___共阴_____和_共阳_________。

3、一般的计算机系统都是由地址总线__、_数据总线____、_控制总线三总线结构组成。

4、89C51片内RAM有_256_____字节,其中包含___128___字节用户数据存储单元和__128____字节的特殊功能寄存器单元,片内ROM有__4k____字节。

5、AT89C51有____4_______个并行I/O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入______1______。

6、AT89C51有___4_组工作寄存器,它们的地址范围是_00H-1FH__________。

得分

评卷人

、选择题(每题2分,共30分)

1、在MCS—51指令中,下列指令中 C 是无条件转移指令。

A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11

2、16.寻址方式就是 D 的方式。

A.查找指令操作码 B.查找指令

C.查找指令操作数 D.查找指令操作码和操作数

3、下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 B 。

A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP

4、下列指令能能使累加器A的最高位置1的是 D 。

A.ANL A,#7FH B.ANL A,#80H C.ORL A,#7FH D.ORL A,#80H

5、下列指令能能使P1口的最低位置1的是 B 。

A.ANL P1,#80H B.ORL P1,#01H C.ORL P1,#0FFH D.ORL P1,#80H

6、MCS—51汇编语言指令格式中,唯一不可缺少的部分是 B 。

A.标号 B.操作码 C.操作数 D.注释

7、MCS—51指令包括操作码和操作数,其中操作数是指 D 。

A.参与操作的立即数 B.寄存器 C.操作数 D.操作数或操作数地址

8、设累加器A中为无符号数,B中数为2,下列指令 D 的作用与其它几条不同。

A ADD A,0E0H B MUL AB C RL A D RLC A

9、欲将P1口的高4位保留不变,低4位置1,可用指令 B 。

A ANL P1,#0F0H B ORL P1,#0FH

C XRL P1,#0FH D 以上三句都对

10、8051单片机的位寻址区位于内部RAM的 D 单元。

A 00H~7FH B 20H~7FH

C 00H~1FH D 20H~2FH

11、8051的程序计数器PC为16位计数器,其寻址范围是 D 。

A 8K B 16K C 32K D 64K

12、在单片机算术运算过程中,指令DA A常用于 C 运算。

A.二进制 B.加法 C.BCD码加法 D.十六进制

13、LJMP跳转空间最大可达到 D 。

A 2KB B 256B C 128B D 64KB

14、单片机能直接运行的程序叫 C 。

A 源程序 B 汇编程序 C目标程序 D编译程序

15、将内部数据存储单元的内容传送到累加器A中的指令是 C 。

A MOVX A,@R0 B MOV A, #data C MOV A,@R0 D MOVX A, @DPTR

三、分析下面程序并填空(每空1分,共20分)

1.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果

MOV A,10H (A)=_____ 0FF _____________,ANL A,#01H (A)=_______01H___________,MOV A,11H (A)=_______00H___________,ORL A,#01H (A)=__________01H________,MOV A,12H (A)=_____________0FFH_____,XRL A,#01H (A)=___________FEH_______,MOV A,13H (A)=______ 0FF ___________,XRL A,#0AH (A)=________0AH__________,(10H)=__ 0FF _____,(11H)=____ 00H_____,(12H)=_0FFH________,(13H)=_00H_________

2、程序填空

MOV 30H,#60HMOV R0,#60HMOV A,30HMOV B,AMOV @R0,B(A)=_____ 60H _____,(R0)=_ 60H ___________,(B)=_ 60H ___________

3.改正下列指令

MOV A,DPTR MOVX A,@DPTRMOV DPTR,10H MOV DPTR,#0010HMOV @R7,#40H MOV @R1,#40HMOVX 40H,#30H MOV 40H,#30HADD 20H,#10H ADD A,#10H

四、寻址方式(每题3分,共15分)

(说明8051单片机的下列各条指令中源操作数的寻址方式)

1.ANL A,20H 直接寻址2.ADDC A,#20H立即寻址3.JZ rel 相对寻址 4.MOV 00H,C 位寻址5.MOV A,R0寄存器寻址

五、综合题(共20分)

1、编程将片内RAM30H单元开始的10个的数据传送到片外RAM3000H开始的单元中去。(10分)

MOV R0,#30H

MOV DPTR,#3000H

MOV R7,#10

LOOP: MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R7,LOOP

2、片内RAM40H开始的单元内有10个二进制数,编程找出其中最大值并存于50H单元中。(10分)

START: MOV R0,#40H ;数据块首地址送R0

MOV R7, _#9__ ;比较次数送R7

MOV A,@R0 ;取数送A

LOOP: INC R0

MOV 30H___,@R0 ;取数送30H

CJNE A,30H,NEXT ;(A)与(30H)相比

NEXT: _JNC NEXT1__ ;(A)≥(30H)转NEXT1

MOV A,30H___ ;(A)<(30H),大数送A

NEXT1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较

_MOV 50H,A__ ;比较结束,大数送50H

MCS-51单片机有几个工作寄存器

工作寄存器有4组,每组都是8个工作寄存器R0~R7,通过PSW中的RS1、RS0两位来选择使用哪一组,如果不选,默认是选择第0组。

RS1RS0组合为00时,选中第0组工作寄存器,R0~R7地址为00H~07H;

RS1RS0组合为01时,选中第1组工作寄存器,R0~R7地址为08H~0FH;

RS1RS0组合为10时,选中第2组工作寄存器,R0~R7地址为10H~17H;

RS1RS0组合为11时,选中第3组工作寄存器,R0~R7地址为18H~1FH。

类似arm的usr模式svc模式irq模式fiq模式,

psw.4 psw.3

0 0 0区 r0-r7独立

0 1 1区 r0-r7独立

1 0 2区 r0-r7独立

1 2 3区 r0-r7独立

上边的每个区都由相同的名字r0-r7寄存器引用,但数据空间却不同,所以各自独立,

每组寄存器在物理上是独立的,也就是说,一共有32个寄存器。上电后默认是第0组,但四组寄存器的功能、优点完全相同。r0-r7支持丰富的寻址方式,可以大大提高运行效率。

所以,如果你有四个程序段(或者说线程)要交叉运行,都想使用到效率很高的r0-r7,就可以让它们各占一组,只要切换区域就行了,而不必频繁地保护现场。

寻址方式:

51单片机有7种寻址方式。

1、寄存器寻址:前面提到了内部RAM中的00H-1FH地址单元作为工作寄存器使用。一共是有32各地址单元,分成四组,每组有8个寄存器,命名为R0-R7,每次可以使用其中的一组。当使用R0-R7来表示操作数时,就属于寄存器寻址方式。

例如:MOV A,R0;把寄存器R0的内容送入累加器A中

2、直接寻址:在指令中直接给出操作数地址,就属于直接寻址方式。此时指令的操作数部分直接是操作数的地址。

例如:MOV A,2AH ;把RAM地址2AH的内容送入累加器A中

3、立即寻址:

例如:MOV A,#3AH ;该指令就是表示把立即数3AH送入累加器A中,立即数前加上一个#,和直接寻址方式区分

4、寄存器间接寻址:若以寄存器的名称直接给出操作数的地址,则称为寄存器间接寻址。

例如:MOV A,@R0 ;该指令是把RO里的内容作为地址,这个地址的数据送入累加器A,注意前面需要加@

5、变址寻址:变址寻址是以某个寄存器的内容为基本的地址,然后在这个基址上加以地址的偏移量,才是真正的操作数地址。

例如:MOV A,@A+DPTR ;地址是A+DPTR的值,这个地址的内容送如累加器A

6、相对寻址:相对转移指令需要用到相对寻址方式,此时操作数部分给出的是地址的相对偏移量部分。

目的地址 = 源地址 + 指令字节数 + rel(rel可正可负)

例如:SJMP rel

7、位寻址:概念就不做解释了。还是把reg52.h这个头文件贴出来说。

相关问答

单片机 的一条指令: SJMP $ 是啥意思?

$表示本地址,SJMP$表示循环的执行本条指令.$表示本地址,SJMP$表示循环的执行本条指令.

sjmp 是什么寻址方式?

单片机短跳转指令,相对寻址方式单片机短跳转指令,相对寻址方式

sjmp $是什么寻址方式?

sjmp指令是相对寻址方式,$是跳转地址偏移量,数值是0×fe(也就是-2)。这条指令的意思就是跳转到相对于本条指令所在地址为-2的地址,通俗地说就是原地跳转,...

比如说( SJMP 是shortjump),我觉得那样的简称太难记了,_作业帮

[最佳回答]MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等.这里先介绍指令助记符及其相关符号的记忆方法.一、...

单片机 中的AJMP LJMP SJMP JMP有什么区别?

个人觉得最好用的是LJMP,因为它是长转移,所以无论程序在何处,都可以跳到你要的地方,同样LCALL也是非常好用,它是长调用子程序,也是无论程序执行到何处,遇...

如何理解 单片机 中的MAIN: SJMP MAIN是等待中断语句?

MAIN:SJMPMAIN本身就是傻等啥都不干,与中断并无直接联系。如果你的系统在初始化时设置好了中断,并使能了,在傻等时来中断是可以进入中断服务程序的。MAIN:SJM...

单片机 求大神指教ORG0000HLJMPMAINORG000BHLJMPTT0ORG1000HM...

[最佳回答]呵呵俺可以帮你解答(1)该程序的功能:就是利用定时计数器0定时,每当定时时间到,对P1.0求反,使P1.0产生连续不断的方波。(2)程序中三条SETB指令各起...

八位机和三十二位 单片机 有什么区别

[回答]你说的LED灯闪烁,不知是指的流水灯还是一只发光二极管在不停地闪烁?但不管是哪一种,有一点很重要。你在编写此程序时必须要考虑延时,因为51单片机的...

单片机 定时时间计算问题假定80C51的晶振频率为6MHz,执行下...

[最佳回答]START:SETBP1.1DL:MOV30H,#03HDL0:MOV31H,#0F0HDL1:DJNZ31H,DL12*240=480DJNZ30H,DL0(1+480+2)*3=14...

单片机 用汇编编写p2.0控制p1.0和p2.1控制p1.1,想在 单片机 里同时实现这两个功能?

这个比较好实现,不过你题目没说清楚,以下程序实现P1.1和P1.0与P2.1和P2.0保持状态一致。ORG00HLJMPSTAORG30HSTA:MOVC,P2.0MOVP1.0...

猜你喜欢