单片机答案2.docx

上传人:hw****26 文档编号:3087403 上传时间:2019-05-20 格式:DOCX 页数:24 大小:36.99KB
下载 相关 举报
单片机答案2.docx_第1页
第1页 / 共24页
单片机答案2.docx_第2页
第2页 / 共24页
单片机答案2.docx_第3页
第3页 / 共24页
单片机答案2.docx_第4页
第4页 / 共24页
单片机答案2.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、第四章1 MCS-51 系列单片机能提供几个中断源、几个中断优先级?各个中断源的优先级怎样确定?在同一优先级中,各个中断源的优先顺序怎样确定?答: MCS-51 系列单片机能提供 5 个中断源, 2 个中断优先级。各个中断源的优先级是 由特殊功能寄存器 IP 来确定, IP 中和各个中断源对应位为 1 时,此中断源为高优先级,否则 为低优先级。在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。2 简述 MCS-51 系列单片机的中断响应过程。答 : MCS-51 系列单片机的中断响应过程是按照以下顺序执行的:开中断 - 中断请求 - - 中断判断 - 中断响应 - 中断返回。3 MC

2、S-51 系列单片机的外部中断有哪两种触发方式?如何设置?对外部中断源的中 断请求信号有何要求?答: MCS-51 系列单片机的外部中断有电平触发和边沿触发两种方式。是由特殊功能寄存器 TCON 中 IT0,IT1 的状态确定的,如: IT0 为 1 时外部中断 0 为边沿触发方式,当 INT0外部引脚出现下降沿时向 CPU 提出中断请求, 否则为电平触发方式,当 INT0 外部引脚出现低电平时向 CPU 提出中断请求。4 MCS-51 单片机中断响应时间是否固定?为什么?答: MCS-51 单片机中断响应时间不固定,因为当中断源向 CPU 提出中断请求时, CP U正在执行的指令的指令周期是

3、不一样的。5 MCS-51 单片机如果扩展 6 个中断源,可采用哪些方法?如何确定它们的优先级?答:一般可采取中断加查询方式,软件先查询到的为高优先级,最后查询到的为低优先级。6 当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情 况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。7 8051 单片机有 5 个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。问以下几种中断优先级顺序

4、的安排(级别由高到低)是否可能?如可能 ,则应如何设置中断源的中断级别?否则,请叙述不可能的理由。( 1 )定时器 0 ,定时器 1 ,外中断 0 ,外中断 1 ,串行口中断。可能。其中:定时器 0 ,定时器 1 为高优先级。( 2 )串行口中断,外中断 0 ,定时器 0 ,外中断 1 ,定时器 1 。可能。其中:串行口中断为高优先级。( 3 )外中断 0 ,定时器 1 ,外中断 1 ,定时器 0 ,串行口中断。不可能。( 4 )外中断 0 ,外中断 1 ,串行口中断,定时器 0 ,定时器 1 。可能。其中:外中断 0 ,外中断 1 ,串行口中断为高优先级。( 5 )串行口中断,定时器 0 ,

5、外中断 0 ,外中断 1 ,定时器 1 。课后答案网 单片机原理及应用习题参考答案第 14 页,共 40 页不可能。( 6 )外中断 0 ,外中断 1 ,定时器 0 ,串行口中断,定时器 1 。不可能。( 7 )外中断 0 ,定时器 1 ,定时器 0 ,外中断 1 ,串行口中断。可能。其中:外中断 0 ,定时器 1 为高优先级。第 5 章习题答案1 8051 定时器 / 计数器有哪几种工作模式?各有什么特点?答: 8051 定时器 / 计数器有 0 , 1 , 2 , 3 四种工作模式。模式 0 为 13 位 1 定时器 / 计数器 ,模式 1 为 16 位 1 定时器 / 计数器,模式 2

6、为自动赋初值的 8 位定时器 / 计数器,模式 3 可以 增加一个 8 位定时器( T1 没有模式 3 ) 。2 8051 定时器作定时和计数时,其计数脉冲分别由谁提供?答: 8051 定时器作定时器时,输入的记数脉冲是由晶体振荡器的输出经 12 分频后得到的,所以定时器可看作是对单片机机器周期的计数器。 8051 定时器作计数器时,则对外部 事件进行计数。3 8051 定时器的门控信号 GATE 为 1 时,定时器如何启动?答: 8051 定时器的门控信号 GATE 为 1 时,只有 (或 )引脚为高电平且 TR 0 INT0 INT1(或 TR1 )置 1 时,相应的 T0 或 T1 才能

7、选通工作。4 定时器 / 计数器 0 已预置为 156 ,且选定用于模式 2 的计数方式,现在 T0 引脚上输 入周期为 1ms 的脉冲,问:(1) 此时定时器 / 计数器 0 的实际用途是什么?(2) 在什么情况下,定时器 / 计数器 0 溢出?答:( 1 )此时定时器 / 计数器 0 的实际用途是 0 。 1S 脉冲信号发生器。( 2 )当 T0 每记数 100 次后定时器 / 计数器 0 溢出。5 设 f osc =12MHz ,定时器 0 的初始化程序和中断服务程序如下:MAIN : MOV TH0, # 9 DHMOV TL0, #0D0HMOV TMOD, #01HSETB TR0

8、中断服务程序:课后答案网 单片机原理及应用习题参考答案第 15 页,共 40 页MOV TH0 , #9DHMOV TL0, #0D0HRETI问: (1) 该定时器工作于什么方式?(2) 相应的定时时间或计数值是多少?答:( 1 )该定时器以模式 1 工作于定时方式。( 2 )相应的定时时间为 25 。 136ms.6 8051 单片机的 f osc =6MHz ,如果要求定时时间分别位 0.1ms 和 5ms ,当 T0 工作 在模式 0 、模式 1 和模式 2 时,分别求出定时器的初值。答:( 1 )定时时间分别位 0.1ms 时:模式 0 初值为 8142 、模式 1 初值为 6548

9、6 ,模 式2 初值 206 。( 2 )定时时间分别位 5ms 时:模式 0 初值为 5692 、模式 1 初值为 63036 ,模式 2此时定时时间不够。7 以定时器 1 进行外部事件计数,每计数 1000 个脉冲后,定时器 1 转为定时工作方式 。定时 10ms 后,又转为计数方式,如此循环不止。设 f osc =6MHz ,试用模式 1 编程。解:先确定 T1 作为计数器时 初值为: 64536 ( 0FC68H )T1 作为定时器时 初值为: 60536 ( 0EC78H )程序: SETB TR1LOOP : MOV TMOD , #50HMOV TH1 , #0FCHMOV TL

10、1 , #68HAA : JBC TF1 , AAMOV TMOD , #10HMOV TH1 , #0E0HMOV TL1 , #78HBB : JBC TF1 , BBSJMP LOOPEND8 已知 8051 单片机的 f osc =6MHz ,试利用 T0 和 P1.0 输出矩形波。矩形波高电平宽100 s ,低电平宽 300 s 。解:先确定 T0 作为定时器工作于模式 2 时 初值为:高电平为 50 ,低电平为 150 。采用中断方式编程。ORG 0000HAJMP MAINORG 001BHAJMP TIM0ORG 0030HMAIN : MOV SP , #30H ; 设置栈底

11、MOV TMOD , #02HMOV TL0 , #50MOV IE , #82H课后答案网 单片机原理及应用习题参考答案第 16 页,共 40 页SETB P1.0SETB TR0SJMP $ORG 0100HTIM0: JNB P1.0, AACLR P1.0MOV TL0,#150RETIAA: SETB P1.0MOV TL0,#50RETIEND9 设 f osc =12MHz ,试编写一段程序,功能为:对定时器 T0 初始化,使之工作在模式 2 ,产生 200 s 定时,并用查询 T0 溢出标志的方法,控制 P1.1 输出周期为 2ms 的方波。解:先确定 T0 作为定时器时 初值

12、为: 56程序: MOV TMOD,#02HMOV TL0,#56MOV TH0,#56MOV R7,#5 ; 设置循环次数SETB TR0AA : JBC TF0 , AADJNZ R7 , AACPL P1.1MOV R7,#5SJMP AAEND10 已知 8051 单片机系统时钟频率为 6MHz ,利用其定时器测量某正脉冲宽度时,采 用哪种工作模式可以获得最大的量程?能够测量的最大脉宽是多少?答:首先设置 TMOD 中 GATE 为 1 ,以定时方式工作在模式 1 ,外部正脉冲从外部中断引脚引入,可获得最大的量程。能够测量的最大脉宽为: 131ms.第 第 第 第 6 6 6 6 章习

13、题答案 章 习题答案 章习题答案 章习题答案1 异步通信和同步通信的主要区别是什么? MCS-51 串行口有没有同步通信功能?答案:异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。 同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间 隙 ,课后答案网 单片机原理及应用习题参考答案第 17 页,共 40 页因而数据传输速率高于异步通信。但同步通信要求用准确的时钟来实现发送端与接收端之间 的严格同步。MCS-51 串行口有同步通信功能。2 解释下列概念:(1)

14、并行通信、串行通信。(2) 波特率。(3) 单工、半双工、全双工。(4) 奇偶校验。答案:( 1 )并行通信:数据的各位同时进行传送。其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。当数据位数较多和传送距离较远时,就会导致通信线路成本提高 , 因此它适合于短距离传输。串行通信:数据一位一位地按顺序进行传送。其特点是只需一对传输线就可实现通信 ,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。( 2 )波特率:每秒钟传送的二进制数码的位数称为波特率(也称比特数) ,单位是 bps ( bit persecond ) ,即位 / 秒。( 3

15、)单工:只允许数据向一个方向传送,即一方只能发送,另一方只能接收。半双工:允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。全双工:允许数据同时双向传送,由于有两根传输线,在 A 站将数据发送到 B 站的同时,也允许 B 站将数据发送到 A 站。( 4 )奇偶校验:为保证通信质量,需要对传送的数据进行校验。对于异步通信,常用 的校验方法是奇偶校验法。采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“ 0 ” 或 “ 1 ” ,以便使校验位和所发送的字符(或字节)中 “ 1 ” 的个数为奇数 称为奇校验,或为偶数 称为偶校验。接收时,检查所

16、接收的字符(或字节)连同奇偶校验位中 “ 1 ” 的个数是否符合规定。若不符合,就证明传送数据受到干扰发生了变化, CPU 可进行相应处理。3 MCS-51 串行口控制寄存器 SCON 中 SM2 、 TB8 、 RB8 有何作用?主要在哪几种方式下 使用?答案:SM2 :多机通信控制位,主要在方式 1 、 2 、 3 下使用;TB8 :存放发送数据的第 9 位,主要在方式 2 、 3 下使用;RB8 :存放接收数据的第 9 位或停止位,主要在方式 1 、 2 、 3 下使用。4 试分析比较 MCS-51 串行口在四种工作方式下发送和接收数据的基本条件和波特率的产 生方法。答案:发送数据的基本

17、条件:方式 0 、 1 、 2 、 3 : CPU 执行一条将数据写入发送缓冲器 SBUF 的指令;课后答案网 单片机原理及应用习题参考答案第 18 页,共 40 页接收数据的基本条件:方式 0 :用软件使 REN=1 (同时 RI= 0 ) ;方式 1 :用软件使 REN=1 ,一帧数据接收完毕后,必须同时满足以下两个条件: RI=0 ; SM2=0 或接收到的停止位为 1 ,这次接收才真正 有效,将 8 位数据送入 SBUF ,停止位送 RB8 ,置位 RI 。否则,这次接收到的数据将因不能 装入 SBUF 而丢失。方式 2 、 3 :软件使 REN=1 ,同时满足以下两个条件: RI=

18、0 ; SM 2 =0或接收到的第 9 位数据为 1 ( SM 2 =1 ) ,则这次接收有效, 8 位数据装入 SBUF ,第 9 位数据装入 RB8 ,并由硬件置位 RI 。否则,接收的这一帧数据将丢失。波特率的产生方法:在方式 0 下,串行口的波特率是固定的,即波特率 =f osc /12 ;在方式 1 、 3 下,串行口波特率由定时器 T 1 的溢出率和 SMOD 值同时决定。相应公式为:波特率 =2 SMOD T1 溢出率 / 32 ;在方式 2 下,串行口的波特率可由 PCON 中的 SMOD 位控制:若使 SMOD=0 ,则所选波特率为 f osc /64 ;若使 SMOD=1

19、,则波特率为 f osc / 3 2 。即5 为何 T1 用作串行口波特率发生器时常用模式 2 ?若 f osc =6MHz , 试求出 T1 在模式 2 下 可能产生的波特率的变化范围。答案:定时器 T1 作为波特率发生器可工作于模式 0 、模式 1 和模式 2 。其中模式 2 在 T1 溢出后可自动装入时间常数,避免了重装参数,因而在实际应用中除非波特率很低,一般都采用模式 2 。若 f osc =6MHz , T1 在模式 2 下可能产生的波特率的变化范围为: 61.04 bps 15625 bps 。6 简述多机通信原理 。答案:当主机选中与其通信的从机后,只有该从机能够与主机通信,其

20、他从机不能与主机进行数据交换 , 而只能准备接收主机发来的地址帧。上述要求是通过 SCON 寄存器中的 SM 2 和TB 8 来实现的。当主机发送地址帧时使 TB8=1 , 发送数据帧时使 TB8=0 , TB8 是发送的一 帧数据的第 9 位 , 从机接收后将第 9 位数据作为 RB8 , 这样就知道主机发来的这一帧数据是 地址还是数据。另外 , 当一台从机的 SM 2 =0 时 , 可以接收地址帧或数据帧 , 而当 SM2=1 时只能接收地址帧 , 这就能实现主机与所选从机之间的单独通信 。7 试用 8051 串行口扩展 I /O 口,控制 16 个发光二极管自右向左以一定速度轮流发光,画

21、 出电路并编写程序。答案:电路如下:2 SMOD64 f osc 波特率 =课后答案网 单片机原理及应用习题参考答案第 19 页,共 40 页程序如下:ORG 0000HAJMP MAINORG 0023HAJMP SBS ; 转向串行口中断服务程序ORG 2000HMAIN: MOV SCON, #00 H ; 串行口设置为方式 0MOV A, #01H ; 最右边一位发光二极管先亮CLR P1.0 ; 关闭并行输出,熄灭显示CLR P1. 1MOV SBUF,A ; 开始串行输出LOOP: SJMP LOOP ; 等待中断SBS: INC R0CJNE R0, #11H, DSPMOV R

22、0, #01HDSP : CJNE R0, #08H, DSPRSETB P1. 1 ; 启动高 8 位并行输出DSPR : SETB P1.0 ; 启动低 8 位并行输出ACALL DELY ; 显示延迟 1sCLR TI ; 清发送中断标志RL A ; 准备点亮下一位CLR P1.0 ; 关闭并行输出,熄灭显示CLR P1. 1MOV SBUF, A ; 串行输出ZDFH: RETIDELY: MOV R2, #05H ; 延时 1s 子程序( f osc =6MHz )DELY0: MOV R3, #0C8HDELY1: MOV R 4 , #0F8HNOPDELY2: DJNZ R4,

23、 DELY2DJNZ R3, DELY1DJNZ R2, DELY0RETEND8 试设计一个 8051 单片机的双机通信系统,串行口工作在方式 1 ,波特率为 2400bps ,编 程将甲机片内 RAM 中 40H 4FH 的数据块通过串行口传送到乙机片内 RAM 的 40H 4FH 单元中。答案:双方约定的通信协议如下:甲机先发送请求乙机接收信号 “ 0AAH ” ,乙机收到该信号后,若为准备好状态,一个 则发送数据 “ 0BBH ” 作为应答信号,表示同意接收。当甲机发送完 16 个字节后,再向乙机 发送一个累加校验和。校验和是针对数据块进行的,即在数据发送时,发送方对块中的数据简单求和

24、,产生一个单字节校验字符(校验和) ,附加到数据块结尾。在数据接收时,接收方 每课后答案网 单片机原理及应用习题参考答案第 20 页,共 40 页接收一个数据也计算一次校验和;接收完数据块后,再接收甲机发送的校验和,并将接收到的校验和与乙机求出的校验和进行比较,向甲机发送一个状态字,表示正确( 00H )或出错( 0FFH ) ,出错则要求甲机重发。甲机收到收到乙机发送的接收正确应答信号( 00H )后,即结束发送,否则,就重发一次数据。甲机采用查询方式进行数据发送,乙机采用中断方式进行数据接收。双方约定传输波特率为 2400bps ,两机主频均为 11.059MHz ,双机串行口都工作于方式

25、 1 ,查表 6-2 可知 SMO D=0 ,定时器 T1 采用工作模式 2 ,初值为 F 4 H 。甲机发送子程序:ORG 2000HSEND: MOV TMOD, #20H ; 定时器 1 设为模式 2MOV TL1, #0F 4 HMOV TH1, # 0 F 4 H ; 置定时器初值SETB TR1 ; 启动 T1MOV SCON, # 5 0H ; 设串行口为方式 2MOV PCON, # 0 0H ; SMOD=0TLLS: MOV SBUF, #0A A H ; 发送请求接收信号WFS1: JBC TI, RYD1 ; 等待发送SJMP WFS1RYD1: JBC R I, RY

26、D2 ; 等待乙机回答SJMP RYD1RYD2: MOV A, SBUF ; 接收应答信号XRL A, #0BBHJNZ TLLS ; 乙机未准备好,继续联络SDD1: MOV R 0 , # 4 0H ; 首地址 4 0H R0MOV R 1 , # 10H ; 数据个数 R 1MOV R 2 , # 00H ; 清校验和寄存器SDD2: M OV SBUF, R0 ; 发送一个数据MOV A , R2ADD A , R0 ; 求校验和MOV R2 , A ; 保存校验和INC R 0WFS2: JBC TI, SDD3 ; 等待发送SJMP WFS2SDD3: DJNZ R1 , SDD

27、2 ; 数据块是否发送完MOV SBUF, R2 ; 发送校验和WFS3 : JBC TI, RYD3S JMP WFS3RYD3 : JBC R I, RYD4 ; 等待乙机回答S JMP RYD3RYD4: M OV A, SBUFJNZ SDD1 ; 回答出错则重发RET乙机接收子程序:ORG 2000H课后答案网 单片机原理及应用习题参考答案第 21 页,共 40 页R E CV : MOV TMOD, #20H ; 定时器 1 设为模式 2MOV TL1, #0F 4 HMOV TH1, # 0 F 4 H ; 置定时器初值SETB TR1 ; 启动 T1MOV SCON, # 5

28、0H ; 设串行口为方式 2MOV PCON, # 0 0H ; SMOD=0MOV R0 , # 4 0H ; 首地址 4 0H R0MOV R 1 , # 10H ; 数据个数 R 1MOV 50H , # 00H ; 清校验和寄存器SETB 7FHSETB 7EH ; 标志位初始置 1SETB ES ; 允许接收中断SETB EA ; 开中断LOOP: SJMP LOOP ; 等待中断中断服务子程序:CLR EACLR RI ; 清中断JB 7FH , RCMD ; 是请求接收信号吗JB 7EH , DATA ; 是数据块吗MOV A , SBUF ; 接收校验和CJNE A , 50H

29、, ERR ; 判断发送是否正确MOV A , #00HMOV SBUF , A ; 正确,发 00HWFS1: J NB TI, WFS1 ; 等待发送CLR TIS JMP RETNERR: M OV A , # 0 FFHMOV SBUF , A ; 出错,发 0FFHWFS2: J NB TI, WFS2 ; 等待发送CLR TIS JMP AGANRCMD: MOV A , SBUF ; 接收甲机请求信号XRL A, #0AAHJZ TYDXS JMP RETNTYDX: MOV SBUF, #0BBH ; 发送应答信号 0BBHWFS3: J NB TI, WFS3 ; 等待发送C

30、LR TICLR 7FHS JMP RETNDATA: MOV A , SBUF ; 接收数据MOV R0 , AINC DPTRADD A , 50H ; 求校验和MOV 50H , A ; 保存校验和DJNZ R1 , RETNCLR 7EH ; 数据接收完后清数据标志位课后答案网 单片机原理及应用习题参考答案第 22 页,共 40 页S JMP RETNAGAN: SETB 7FHSETB 7EH ; 恢复标志位MOV DPTR , # 200 0H ; 首地址 200 0H DPTRMOV R 1 , # 10 ; 数据个数 R 1MOV 50H , # 00H ; 清校验和寄存器RETN: SETB EA ; 开中断

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。