首页 理论教育 微机原理及接口技术:8251A应用案例

微机原理及接口技术:8251A应用案例

时间:2023-11-16 理论教育 版权反馈
【摘要】:例6-10利用8251A可以在两个微机间实现串行通信。6-15 某系统中CPU为8086,外接一片8253芯片,要求通道2提供一个定时启动信号,定时时间为10ms,通道2的工作时钟频率为2MHz。6-20 试分析8255A方式0、方式1和方式2的主要区别,分别说明它们适合于什么应用场合。6-24 设8255A的端口地址范围为03F8H~03FBH,A组、B组均工作于方式0,A口作为数据输出口,C口低4位作为控制信号输入口,其他端口未使用。试画出该片8255A与系统的电路连接图,并编写初始化程序。

微机原理及接口技术:8251A应用案例

例6-10利用8251A可以在两个微机间实现串行通信。双机通信电路示意图如图6-36所示,可采用异步或同步方式实现单工、双工半双工通信。以查询方式、异步传送、双工方式为例,一方定义为发送方,另一方定义为接收方。发送方CPU每次查询到发送缓冲器空时,则向8251A并行输出一个字节数据;接收方CPU每次查询到接收缓冲器满时,则从8251A并行输入一个字节数据,直至全部数据传送完为止。

解:设发送端8251A的控制端口地址为301H,数据端口地址为300H。发送数据块首地址为TDATA,发送字节数据个数为COUNT。接收端8251A的控制端口地址为201H,数据端口地址为200H。接收数据块首地址为RDATA。

978-7-111-42233-4-Chapter06-133.jpg

图6-35 8251A初始化编程流程图

978-7-111-42233-4-Chapter06-134.jpg

图6-36 双机通信电路示意图

发送端初始化程序与发送控制程序段如下:

978-7-111-42233-4-Chapter06-135.jpg

978-7-111-42233-4-Chapter06-136.jpg

接收端初始化程序和接收控制程序如下:

978-7-111-42233-4-Chapter06-137.jpg

其中ERR为出错处理程序入口。

习题

6-1 CPU与I/O设备之间的接口信号主要有哪些?I/O接口的基本功能有哪些?

6-2 什么是接口?什么是端口?在8086/8088微机系统中,CPU是如何实现端口寻址的?

6-3 说明接口电路中控制寄存器与状态寄存器的功能,通常它们可共用一个端口地址码,为什么?

6-4 存储器映像的I/O寻址方式和I/O端口单独寻址方式各有什么特点和优缺点?

6-5 CPU与外设之间的数据传输控制方式有哪几种?各有何优缺点?

6-6 在CPU与外部设备接口电路的连接中,通过数据总线可传输哪几种信息?在这里地址译码器起什么作用?

6-7 试说明定时和计数在实际系统中的应用?这两者之间有何联系和差别?

6-8 8253每个计数通道与外设接口有哪些信号线?每个信号的用途是什么?

6-9 定时/计数器芯片Intel 8253占用几个端口地址?各个端口分别对应什么?

6-10 8253芯片共有几种工作方式?每种方式各有什么特点?其时钟信号CLK和门控信号GATE分别起什么作用?

6-11 8253初始化编程包含哪些内容?

6-12 8253每个通道的最大定时值是多少?如果欲使8253用于定时值超过其最大值时,应该如何应用?

6-13 设8253计数器0~计数器2和控制寄存器的I/O地址依次为0F8H~0FBH,说明如下程序的作用。

978-7-111-42233-4-Chapter06-138.jpg

6-14 试按如下要求分别编写8253的初始化程序,已知8253的计数器0~计数器2和控制寄存器I/O地址依次为40H~43H。

(1)使计数器1工作于方式0,仅用8位二进制计数,计数初值为128。

(2)使计数器0工作于方式1,按BCD码计数,计数值为3000。

(3)使计数器2工作于方式2,计数值为02F0H。

6-15 某系统中CPU为8086,外接一片8253芯片,要求通道2提供一个定时启动信号,定时时间为10ms,通道2的工作时钟频率为2MHz。同时在通道0接收外部计数事件输入,计满100个输出一个负脉冲。控制口地址为0A0H,试完成硬件连线和初始化程序。

6-16 若8253芯片的接口地址为0D0D0H~0D0D3H,时钟信号频率为2MHz。现利用计数器0、1、2分别产生周期为10μs的对称方波及每1ms和1s产生一个负脉冲,试画出其与系统的电路连接图,并编写包括初始化在内的程序。(www.xing528.com)

6-17 设8253的通道0~通道2和控制端口的地址分别为300H、302H、304H和306H,又设由CLK0输入计数脉冲频率为2MHz。要求通道0输出1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。试编写初始化程序,并画出硬件连线图。

6-18 某系统中8253芯片的通道0~通道2和控制端口地址分别为0FFF0H~0FFF3H。定义通道0工作在方式2,CLK0=2MHz,要求输出OUT0为1kHz的速率波;定义通道1工作在方式0,其CLK1输入外部计数事件,每计满100个则向CPU发出中断请求。试写出8253通道0和通道1的初始化程序。

6-19 8253的片选信号如图6-37所示。

(1)列出8253内各计数器及控制字寄存器的一组地址。

(2)现有1MHz方波,欲利用这片8253产生1kHz方波。请简单说明如何实现(说明利用的计数器、工作方式及计数初值),并写出对8253编程的有关内容。

6-20 试分析8255A方式0、方式1和方式2的主要区别,分别说明它们适合于什么应用场合。

6-21 8255各端口可以工作在几种方式下?当端口A工作在方式2时,端口B和C工作于什么方式下?

978-7-111-42233-4-Chapter06-139.jpg

图6-37 题6-19图

6-22 若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式0,输出。试编写初始化程序(口地址为80H~83H)。

6-23 某8255A芯片的地址范围为0A380H~0A383H,工作于方式0,A口、B口为输出口,现欲将PC4置“0”,PC7置“1”,试编写初始化程序。

6-24 设8255A的端口地址范围为03F8H~03FBH,A组、B组均工作于方式0,A口作为数据输出口,C口低4位作为控制信号输入口,其他端口未使用。试画出该片8255A与系统的电路连接图,并编写初始化程序。

6-25 现有一片8255A,如图6-38所示,设其在系统中所分配的I/O地址为200H~203H,开关S0~S3闭合,其余开路,执行完下列程序之后,请指出:

978-7-111-42233-4-Chapter06-140.jpg

图6-38 题6-25图

(1)A口和B口各工作于什么方式?是处于输入还是输出工作状态?

(2)指出各个发光二极管LED的发光状态。

978-7-111-42233-4-Chapter06-141.jpg

978-7-111-42233-4-Chapter06-142.jpg

6-26 如图6-39所示,某8086微型计算机系统中有一片8255A,其PA端口接一个8段LED显示器,开关设置的二进制信息由8255A的PB端口输入,经过程序转换成对应的8段LED字形码后,由PA口输出,来点亮此LED。

要求:(1)根据图中的译码电路,写出8255A的4个端口地址。

(2)试写出8255A的工作方式命令字和8086对8255A的初始化程序段。

(3)试编写实现此功能的程序段。

6-27 串行通信和并行通信有什么异同?它们各自的优缺点是什么?

6-28 什么是异步串行通信?什么是同步串行通信?

6-29 已知8251A发送的数据格式为数据位7位、偶校验、1个停止位、波特率因子64,全双工方式。设8251A控制寄存器的地址码是0F9H,发送/接收数据寄存器的地址码是0F8H。试编写初始化程序。

6-30 已知8251A发送的数据格式为数据位7位、偶校验、1个停止位、波特率因子64。设8251A控制寄存器的地址码是3FBH,发送/接收寄存器的地址码是3F8H。试编写用查询法和中断法收发数据的通信程序。

978-7-111-42233-4-Chapter06-143.jpg

图6-39 题6-26图

6-31 RS-232C的最基本数据传送引脚是哪几根?RS-232C在串行通信中起什么作用?

6-32 为什么要在RS-232C与TTL之间加电平转换器件?一般采用哪些转换器件,请以图说明。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈