产品概述

单片机c语言试题 单片机应用技术测试 试卷及答案

小编 2025-07-23 产品概述 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

大学单片机考试试卷及答案

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

1、二进制数(11101100)2=___EC____H =___236____D。

2、一个机器周期等于____6____个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为___状态_____周期。

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

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

5、假定(A)=95H,(R0)=20H,(20H)=0BFH。执行指令:ADD A,@R0后,累加器A的内容__54H___,CY的内容__1___,AC的内容__1___,OV的内容__1___。

得分

评卷人

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

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

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

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

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分,共25分)

1、程序填空

MOV A,#10H (A)=_10H___________MOV B,A (B)=_10H____________MOV A,B (A)=__10H___________ADD A,B (A)=__20H____________MOV 20H,A (20H)=___20H__________INC A (A)=_____21H________MOV 21H,A (21H)=_____21H________INC A (A)=________22H____MOV 22H,A (22H)=_______22H______

2、程序填空

MOV DPTR,#2000H (DPTR)=__2000H___________MOV A,#80H (A)=_______80H_____MOVX @DPTR,A (2000H)=___80H_________INC DPTR (DPTR)=____2001H________MOV A,#90H (A)=____90H________MOVX @DPTR,A (2001H)=___90H__________MOV DPTR,#2000H (DPTR)=____2000H________MOVX A,@DPTR (A)=_____80H________MOV B,A (B)=____80H_______INC DPTR (DPTR)=__2001H________MOVX A,@DPTR (A)=_______90H______

3、改正下列指令

MOV @R3,A MOV @R1,AMOV DPTR,A MOVX @DPTR,AINC @R3 INC R3DEC DPTR DEC R3ADDC #30H,A ADDC A,#30H

四、寻址方式(每题2分,共10分)

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

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

五、综合题(共20分)

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

MOV R0,#30H

MOV DPTR,#3000H

MOV R7,#15

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

RET

相关问答

单片机C语言 编写点亮两盏led灯,首先从中间两盏点亮,依次相邻两盏灯点亮,依次循环永不停息?

#includesbitM=P1^0;voiddelayms(unsignedcharms){unsignedinti;while(ms--){for(i=0;i}}...

哪些 单片机 支持 c语言 编程?

不应该说单片机是否支持C语言,目前任何计算机都不直接支持C语言。而应该说某个单片机的开发环境是否支持C语言。就目前来说,几乎所有的单片都有支持C语言的...

51 单片机C语言 for循环延时程序时间计算设晶振12MHz,即一个机...

[最佳回答]不可能的,是不是你的编译有错的啊我改的晶振12M,在KEIL4.0里面编译的,为你得出的结果最大也就是40ms,这是软件的原因,不可能出现100ms那么大的差...

单片机c语言 中常用的两种循环语句?

PrivateSubForm_Load()DimcnnAsADODB.Connection'定义数据库连接DimrsAsADODB.Recordset'定义数据...

单片机C语言 中比如led=~led,波浪线什么意思? - 芝芝雨 的回...

~在这里是按位取反的意思。按位取反是C语言位操作的一种,其操作符为~。该操作为单目操作,即只有一个操作数。~与其后的数值或变量相结合,执行取反计...

C语言 单片机C语言 的区别急求?

单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。具体体现在:1、单片机中C的语法一般...

JAVA、 C C ++、Python同样是高级 语言 ,为什么只有 C C ++可以编写 单片机 程序?

菜农从1981年开始就涉足与嵌入式领域的编程,开始是汇编语言和宏汇编语言,后来是C语言及C++语言,其他语言可能有,但很少且无大出路。因为嵌入式领域的编程与...

单片机 为什么还在用 C语言 编程?

答案是:C语言是最适合单片机编程的高级语言。这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为...单片机为什么还在用C语言编程?答案...

单片机C语言 中比如led=~led,波浪线什么意思?

~在这里是按位取反的意思。按位取反是C语言位操作的一种,其操作符为~。该操作为单目操作,即只有一个操作数。~与其后的数值或变量相结合,执行取反计算。取...

单片机c语言 里的循环左移指令_crol_的格式是?这指令是每秒循环左移一次还是怎么移?主要用在什么场合,本?

for(i=0;i<8;i++){temp=_crol_(temp,1);delay(1000);}程序前面要有#includefor(i=0;i<8;i++){temp=_c...

猜你喜欢