单片机试题及答案资料_第1页
单片机试题及答案资料_第2页
单片机试题及答案资料_第3页
单片机试题及答案资料_第4页
单片机试题及答案资料_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C51 单片机习题及答案第一章1-1 选择1 .计算机中最常用的字符信息编码是(A)AASCIIBBCD 码 C 余 3 码 D 循环码2 .要 MCS-51 系统中,若晶振频率屡 8MHz,一个机器周期等于(A)sA1.5B3C1D0.53 .MCS-51 的时钟最高频率是(A).A12MHzB6MHzC8MHzD10MHz4 .以下不是构成的控制器部件(D):A 程序计数器、B 指令寄存器、C 指令译码器、D 存储器5 .以下不是构成单片机的部件(D)A 微处理器(CPU)、B 存储器 C 接口适配器(IO 接口电路)D 打印机6 .下列不是单片机总线是(D)A 地址总线 B 控制总线 C

2、 数据总线 D 输出总线7 .-49D 的二进制补码为.(B)A11101111B11101101C0001000D111011008 .十进制 29 的二进制表示为原码(C)A11100010B10101111C00011101D000011119 .十进制 0.625 转换成二进制数是(A)A0.101B0.111C0.110D0.10010 选出不是计算机中常作的码制是(D)A 原码 B 反码 C 补码 DASCII1-2 填空1 .计算机中常作的码制有原码、反码和补码2 .十进制 29 的二进制表示为 000111013 .十进制数-29 的 8 位补码表示为.111000114 .单

3、片微型机 CPU、存储器禾口 IO 接口三部分组成.5 .若不使用 MCS-51 片内存器引脚 H 必须接地.6 .输入输出设备是计算机与外吾 B 世界交换信息的载体7 .十进制数-47 用 8 位二进制补码表示为.110100018 .-49D 的二进制补码为.111011019 .计算机中最常用的字符信息编码是 ASCII10 .计算机中的数称为机器数,它的实际值叫真值。1-3 判断1 .我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。(V)2 .MCS-51 上电复位时,SBUF=00H。(X)。SBUF 不定。3 .使用可编程接口必须处始化。(,)。4 .8155 的复位引脚

4、可与 89C51 的复位引脚直接相连。(V)5 .MCS-51 是微处理器。(X)不是。6 .MCS-51 系统可以没有复位电路。(X)不可以。复位是单片机的初始化操作。7 .要 MCS-51 系统中,一个机器周期等于 1.5s。(X)若晶振频率屡 8MHz,才可能为 1.58 .计算机中常作的码制有原码、反码和补码(V)9 .若不使用 MCS-51 片内存器引脚 EA 必须接地.(,)10 .十进制数-29 的 8 位补码表示为.11100010(X)1-4 简答1 .何谓单片机?单片机与一般微型计算机相比,具有哪些特点?答:单片机是在一块集成电路上把 CPU、存储器、定时器/计数器及多种形

5、式的 I/O 接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点:(1)单片机的程序存储器和数据存储器是分工的,前者为 ROM,后者为 RAM;(2)采用面向控制的指令系统,控制功能强;(3)多样化的 I/O 接口,多功能的 I/O 引脚;(4)产品系列齐全,功能扩展性强;(5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。2 单片机主要应用在哪些领域?答:单片机的应用范围很广泛,诸如智能化家用电器、仪器仪表、工业控制、计算机外部设备、智能机器人、电信及导航等方面。3 在各种系列的单片机中,片内 ROM 的配置有几种形式?用户应根据什么原则来选用?答:各种类型的单

6、片机片内程序存储器的配置形式主要有以下几种形式:(1)(Msak)ROM 型单片机:内部具有工厂编程的 ROM,ROM 中的程序只能由单片机制造厂家用工艺固化,用户不能修改 ROM 中的程序。例如:MCS-51 系列的 8051。ROM 单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用方法将程序制作在芯片的 ROM。(2)EPROM 型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM 中,也可以将 EPROM 中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。例如:MCS51 系列的 8751。EPROM 型单片机使用比

7、较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。(3)无 ROM 型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。例如:MCS51 系列的 8031。无 ROM 型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。(4)E2ROM 型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。例如:MCS51 的派生型 89C51单片机。(5)OTP(OneTimeProgrammable)ROM 单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写

8、。例如:NEC 公司的 PD75P308GR3B9。这种芯片的价格也较低。4 .控制器的组成和作用答:控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。5 .微型计算机组成答:微型计算机组成由微处理器(CPU)、存储器、接口适配器(IO 接口电路)及输入/输出设备组成。通过系统总线将它们连接起来,以完成某些特定的运算与控制。6 .什么叫寻址方式答:寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。7 .什么叫堆栈:答:堆栈是在片内 RAM 中专门开辟出来的一个区域,数据的

9、存取是以后进先出”的结构方式处理的。实质上,堆栈就是一个按照后进先出原则组织的一段内存区域。8 .什么是汇编语言?什么叫指令周期?答:汇编:汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。指令周期:指执行一条指令所占用的全部时间。通常一个指令周期含 14 个机器周期。9 .什么是进位和溢出答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。例如将正数 3FH 和负数 D0H 相加,其结果不会超出 8 位字长的表示范围,所以其结果10FH 中的进位是正常进位(也就是模)。但是,若正

10、数 3FH 与正数 70H 相加,其结果为 AFH,最高位为“1”,成了负数的含义,这就不合理了,这种情况称为溢出。第二章2-1 填空1 .微处器由寄存器、控制器、运算器三部分组成.2 .当 MCS-51 引脚 ALE 信号有效时,表示从 Po 口稳定地送出了低 8 位地址.3 .MCS-51 的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域.4 .MCS-51 中凡字节地址能被_8_整除的特殊功能寄存器均能寻址.5 .MCS-51 有 4 组工作寄存器,它们的地址范围是 00H1FH.6 .MCS-51 片内 20H2FH 范围内的数据存储器,既可以字节寻址又可以位寻址.7 .计算机

11、的系统总线有地址总线、控制总线和数据总线。8 .80C51 含 4KBROM。9 .80C51 在物理有生个独立的存储空间。10.一个机器周期等于 6 个状态周期,振荡脉冲 2 分频后产生的时钏信号的周期定义为状态周期。2-2 判断1 .我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。(V)2 .MCS-51 的相对转移指令最大负跳距是 127B。(X)3 .MCS-51 的程序存储器只是用来存放程序的。(X)存放程序和表格常数。4 .MCS-51 的时钟最高频率是 18MHz.(X).12MHz。5 .使用可编程接口必须处始化。(,)。6 .当 MCS-51 上电复位时,堆栈指针

12、SP=00H。(X)。SP=07H7 .MCS-51 外扩 I/O 口与外 RAM 是统一编址的。(,)。8 .使用 8751 且=1 时,仍可外扩 64KB 的程序存储器。(X)60KB。9 .8155 的复位引脚可与 89C51 的复位引脚直接相连。(V)10 .MCS-51 是微处理器。(X)不是。11 .MCS-51 的串行接口是全双工的。(V)12 .PC 存放的是当前执行的指令。(X)是将要执行的下一条指令的地址。13 .MCS-51 的特殊功能寄存器分布在 60H80H 地址范围内。(X)80HFFH。14 .MCS-51 系统可以没有复位电路。(X)不可以。复位是单片机的初始化

13、操作。15 .要 MCS-51 系统中,一个机器周期等于 1.5Ws。(X)若晶振频率屡 8MHz,才可能为 1.5s2-3 选择1 .要想测理 INT0 引脚上的一个正脉冲宽度,那么特殊功能寄存器 TMOD 的内容应为(B).(A)09H(B)87H(C)00H(D)80H2 .PSW=18H 时,则当前工作寄存器是(D)(A)0 组(B)1 组(C)2 组(D)3 组3 .控制串行口工作方式的寄存器是(C)(A)TCON(B)PCON(C)SCON(D)TMOD4 .P1 口的每一位能驱动(B)(A)2 个 TTL 低电平负载有(B)4 个 TTL 低电平负载(C)8 个 TTL 低电平负

14、载有(D)10 个 TTL 低电平负载5 .MCS-51 的中断允许触发器内容为 83H,CPU 将响应的中断请求是(B)(A)T1,(B)T0,T1(C)T1,串行接口(D),T02-4 问答题18051 单片机内部包含哪些主要逻辑功能部件?答:8051 单片机是个完整的单片微型计算机。芯片内部包括下列硬件资源:(1)8 位 CPU;(2)4KB 的片内程序存储器 ROMo 可寻址 64KB 程序存储器和 64KB 外部数据存储器;(3)128B 内部 RAM;(4)21 个 SFR;(5)4 个 8 位并行 I/O 口(共 32 位 I/O 线);(6)一个全双工的异步串行口;(7)两个

15、16 位定时器/计数器;(8)5 个中断源,两个中断优先级;(9)巴部时钟发生器。2EA/VPP引脚有何功用?8031 的引脚应如何处理?为什么?答:EA/Vpp是双功能引脚,功能如下:(1)EA 接高电平时,在低 4KB 程序地址空间(0000H0FFFH),CPU 执行片内程序存储器的指令,当程序地址超出低 4KB 空间(1000HFFFFH)时,CPU 将自动执行片外程序存储器的指令。(2)EA 接低电平时,CPU 只能执行外部程序存储器的指令。_8031 单片机内部无 ROM,必须外接程序存储器。因此,8031 的 EA 引脚必须接低电平。在8751 单片机内部的 EPROM 编程时,

16、此弓唧 VPP外接+12V 电压,用于固化 EPROM 程序。38051 单片机存储器的组织结构是怎样的?答:8051 存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:(1)64KB 的程序存储器地址空间:0000HFFFFH,其中 0000H0FFFH 为片内 4KB 的 ROM 地址空间,1000HFFFFH 为外部 ROM 地址空间;(2)256B 的内部数据存储器地址空间,00HFFH,分为两大部分,其中 00H7FH(共 128B 单元)为内部静态RAM 的地址空间,80HFFH 为特殊功能寄存器的地址空间,21 个特殊功能寄存器离散地分布在这个区域;(3)

17、64KB 的外部数据存储器地址空间:0000HFFFFH,包括扩展 I/O 地址空间。4.片内数据存储器分为哪几个性质和用途不同的区域?答:8051 内部 128B 的数据 RAM 区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:(1)00H1FH 为工作寄存器组区,共分 4 组,每组占用 8 个 RAM 字节单元,每个单元作为一个工作寄存器,每组的 8个单元分别定义为 8 个工作寄存器 R0R7。当前工作寄存器组的选择是由程序状态字 PSW 的RS1、RS0 两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用 4 组工作寄存器,不使用的工作寄存器组的区域仍然

18、可作为一般数据缓冲区使用,用直接寻址或用 Ri 的寄存器间接寻址来访问。(2)20H2FH 为可位寻址区域,这 16 个字节的每一位都有一个地址,编址为 00H7FH。当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。(3)30H7FH 为堆栈、数据缓冲区。5 单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中?答:8051 单片机内部有 21 个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间 80HFFH 中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中:(1)CPU:ACC、B、PSW、SP、DPTR(

19、由 DPL 和 DPH 两个 8 位寄存器组成);(2)中断系统:IP、IE;(3)定时器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4)并行 I/O 口:P0、P1、P2、P3;(5)串行口:SCON、SBUF、PCON。6PC 是什么寄存器?是否属于特殊功能寄存器?它有什么作用?答:PC 是 16 位程序计数器(ProgramCounter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问 PC。PC 是专门用于在 CPU 取指令期间寻址程序存储器。PC 总是保存着下一条要执行的指令的 16 位地址。通常程序是顺序执行的,在一般情况下,当取出一个指

20、令(更确切地说为一个指令字节)字节后,PC 自动加 1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给 PC。7DPTR 是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?答:DPTR 是 16 位数据指针寄存器,它由两个 8 位特殊功能寄存器 DPL(数据指针低 8 位)和 DPH(数据指针高 8 位)组成,DPTR用于保存 16 位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。第三章3-1 选择题1、MOVXA,DPTR 指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2 .ORG0003H

21、LJMP2000HORG000BHLJMP3000H 当 CPU 响应外部中断 0 后,PC 的值是(B)(A)0003H(B)2000H(C)000BH(D)3000H3 .执行 PUSHACC 指令,MCS-51 完成的操作是(A)(A)SP+1-*SP(ACC)(SP)(B)(ACC)k(SP)SP-1kSP(B)(C)SP-1SSP(ACCj(SP)(D)(ACC)(SP)SP+1-SSP4、LCALL 指令操作码地址是 2000H,执行完相子程序返回指令后,PC=(D)(C)2000H(B)2001H(C)2002H(D)2003H5、51 执行完 MOVA,#08H 后,PSW 的

22、一位被置位(D)(A)(A)C(B)F0(C)OV(D)P6、下面条指令将 MCS-51 的工作寄存器置成 3 区(B)(B)MOVPSW,#13H(B)MOVPSW,#18H(C)SETBPSW.4CLRPSW.3(d)SETBPSW.3CLRPSW.47、执行 MOVXA,DPTR 指令日 MCS-51 产生的控制信号是(C)(D)/PSEN(B)ALE(C)/RD(D)/WR8、MOVC,#00H 的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG0000HAJMP0040HORG0040HMOVSP,#00H 当执行完左边的程序后,PC 的值是(C)(

23、A)0040H(B)0041H(C)0042H(D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV 指令(B)PUSH 指令(C)MOVX 指令(D)MOVC 指令3-2 判断题。4 .MCS-51 的相对转移指令最大负跳距是 127B。(错)128B5 .当 MCS-51 上电复位时,堆栈指针 SP=00H。(SP=07H)(错)6 .调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与 PC 无关。(错)子序的转返与 PC 也有关(PC入栈与出栈)7 .MOVR1,#80H(X)8 、INCDPTR()9 、CLRR0(错)指令系统中没有。7、MOVR1,

24、#80H(对)8、ANLR1,#0FH(错)9、ADDCA,C(错)10、XORP1,#31H(X)3-3 简答题1 简述 MCS-51 汇编语言指令格式。答:MCS-51 汇编语言格式如下:标号:操作码助记符操作数 1操作数 2操作数 3注释标号是用户定义的符号,其值代表这条指令的地址。操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码记符。指令的操作数最多有 3个,也有无操作数的指令。注释字段是用户对程序的说明,便于对程序的阅读和理解。简答2MCS-51 指令系统主要有哪几种寻址方式?试举例说明。答:MCS-51 指令操作数主要有以下 7 种寻址方式:寻址方式举例

25、立即寻址MOVA,#16直接寻址MOV20H,P1寄存器寻址MOVA,R0寄存器间接寻址MOVXA,DPTR相对寻址 SJMPLOOP位寻址 ANLC,70H3 对访问内部 RAM 和外部 RAM,各应采用哪些寻址方式?答:对内部 RAM 的寻址方式有直接寻址、寄存器间接寻址和可对位寻址的位寻址。对外部 RAM 的寻址方式只能用寄存器 R0/R1(8 位地址)或 DPTR(16 位地址)间接寻址。4 设内部 RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口 P1=7FH,问执行下列指令后,各有关存储单元(即 R0,R1,A,B,P1,30H,40H 及 5AH 单元)的内

26、容如何?MOVR0,#30H;R0=30HMOVA,R0;A=5AHMOVR1,A;R1=5AHMOVB,R1;B=5AHMOVR1,P1;(5AH)=7FHMOVA,P1;A=7FHMOV40H,#20H;(40H)=20HMOV30H,40H;(30H)=20H解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。5SJMP(短转移)指令和 AJMP(绝对转移)指令的主要区别。前者提供了以 SJMP 的下一条指令的起始地址为中心的 256 字节范围的转移(-128+

27、127),后者的转移目标地址必须在与 AJMP 的下一条指令的第一字节相同的 2KB 区的程序储存器中。短转移方便了可重定位编码。SJMP 方便了 PC 可重定位编码,但转移范围小。而 ASJMP 转移范围大,但存在跳区的限制,AJMP 指令只能位于 2KB 区的最后 2 个字节处时,才可跳到下一个区去。因此用 AJMP 指令来代替 SJMP 指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个 2KB 区域内。3-4 编程题1 编程将片内 RAM30H 单元开始的 15B 的数据传送到片外 RAM3000H 开始的单元中去。解:STRAT:MOVR0,#30HMOVR7,#0FH

28、MOVDPTR,#3000HLOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTR变址寻址MOVCA,A+DPRTDJNZR7,LOOPRET2 片内 RAM30H 开始的单元中有 10B 的二进制数,请编程求它们之和(和 V256).解 ADDIO:MOVR0,30HMOVR7,#9MOVA,R0LOOP:INCR0ADDA,R0DJNZR7,LOOPMOV30H,ARET3 编一个程序,将累加器中的一个字符从串行接口发送出去.解 SOUT:MOVSCON,#40H;设置串行接口为工作方式MOVTMOD,#20H;定时器 T1 工作于模式 2MOVTL1,#0E8H;设置波特率

29、为 1200b/sMOVTH1,#0E8HSETBTR1MOVSBUF,AJNBT1,$CLBT1RET4 用查表法编一子程序,将 R3 中日勺 BCD 伸转换成 ASCII 码.解 MAIN:MOVA,R3;待转换的数送 AMOVDPTR,#TAR;表首地址送 DPTRMOVCA,A+DPTR;查 ASCII 码表MOVR3,A;查表结果送 R3RETTARDB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H5 片内 RAM40H 开始的单元内有 10B 二进制数,编程找出其中最大值并存于 50H 单元中.解 START:MOVR0,#40H;数据块首地址送

30、R0MOVR7,#09H;比较次数送 R7MOVA,R0;取数送 ALOOP:INCR0MOV30H,R0;取数送 30HCJNEA,30H,NEHT;(A)与(30H)相比NEXT:JNCBIE1(A)(30H)转 BIR1MOVA,30H;(A)V(30H),OfABIE1:DJNZR7,LOOP;比较次数减 1,不为 0,继续比较MOVRET50H,A;比较结束,大数送 50H6 编了程序,从串仃接口接殳一个字符.解:START:MOVTMOD,#20H;定时器 T1 工作于模式 2MOVMOVTH1,#0E8HTL1,#0E8H;设置波牛 1 率为 1200b/sSETBTR1;启动

31、T1MOVSCON,#50H;串行接口工作于方式 1,允许接收L1:JNBRI,L1;等待接收数据,末接收到数据,继续等待CLRRI;接收到数据,清 RIMOVRETA,SBUF;接收到数据送 A7 利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。解用 R0 和 R1 作数据指针,R0 指向第一个加数,并兼作“和”的指针,R1 指向另一个加数,字节存放到 R2 中作计数初值。主程序:JAFA:MOVR0,#20H 甘旨向加数最低字节MOVR1,#29H 指向另一加数最低字节MOVR2,#04H;字节数作计数值ACALLJASUB;调用加法子程序AJMP$RTE多字节加法子程序:J

32、ASUB:CLRCJASUB1:MOVA,R0;取出加数的一个字节(4B 无符号数加数)ADDCA,R1;加上另一数的一个字节MOVR0,A;保存和数INCR0;指向加数的高位INCR1;指向另一加数的高位DJNZR2,JASUB1;全部加完了吗?RET8 若图数据块是有符号数,求正数个数,编程并注释。解ORG0030HSTART:MOV20H,#00H;计正数个数计数器MOVDPTR,#0000H;MOVXA,DPTR;数据块长度-10HMOV10H,AINCDPTR;DPTR 指向 A 个数的地址TWO:MOVXA,DPTR;取数 fAJBACC.7,ONE;是负数转 ONE,准备取卜一个

33、数INC20H;是正数,正数计数器加 1ONE:INCDPTR;地址指针加 1DJNZ10H,TW;数据块长度减 1 不等于 0,继续寻找RET9 编制一个循环闪烁灯的程序。有 8 个发光二极管,每次其中某个灯闪烁点亮 10 次后,转到下一个闪烁环不止。画出电路图。10 次,循解本程序的硬件连接如图所示。当 P1.0 输出高电平时,LED 夕凫,否则/、凫。其程序如下:MOVA,#01H;灯亮初值SHIFT:LCAILFLASH;;调闪亮 10 次子程序RRA;右移一位SJMPSHIFT;循环FLASH:MOVR2,#0AH闪烁 10 次计数FLASH1;MOVP1,A;点见LCALLDELA

34、Y;延时MOVP1,#00H;熄灭LCALLDELAY;延时DJNZR2,FLASH1;循环RET第四章4-1 填空1 .MCS-51 的 Po 口作为输出端口时,每位能驱动 8_个 SL 型 TTL 负载.2 .MCS-51 有 4 个并行 IO 口淇中 P0P3 是准双向口,所以由输出转输入时必须先写入13 .设计 8031 系统时,_P0、P2 口不能用作一般 IO 口.4 .MCS-51 串行接口有 4 种工作方式,这可在初始化程序中用软件填写特殊功能寄存器 SCON 加以诜择.5 .当使用慢速外设时,最佳的传输方式是中断.6 .当定时器 To 工作在方式 3 时,要占定时器 T1 的

35、 TR1 和 TF1_两个控制位.7 .MCS-51 有_5_个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择.8 .用串口扩并口时,串行接口工作方式应选为方式0.9 .在串行通信中,有数据传送方向单工、半双工、伞双工三种方式10 .外部中断入口地址为_0013H4-2 判断1 .MCS-51 的 5 个中断源优先级相同。(X)2 .要进行多机通信,MCS-51 串行接口的工作方式应为方式 1。(X)3 .MCS-51 上电复位时,SBUF=00H。(X)。4 .MCS-51 有 3 个中断源,优先级由软件填写特殊功能寄存器 IP 加以选择.(X)5 .用串口扩并

36、口时,串行接口工作方式应选为方式 1.(X)6 .外部中断 INTO 入口地址为_0013H(X)7 .MCS-51 外部中断 0 的入口地址是 0003H。(V).8 .TMOD 中的 GATE=1 时,表示由两个信号控制定时器的启停。(,)。9 .使用 8751 且=1 时,仍可外扩 64KB 的程序存储器。(X)10 .PC 存放的是当前执行的指令。(x)11 .MCS-51 的特殊功能寄存器分布在 60H80H 地址范围内。(X)12 .MCS-51 有 4 个并行 IO 口淇中 P0P3 是准双向口,所以由输出转输入时必须先写入0(X)4-3 选择1 .在中断服务程序中,至少应有一条

37、(D)(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令2 .要使 MCS-51 能够响应定时器 T1 中断、串行接口中断,它的中断允许寄存器 IE 的内容应是(A)(A)98H(B)84H(C)42(D)22H3 .DMCS-51 在响应中断时,下列哪种操作不会发生(D).(A)保护现场(B)保护 PC(C)找到中断入口(D)保护 PC 转入中断入口 4.用 MCS-51 串行接口扩展并行 IO 口时,串行接口工作方式应选择(C)(A)方式 0(B)方式 1(C)方式 2(D)方式 35 .MCS51 有中断源(A)(A)5 个(B)2 个(C)3 个(D)6 个6 .MCS-51

38、 响应中断时,下面哪一个条件不是必须的()(A)当前指令执行完毕(B)中断是开放的确(C)没有同级或高级中断服务须(D)必须有 RET1 指令7 .使用定时器 T1 时,有几种工作模式(C)(A)1 种(B)2 种(C)3 种(D)4 种8 .计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是(B)(A)由 CPU 自动完成(B)在中断响应中完成(C)应由中断服务程序完成(D)在主程序中完成9 .下面哪一种传送方式适用于处理外部事件(C)(A)DMA(B)无条件传递进(C)中断(D)条件传递1、2、4 章的编程1 .8225A 控制字地址为 300FH,请按:A 口方式 0 输入,

39、B 口方式 1 输出,C 口高位输出,C 口低位输入,确定 8225A 控制字并编初始化程序.解:控制字为 10010101=95H初始化程序:MOVDPTR,#300FHMOVA,#95HMOVXDPTR,A2 .编定一个软件延时 1S 和 1min 的子程序.设 fosc=6Hz,则一个机器周期 1Ws。解:(1)1S=2US*5*1000005*100000=250*200*10(2)ORG1000HTIME:MOVR7,#10T3:MOVR6,#200T2:MOVR6,#250T1:DJNZR5,T1DJNZR6,T2DJNZR7,T3RET(2)1min=60,调用上面 1s 子程序

40、 60 次ORG0030HMOVR0,#60LOOP:LCALLTIMEDJNZR0,LOOPRET3 .请编制串行通信的数据发送程序,发送片内 RAM50H5FH 的 16B 数据,串行接口设定为方式 2,采用偶校验方式。设晶振频率为 6MHz。解:查询方式发送程序如下MOVSCON,#8OHMOVPCON,#80HMOVR0,#50HMOVR7,#16HLOOP:MOVA,R0MOVC,PMOVTB8,CMOVSBUF,AJNBT1,$CLRT1INCR0DJNZR7,LOOPRET4 .应用单片机内部定时器 T0 工作在方式 1 下,从 P1.0 输出周期为 2ms 的方波脉冲信号,已知

41、单片机的晶振频率为6MHZ。请(1)计算时间常数 X,应用公式 X=216-t(f/12)(2)写出程序清单解:X=216-t(F/12)=216-1*10-3*6*106/12=OFEOCHORG3000HSTART:MOVTMOD,#01HMOVTL0,#OCHMOVTHO,#OFEHSETBTR0LOOP:JBCTFO,DONESJMPLOOPDONE:MOVTL0,#OCHMOVTHO,#OFEHCPLP1.0SJMPLOOP5 .应用单片机内部定时器 T0 工作在方式 1 下,从 P1.0 输出周期为 1ms 的方波脉冲信号,已知单片机的晶振频率为6MHZ。请(1)计算时间常数 X,

42、应用公式 X=26t(f/12)(2)写出程序清单解:解:X=26-t(F/12)=216-0.5*10-3*6*106/12=FF06HORG3000HSTART:MOVTMOD,#01HMOVTL0,#06HMOVTHO,#FFHSETBTR0LOOP:JBCTFO,DONESJMPLOOPDONE:MOVTL0,#06HMOVTHO,#FFHCPLP1.0SJMPLOOP6、用 89C51 的 P1 口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。编出汇编语言程序。解:ORG0100HABC:SETBP1.0SETBP1.7JBPI.7,$JNBP1.7,$CLRP1.0

43、MOVR2,#0DAY:NOPNOPDJNZR2,DAYSJMPABC7、设计一个 4 位数码显示电路,并用汇编语言编程使8从右到左显示一遍。解:ORG0100HMOVA,#08HMOVR2,#01HMOVDPTR,#TABMOVCA,A+DPTRMOVP1,ANEXT:MOVA,R2MOVP3,AACALLDAYJBACC.4,LPDRLAMOVR2,AAJMPNEXTLPD:RETTAB:DBEND8 .编制一个循环闪烁的程序。有 8 个发光二极管,每次其中某个灯闪烁点亮 10 次后,转到下一个闪烁 10 次,循环不止。画出电路图。解:MOVA,#01HSHIFT:LCALLFLASHRR

44、SJMPSHIFTFLAH:MOVR2,#0AHFLAH1:MOVP1,ALCALLDELAYMOVP,#00HLCALLDELAYDJNZR2,FLASH1RET9 .在 8051 单片机的 INTO 引脚外接脉冲信号,要求每送来一个脉冲,把 30H 单元值加 1,若 30H 单元记满则进位 31H 单元。试利用中断结构,编制一个脉冲计数程序。解:ORG0000HAJMPMAINORG0003HAJMPSUBGMAIN:MOVA,#OOHMOV30H,AMOV31H,AMOVSP,#70HSETBINT0SETBEASETBEX0AJMP$ORG0200HSUBG:PUSHACCINC30H

45、MOVA,30HJNZBACKINC31HBACK:POPRET110 .利用 89C51 的 P1 口控制 8 个发光俄二极管 LED。相邻的 4 个 LED 为一组,使 2 组每隔 0。5S 交替发亮一次,周尔复始。试编写程序。解:ORG0100HMOVA,#0FHABC:MOVP1,AACALLD05SWAPASJMPABCD05:MOVR6,250DY:MOVR7,250DAY:NOPNOPDJNZR6,DAYDJNZR7,DAYRETEND11 .设计 89C51 和 ADC0809 的接口,采集 2 通道 10 个数据,存入内部 RAM 的 50H59H 单元,画出电路图,编出:(

46、1)延时方式;(2)查询方式;(3)中断方式中的一种程序。解:IN2 的地址为 7FFAH,P1.0 查询转换结束信号,查询程序如下:ORG0100HMOVR7,#0AHMOVR0,#50HMOVDPTR,#7FFAHNEXT:MOVXDPTR,AJBP1.0,$MOVXA,DPTRMOVR0,AINCR0DJNZNEXTSJMP$第五章5-1 选择题1、6264 芯片是(B)(A)EEPROM(B)RAM(C)FLASHROM(D)EPROM2、用 MCS-51 用串行扩展并行 I/O 口时,串行接口工作方式选择(A)(A) 方式 0(B)方式 1(C)方式 2(D)方式 33、使用 825

47、5 可以扩展出的 I/O 口线是(B)(B) 16 根(B)24 根(C)22 根(D)32 根4、当 8031 外出扩程序存储器 8KB 时,需使用 EPROM2716(C)(C) 2 片(B)3 片(C)4 片(D)5 片5、某种存储器芯片是 8KB*4/片,那么它的地址线根线是(C)(D) 11 根(B)12 根(C)13 根(D)14 根6、MCS-51 外扩 ROM,RAM 和 I/O 口时,它的数据总线是(A)(A)P0(B)P1(C)P2(D)P37、当使用快速外部设备时,最好使用的输入/输出方式是(C)(A)中断(B)条件传送(C)DMA(D)无条件传送8、MCS-51 的中断

48、源全部编程为同级时,优先级最高的是(D)(A)INT1(B)TI(C)串行接口(D)INT09、MCS-51 的并行 I/O 口信息有两种读取方法:一种是读引脚,还有一种是(A)(A)读锁存器具(B)读数据库(C)读 A 累加器具(D)读 CPU10、MCS-51 的并行 I/O 口读-改-写操作,是针对该口的(D)(A)引脚(B)片选信号(C)地址线(D)内部锁存器5-2 判断题 1、MCS-51 外扩 I/O 口与外 RAM 是统一编址的。(对)2、使用 8751 且 EA=1 时,仍可外扩 64KB 的程序存储器。(错)60KB3、8155 的复位引脚可与 89C51 的复位引脚直接相连

49、。(对)4、片内 RAM 与外部设备统一编址时,需要专门的输入/输出指令。(错)统一编址的特点正是无需专门的输入输出指令。5、8031 片内有程序存储器和数据存储器。(错)无程序存储器6、EPROM 的地址线为 11 条时,能访问的存储空间有 4K。(错)2K.7、8255A 内部有 3 个 8 位并行口,即 A 口,B 口,CD。(对)8、8155 芯片内具有 256B 的静态 RAM,2 个 8 位和 1 个 6 位的可编程并行 I/O 口,1 个 14 位定时期等常用部件9、在单片机应用系统中,外部设备与外部数据存储器传送数据时,使用 MOV 指令。(错)用 MOVX 指令。10、为了消

50、除按键的抖动,常用的方法有硬件和软件两种方法。a)5-3 简答题18031 的扩展储存器系统中,为什么 P0要接一个 8 位锁存器,而 P2 口却不接?答:这是因为 P0是扩展储存器系统的多路低 8 位地址和数据总线,在访问外部存储器时,P0分时用作输出外部储存器低 8 位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低 8 位地址信号,所以 P0需要外接一个地址锁存器。ALE 信号就是用来把 P0 口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低 8 位地址。而 P2只用作扩展存储器系统的高 8 位地址线,并在整个访问外部存储器期间不变,所以不必

51、外接地址锁存器。2 在 8031 扩展系统中,外部程序存储器和数据存储器共用 16 位地址线和 8 位数据线,为什么两个存储空间不会发生冲突?答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用 PSEN 控制线,而对外部数据存储器的读/写控制是用 RD 和 WR 读、写控制线,所以不会发生地址冲突。38031 单片机需要外接程序存储器,实际上它还有多少条 I/O 线可以用?当使用外部存储器时,还剩下多少条I/O 线可用?答:8031 系统必须外接程序促成器,原则上说,P0 和 P2 口要用作数据和地址总线,所以只有 P1 和 P3可用作 I/O 口,共

52、 16条 I/O 线。在使用外部存储器时,除了占用 P0 和 P2 口外,还需要用 P3 口 RD(P3.7)和 WR(P3.6)两条控制线,所以这种情况下就只剩下 14 条 I/O 线可用了。4试将 8031 单片机外接一片 2716EPROM 和一片 6116RAM 组成一个应用系统,请画出硬件连线图,并指出扩展存储器的地址范围。答:2716 是 2KX8 位白 EEPROM,6116 是 2KX8 位的静态 RAM,两者都仅需要 11 根地址线。由于没有规定地址范围,故可按最简单的方式来连接,即省去地址译码器,程序存储器的地址必须从 0 开始,基本地址为 0000H07FFH。数据存储器

53、的地址为 0000H07FFH。控制线的连接为/PSEN 控制 EPROM 的读出,/RD 和/WR 控制 RAM 的读写,两个芯片的片选端都固定接地,连线图如图所示。5 简述可编程并行接口 8255A 的内部结构?答:8255A 的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。(1)总线接口部分其中有数据总线驱动器,读/写控制逻辑(2)内部逻辑部分由 A 组和 B 组控制电路。(3)外部接口部分该部分有 3 个 8 位并行 I/O 端口,即 A 口、B 口和C 口。5-4 编程题口作为控制联络口,并启动定时器/记数器按方式 1 工作,工作时间为10ms 定时器计数脉冲频率为

54、单片机的时钟频率解:算得初值=5000=1388HMOVDPTR,#7F04;定时器低八位寄存器地址 DP%MOVA,#88H;低 8 位初值 AMOVXDPTR,A;低 8 位初值彳 48位寄存器INCDPTR;DPTR 指向定时器高 8 位MOVA,#13H;高 8 位初值 AfMOVXDPTR,A;高 8 位初值 T8 位寄存器MOVDPTR,#7F00H;8155 命令寄存器地址 DPTRMOVA,0C5H;命令字上土1 试编程对 8155 进行初始化,设 A 口为选通输出,B 口为选通输入,C24 分频,fosc=12MHz。解:解:MOVXDPTR,A;命令字命令寄存器2 设单片机采用 8051,未扩展片外 ROM,片外 RAM采用一片 6116,编程将其片内 ROM 从 0100H 单元MOVR2,#00H;源数据缓冲器地址偏移量 00HAMOVR3,#0AH;字节长度 RjMOVDPTR,#0100H;源数据缓冲区首地址 DPTR+MOVA,R2;源地址偏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论