文档库 最新最全的文档下载
当前位置:文档库 › 单片机原理习题及答案

单片机原理习题及答案

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

1.何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?答:准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。

MCS-51单片机的四个并口中 P1、P2、P3是准双向I/O接口。

2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功

能和计数功能?

答:80C51单片机内部有两个 16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TM0D 和 TCON功能寄存器组成。通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择

对外部脉冲计数实现计数功能。

3.定时/计数器T0有几种工作方式?各自的特点是什么?

答:有四种工作方式,特点见下表:

M1 M0 工作方式方式说明

13位定时/计数器 16位定时/计数器 8位自动重置定时/计数器

两个8位定时/计数器(只有T0有)

4.

定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式初值应为多少?

答:有四种方式。方式0计数范围:1~8192;方式1计数范围: 1~256;

1~65536;方式2计数范围:

方式3计数范围:1~256。

如果计10个单位,方式 0初值为:8192-10=8182 ;方式1 方式2

初值为:65536-10=65526 ;初值为:256-10=246 ;方式2初值为:256-10=246。

5.设振荡频率为12MHz,如果用定时/计数器T0产生周期为几种方

100ms的方波,可以选择哪式,其初值分别设为多少?

答:只能选择方式 1,初值为65536-50000=15536。

6.何为同步通信?何为异步通信?各自的特点是什么? 答:异步通信方式的特点是数据在线路上传送时是以一个字符 (字节)为单位,未传送时线路

处于空闲状态,空闲线路约定为高电平“1”。特点是对发送时钟和接收时钟的要求相对不高, 线路

简单,但传送速度较慢。

一次传送多个字符,传送时须 后面加上校验字符。特点是对发送时钟和接收时钟要求较 往往用同一个时钟源控

制,控制线路复杂,传送速度快。

答:

可以分时双向传送;全双工方式有两根数据线,在同一个时刻能够实现数据双向传送。

8.设某异步通信接口, 每帧信息格式为10位,当接口每秒传送1000个字符时,其波特率 为多少?

答:

器),执行MOV SBUF,A 发送时为发送数据寄存器,执行 据寄存器。

10. MCS-51单片机串行口有几种工作方式?各自特点是什么? 答:有四种工作方式,分别是方式

0、方式1、方式2和方式3。其中:

方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展 方式1,称为8位的异步通信方式,通常用于双机通信。

方式2和方式3,称为9位的异步通信方式,通常用于多机通信。

11. 说明SM2在方式2和方式3对数据接收有何影响。

答:通过SM2对方式2和方式3数据接收进行控制,

SM2=1,那么只有接收的第 9位为“ 1”

才接收有效。如 SM2=0,接收的第9位无论为1还是0都接收有效。

12. 怎样来实现利用串行口扩展并行输入 /输出口? 答:利用串行口在方式 0时,当外接一个串入并出的移位寄存器,就可以扩展并行输出口;

同步通信方式的特点是数据在线路上传送时以字符块为单位, 在前面加上一个或两个同步字符, 高,

7. 单工、半双工和全双工有什么区别? 单工方式只有一根数据线, 信息只能单向传送;半双工方式也只有一根数据线,但信息 答: 10000波特 9. 串行口数据寄存器 SBUF 有什么特点? 发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器 SBUF (串行口数据寄存 MOV A, S BUF 接收时为接收数 I/O 接口。

当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。

13.什么是中断、中断允许和中断屏蔽? 答:在计算机中,由于计算机内外部的原因或软硬件的原因,使 CPU 从当前正在执行的程 序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。 执行完服务 程序后,再返回被暂停的位置继续执行原来的程序, 这个过程称为中断, 实现中断的硬件系 统和软件系统称为中断系统。中断允许是允许中断请求送 CPU 产生中断,中断屏蔽是禁止 中断请求信号送 CPU 产生中断。 14. 8051有几个中断源?中断请求如何提出? 答:MCS-51单片机提供5个硬件中断源:两个外部中断源 (P3.2)和(P3.3),两个定时/计数 器T0和T1 中断;1个串行口中断。 和 的中断请求信号从外部引脚 P3.2和P3.3输入;两个定时/计数器T0和T1 TF0和TF1定时/计数器T0(或T1)溢出时提出;串行口中断由发送中断标志 T1 外部中断源 的溢出中断 和接收中断标志R1产生。 15. 除? 8051的中断源中,哪些中断请求信号在中断响应时可以自动清除?哪些不能自动清 应如何处理? 答: 响应时可以自动清除,工作在电平触发方式下的两个外部中断源和串行口中断不能自动清 除。工作在电平触发方式下的两个外部中断源的中断请求信号通过外加硬件和加软件的方式 清除,串行口中断标志 T1和标志R1完全由软件清除。 工作在边沿触发方式下的两个外部中断源和两个定时 /计数器中断中断请求信号在中断 16. 8051的中断优先级有几级?在形成中断嵌套时各级有何规定? 答:8051的中断优先级有两级;形成中断嵌套时规定 (1) 正在进行的中断过程不能被新 的同级或低优先级的中断请求所中断, 直到该中断服务程序结束, 返回了主程序且执行了主 程序中的一条指令后, CPU 才响应新的中断请求。 正在进行的低优先级中断服务程 序能被高优先级中断请求所中断, 实现两级中断嵌套。 CPU 同时接收到几个中断请求时,首先响应优先级最高的中断请求。 17. 二极管,并循环显示。 设8051的P1中各位接发光二极管,分别用汇编语言和 C 语言编程实现逐个轮流点亮 18. 8051系统中,已知振荡频率为12MHz ,用定时/计数器T0,实现从P1.0产生周期为2ms 的方波。要求分别用汇编语言和

C 语言进行编程。

解:分析:从P1.0输出周期为2ms的方波,只须P1.0每1ms取反一次则可。当系统时钟为12MHZ,定时/计数器T0工作于方式1时,最大的定时时间为 65.536ms,满足1ms的定时要求,方式控制字应设定为00000001B( 01H )。定时1ms,计数值 N为1000,初值

X=65536-1000=64536,采用中断处理方式: 程序如下:

ORG 0000H

RETI 贝U TH0=FCH,TL0=18H。

LJMP MAIN

ORG 000BH ;中断处理程序MOV TH0, #0FCH

MOV TL0, #18H

CPL P1.0

ORG 0100H ;主程序

MAIN :MOV TMOD , #01H

MOV TH0, #0FCH

MOV TL0, #18H

SETB EA

SETB ET0

SETB TR0

SJMP

END

19. 8051系统中,已知振荡频率为12MHz,用定时/计数器T1,实现从P1.1产生周期为2s

的方波。要求分别用汇编语言和C语言进行编程。

解:

从P1.1产生2s的方波,应产生 500ms的周期性的定时,定时到对P1.1取反就可实现。由于定时时间较长,一个定时 /计数器T1不能直接实现,采用定时/计数器T1产生周期性为 10ms的定时,然后用一个寄存器R2对10ms计数100次来实现。系统时钟为12MHZ,定

时/计数器T1定时10ms,计数值N为10000,只能选方式1,方式控制字为 00010000B( 10H),初值

X :

X=65536-10000=55536=1101100011110000B 则 TH1=11011000B=D8H,TL1=11110000B=F0H。

定时/计数器T1采用中断处理方式。

汇编程序:

ORG 0000H

LJMP MAIN

ORG 001BH

LJMP INTT1

ORG 0100H

,#10H

MAIN :MOV TM(

MOV TH1,#0D8H

MOV TL1,#0F0H

MOV R2, #00H

SETB EA

SETB ET1

SJMP

INTT1 MOV TH1,#0D8H

MOV TL1 , #0F0H

INC R2

CJNE R2, #64H, NEXT

CPL P1.1

MOV R2, #00H

NEXT RETI

END

20. 8051系统中,已知振荡频率为 12MHz,用定时/计数器T1,实现从P1.1产生高电平宽度为10ms,低电平宽度为 20ms的矩形波。要求分别用汇编语言和C语言进行编程。

解: 本题处理方式有多种,这里采用对定时/计数器T1形成10ms周期定时,用R2对10ms计数,当计到1,则对P1.1置1,当计到2和3,则对P1.1置0来实现。用定时/计数器T1形成10ms 周期定时见上题。

程序如下:

ORG 0000H

LJMP MAIN

ORG 001BH

ORG 0100H

MAIN : MOV TMOD , #10H

MOV TH1 , #0D8H

MOV TL1 , #0F0H

MOV R2, #00H

SETB EA

SETB ET1

SETB TR1

SJMP

INTT1 : MOV TH1 , #0D8H MOV TL1 , #0F0H

INC R2

CJNE R2, #01H, NEXT

SETB P 1.1

SJMP EXIT

NEXT : CJNE R2, #02H, NEXT1 CLR P1. 1

SJMP EXIT

NEXT1 : CJNE R2, #03H , NEXT

相关文档