方法一:采用方式一,定时器中断。
开始 开始 Y 初始化T0,设置 20H.0=1? 工作方式 T0赋初值150us 开T0中断, 设置标志位 20H.0
P1.1=0 开定时器T0, P1.1=1 取反20H.0
等待中断 中断返回 主程序流程图: 中断子程序流程图:
源程序:
ORG 0000H LJMP START ORG 000BH 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
N T0赋初值100us P1.1=1 取反20H.0 中断返回 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 定时器中断 加延时程序 源程序:
ORG 0000H 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 $ TINT0:
JNB 20H.0,NEXT 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 20H.0=1? P1.1=1 调用50us延时 取反20H.0 开定时器T0, P1.1=1 取反20H.0,开定时器 返回 等待中断 返回 中断子程序流程图 主程序流程图
6-4 定时器/计数器的工作方式2有什么特点?适用于什么应用场合?
答:方式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 串行接口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定? 答:方式0、1、2、3. 8帧 10帧 11帧 三种格式。 波特率:
① 方式0的波特率固定为系统晶振频率的1/12 ,其值为fosc/12 。其中,fosc为系统主机晶振频率。
② 方式2的波特率由PCON中的选择位SMOD来决定,可由下式表示:
波特率?(2SMOD/64)?fosc 即:当SMOD =l 时,波特率为fosc/32;当脚SMOD=0时,波特率为fosc/64。
③ 方式1 和方式3 的波特率由定时器Tl 的溢出率控制。因而波特率是可变的。
定时器TI 作为波特率发生器,相应公式如下:
2波特率=(SMOD32)?定时器T1溢出率
T1溢出率=T1计数率/产生溢出所需的周期数
=(fosc/12)/(2k?TC)
式中K:定时器T1的位数,K的值等于8、13、16;
TC:定时器T1的预置初值。
第8章习题参考答案
8-1 MCS-51单片机外部程序存储器和数据存储器地址范围都是0000H ~ FFFFH,在实际使用时如何区分?
答:访问(读)ROM时(程序存储器),通过PSEN引脚有效选中程序存储器,PC指针指向程序存储器的地址指针。访问外部RAM(数据存储器),通过RD、WR引脚有效选中数据存储器(DPTR为外部RAM存储器的地址指针)
8-2 访问8051片外数据存储器MOVX指令采用的是 间接 寻址方式。访问片外程序存储器MOVC指令采用的是 基址加变址 寻址方式。
8-3 MCS-51单片机可以外接64KB的程序存储器和64KB数据存储器。这两种片外存储器地址重叠而不发生总线冲突,主要依靠单片机引脚上的那些信号来区分?
答:同8-1.
8-4 给8031单片机扩展一片2716和6116,请画出系统连接图。 方法一:
地址自定:(其中一种解法如下) 设2716地址:0000H—07FFH 6116地址:0000H—07FFH (不用译码器)
P2.0~P2.2 A8~A10 A8-A10
8051 地址 A0-A7 锁存器373 A0~A7
P0.0~P0.7 G 2716 6116 D0-D7 D0~D7 CE ALE OE WE CE EA PSEN OE
WR RD G2A
方法二:采用部分译码 如: 2716的地址0000H—07FFH
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机习题答案(1章-9章)[1](4)在线全文阅读。
相关推荐: