文档库 最新最全的文档下载
当前位置:文档库 › 单片机课后习题解答

单片机课后习题解答

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

练习练习练习

第二章单片机结构及原理

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=μs

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

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

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

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

(C y):进位标志位。

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

(F0):用户标志位。

、(RS1和 RS0):寄存器组选择位。

(OV):溢出标志位。

(空缺位):此位未定义。

(P):奇偶校验位。

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

答:字节地址7CH是片内数据存储器中的一个地址单元,该地址单元中可以存放8位二进制数,位地址7CH是内部数据存储器中位寻址区中的一位,该地址单元中可以存放1位二进制数。位地址7CH具体在片内数据存储器字节地址为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负载。

(数字电路按工艺有肖特基双极晶体管和CMOS工艺两种,使用双极晶体管的数字电路称TTL数字电路,

单片机输出端带负载能力,意思就是单片机的P3端口只能并联4个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

MOV 54H,A

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

答:MOV A,R7

MOV R1,A

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

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.

答:(1)MOV R0,A

ADD A,R0

(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=

估算: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

SETB

MOV 40H,A

30、将与80H位相与的结果,通过输出。

ANL C ,

MOV

,C

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

MOV

,C

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

MOV

,C

(3)0.17.4.5.13.2P ACC B P P ?+?= MOV C , ANL C ,/ MOV 20H ,C MOV C , ANL C ,/

ORL

C ,20H (下一行)MOV

,C

第四章 汇编语言程序设计

1、编程将片内40H ~60H 单元中的内容送到以3000H 为首的存储区内。

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

单片机试卷及答案

一选择题 (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.存放

单片机考试常见试题简答题-整理版

简答题部分 1、什么叫堆栈? 2、进位和溢出? 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件? 6、MCS-51单片机的存储器从物理结构上可划分几个空间? 7、存储器中有几个保留特殊功能的单元用做入口地址?分别作什么作用? 8、MCS-51单片机片内256B的数据存储器可分为几个区?分别起什么作用? 8、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项? 9、存储器空间在物理结构上可划分为几个部分? 10、开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组? 11、MCS-51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒? 12、程序状态存储器PSW的作用是什么?常用状态标志有哪几位?作用是什么? 13、EA/VPP引脚有何功用?8031的引脚应如何处理?为什么? 14、单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中? 15、什么是指令?什么是程序?简述程序在计算机中的执行过程。 16、什么叫寻址方式?MCS51有几种寻址方式? 17、SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。 18、中断服务子程序与普通子程序有哪些异同之处? 19、MCS-51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么? 20、单片机对中断优先级的处理原则是什么? 21、MCS-51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求? 22、什么是中断和中断系统?其主要功能是什么? 23、MCS-51有哪些中断源? 24、说明外部中断请求的查询和响应过程 25、MCS-51响应中断的条件?。 26、简述MCS-51单片机的中断响应过程。 27、在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 28、MCS-51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求? 29、什么是中断优先级?中断优先级处理的原则是什么?

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

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路与相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度与精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度与精度也相对要低一些。例如,现在的单片机产品的CPU 大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量与CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术与段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都就是非标准的,且千差万别,种类很多。单片机的I/O接口实际上就是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都就是独立的芯片 1-4 IAP、ISP的含义就是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器与数据存储器就是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常就是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能就是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。 此系列三种基本产品就是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程

单片机试题及答案

单片机原理与接口技术习题答案 习题与思考题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是单片机的大脑和心脏。它由运算器、控制器和布尔(位)处理器组成。 运算器是用于对数据进行算术运算和逻辑操作的执行部件。

单片机简答题汇总

单片机简答题汇总 1、计算机经历了几个时代? 电子管、晶体管、集成电路、大规模集成电路和超大规模集成电路、智能计算机。 2、冯诺依曼设计思想? a.计算机包括运算器、存储器、输入/输出设备。 b.内部采用二进制表示指令和代码。 c.将编号的程序送入内存储器中,然后启动计算机工作,能够顺序逐条取出指令和执 行指令。 3、MCS-51的内部结构? 8位CPU、8位并行I/O口、128个字节的内部RAM、21个SFR、4KB的内部ROM、一个全双工串行I/O口、2个16位定时器/计数器、5个中断源,2个中断优先级、 4、ROM和RAM ROM:片内4KB,地址范围0000H – 0FFFH 片外扩展64KB 地址范围0000H - FFFFH 片内外统一编址方式复位后PC为0 RAM:片内256字节地址范围00H – FFH 低128字节为一般RAM区00H-7FH 00H – 1FH 工作寄存器区,4组通用寄存器区,一组8个寄存器 20H - 2FH 位寻址区,也可字节寻址 30H – 7FH堆栈区和数据缓冲区 高128字节为SFR地址范围为80H- FFH 实现各种控制功能 5、堆栈?堆栈指针? 一种按照“先进后出”为原则的线性表数据结构。 存放堆栈的栈顶地址的寄存器(8位),系统复位后SP为07H。 6、单片机正常工作的条件? a.电源正常 b.时钟正常 c.复位正常 7、C51外扩的ROM和RAM可以有相同的地址空间,但不会发生数据冲突,为什么? 访问外扩的ROM和RAM的指令不同,所发出的控制信号也不同。读外部RAM时,RD/信号有效,写外部RAM时,WR/有效,读外部ROM时,PSEN/有效。在程序执行的过程中只能有一个信号有效,因此即使有相同的地址也不会发挥数据冲突。 8、C51外部引脚EA/的作用? EA/是内外部RAM的选通信号 EA/ = 0 时,只选择外部ROM EA/ = 1 时,PC<0FFFH时,选择内部ROM PC>0FFFH时,选择外部ROM 9、位寻址区? 内部RAM的20H – 2FH为位寻址区,位寻址范围为00H – 7FH SFR中地址能被8整除的字节地址单元,地址范围是80H – FFH 10、中断?中断响应和中断返回? 由于内部或外部的某种原因,CPU必须终止当前的程序,转去执行中断请求的那个外设

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

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠

单片机试题及答案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)运算器和控制器

单片机简答题整理

1.MSC-51单片机内部包含哪些主要逻辑功能部件? (1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。(3)内部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信 内部结构特点: 1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1所示)。2.输入/输出(I/O)端口。 3.外部程序存储器和外部数据存储器寻址空间。4.中断与堆栈。5.定时/计数器与寄存器区。6.指令系统。 2.片机的EA,AL,PS EN信号个自动功能是什么? EA:为片外程序存储器选用端,该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。ALE:地址索存有效信号输出在访问片外程序存储器期间,ALE以每机器周期两次进行信号输出,其下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,ALE端仍以上述频率(振荡频率f os c的1/6)出现,可作为对外输出的时钟脉冲或用于定时目的.端,PSEN:片外程序存储器读选通信号输出端,低电平有效. 3.80C51系列单片机有哪些信号需要芯片引脚以第二功能方式提供? ●p1.0:定时计数器2的计数脉冲输入端T2P1.1:定时计数器2的外部控制端T2EXP3.0:PxD串行口输入端P3.1:T xD 串行口输出端P3.2:INT0外部中断0请求输入端,低电平有效P3.3:INT1外部中断1请求输入端,低电平有效P3.4:T0定时/计数器0技术脉冲输入端P3.5:T1定时/计数器1技术脉冲输入端P3.6:W R外部数据存数器写选通信信号输出端,低电平有效P3.7:RD外部数据存数器读选通信信号输出端,低电平有效.4.51系列单片机的程序状态字PSW中存放 什么信息?其中的OV标志位在什么情况下 被置位?置位是表示什么意思? ●PSW是一个8位标志寄存器,它保存指令 执行结果的特征信息,以供程序查询和判别。 ●1)做加法时,最高位,次高位之一有进位 则OV被置位2)做减法时,最高位,次高 位之一借位则OV被置位3)执行乘法指令 MULA B,积大于255,OV=14)执行处罚 指令DIV AB,如果B中所放除数为0,OV=1 ●0V=1,置位反映运算结果超出了累加器的 数值范围. 5.MCS-51系列单片机的存储器可划分为几 个空间?其地址范围和容量是多少?在使用 上有什么不同? 1)MCS-51单片机的存储器从物理结构上分 为:片内和片外数据存储器,片内和片外程 序存储器。2)从逻辑上分别可划分为:片内 统一寻址的64K程序存储器空间 (0000H---FFFFH);64KB的片外数据存储 器空间(0000H---FFFFH);256B的片内数 据存储器空间(00H---FFH)。 6.片内RA M低128单元划分为哪几个区 域?应用中怎么样合理有效的使用? ●工作寄存器区,位寻址区,数据缓冲区① 工作寄存器区用于临时寄存8位信息,分成4 组,每组有8个寄存器,每次只用1组,其他 各组不工作②位寻址区(20H~2FH),这16 个单元的每一位都赋予了一个位地址,位地 址范围为00H~7FH,位寻址区的每一位都可 能当作软件触发器,由程序直接进行位处理。 ③由于工作寄存器区,位寻址区,数据缓冲 区统一编址,使用同样的指令访问,因此这 三个区的单眼既有自己独特的功能,又可统 一调度使用,前两个已未使用的单元也可作 为一般的用户RAM单元。 7.51系列单片机的堆栈与通用微机中的堆栈 有何异同?在程序设计时,为什么要对堆栈 指针sp重新赋值? ①堆栈是按先进后出或后进先出的远侧进行 读/写的特殊RAM区域51单片机的堆栈区 时不固定的,可设置在内部RAM的任意区 域内。 ②当数据压入堆栈时,s p的内容自动加1, 作为本次进栈的指针,然后再存取数据sp 的值随着数据的存入而增加,当数据从堆栈 弹出之后,sp的值随之减少,复位时,sp 的初值为07H,堆栈实际上从08H开始堆放 信息,即堆栈初始位置位于工作寄存器区域 内,所以要重新赋值。 8.MCS-51单片机有4个并行口,在使用上如 何分工?试比较各口的特点,并说明“准双 向口”的含义? 一般P0做数据口和地址的低八位。P2做地 址的高八位。如果没有外部扩展存储器可以 作为一般的I/O使用。P1一般作为普通I/O 用。P3有第二功能,所以一般做特殊情况使 用,比如串行通信,按键中断,定时中断等。 “准”就是“基本上的意思”,也就是“准双 向口”不是真正的双向口。正常的双向口通 过方向寄存器设置后要作输出可以直接向数 据寄存器写,做输入可以直接读。而51的结 构造成他不能正样用,输出直接用就可以了, 输入必须先写全1然后再读。 9.定时器/计数器定时与计数的内部工作有 何异同? 定时工作模式和技术工作模式的工作原理相 同,只是计数脉冲来源有所不同:处于计数 器工作模式时,加法计数器对芯片端子 T0(P3.4)或T1(P3.5)上的输入脉冲计数;处 于定时器工作模式时,加法计数器对内部机 器周期脉冲计数。

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

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

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间: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、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分? 答:时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作所需的时间。一个机器周期为 时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、S6P1、S6P2。 2、MCS-51单片机有几种复位方法?应注意的事项? 答:上电复位和开关复位。上电复位要求接通电源,自动实现复位操作。开关复位要求在电源接通的条件下,在 单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。 3、MCS-51单片机内部包含哪些主要逻辑功能部件? 答: (1) 一个8位微处理器CPU。 数据存储器RAM和特殊功能寄存器SFR。 内部程序存储器ROM 。 两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 四个8位可编程的I/O (输入/输出)并行端口,每个端口既可做输入,也可做输出。 (6) 一个串行端口,用于数据的串行通信。 4、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用 两组工作寄存器,你认为SP的初值应为多大? 答:堆栈是一种按照“先进后出”或者“后进先出”规律存取数据的RAM区域由于程序中没有表识,所以要对 SP重新赋值对指针SP重新赋值是因为堆栈空间有限,要给他赋首地址。要使用两组工作寄存器, SP的值应该设置为10H。 5、MCS-51单片机的P0-P3四个I/O端口在结构上有何异同?使用时应注意的事项? 答:80C51单片机的4个I/O端口在结构上时基本相同的, 但又各具特点。在无片外扩展存储器的系统中,这 个端口的每1位都可以作为I/O端口使用。在作为一般的通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误读数据。在系统扩展片外存储器时, P2 口作为高8位地址,P0 口分时作为低8位地址和 双向数据总线。 它们的主要不同点如下: (1)P0 口的每一位可驱动8个LSTTL负载。P0 口即可作I/O端口使用,也可作地址/数据总线使用。当它作通 用口输出时,只有外接上拉电阻,才有高电平输出,作地址/数据总线时,无需外接电阻,此时不能再作I/O端口使用。 (2)P1- P3 口输出级接有内部上拉电阻,每位可驱动4个LSTTL负载,能向外提供上拉电流负载,所以不必再 外接上拉电阻。 6、简述8051汇编指令格式。 答:操作码助记符[目的操作数],[原操作数]。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机习题集及答案

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

单片机原理复习简答题答案汇编

一、简述题MCS-51单片机芯片包含哪些主要逻辑功能部件?(习题2-1) (1)中央处理器(CPU):运算器--用于实现算术和逻辑运算;控制器:产生计算机所需的时序,控制程序自动执行 (2)内部数据存储器:用于存放可读写的数据 (3)内部程序存储器:用于存放程序的机器代码和常数 (4)并行I/O口:实现数据的输入/输出 (5)定时/计数器:用于实现定时和计数功能 (6)串行口:一个全双工的口,可实现数据的串行传送 (7)中断控制:实现单片机的中断判优、中断响应、中断查询等控制 (8)时钟电路:为单片机提供时钟脉冲序列 2.程序计数器PC的作用是什么?什么情况下会使用PC的值?(习题2-4) 程序计数器PC是位于片内的一个16位的寄存器,它专门用来存放当前要执行的指令地址,且能够自动加1,具有特殊功能。是一个不可寻址的特殊功能寄存器。其低8位地址经P0口输出,高8为地址经P2口输出。 3.MCS-51单片机设置有四组工作寄存器,这样做的目的是什么?请举例说明。?? 如何选择MCS-51单片机的当前工作寄存器组?(习题2-7) MCS-51的当前工作寄存器组是由程序状态寄存器PSW中的RS1、RS2位的状态决定的。工作寄存器区的选择: RS1,RS0=00 则选择了工作寄存器组0区R0~R7对应的单元地址:00H~07H RS1,RS0=01 则选择了工作寄存器组1区R0~R7对应的单元地址:08H~0FH RS1,RS0=10 则选择了工作寄存器组2区R0~R7对应的单元地址:10H~17H RS1,RS0=11 则选择了工作寄存器组3区R0~R7对应的单元地址:18H~1FH 4.简述MCS-51单片机的位寻址空间。(习题2-11) MCS-51单片机的位寻址空间由两部分构成:一部分为内部RAM位寻址区的20-2FH的16个单元的128位,位地址范围:00~7FH;另一部分为单元地址尾数为0和8的SFR中的位构成的位寻址区,共83位,位地址范围是80~0FFH。 MCS-51单片机位寻址空间共有211个位,位地址范围:00H~0FFH 5.什么是时钟周期、机器周期、指令周期?如何计算机器周期?晶振频率为12M时,计 算时钟周期、机器周期。(习题2-9) 时钟信号的周期称为S状态,它是晶振周期的两倍,即一个时钟周期(TS)包含2个晶振周期;指令周期(TI):执行一条指令所用的时间; 机器周期(TM):CPU完成一个基本操作所用的时间。(每12个时钟周期为1个机器周期)当晶振频率为12MHz时,时钟周期TS=2/f=0.17μs,机器周期TM=12/f=1μs 6.简单说明MCS-51单片机PSW寄存器各标志位的含义。(习题2-15) CY(PSW.7) 进位/借位标志位;AC(PSW.6)半进位/借位标志位;F0(PSW.5) 用户标志位;RS1(PSW.4)、RS0(PSW.3) 工作寄存器组选择位;OV(PSW.2) 溢出标志位; PSW.1 未定义;P(PSW.0) 奇偶标志位

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

相关文档