《单片机原理及应用》课后习题 答案 联系客服

发布时间 : 星期六 文章《单片机原理及应用》课后习题 答案更新完毕开始阅读8012a78ff6ec4afe04a1b0717fd5360cbb1a8dc8

时器T1

M1 M0:定时器/计数器四种工作方式选择

6-2 8051单片机内的定时/计数器T0、T1工作在模式3时,有何不同?

答:方式3对定时器T0和定时器T1是不相同的。若T1设置为方式3,则停止工作。方式3只适用于T0。 当T0设置为方式3时,将使TL0和TH0成为两个相互独立的8位计数器, TL0利用了T0本身的一些控制方式,它的操作与方式0和方式1类似。而TH0被规定为用作定时器功能,对机器周期计数,并借用了T1的控制位TR1和TF1。在这种情况下TH0控制了T1的中断。

6-3 已知单片机时钟振荡频率为6MHz,利用T0定时器,在P1.1引脚上输出连续方波,波形如下:

P1. 100μs 150μs 计算定时常数:

100us 方式0 Tc=FE0E; 方式1 Tc=FFCE; 方式2 Tc=CE 150us 方式0 Tc=FD15; 方式1 Tc=FFB5; 方式2 Tc=B5

方法一:采用方式一,定时器中断。

开始 开始

Y N 初始化T0,设置 20H.0=1? 工作方式 T0赋初值150us T0赋初值100us 开T0中断, 设置标志位 20H.0 P1.1=0 P1.1=1

开定时器T0, 取反20H.0 取反20H.0 P1.1=1

等待中断 中断返回 中断返回 主程序流程图: 中断子程序流程图: 21

源程序:

LJMP TINT0 ORG 0100H START:

MOV TMOD,#01H MOV TL0,#0CEH MOV TH0,#0FFH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0:

JNB 20H.0,NEXT MOV TL0,#0B5H MOV TH0,#0FFH CLR P1.1 CPL 20H.0 SJMP LAST NEXT:

MOV TL0,#0CEH MOV TH0,#0FFH SETB P1.1 CPL 20H.0 LAST:RETI

方法二: 采用方式2 定时器中断 加延时程序源程序:

LJMP START ORG 000BH LJMP TINT0 ORG 0100H START:

MOV TMOD,#02H MOV TL0,#0CEH MOV TH0,#0CEH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $

22

TIN

CLR TR0 CLR P1.1

LCALL DELAY CPL 20H.0 SETB TR0 SJMP LAST NEXT:

SETB P1.1 CPL 20H.0 LAST:RETI

DELAY: MOV R7,#8

DELAY1:DJNZ R7,DELAY1 RET

Y 初始化T0,设置 工作方式 P1.1=0,关定时器 开T0中断, 设置标志位20H.0 开始 N P1.1=1 调用50us延时 取反20H.0 开定时器T0, P1.1=1 取反20H.0,开定时器 返回 等待中断 返回 中断子程序流程图 主程序流程图

6-4 定时器/计数器的工作方式2有什么特点?适用于什么应用场合?

23

答:方式2把TL0配置成一个可以自动恢复初值的8位计数器,TH0作为常数缓冲器,TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF0置1,同时把TH0中的8位数据重新装入TL0中。

方式2常用于定时控制,作串行口波特率发生器。

6-5 定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少? 答:采用方式1可得到最大量程。最大脉宽=2us×65536

6-6 定时器/计数器作为外部中断源使用时,需要如何初始化,以T0为例通过程序说明。 答: 初始化

MOV TMOD,#06H

MOV TL0,#0FFH MOV TH0,#0FEH SETB TR0 SETB EA SETB ET0

第7章习

7-1 波特率的含义是什么?

答:所谓波特率是每秒钟传送信号的数量,单位为波特(Baud )。 7-2 什么是串行异步通信?它有哪些特征? 答:通信时接收器和发送器有各自的时钟。

特征:异步通信的优点是不需要传送同步脉冲,可靠性高,所需设备简单,缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率 7-3 单片机的串行接口由哪些功能部件组成?各有什么作用? 答:MCS-51单片机串行口主要由两个物理上独立的串行数据缓冲寄存器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。

作用:SBUF为串行口的收发缓冲寄存器,它是可寻址的专用寄存器,其中包含了发送寄存器SBUF (发送)和接收寄存器SBUF (接收),可以实现全双工通信。

7-4 简述串行接口接收和发送数据的过程。

答:发送:发送操作是在TI=0下进行的,此时发送缓冲寄存器“SBUF(发送)”相当于一个并入串出的移位寄存器。CPU 通过指令MOV SBUF,A ,将数据写入“SBUF(发送)”,立即启动发送,将8 位数据以设定波特率从RXD 输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位,并可向CPU 发出中断请求。 接收:接收过程是在RI=0且REN=1条件下启动的,此时接收缓冲寄存器“SBUF (接收)”相当于一个串入并出的移位寄存器。接收时,先置位允许接收控制位REN,此时,RXD为串行数据输入端。当RI=0 和REN=1 同时满足时,开始接收。当接收到第8 位数据时,将数据移入接收缓冲寄存器“SBUF(接收)” ,并由硬件置位RI ,同时向CPU 发出中断请求。CPU 查到RI=1 或响应中断后,通过指令MOV A,SBUF,将“ SBUF (接收)”接收到的数据读入累加器A 。

7-5 8051 串行接口有几种工作方式?有几种帧格式?各工作方式的波特率如何

24