第四章习题
1、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?
准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?
80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3、定时/计数器T0有几种工作方式?各自的特点是什么?
M1M0工作方式方式说明
00013位定时/计数器
00013位定时/计数器
01116位定时/计数器
1028位自动重置定时/计数器
113两个8位定时/计数器(只有T0有)
1028位自动重置定时/计数器
113两个8位定时/计数器(只有T0有)
4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?
有四种方式。方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?
只能选择方式1,初值为65536-50000=15536
6、何为同步通信?何为异步通信?各自的特点是什么?
异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。特点是对发送时钟和接收时钟要求较高,往往用同一个时钟源控制,控制线路复杂,传送速度快。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。特点是对发送时钟和接收时钟要求较高,往往用同一个时钟源控制,控制线路复杂,传送速度快。
7、单工、半双工和全双工有什么区别?
单工方式只有一根数据线,信息只能单向传送;半双工方式也只有一根数据线,但信息可以分时双向传送;全双工方式有两根数据线,在同一个时刻能够实现数据双向传送。
8、设某异步通信接口,每帧信息格式为10位,当接口每秒传送1000个字符时,其波特率是多少?
10000波特
9、串行口数据寄存器SBUF有什么特点?
发送数据寄存器和接收数据寄存器合起用一个特殊功能寄存器SBUF(串行口数据寄存器),执行MOVSBUF,A发送时为发送数据寄存器,执行MOVA,SBUF接收时为接收数据寄存器。
10、MCS-51单片机的串行口有几种工作方式?各自的特点是什么?
有四种工作方式,分别是方式0、方式1、方式2和方式3。其中:
方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。
方式1,称为8位的异步通信方式,通常用于双机通信。
方式2和方式3,称为9位的异步通信方式,通常用于多机通信。
方式0,称为同步移位寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。
方式1,称为8位的异步通信方式,通常用于双机通信。
方式2和方式3,称为9位的异步通信方式,通常用于多机通信。
11、怎样来实现利用串行口扩展并行输入/输出口?
利用串行口在方式0时,当外接一个串入并出的移位寄存器,就可以扩展并行输出口;当外接一个并入串出的移位寄存器时,就可以扩展并行输入口。
12、什么是中断、中断允许和中断屏蔽?
在计算机中,由于计算机内外部的原因或软硬件的原因,使CPU从当前正在执行的程序中暂
停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。执行完服务程序后,再返回被暂停的位置继续执行原来的程序,这个过程称为中断,实现中断的硬件系统和软件系统称为中断系统。中断允许是允许中断请求送CPU产生中断,中断屏蔽是禁止中断请求信号送CPU产生中断。<BR
同步通信和异步通信主要区别13、8051有几个中断源?中断请求如何提出?
MCS-51单片机提供5个硬件中断源:两个外部中断源(P3.2)和(P3.3),两个定时/计数器T0和T1中断;1个串行口中断。外部中断源和的中断请求信号从外部引脚P3.2和P3.3输入;两个定时/计数器T0和T1的溢出中断TF0和TF1定时/计数器T0(或T1)溢出时提出;串行口中断由发送中断标志T1和接收中断标志R1产生。
14、8051的中断源中,哪些中断请求信号在中断响应时可以自动清除?哪些不能自动清除?应如何处理?
工作在边沿触发方式下的两个外部中断源和两个定时/计数器中断中断请求信号在中断响应时可以自动清除,工作在电平触发方式下的两个外部中断源和串行口中断不能自动清除。工作
在电平触发方式下的两个外部中断源的中断请求信号通过外加硬件和加软件的方式清除,串行口中断标志T1和标志R1完全由软件清除。
15、8051的中断优先级有几级?在形成中断嵌套时时有何规定?
8051的中断优先级有两级;形成中断嵌套时规定(1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。
(2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。
(3)CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。
(2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。
(3)CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。
16、设8051的P1口各位接发光二极管,用C语言编程实现逐个轮流点亮二极管并循环显示。
17、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,则TH0=FCH,TL0=18H。
采用中断处理方式:
程序如下:
ORG0000H
LJMPMAIN
ORG000BH;中断处理程序
MOVTH0,#0FCH
MOVTL0,#18H
CPLP1.0
RETI
ORG0100H;主程序
MAIN:MOVTMOD,#01H
MOVTH0,#0FCH
MOVTL0,#18H
采用中断处理方式:
程序如下:
ORG0000H
LJMPMAIN
ORG000BH;中断处理程序
MOVTH0,#0FCH
MOVTL0,#18H
CPLP1.0
RETI
ORG0100H;主程序
MAIN:MOVTMOD,#01H
MOVTH0,#0FCH
MOVTL0,#18H
SETBEA
SETBET0
SETBTR0
SJMP$
END
SETBET0
SETBTR0
SJMP$
END
18、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采用中断处理方式。
X=65536-10000=55536=1101100011110000B
则TH1=11011000B=D8H,TL1=11110000B=F0H。
定时/计数器T1采用中断处理方式。
汇编程序:
ORG0000H
LJMPMAIN<BR
ORG0000H
LJMPMAIN<BR
-
器T1形成10ms周期定时,用R2对10ms计数,当计到1,则对P1.1置1,当计到2和3,则对P1.1置0来实现。用定时/计数器T1形成10ms周期定时见上题。
程序如下:
ORG0000H
LJMPMAIN
ORG001BH
LJMPINTT1
ORG0100H
MAIN:MOVTMOD,#10H
MOVTH1,#0D8H
MOVTL1,#0F0H
程序如下:
ORG0000H
LJMPMAIN
ORG001BH
LJMPINTT1
ORG0100H
MAIN:MOVTMOD,#10H
MOVTH1,#0D8H
MOVTL1,#0F0H
MOVR2,#00H
SETBEA
SETBET1
SETBTR1
SJMP$
INTT1:MOVTH1,#0D8H
MOVTL1,#0F0H
INCR2
CJNER2,#01H,NEXT
SETBP1.1
SJMPEXIT
NEXT:CJNER2,#02H,NEXT1
CLRP1.1
SJMPEXIT
NEXT1:CJNER2,#03H,NEXT
SETBEA
SETBET1
SETBTR1
SJMP$
INTT1:MOVTH1,#0D8H
MOVTL1,#0F0H
INCR2
CJNER2,#01H,NEXT
SETBP1.1
SJMPEXIT
NEXT:CJNER2,#02H,NEXT1
CLRP1.1
SJMPEXIT
NEXT1:CJNER2,#03H,NEXT
SETBP1.1
MOVR2,#00
EXIT:RETI
END
MOVR2,#00
EXIT:RETI
END
19、8051系统中,已知振荡频率为12MHz,用定时/计数器T1实现从P1.1产生高电平宽度为10ms、低电平宽度为20ms的矩形波,采用C语言编程实现。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论