搜档网
当前位置:搜档网 › 单片机课后习题解答

单片机课后习题解答

单片机课后习题解答
单片机课后习题解答

第二章单片机结构及原理

1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么?

答:(1)一个8bit CPU是微处理器的核心,是运算和逻辑计算的中心。

(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。

(3)4K ROM程序存贮器:存贮程序及常用表格。

(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。

(5)两个16bit定时器/计数器:完全硬件定时器

(6)32根可编程I/O口线:标准8位双向(4个)I/O接口,每一条I/O线都能独立地作输入或输出。

(7)一个可编程全双工串行口。

(8)五个中断源。

2、什么是指令?什么是程序?

答:指令是规定计算机执行某种操作的命令。

程序是根据任务要求有序编排指令的集合。

3、如何认识89S51/52存储器空间在物理结构上可以划分为4个空间,而在逻辑上又可以划分为3个空间?

答:89S51/52存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有3个存储器地址空间:片内、片外统一的64KB程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。

4、开机复位后,CPU使用的是哪组工作寄存器?他们的地址是多少?CPU如何确定和改变当前工作寄存器组?

答:开机复位后,CPU使用的是第0组工作寄存器,地址为00H~07H,CPU通过改变状态字寄存器PSW中的RS0和RS1来确定工作寄存器组。

5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP应该多大?

答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈指针SP复位后指向07H单元,00H~1FH为工作寄存器区,20H~2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。如果CPU在操作中要使用两组工作寄存器,SP应该至少设置为0FH。

6、89S51/52的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz时,一个单片机周期为多少微秒?

答:时钟周期为时钟脉冲频率的倒数,他是单片机中最基本的、最小的时间单位。机器周期是指完成一个基本操作所需要的时间,一个机器周期由12个时钟周期组成。指令周期是执行一条指令所需要的时间,由若干个机器周期组成。

若fosc=8MHz,则一个机器周期=1/8×12μs=1.5μs

7、89S51/52扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?

答:访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间。

8、程序状态字寄存器PSW的作用是什么?常用状态标志有哪些位?作用是什么?

答:程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下:

PSW.7(C y):进位标志位。

PSW.6(AC):辅助进位标志位,又称为半进位标志位。

PSW.5(F0):用户标志位。

PSW.4、PSW.3(RS1和 RS0):寄存器组选择位。

PSW.2(OV):溢出标志位。

PSW.1(空缺位):此位未定义。

PSW.0(P):奇偶校验位。

9、位地址7CH和字节地址7CH有何区别?位地址7CH具体在内存中什么位置?

答:字节地址7CH是片内数据存储器中的一个地址单元,该地址单元中可以存放8位二进制数,位地址7CH是内部数据存储器中位寻址区中的一位,该地址单元中可以存放1位二进制数。位地址

7CH具体在片内数据存储器字节地址为2FH中的第4位(2FH.4)。

10、89S51/52中4个I/O端口的作用是什么?89S51/52的片外三总线是如何分配的?

答:I/O端口是单片机与外界联系的重要通道,实现与外部设备的信息的传输。总线分配:片外数据总线(8根)通过P0口输出,片外地址总线(16根)通过P0口(低8位)和P2口(高8位)输出,片外控制总线(PSEN ,ALE , RD ,WR ,EA)主要通过P3口。

11、89S51/52中4个I/O端口在结构上有何异同?

89S51/52单片机的4个I/O口在结构上是基本相同的,但又各具特点。这四个端口都是8位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中,这四个端口的每一位都可以作为双向通用I/O端口使用。在作为一般的通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误读数据。各自特点如下:(1)P0口为双向8位三态I/O口,它既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。作为通用I/O口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。每个引脚可驱动8个TTL负载。

(2)P1口为8位准双向I/O口,内部具有上拉电阻,一般作通用I/O口使用,它的每一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。每个引脚可驱动4个TTL负载。

(3)P2口为8位准双向I/O口,内部具有上拉电阻,可直接连接外部I/O设备。它与地址总线高8位复用,可驱动4个TTL负载。一般作为外部扩展时的高8位地址总线使用。

(4)P3口为8位准双向I/O口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL 负载。作为通用I/O口时,功能与P1口相同,常用第二功能。

12、复位的作用是什么?有几种复位方法?复位后单片机的状态如何?

答:复位是单片机的初始化操作。单片机在RST引脚产生两个机器周期(即24个时钟周期)以上的高电平即可实现复位。主要的复位方法有上电自动复位和按键手动复位两种。按键手动复位又分:按键电平复位和按键脉冲复位。

第三章指令系统

1、简述下列名词术语的基本概念:指令、指令系统、程序、汇编语言指令

答:指令:规定单片机进行某种操作的命令称为指令。

指令系统:单片机能够执行的各种指令的集合。

程序:一系列指令的有序集合称为程序。

汇编语言指令:用助记符形式来表示机器指令。

2、80C51单片机有哪几种寻址方式?这几种寻址方式是如何寻址的?

答:共7种寻址方式,分别为:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,变址寻址,位寻址和相对寻址。

寄存器寻址方式:由指令指出某一寄存器的内容做为操作数。

直接寻址方式:指令中操作数直接以单元地址的形式给出。

寄存器间接寻址方式:寄存器间接寻址方式,寄存器中存放的则是操作数的地址,即操作数是通过寄存器间接得到的。

立即寻址方式:操作数在指令中直接给出。

变址寻址方式:变址寻址是为了访问程序存储器中的数据和表格。MCS-51的变址寻址是以DPTR或PC作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成的16?位地址做为操作数地址,以达到访问数据和表格的目的。

位寻址方式:指对片内RAM的位寻址区和某些可寻址的特殊功能寄存器进行位操作的寻址方式。

相对寻址方式:相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。

3、要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?

答:访问特殊功能寄存器可以采用直接寻址、立即寻址、寄存器寻址和位寻址(针对可以进行位寻址的特殊功能寄存器)方式。访问片外数据存储器可采用寄存器间接寻址方式。

4、80C51单片机的指令系统可以分为哪几类?说明各指令的功能。

答:51单片机指令系统按功能可分为5类:

(1)数据传送指令主要进行数据的传送、交换等;

(2)算术运算指令主要进行基本的加减乘除运算;

(3)逻辑运算指令主要实现逻辑运算与移位运算;

(4)控制转移指令主要是实现对程序流程的控制;

(5)位操作指令

5、外部数据传送指令有哪几条?有和区别?

答:外部数据传送指令有读指令和写指令两类,每类指令的寻址范围不同,分别为:读外部存储器指令:MOVX A,@Ri ;寻址范围为256字节

MOVX A,@DPTR ;寻址范围为64K字节

写外部存储器指令:MOVX @Ri,A ;寻址范围为256字节

MOVX @DPTR,A ;寻址范围为64K字节

6、在89S51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分别分析下段程序按序执行后的结果。

MOV A,40H ;A=48H

MOV R0,A ;R0=48H

MOV P1,#0FFH ;P1=FFH

MOV @R0,30H ;(48H)=38H

MOV DPTR,#1246H ;DPTR=1246H

MOV 40H,38H ;(40H)=40H

MOV R0,30H ;R0=38H

MOV 90H,R0 ;(90H)=38H

MOV 48H,#30H ;(48H)=30H

MOV A,@R0 ;A=40H

MOV P2,P1 ;P2=38H

7、略

8、DA A 指令的作用是什么?怎样使用?

答:对十进制BCD数作加法时进行调整,当结果的低4位A0~A3>9,或半进位AC=1,则A0~A3+6,否则不加;当结果的高4位A4~A7>9,或进位CY=1,则A4~A7+6,否则不加;这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD码的加法运算结果自动进行修正,使其仍为BCD码表示形式。

9、试编程将片外数据存储器60H中的内容传送到片内RAM54H单元中。

答:MOV R0,#60H

MOVX A,@R0

MOV 54H,A

10、试编程将寄存器R7的内容传送到R1中去。

11、已知当前PC值为210H,请用两种方法将程序存储器2F0H中的常数送入累加器A中。

答:(1)以程序计数器PC作为基址寄存器

MOV A,#0E0H

MOVC A,@A+PC

(2)以数据指针DPTR作为基址寄存器

MOV DPTR,#02F0H

MOV A,#00H

MOVC A,@A+DPTR

12、试说明下段程序中每条指令的作用,并分析当指令执行完后,R0中的内容是什么?

MOV R0,#0A7H ;R0=A7H,立即数送寄存器R0

XCH A,R0 ;A=A7H,累加器A中的数据与R0中的数据进行交换

SWAP A ;A=7AH,累加器A中的高低四位进行交换

XCH A,R0 ;R0=7AH,数据交换回R0

13、请用两种方法实现累加器A与寄存器B的内容交换。

答:(1)MOV R0,A

MOV A,B

MOV B,R0

(2)MOV R0,B

XCH A,R0

14、试编程将片外RAM中40H单元的内容与R1的内容交换。

答:MOV R0,#40H

MOVX A,@R0

XCH A,R1

MOVX @R0,A

15、已知:A=0C9H,B=8DH,CY=1。

执行指令 ADDC A,B结果如何? A=57H,CY=1,OV=1,AC=1,P=1

执行指令 SUBB A,B结果如何? A=3BH,CY=0,AC=1,OV=1

16、试编程将片外RAM中30H和31H单元中的内容相乘,结果存放在32H(低位)和33H(高位)单元中。

答:MOV R0,#30H

MOVX A,@R0

MOV B,A

INC R0

MOVX A,@R0

MUL AB

INC R0

MOVX @R0,A

MOV A,B

INC R0

MOVX @R0,A

17、试用3种方法将累加器A中的无符号数乘2.

(2)MOV B,#2

MUL AB

(3)RL A

18、分析依次执行下列指令的结果:

MOV 30H,#0A4H ;(30H)=A4H

MOV A,#0D6H ;A=D6H

MOV R0,#30H ;R0=30H

MOV R2,#47H ;R2=47H

ANL A,R2 ;A=46H

ORL A,@R0 ;A=E6H

SWAP A ;A=6EH

CPL A ;A=91H

XRL A,#0FFH ;A=6EH

ORL 30H,A ;(30H)=EEH

19、求下列指令执行后,累加器A及PSW中进位CY、奇偶位P和溢出位OV的值。

(1)当A=5BH时;ADD A,#8CH

(2)当A=5BH时;ANL A,#7AH

(3)当A=5BH时;XRL A,#7FH

(4)当A=5BH,CY=1时;SUBB A,#0E8H

答:(1)A=E7H,CY=1,P=0,OV=0

(2)A=5AH ,P=0

(3)A=24H ,P=0

(4)A=72H,CY=1,P=0,OV=0

20、把累加器A中的低4位数据送到外部数据存储器的2000H单元。

答:ANL A,#OFH

MOV DPTR,#2000H

MOVX @DPTR,A

21、试说明指令CJNE @R1,#7AH,10H的作用,若本指令地址为250H,其转移地址是多少?

答:指令作用:如果以R1内容为地址的单元中的数据等于7AH,则程序顺序执行,否则转移后继续执行。若本指令地址为250H,则转移地址为250H+03H+10H= 263H。

22、将累加器A中的数据由0递增,加到50,结果在累加器A中。

答:CLR A

MOV R0,#50

L1: INC A

DJNZ R0,L1

23、试说明压栈指令和弹栈指令的作用及执行过程。

答:压栈(入栈或进栈)指令的作用是将数据存入堆栈中,其执行过程是先将堆栈指针SP的内容加1,然后将直接地址单元中的数据压入SP指向的单元中。若数据已推入堆栈,则SP指向最后推入数据所在的存储单元(即指向栈顶)。

弹栈(出栈)指令的作用是将数据从堆栈中取出,其执行过程为先将堆栈指针SP所指出单元的内容送入直接寻址单元中,然后将SP的内容减1,此时SP指向新的栈顶。

24、下述程序执行后,SP=?,A=?,B=?。

ORG 2000H

MOV SP,#40H

MOV A,#30H

LCALL 250H ;下条指令地址2008H送41H、42H,SP=42H

ADD A,#10H

MOV B,A ;地址为200AH

L1: SJMP L1

ORG 250H

MOV DPTR,#200AH

PUSH DPL ;SP+1=43H,DPL→(43H)

PUSH DPH ;SP+1=44H,DPH→(44H)

RET ;200AH→PC

答:上述程序执行后,SP=42H,A=30H,B=30H。

25、发光二极管点亮规律:先是第1和第8个亮,延时一段时间后,第2和第7个亮,延时后,再是第3和第6个亮,延时后,最后是第4和第5个点亮,延时后循环。

26、若系统晶振频率为6MHz,求子程序DELAY的延时时间,若想加长或缩短时间,应该怎样修改?答:DELAY: MOV R2,#0FAH

L1: MOV R3,#0FAH

L2: DJNZ R3,L2

DJNZ R2,L1

RET

总时间计算:T=4μs+(250×4μs+4μs)×250+4μs=251.008ms

估算:T=250×4μs×250=250ms

若想加长延时时间,可以增加循环次数或再加一重循环;

若想减小延时时间,可以减少循环次数或较少一重循环。

27、P1口连接8个共阳极连接的发光二极管,是编制灯亮移位程序。

答:MOV A,#0FEH

L1: MOV P1,A

RL A

LCALL DELAY ;DELAY子程序同上题

SJMP L1

28、试编一程序,将外部数据存储器2100H单元中的高4位置“1”,其余位清“0”。

答:MOV DPTR,#2100H

MOVX A,@DPTR

ORL A,#0F0H

ANL A,#0F0H

MOVX @DPTR,A

29、试编程将片内数据存储器40H单元的第0为和第7位置1,其余取反。

答:MOV A,40H

CPL A

SETB ACC.0

SETB ACC.7

MOV 40H,A

30、将A.5与80H位相与的结果,通过P1.4输出。

MOV C ,80H ANL C ,ACC.5 MOV P1.4,C

31、请用位操作指令,求下列逻辑方程。 (1)2.3)1.20.(0.7.1P P B ACC P ++?= MOV C ,B.0 ORL C ,P2.1 ANL C ,ACC.0 ORL C ,/P3.2

MOV

P1.7,C

(2)1.15.2.3.15.P B ACC P PSW ?+?= MOV C ,P1.3 ANL C ,ACC.2 MOV 20H ,C MOV C ,B.5 ANL C ,/P1.1 ORL C ,20H

MOV

PSW.5,C

(3)0.17.4.5.13.2P ACC B P P ?+?= MOV C ,B.4 ANL C ,/P1.5 MOV 20H ,C MOV C ,P1.0 ANL C ,/ACC.7

ORL

C ,20H ( 下一行)MOV P2.3,C

第四章 汇编语言程序设计

1、编程将片内40H ~60H 单元中的内容送到以3000H 为首的存储区内。 答: MOV R1,#40H MOV R2,#21H MOV DPTR ,#3000H L1: MOV A ,@R1 MOVX @DPTR ,A INC R1 INC DPTR DJNZ R2,L1

2、编程计算下列算式的程序 (1)23H+45H+ABH+03H= MOV A ,#23H ADD A ,#45H ADD A ,#0ABH

XCH A ,B ;溢出处理 ADDC A ,#00H

XCH A,B

ADD A,#03H ;A中为结果低位,B中为高位

(2)CDH+15H-38H-46H=

MOV A,#0CDH

ADD A,#15H

SUBB A,#38H

SUBB A,#46H

(3)1234H+8347H=

MOV A,#34H

ADD A,#47H

MOV 30H,A

MOV A,#12H

ADDC A,#83H

MOV 31,A ;30H存结果低位,31H存结果高位

(4)AB123H-43ADCH=

CLR C

MOV A,#23H

SUBB A,DCH

MOV 30H,A

MOV A,#0B1H

SUBB A,#3AH

MOV 31H,A

MOV A,#0AH

SUBB A,,#04H

MOV 32H,A ;30H为低位,32H为高位

3、设有两个4位BCD码,分别存放在23H、22H单元和33H、32H单元中,求他们的和,并送入43H、42H单元中(低位在低字节,高位在高字节)。

答:MOV A,22H

ADD A,32H

MOV 42H,A

MOV A,23H

ADDC A,33H

MOV 43H,A

4、略

5、编程计算片内RAM区50H~59H单元中数的平均值,结果存放在5AH中。

答:MOV R0,#8

MOV R1,#50H

MOV A,#00H

L1: ADD A,@R1

INC R1

DJNZ R0,L1

MOV B,#8

DIV AB

MOV 5AH,A

6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b 值分别存在片外3001H 和3002H 单元中,结果存于片外3000H 单元中。

(1)??

?

??÷?=b a b a Y 25

b a b a b a ><=,,,

MOV DPTR ,#3001H MOVX A ,@DPTR MOV 30H ,A ;a 暂存30H 单元

INC DPL

MOVX A ,@DPTR CJNE A ,30H ,L1 ;是否a=b

MOV A ,#25 SJMP SAVE L1: JNC L2 MOV B ,30H MUL AB SJMP SAVE L2: MOV B ,A MOV A ,30H DIV AB

SAVE: MOV DPTR ,#3000H

MOVX

@DPRT ,A

(2)??

???-++++=10)()(10)(22

2b a b a b a Y 10)(,10)(,10)(,2

22>+=+<+b a b a b a

MOV DPTR ,#3001H MOVX A ,@DPTR MOV 30H ,A INC DPTR MOVX A ,@DPTR ADD A ,30H MOV B ,A

MUL AB ; (a +b)

2

MOV 31H ,A CJNE A ,#10,L1 SJMP SAVE L1: JC L2 CLR C

SUBB A ,#10 SJMP SAVE L2: ADD A ,#10

SAVE: MOV DPTR ,#3000H

MOVC @DPTR ,A

7、设有两个长度均为15的数组,分别存放在以200H和210H为首地址的存储区中,试编程求其对应项之和,结果存放到以220H为首地址的存储区中。

答:MOV DPH,#02H

MOV R1,#15

MOV R2,#00H ;数组1首地址低位

MOV R3,#10H ;数组2首地址低位

MOV R4,#20H ;和首地址低位

L1: MOV DPL,R2

MOVX A,@DPTR

MOV R1,A

MOV DPL,R3

MOVX A,@DPTR

ADD A,R1

MOV DPL,R4

MOVX @DTPR,A

INC R2

INC R3

INC R4

DJNZ R1,L1

SJMP $

8、设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计正数、负数和零的个数。

答:MOV 30H,#00H ;正数计数器

MOV 31H,#00H ;负数计数器

MOV 32H,#00H ;零计数器

MOV DPTR,#2000H

MOV R1,#100

L4: MOVX A,@DPTR

INC DPTR

CJNE A,#0,L1

INC 32H

SJMP L2

L1: JC L3

INC 30H

SJMP L2

L3: INC 31H

L2: DJNZ R1,L4

SJMP $

9、将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM 30H~60H中,并将原数据块区域全部清零。

答:MOV R0,#30H

MOV R2,#31H

MOV DPTR ,#1000H

LP: MOVX A,@DPTR

MOV @R0,A

AND A,#00H

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R2,LP

SJMP $

10、试编写一子程序,是R1、R0指向的两个片外RAM连续单元中的高4位二进制数,合并成一个字节,装入累加器A中。已知R0指向低地址,并要求该单元高四位放在A中高四位。

答:MOVX A,@R1

ANL A,#0F0H

SWAP A

MOV R2,A

MOVX A,@R0

ANL A,#0F0H

ORL A,R2

11、试编程把以2040H为首地址的连续50个单元的无符号数按降序排列,存放到以3000H为首地址的存储区中。

答:MOV R2,#50

MOV R3,#20H

MOV R4,#40H ;源地址

MOV R5,#30H

MOV R6,#00H ;目的地址

SEND: MOV DPH,R3 ;SEND将2040H数据块移入3000H存储区MOV DPL,R4

MOVX A,@DPTR

INC DPTR

MOV R3,DPH

MOV R4,DPL

MOV DPH,R5

MOV DPL,R6

MOVX @DPTR,A

INC DPTR

MOV R5,DPH

MOV R6,DPL

DJNZ R2,SEND

MOV R2,#49 ;重复次数

CMP1: MOV DPTR,#3000H

MOV R3,#49 ;比较次数

CMP2: MOVX A,@DPTR

MOV B,A

INC DPTR

MOVX A,@DPTR

CJNE A,B,L1

L1: JC NOMOVE

MOV 30H,A

CLR C

MOV A,DPL

SUBB A,#01H

MOV DPL,A

MOV A,30H

MOVX @DPTR,A

INC DPTR

MOV A,B

MOVX @DPTR,A

NOMOVE: DJNZ R3,CMP2 ;50个数重复一遍?

DJNZ R2,CMP1 ;排序结束?

LJMP $

12、试编一查表程序,从首地址为2000H,长度为100的数据块中找出ASCII码为A,将其地址送到20A0H和20A1H单元中。

答:MOV DPTR,#2000H

MOV R2,#100

GO_ON: MOVX A,@DPTR

CJNE A,#41H,IFEND

MOV A,DPH

MOV B,DPL

MOV DPTR,#20A0H

MOVX @DPTR,A

INC DPTR

XCH A,B

MOVX @DPTR,A

SJMP OVER

IFEND: INC DPTR

DJNZ R2,GO_ON

OVER: SJMP OVER

13、设在200H~204H单元中,存放5个压缩BCD码,编程将他们转换成ASCII码,存放到以205H 单元为首地址的存储区。

答:MOV R2,#05H

MOV R3,#02H

MOV R4,#00H

MOV R5,#02H

MOV R6,#05H

CHLP: MOV DPH,R3

MOV DPL,R4

MOVX A,@DPTR

INC DPTR

MOV R3,DPH

MOV R4,DPL

MOV B,A

SWAP A

ANL A,#0FH

ORL A,#30H

MOV DPH,R5

MOV DPL,R6

MOVX @DPTR,A

INC DPTR

MOV A,B

ANL A,#0FH

ORL A,#30H

MOVX @DPTR,A

MOV R5,DPH

MOV R6,DPL

DJNZ R2,CHLP

14、有一无符号数据块长度在30H单元中,其首地址为31H单元,求出数据块中最大值,并存入40H中。

答:MOV R0,#31H

MOV R1,30H

MOV 40H,#00H

LOOP: MOV A,@R0

CJNE A,40H,L1

SJMP AGAIN

L1: JNC L2

SJMP AGAIN

L2: MOV 40H,A

AGAIN: INC R0

DJNZ R1,LOOP

SJMP $

15、略

16、在以2000H为首地址的存储区内,存放20个用ASCII码表示的0~9之间的数,试编程,将它们转换成BCD码,并以压缩BCD码的形式存在3000H~3009H单元中。

答:MOV R2,#10

MOV R3,#20H

MOV R4,#00H

MOV R5,#30H

MOV R6,#00H

LP: MOV DPH,R3

MOV DPL,R4

MOVX A,@DPTR

ANL A,#0FH

SWAP A

XCH A,B

INC DPTR

MOVX A,@DPTR

ANL A,#0FH

ORL A ,B INC DPTR MOV R3,DPH MOV R4,DPL MOV DPH ,R5 MOV DPL ,R6 MOVX @DPTR ,A INC DPTR MOV R5,DPH MOV R6,DPL DJNZ R2,LP SJMP $

17、试编程实现下列逻辑表达式功能。设P1.7~P1.0为8个变量的输入端,而其中P1.7又作为变量的输出端。

;输入端定义

X0 EQU P1.0

X1 EQU P1.1 X2 EQU P1.2 X3 EQU P1.3 X4 EQU P1.4 X5 EQU P1.5 X6 EQU P1.6

X7 EQU P1.7

(1)76543210X X X X X X X X Y +++= MOV C ,X0 ANL C ,X1 ANL C ,/X2 ORL C ,X3 MOV 00H ,C MOV C ,X4 ANL C ,X5 ANL C ,X6 ORL C ,/X7 ORL C ,00H

MOV

P1.7,C

(2)76543210X X X X X X X X Y ++= MOV C ,X0 ANL C ,X1 CPL C

MOV 00H ,C MOV C ,X2 ANL C ,X3

ANL C ,X4

CPL C

MOV 01H,C

MOV C,X5

ANL C,X6

ANL C,X7

CPL C

ORL C,O1H

CPL C

ORL C,00H

MOV P1.7,C

18、略

19、略

20、试编写延时1s、1min、1h子程序。

;单片机时钟fosc=12MHz,计算为近似值

;1s延时子程序

DLY_1S: MOV R0,#10

L3: MOV R1,#200

L2: MOV R2,#250

L1: DJNZ R2,L1

DJNZ R1,L2

DJNZ R0,L3

RET

;延时1min

DLY_1M: MOV R3,#60

L4: LCALL DLY_1S

DJNZ R3,L4

RET

;延时1h

DLY_1H: MOV R4,#60

L5: LCALL DLY_1M

DJNZ R4,L5

RET

21、用程序实现c=a2+b2。设a、b均小于10,a存在31H单元中,b存在32H单元中,c存33H单元。

答:ORG 1000H

SR:MOV A,31H

ACALL SQR

MOV R1,A

MOV A,32H

ACALL SQR

ADD A,R1

MOV 33H,A

SJMP $

;求平方子程序如下(采用查平方表的方法)

SQR: INC A

MOVC A, @A+PC

RET

TABLE: DB 0, 1, 4, 9, 16

DB 25,36,49,64,81

END

22、如何实现将内存单元40H~60H的数逐个对应传到片外2540H~2560H单元中?

答:MOV R0,#40H

MOV DPTR,#2540H

MOV R2,#21H

L1: MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R2,L1

SJMP $

23、参考21题

24、参考21题

25、参考实验程序

26、参考实验程序

第五章定时/计数器

1、89S51单片机内部有几个定时/计数器,他们有哪些专用寄存器组成?

答:89S51单片机内部有两个16位定时/计数器,为定时器0(T0)和定时器1(T1)。在定时器/计数器的16位的计数器是由两个8位的专用寄存器TH0、TL0,TH1、TL1组成。

2、89S51单片机的定时/计数器有哪几种工作方式,各有什么特点?

答:定时器/计数器有四种工作方式:方式0,方式1,方式2,方式3。其中,方式3只适用于T0。

以T0为例:①方式0,16位寄存器只用了13位,TL0的高三位未用。由TH0的8位和TL0的低5位组成一个13位计数器;②方式1,和方式0的工作相同,唯一的差别是TH0和TL0组成一个16位计数器;③方式2,把TL0配置成一个可以自动恢复初值的8位计数器,TH0作为常数缓冲器。TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF0置1,同时把TH0中的8位数据重新装入TL0中;④方式3,将使TL0和TH0成为两个相互独立的8位计数器,TL0利用T0本身的一些控制,它的操作与方式0和方式1类似。而TH0被规定为只用作定时器功能,对机器周期计数,并借用了T1的控制位TR1和TF1。在这种情况下TH0控制了T1的中断。这时T1还可以设置为方式0~2,用于任何不需要中断控制的场合,或者用作串行口的波特率发生器。

3、定时/计数器用作定时方式时,其定时时间与哪些因素有关?作为计数时,对外界计数频率有何限制?

答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。

定时/计数器作计数时,由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4、当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?答:定时器T0用作方式3时,由于TR1位已被T0占用,此时通过控制位C/T切换其定时或计数器工作方式。当设置好工作方式时,定时器T1自动开始运行,若要停止,只需送入一个置定时器T1为方式3的方式字。

5、已知89S51单片机系统时钟频率为24MHz,请利用定时器T0和P1.2输出矩形脉冲。矩形波高电平宽度50μs,低电平宽度350μs。

答:ORG 1000H

MOV TMOD,#02H ;设置工作方式

MOV TH0,#09CH ;设置定时器初值

MOV TL0,#09CH

SETB TR0 ;启动定时器

LOOP:SETB P1.2 ;P1.0输出高电平

MOV R0,#07H

DEL:JBC TF0 ,REP ;定时是否到?

AJMP DEL

REP:SETB P1.2 ;P1.0输出低电平

DJNZ R0,DEL

AJMP LOOP

END

6、在89S51单片机中,已知时钟频率为12MHz,请编程使P1.0和P1.1分别输出周期为2ms和500μs 的方波。

答:选择方式2,用定时器T1

MOV TMOD,#20H

MOV TH1,#06H

MOV TL1,#06H

SETB TR1

L1: MOV R2,#04H

L2: JNB TF1,$

CLR TF1,

CPL P1.1

DJNZ R2,L2

CPL P1.0

LJMP L1

7、设系统时钟为24MHz,试用定时器T0做外部计数器,编程实现每计到1000个脉冲,是T1开始2ms定时,定时时间到后,T0又开始计数,循环往复。

答:MOV TMOD,#15H ;T1定时方式1,T0计数方式1

L1: MOV TH0,#0FCH

MOV TL0,#18H

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

MOV TH1,# H

MOV TL1,# H

SETB TR1

JNB TF1,$

CLR TR1

CLR TF1

LJMP L1

8、略

9、略

第六章 80C51的串行接口

1、什么是串行异步通信?他有哪些特点?有哪几种帧格式?

答:串行通信即所传输数据的各位按顺序一位一位的发送或接收。串行通信分为同步和异步两种方式。

在异步通信中数据或字符是一帧一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。

它的主要特点:由于异步通信每传送一帧有固定的格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外它还能利用校验位检测错误。

帧格式的一般形式是先用一个起始位“0”表示字符的开始,然后是数据位,其后是奇偶校验位,最后是停止位,用以表示字符结束。

2、某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。

答:设每个字符由1个起始位、8个数据位、1个可编程位和1个结束位组成,其传送波特率为:11b×3600/60s=660bps

3、80C51单片机的串行口由哪些基本功能部件组成?

答: 80C51单片机的串行口基本功能部件主要有:两个数据缓冲寄存器SBUF,一个串行口控制寄存器SCON,一个输入移位寄存器。

4、80C51单片机的串行口有几种工作方式?几种帧格式?如何设置不同方式的波特率?

答:80C51单片机的串行口有四种工作方式,由串行口控制寄存器中的SM0、SM1控制。

80C51单片机的串行通信有8位、10位、11位三种帧格式。

波特率设置:4种工作方式波特率的计算方法不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,均由定时器T1的溢出率控制。具体计算如下:方式0:波特率固定为时钟频率的1/12,不受SMOD的影响。(SMOD为波特率倍增位)

方式1的波特率=2SMOD/32×定时器T1的溢出率

方式2的波特率=2SMOD/64×fosc

方式3的波特率=2SMOD/32×定时器T1的溢出率

5、为什么定时器T1用作串行口波特率发生器时,常采用工作方式2?

答:在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。串口有四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,有定时器T1的溢出率控制。定时器T1用作串行口波特率发生器时,因为工作方式2是自动重装载方式,因而定时器T1作波特率发生器常采用工作方式2.

6、已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?

答:最高波特率:TH1=0FFH,TL1=0FFH

波特率最高=2/32×24M/(12×(256-255))bps=0.125Mbps

最低波特率:TH1=00H,TL1=00H

波特率最低=1/32×24M/(12×(256-0))bps=244bps

7、略(参见教材相关例题)

8、利用AT89S51串行口控制8个发光二极管工作,要求发光二极管每隔1S交替的亮灭,画出电路并编写程序。

答:电路如下图所示

实验程序如下:

CLR P1.0 ;清输出

SETB P1.0 ;允许串行移位

MOV SCON,#00H

MOV A,#55H ;显示初值

AGAIN: MOV SBUF,A

JNB TI,$

CLR TI

LCALL DLY_1S

RR A

LJMP AGAIN

DLY_1S: MOV R1,#20

L3: MOV R2,#200

L2: MOV R3,#250

L1: DJNZ R3,L1

DJNZ R2,L2

DJNZ R1,L3

RET

9、串行口异步通信时,ASCII码“3”的字符格式(10位)如何?

答:串行口异步通信时,10位的数据帧结构为:一个起始位(0),8个数据位(先低位后高位),一个停止位(1)。

故ASCII码“3” 的字符格式为:0110011001B。

10、若选用定时器T1作波特率发生器,设fosc=6MHz,计数初值为0FDH,SMOD=1,求波特率是多少?

答:若选用定时器T1作波特率发生器,波特率由下式确定:

波特率=(定时器T1溢出率)/n

公式中:①n为32或16,取决于特殊功能寄存器PCON中的SMOD位的状态。若SMOD=0,则n=32。

若SMOD=1,则n=16。②定时器T1溢出率=定时器T1的溢出次数/秒。

由题可知:f osc=6MHz,计数初值为0FDH,SMOD=1,故

()

kHz 42.10FDH 02561216MHz

6=-??

第七章 中断系统

1、什么是中断?在单片机中中断能实现哪些功能?

答:中断是通过硬件来改变CPU 程序运行方向。计算机在执行程序过程中,由于CPU 以外的原因,有必要尽快终止当前程序的执行,而去执行相应的处理程序,待处理结束后,在回来继续执行被终止的原程序。这种程序在执行过程中由于外界的原因而被中间打断的情况成为“中断”。

中断能实现的功能:(1)能实现中断及返回。

(2)能实现优先权的排队。 (3)能实现中断的嵌套。

2、什么是中断优先级?中断优先级处理的原则是什么?

答:通常,在系统中会有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况,这就要求计算机能区分各个中断源的请求,有能确定首先为哪一个中断源服务。为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。

中断优先级处理原则:两个或两个以上的中断源同时提出中断申请时,计算机首先为中断优先权最高的中断服务,服务结束以后,再响应级别较低的中断源。

3、80C51有几个中断源,各中断标志如何产生的,又如何清“0”的?CPU 响应中断时,中断入口地址各是多少?

答:8051单片机有5个中断源,分别是:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断。

中断标志产生与清“0”: (1)外部中断:外部中断由外部原因引起,可以通过两个固定的引脚(10INT INT 和)输入信号。一旦输入信号有效,则向CPU 申请中断并使IE0(或IE1)=1。硬件复位。

(2)定时器中断:定时器中断是为了满足定时或计数溢出处理的需要而设置的。当定时/计数器的计数结构发生计数溢出时,即表明定时时间到或计数次数到,此时就以计数器溢出信号作为中断请求,去置一个溢出标志位(TF0或TF1=1)。使用中断时通过硬件复位,在查询方式下可由软件复位。

(3)串口中断:串行中断请求是在单片机内部产生的。当发送完数据或接收完数据后,就会置相应标志位(TI 或RI=1)。一旦响应中断,必须由软件进行复位。

中断入口地址:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断的入口地址依次为:0003H ,000BH ,0013H ,001BH ,0023H 。 4、中断响应时间是否确定不变的?为什么?

答:中断响应时间不是确定不变的。由于CPU 不是在任何情况下都可以中断请求予以响应,不同情况对中断响应的时间也是不一样的。中断信号会在每个机器周期的S5P2时刻对相应中断标志位进行置位,若CPU 在下一个机器周期才能查询到中断请求,如果满足中断响应的条件,下一条指令将是一硬件长调用指令,使程序转入中断矢量入口,调用本身需要2个机器周期,因此响应中断至少需要3个机器周期。如遇正在执行的指令,或有同级、更高级的中断服务正在进行,则需更长时间。若系统中只有一个中断源,则响应时间为3~8个机器周期。

5、用定时器T1定时,要求在P1.6口输出一个方波,周期为1min ,晶振为12MHz ,请用中断方式实现,并分析采用中断后的优点。

答:使用定时器T1,工作在方式1,定时50ms ORG 0000H LJMP MAIN

单片机试卷及答案

一选择题 (n )1.MCS—51单片机是高档16位单片机。 (y )2.MCS—51的产品8051与8031的区别是:8031片内无ROM。 (n )3.单片机的CPU从功能上可分为运算器和存贮器。 (y )4.MCS-51的指令寄存器是一个8位寄存器,用于暂存待执行指令,等待译码。 (n )5.MCS—51的指令寄存器是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号。 (y )6.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 (y )7.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。 (n )8.MCS—51的程序存贮器用于存放运算中间结果。(y )9.MCS—51的数据存贮器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。 (y )10.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。 (n )11.CPU的时钟周期为振荡器频率的倒数。 (n )12.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。(y )13.单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。 (n )14.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。 (n )15.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 (y )16.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。 (y )17.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM来读写。 (n )18.MCS—51单片机的片内存贮器称为程序存贮器。(n )19.MCS—51单片机的数据存贮器是指外部存贮器。(y )20.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。 (y )21.微机控制系统的抗干扰问题是关系到微机应用成败的大问题. 二、单项选择题 1.MCS—51单片机的CPU主要的组成部分为a 。 A.运算器、控制器B.加法器、寄存器C.运算器、加法器D.运算器、译码器 2.单片机能直接运行的程序叫c 。 源程序B。汇编程序C。目标程序D。编译程序3.单片机中的程序计数器PC用来c 。 A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址 4.单片机上电复位后,PC的内容和SP的内容为b 。A.0000H,00H B。0000H,07H C。0003H,07H D。0800H,08H 5.单片机8031的ALE引脚是b 。 输出高电平B。输出矩形脉冲,频率为fosc的1/6 C.输出低电平D。输出矩形脉冲,频率为fosc的1/2 6.单片机8031的引脚a 。 A.必须接地B。必须接+5V C。可悬空D。以上三种视需要而定7.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是A 。 A.P0口B。P1口C。P2口D。P0口和P2口 8.PSW中的RS1和RS0用来a 。 选择工作寄存器区号B。指示复位C。选择定时器D。选择工作方式 9.上电复位后,PSW的值为d 。 A.1 B。07H C。FFH D。0 10.单片机上电复位后,堆栈区的最大允许范围是b 个单元。A.64 B。120 C。128 D。256 11.单片机上电复位后,堆栈区的最大允许范围是内部RAM的d 。 A.00H—FFH B。00H—07H C。07H—7FH D。08H—7FH 12.堆栈指针SP在内部RAM中的直接地址是c 。 A.00H B。07H C。81H D。FFH 的P0口,当使用外部存贮存器时它是一个d 。 A.传输高8位地址口A.传输低8位地址口 C.传输高8位数据口D.传输低8位地址/数据口 14.P0口作数据线和低8位地址线时b 。 A.应外接上拉电阻B.不能作I/O口C.能作I/O口D.应外接高电平 15.对于8031单片机,其内部RAM d 。 A.只能位寻址B.只能字节寻址C.既可位寻址又可字节寻址D.少部分只能位寻址 16.寻址方式就是c 的方式。 A.查找指令操作码B.查找指令C.查找指令操作数 D.查找指令操作码和操作数 17.8031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于c μS。 A.1/12 B.1/2 C.1 D.2 18.MCS—51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来b 。 A.存放指令B.存放16位地址,作间址寄存器使用C.存放

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

《单片机应用技术(C语言版)》试卷A一、单项选择题(每题1.5分,共30分) 1、51单片机的CPU主要由()组成。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 2、程序是以()形式存放在程序存储器中。 A、C语言源程序 B、汇编程序 C、二进制编码 D、BCD码 ——引脚()3、单片机8031的EA。 A、必须接地 B、必须接+5V电源 C、可悬空 D、以上三种视需要而定 4、单片机上电复位后,PC的内容为()。 A、0x0000 B、0x0003 C、0x000B D、0x0800 5、外部扩展存储器时,分时复用做数据线和低8位地址线的是() A、P0口 B、P1口 C、P2口 D、P3口 6、单片机的ALE引脚是以晶振振荡频率的()固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A、1/2 B、1/4 C、1/6 D、1/12 7、下面叙述不正确的是()。 A、一个C源程序可以由一个或多个函数组成。 B、一个C源程序必须包含一个主函数main( )。 C、在C程序中,注释说明只能位于一条语句的后面。 程序的基本组成部分单位是函数。C、D 8、在C语言中,当do-while语句中的条件为()时,循环结束。 A、0 B、false C、true D、非0 9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、共阳极LED数码管加反相器驱动时显示字符“6”的段码是() A、0x06 B、0x7D C、0x82 D、0xFA 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、010 D、0x50 15、启动T0开始计数是使TCON的()。

单片机试题及答案

单片机原理与接口技术习题答案 习题与思考题1 1-1 微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-3 简述计算机的工作过程。 答:计算机的工作是由微处理器以一定的时序来不断的取指令、指令译码和执行指令的过程。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 1-5 单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 1-6 为什么说单片微型计算机有较高的性能价格比和抗干扰能力? 答:因为单片微型计算机主要面向特定应用而设计,设计者在硬件和软件上都高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,具备较高的性能、价格比;单片机嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中,另外单片机体积小,可以放入屏蔽设备中,从而使其具有较高的抗干扰能力。 1-7 简述单片机嵌入式系统的定义和特点。 答:单片机嵌入式系统是嵌入到对象体系中的专用计算机系统;其特点是面向特定应用、与各个行业的具体应用相结合、硬件和软件高效率、软件固化在存储器芯片或单片机本身和不具备自举开发能力。 习题与思考题2 2-1 MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O口和中断控制等基本功能部件。 单片机的核心部分是CPU,CPU是单片机的大脑和心脏。 程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。 I/O接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。 中断控制可以解决CPU与外设之间速度匹配的问题,使单片机可以及时处理系统中许多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。 2-2 MCS-51单片机的核心器件是什么?它由哪些部分组成?各部分的主要功能是什么? 答:单片机的核心部分是CPU,可以说CPU是单片机的大脑和心脏。它由运算器、控制器和布尔(位)处理器组成。 运算器是用于对数据进行算术运算和逻辑操作的执行部件。

单片机原理及应用考试试卷及答案修订稿

单片机原理及应用考试 试卷及答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

一.填空题: 1.8051系列单片机字长是 8 位,有 40 根引脚。当系统扩展外部 存储器或扩展I/O口时, P0 口作地址低8位和数据传送总线, P2 口作地址总线高8位输出, P3 口的相应引脚会输出控制信号。 2.当EA为低电平(接地)时,CPU只执行外部程序存储器或ROM 中的程序。 3.数据指针DPTR有 16 位,程序计数器PC有 16 位。 4.在MCS-51单片机中,一个机器周期包括 12 个时钟周期。 5.C51编译器支持三种存储模式,其中SMALL模式默认的存储类型为 data ,LARGE模式默认的存储类型为 xdata 。 6.欲使P1口的低4位输出0,高4位不变,应执行一条 ANL P1,#0F0H 命令。 7.8051单片机复位后,PC = 0000H 。 8. 74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在 8 块芯片中选中其中任一块。 9.单片机位寻址区的单元地址是从 20H 单元到 2FH 单元,若某位地址是12H,它所在单元的地址应该是 22H 10.MOV A,30H 指令对于源操作数的寻址方式是直接寻 址。 11.在MCS-51单片机中,寄存器间接寻址用到的寄存器只能是通用寄存器R0、 R1和 DPTR 。 12..程序状态字PSW中的RS1和RS0的作用是选择工作寄存器组 13.8051单片机,当CPU响应某中断请求时,将会自动转向相应规定地址(即 中断入口地址)去执行,外部中断0入口地址为: 0003 H,T1入口地址 为 0018 H。 14.变量的指针就是变量的地址。对于变量a,如果它所对应的内存单元地址为2000H,它的指针是 2000H 。

单片机试题及答案1

一、填空题 已知x的补码数10110111B,x的真值是___201D。 进制转换:134D=__10000110B;=______86H。 32K存储容量对应的地址范围从0000H-7FFFH_。 CPU与内存或I/O接口相连的系统总线通常由_控制总线__、数据总线__、地址总线___等三种信号组成。MCS-51单片机上电复位时PC=_0000_H,SP=_07_H;工作寄存器缺省采用第___________组,这组寄存器的地址范围是从______H~_____H。 MCS-51单片机系列有__5__个中断源,可分为___2__个优先级。上电复位时外部中断0__中断源的优先级别最高。 MCS-51单片机内部RAM共分为______2__个功能区,其高端128个字节的地址空间称为特殊功能寄存器_区,其中仅有________个字节有实际意义。 8255可编程芯片通常作为_并行接口_______扩展之用;8253可编程芯片通常作为_定时器_______扩展之用。8155可编程芯片通常作为_并行接口计数器和存储器______扩展之用;8279可编程芯片通常作为_键盘/显示控制器________扩展之用。 MCS-51 的并行I/O口信息有____读引脚________和____读锁存_________两种读取方法,读一改一写操作是针对并行I/O口内的锁存器进行的。 74LS273通常用来作为简单______输出__________接口扩展;而74LS244则常用来作为简单________输入_______接口扩展。 不带输入数据锁存器的D/A转换器,CPU必须通过______锁存或寄存__器件与D/A转换器传送数据;无三态输出功能的A/D转换器,应当通过_____三态___器件与CPU传送数据。 若用并行口来扩展一个有36只按键的行列式键盘,最少需__12_根I/O线。 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中___八_块芯片。 MCS-51单片机访问外存储器时利用_____ALE_______信号锁存来自_____P0_____口的低八位地址信号。在MCS-51系统中,当晶振频率采用12MHz时,一个机器周期等于_1__微秒。 8051的T0作为计数器用时,其计数频率不能超过晶振频率的___二十四分之一__。 二、选择题 通常所说的主机是指( C )。 (A)硬件和软件(B)CPU和磁盘存储器 (C)CPU和主存(D)运算器和控制器

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机应用技术课后习题参考答案

1 习题1答案 1.2 填空题 (1)单片级应用系统是由硬件系统、软件系统组成的 (2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路 (3)除了电源和电线引脚外,XTAL1、XTAL2、RST、EA引脚信号必须连接相应电 路 (4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)51系列单片机的XTAL1和XTAL2引脚是时钟电路 (6)51系列单片机的应用程序一般存放在程序存储器 (7)片内RAM低128单元,按其用途划分为工作寄存器组、位寻址区、用户RAM区(8)但振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us (9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路 (10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。 1.3 (4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少? 答: 规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。 当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。 (5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。 答: (a)上电复位电路(b)按键复位电路 单片机常见的复位电路 图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位

与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。 图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。 习题3 答案 3.2 填空题 (2)用C51编程访问51单片机的并行I/O口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是s bit FLAG=P3^1; (10)下面的while循环执行了无限次空语句。 i=3; While(i!=0); (15)在以下的数组定义中,关键字“code”是为了把tab数组存储在程序存储器ROM中 Unsigned char code b[]={}; 3.3 上机操作题 (1) //xiti3_3_1.c——第三章习题3.3上机操作题(1) #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1){ P1=0x55; //按状态1的方式点亮8个LED delay(200); //延时 P1=0xaa; //按状态2的方式点亮8个LED delay(200); //延时 } } void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c (2) //xiti3_3_2.c——第三章习题3.3上机操作题(2) #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数 { unsigned char i,l,r; while(1){ l=0x10; // 高4位灯的位置初值为00010000B r=0x08; // 低4位灯的位置初值为00001000B

《单片机应用技术》试卷B及答案

《单片机应用技术(C 语言版)》试卷B 一、 单项选择题(每题1.5分,共30分) 1、51单片机的CPU 主要由( )组成。 A 、运算器、控制器 B 、加法器、寄存器 C 、运算器、加法器 D 、运算器、译码器 2、PSW 中的RS1和RS0用来( ) 。 A 、选择工作方式 B 、指示复位 C 、选择定时器 D 、选择工作寄存器组 3、单片机8031的EA —— 引脚( )。 A 、必须接地 B 、必须接+5V 电源 C 、可悬空 D 、以上三种视需要而定 4、单片机上电复位后,PC 的内容为( )。 A 、0x0000 B 、0x0003 C 、0x000B D 、0x0800 5、单片机的4个并行I/O 端口作为通用I/O 端口使用,在输出数据时,必须外接上拉电阻的是( ) A 、P0口 B 、P1口 C 、P2口 D 、P3口 6、单片机的ALE 引脚是以晶振振荡频率的( )固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A 、1/2 B 、1/4 C 、1/6 D 、1/12 7、下面叙述不正确的是( )。 A 、一个C 源程序可以由一个或多个函数组成。 B 、一个 C 源程序必须包含一个主函数main( )。 C 、在C 程序中,注释说明只能位于一条语句的后面。 D 、C 程序的基本组成部分单位是函数。 8、在C51语言的if 语句中,用做判断的表达式为( )。 A 、关系表达式 B 、逻辑表达式 C 、算术表达式 D 、任意表达式

9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、在共阳极数码管使用中,若要仅显示小数点,则其相应的字段码是()。 A、0x80 B、0x10 C、0x40 D、0x7F 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、0x10 D、0x50 15、MCS-51系列单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(),向CPU申请中断。 A、RI或TI置1 B、RI或TI置0 C、RI置1或TI置0 D、RI置0或TI置1 16、在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为()。 A、M=213 = 8192 B、M=28 = 256 C、M=24 = 16 D、M=216 = 65536 17、51单片机的串行口是()。 A、单工 B、全双工 C、半双工 D、并行口 18、表示串行数据传输速率的指标为()。 A、USART B、UART C、字符帧 D、波特率 19、串行口的控制寄存器为()。 A、SMOD B、SCON C、SBUF D、PCON 20、串行口的发送数据和接收数据端为()。 A、TXD和RXD B、TI和RI C、TB8和RB8 D、REN 二、填空题(每空1.5分,共30分)

单片机习题集及答案

1.在MCS-51中,有7种寻址方式,它们分别为立即数寻、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、变址寻址和位寻址。 2.汇编语言的指令格式为标号:操作码操作数注释。 3.数据传送类指令执行完毕,源操作数的内容不会(会/不会)丢失。 4.8051内部RAM从20H至2FH既可位寻址,又可间接寻址,位地址空间从00H到7FH。 5.MCS-51单片机指令系统中,指令长度有一字节、二字节和(三)字节,指令执行时间有一个机器周期、两个机器周期和四机器周期,乘法指令需四机器周期。6.MOV A,20H中,20H的寻址方式称之为_直接___;SETB 20H的寻址方式为位寻址。 7.关于堆栈类操作的两条指令分别是_PUSH(入栈)指令_ 、POP(出栈)指令;堆栈操作只能是寄存器间接寻址寻址。 8.访问8031片外数据存储器MOVX指令采用的是寄存器间接寻址寻址方式。访问片外序存储器MOVC指令采用的是变址寻址方式。 9.设(A)=55H,(R5)=AAH,则执行ANL A,R5指令后的结果是(A)= 00H,(R5)= AAH;则执行ORL A,R5指令后的结果是(A)= FFH ,(R5)= AAF;则执行XRL A,R5指令后的结果是(A)= FFH,(R5)= AAH 。 10.伪指令不产生(产生/不产生)可执行目标代码。汇编语言程序结束的指令为END。11.DA指令跟在ADD,ADDC指令的后面,用与二进制数与BCD码的调整。若 (A)=0AH ,执行DA A指令后,(A)= 15。 单项选择题 1.JMP跳转范围是:(D. -128~127B) 2.MCS—51系列单片机最长的一条指令需 B. 4个机器周期。 3.MOV A,@R0这条指令中@R0的寻址方式称为:(B. 寄存器间接寻址) 4.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是:B. PSW 5.下列指令中正确的是:B. JBC TF0,L1 6.下列指令中错误的是:A. SETB 50H.0 7.将累加器的值压入堆栈的正确指令是:B. PUSH A 8.下列那条减法指令是错误的:C. SUBBC 9. 指令CJNE A ,#00H ,LOOP 影响PSW的哪一位:C.CY 10. 在MUL AB指令中,若积超过255,则C. OV=1 11.在相对寻址方式中,寻址的结果体现在A.PC中 12.在相对寻址方式中,"相对"两字是指相对于 C.当前指令的末地址 13.在寄存器间接寻址方式中,指定寄存器中存放的是B.操作数地址 14.对程序存储器的读操作,只能使用D.MOVC指令 15.必须进行十进制调整的十进制运算C.只有加法 16.执行返回指令时,返回的断点是C.调用指令下一条指令的首地址 17.下列指令中与进位标志位CY 无关的指令有D.无条件转移指令 18.可以为访问程序存储器提供或构成地址的有D.PC、A、DPTR和SP 19.以下各项中不能用来对内部数据存储器进行访问的是A.数据指针DPTR 20.若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令C.MOV PSW.3,C 21.不能为程序存储器提供和构成地址的有:D.PSW 22.MCS-51汇编语言指令格式中,唯一不可缺少的部分是:B.操作码 23.MCS—51的立即寻址方式中,立即数前面:D.应加前缀“#”号 24.下列完成8031单片机内部数据传送的指令是:D.MOV direct,direct (25).MCS—51的立即寻址的指令中,立即数就是:A.放在寄存器R0中的内容26.单片机中PUSH和POP指令常用来:C.保护现场,恢复现场 27.MCS—51寻址方式中,操作数Ri加前缀“@”号的寻址方式是:A.寄存器间接寻址 28.MCS—51寻址方式中,位寻址的寻址空间是: D.片内RAM的20H~2FH字节中的所有位和部分专用寄存器SFR的位 29.MCS—51寻址方式中,直接寻址的寻址空间是B.专用寄存器SFR 30.执行指令MOVX A,@DPTR时,WR、RD脚的电平为:C.WR高电平,RD低电平 31.主程序执行完ACALL后返回主程序后,堆栈指针SP的值:A.不变 32.单片机中使用MOVX A,@R1指令寻址数据存贮器1050H单元。B.不能 33.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是:D.JNZ P1.0,LP 34.指令JB OEOH,LP中的OEOH是指:D.一个单元的地址 35.下列指令中比较转移指令是指:B.CJNE Rn,#data,rel

《单片机应用技术》期末测试题

《单片机应用技术》期末测试题 2分,共20分) 下面对于MCU描述正确的是()。 A.微控制器 B.存储器 C.开发工具 D.中断系统STC89C52RC单片机有几个I/O口()。 A.4 B.3 C.2 D.1)。 A.定时器T0中断 B.定时器T1中断 C.外部中断0 D.外部中断1 下面那个字符()一位七段数码不能显示。 A.2 B.3 C.C D.K 数码管中单个发光二极管的管压降一般为()。 A.1.7V B.1.8V C. 1.9V D.2V DS18B20有()根数据线。 A.4 B.3 C.2 D.1 DS18B20就是一种典型的()。 A.热电阻 B.热电偶 C.温度IC D.铂电阻 MCS-51单片机内部的定时器/计数器1可以用下面()来表示。 A.Q1 B.R1 C.S1 D.T1 DS1302的SCLK引脚功能是()。 A.串行时钟 B.串行数据 C.并行时钟 D.并行数据 10.DS1302有()个电源引脚。 A.4 B.3 C.2 D.1 二、简答题(共6题,每小题10分,共60分) 1. 简述时钟芯片的分类。 2.简述时钟周期、机器周期和指令周期之间的关系。 3. 如何对数码管进行测量?

什么称为中断?中断有什么特点? 6. 单片机的开发系统由哪些部分构成? 绘制出典型的程序下载电路。 三、编程题(共2题,每小题10分,共20分) 1.根据下图所示电路试编写程序实现1、3、4、5和7的循环显示。

2.如何用下图所示电路实现下述功能?要求根据下面说明编写相应C语言程序。 (1)按键按下,对应的灯亮,按键未按下,对应的灯灭。对应关系变为S1对应D4;S2对应D3;S3对应D2;S4对应D1。 (2)按下S1时D1到D4全亮;按下S2时D1到D4全灭;按下S3时D1 和D3全亮,D2和D4全灭;按下S4时D1和D3全灭,D2和D4全亮。

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机试题及答案

试题 1 一、填空题(25 分,每空 1 分) 1.AT89S51 单片机为8 位单片机 2.MCS-51 系列单片机的典型芯片分别为8031 、8051 、8751 。 3.AT89S51的异步通信口为全双工(单工/半双工/全双工) 4.AT89S51 有 2 级中断, 5 个中断源 5.AT89S51 内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。 6.AT89S51 单片机指令系统的寻址方式有__寄存器寻址__、直接寻址_、寄存器间接寻址__、_立即寻址_、基址寄存器加变址寄存器寻址。 7.如果(A)=34H ,(R7)=0ABH ,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。 8.82C55 可以扩展 3 个并行口,其中8 条口线具有位操作功能; 9.当单片机复位时PSW=00 H,这时当前的工作寄存器区是0 区,R4 所对应的存储单元地址为04 H。 10.若 A 中的内容为67H,那么,P 标志位为 1 。 11.74LS138是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。 二、判断以下指令的正误:(5 分) ) ;√)

(1)MOV 28H,@R4;(× )) ;√)

3) DEC DPTR ;×) (4)CLR R0 ;(× ) (5)MOV T0,#3CF0H;(× ) 三、简答题 1、如果(DPTR)=507BH ,(SP)=32H,(30H)=50H ,(31H)=5FH,(32H)=3CH,则执 行下列指令后: POP DPH; POP DPL; POP SP; 则: __3CH___;(DPL)= ___5FH___;(SP)= 50H (DPH)= _ 2、采用6MHz 的晶振,定时1ms,用定时器方式0 时的初值应为多少?(请给出计算过程)(6分) 解:∵采用6MHZ晶振∴机器周期为2us 13-X)×2×10- 13 -6 -3 (2 6=1×10-3 ∴X=7692(D)=1E0CH=1 1110 0000 1100 (B), 化成方式0 要求格式为1111 0000 1100 B, 即0F00CH 综上可 知:TLX=0CH, THX=0F0H 3.分析下列程序的功能( 5 分) PUSH ACC PUSH B POP ACC POP B 解: 该程序的功能是通过累加器ACC 与寄存器 B 数据交换。 五、简述MCS-51 系列单片机主从结构多机通信原理,设有一台主机

《单片机应用技术》模拟试卷A

××××学院 ××××学年第×学期试卷(A) 《单片机应用技术》课程 复查人: 备注: 一、填空题(1×10=10分) 1、十进制数96转化成十六进制数为_____。 2、________和________合称为中央处理单元CPU。 3、CPU通过______总线、______总线和______总线连接存储器及I/O接口。 4、8051单片机片内有4组工作寄存器,每组都有8个寄存器,分别命名为R0~ R7,可通过设置___和____的值来选择其中一组为当前工作寄存器组。 5、单片机中用于存放程序及表格常数的是_______存储器。 6、8051有个中断源。 二、选择题,四个选项中,只有一个正确,将答案写于表格中(2×15=30分) 1、MCS-51系列单片机内部不含ROM的芯片型号是()。 A.8031 B.8051 C.8751 D.8951 2、单片机内部RAM的可位寻址的地址空间是()。 A.00H~1FH B.20H~2FH C.30H~7FH D.80H~0FFH 3、在21个特殊功能寄存器中,有()个具有位寻址能力。 A.11 B.12 C.13 D.14 4、P3口作为外部中断0的引脚是()。 A. P3.0 B. P3.1 C. P3.2 D. P3.3 5、一个机器周期等于()振荡周期。 A.4 B.6 C.8 D.12 6、单片机执行复位操作后,内容不为00H的是()。 A.PSW B.PC C.TCON D.SP 7、指令MOV R0,#20H是()寻址方式。 A.直接 B.立即 C.间接 D.寄存器 8、在语句格式中,唯一不能缺省的部分是() A.标号 B.操作码 C.操作数 D.注释 9、执行算术运算时,OV=1表示()。 A.数据过大 B.数据过小 C.数据运算出现溢出 D.数据运算正常 10、定时/计数器在工作方式1的计数器位数是()。 A.13 B.16 C.8 D.11 11、紫外线擦除可编程的ROM属()。 A.ROM B.PROM C.EPROM D.EEPROM 12、特殊功能寄存器的地址分布在()区域。 A.00H~1FH B.20H~2FH C.30H~7FH D.80H~0FFH 13、寻址空间为外部程序存储器所用的指令是(): A. MOVX B.MOV C.MOVC D.ADDC 14、PC的值是() A.当前指令前一条指令的首地址 B.当前正在执行指令的首地址 C.下一条指令的首地址 D.控制器中指令寄存器的地址 15、在CPU内部反映程序运行状态或反映运算结果的特征寄存器是()。 (A)PC (B)PSW (C)A (D)SP 三、判断题,你认为说法正确的打√,不正确的打×(2×5=10分) 1、单片机的指令系统对某些寄存器既可按位又能按字节进行数据的操作。() 2、指令MOV B,#40H的含义是将数据40H送到寄存器B中。() 3、8051的RETI是中断返回命令。() 4、JB 20H.0 , L1指令含义为当20H.0为1时转移到L1,并将20H.0位清零。() 5、消除按键抖动的方法只能是采用软件技术。 () 四、指出下列指令对源操作数的寻址方式(2×5=10分) 1、MOV A, #40H 2、MOV A,40H 3、MOV A,@R1 4、MOV A, R3 5、SJMP LOOP

相关主题