微机原理及接口第九章作业答案

合集下载

微机原理及接口第九章作业答案

微机原理及接口第九章作业答案

“微机系统原理与接口技术”第九章习题解答(部分)1. 什么是并行接口和串行接口?它们各有什么作用?答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。

并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。

2. 试画出8255A与8086CPU连接图,并说明8255A的A o、A i地址线与8086CPU的A i、A2地址线连接的原因。

答:8255A与8086CPU的连线图如下图所示:题9-2图8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将8255 的8条数据线与8086的低8位数据线相连。

8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255的4个端口地址必须为偶地址,即8086在寻址8255 时A0脚必须为低。

实际使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。

4. 简述8255A工作在方式1时,A组端口和B组端口工作在不同状态(输入或输出)时,C端口各位的作用。

注:带*的各中断允许信号由 C 口内部置位/复位操作设置,非引脚电平。

5. 用8255A控制12位A/D转换器,电路连接如下图所示。

设B 口工作于方式1输入,C 口上半部输入,A 口工作于方式0输入。

试编写8255A的初始化程序段和中断服务程序(注:CPU采用中断方式从8255A中读取转换后的数据)。

答:设8255的A、B、C及控制端口的地址分别为PORTA、POATB、PORTC和PCON,则一种可能的程序段实现如下:初始化8255AMOV AL,10011110B;设置8255A的工作方式控制字OUT PCON,ALMOV AL,00000101B;设置C 口置位復位控制字,使INTEA (PC2)为OUT PCON,AL;高电平,允许B 口中断MOV AL,00000010B;设置C 口置位/复位控制字,使PC1(IBF B)输出OUT PCON,AL;低电平,启动第一次A/D转换6. 用8255A作为CPU与打印机接口,8255的A 口工作于方式0,输出;C 口工作于方式0。

微型计算机原理作业第九章 习题与思考题

微型计算机原理作业第九章 习题与思考题

第九章习题与思考题典型例题解析一、填空题:1.8255A把①和②分别称为A组和B组,可组成两个独立的并行接口。

答案:①A口和C口的上半部分(PC4~PC7);②B口和C口的下半部分(PC0~PC3)。

分析:8255A的内部控制部分包括A组和B组控制部分,A组控制电路控制端口A和端口C 的上半部分,B组控制电路控制端口B和端口C的下半部分。

每组控制部件从读写控制逻辑接受各种命令,从内部数据总线接收控制字,并发出适当的命令到相应的I/O端口,以确定各个端口的工作方式。

2.8255A中,A组有①种工作方式,它们是②,B组有③种工作方式,它们是④。

当A组工作于方式2时,B组可以工作于⑤。

答案:①3;②方式0、方式1和方式2;③2;④方式0和方式1;⑤方式0或方式1。

分析:8255A的A组和B组可以通过程序分别设置于不同的方式组合,在此要注意只有A组能工作于方式2。

3.当8255A的PC4~PC7全部为输出线时,表明8255A的A端口的工作方式是。

答案:方式0分析:A口工作在方式1或方式2时,均要使用PC4~PC7中部分或全部信号线作为固定的应答信号线和中断请求线。

此题全部PC4~PC7为输出线,说明A口工作时无固定的应答控制线,由此判断A口只能工作在方式0。

二、选择题1.并行接口和串行接口的区别主要表现在()之间的数据传输前者是并行,后者是串行。

A.接口与CPU B.接口与外设 C.CPU与外设 D.接口与CPU和外设答案:B分析:无论是并行接口还是串行接口,接口与CPU之间的数据传输都是并行的,主要区别是在接口与外设之间。

2.8255A有两种控制字,分别为工作方式字和C口位控字,其工作方式控制字一定是()。

A.不等于80H B.小于等于80H C.大于等于80H D.都不是答案:C分析:8255A的方式控制字最高位D7是特征位,固定为1,所以只有答案C是正确的。

3.8255A工作在方式1的输入状态时,可以通过()知道端口是否已经准备好了输入的数据。

单片机原理及接口技术课后习题第9章 答案讲解

单片机原理及接口技术课后习题第9章 答案讲解

第九章复习思考题1. 计算机系统中为什么要设置输入输出接口?输入/输出接口电路是CPU与外设进行数据传输的桥梁。

外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU输出到接口电路,然后与接口相接的外设获得数据。

CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。

2. 简述输入输出接口的作用。

I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。

3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种?各有什么特点?在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。

在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。

条件控制方式也称为查询方式。

CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。

在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。

传输完数据后,返回原来的程序继续执行。

直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA控制器控制,使数据在存储器与外设之间直接传送。

4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。

国防《微机原理与接口技术》教学资料包 课后习题答案 第9章

国防《微机原理与接口技术》教学资料包 课后习题答案 第9章

习题91.答:(1)DMA方式是一种由专门的硬件电路控制数据在I/O设备与存储器之间直接交换的方式,这种硬件称为DMA控制器,简称为DMAC。

(2)一个完整的DMA传输过程必须经过下面的4个步骤。

①DMA请求。

CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA 请求。

②DMA响应。

DMA控制器对DMA请求判别优选级及屏蔽,向总线裁决逻辑提出总线请求。

当CPU执行完当前总线周期即可释放总线控制权。

此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。

③DMA传输。

DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA 控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。

④DMA结束。

当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O 接口发出结束信号。

当I/O接口收到结束信号后,一方面停止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。

最后,带着本次操作结果及状态继续执行原来的程序。

2.答:DMA方式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。

当外设与主存储器之间需要传输数据时,外设向DMA控制器发出DMA请求,DMA控制器向中央处理器发出总线请求,取得总线控制权以后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。

中断方式下,外设需与主机传输数据时要请求主给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在处理器所执行的指令控制之下。

3.答:8237A有四种工作方式:(1)请求传送方式。

当DREQ有效,若CPU让出总线控制权,8237A进行DMA服务,也连续传送数据,直至字节计数器过0为FFFFH或由外界送来有效信号,或DREQ变为无效时为止。

微机原理及接口第9章习题解答

微机原理及接口第9章习题解答

第9章习题解答1、选择题(1)在数据传送过程中,数据由串行变并行或由并行变串行,其转换是通过()A.锁存器B.加法器C.移位寄存器D.数据寄存器(2)在远距离串行通信中,采用调制技术是为了使信号()A.强度加大B.不失真传送C.一位一位传送D.有条不紊传送(3)微处理器通过数据总线向慢速外设输出数据时,接口部分必须含有的部件是()A.反相器B.放大器C.锁存器D.TTL/EIA电平转换器(4)串行接口与设备之间的数据传输是以串行方式并且以()A.单工方式进行的B.半双工方式进行的C.全双工方式进行的D.半/全双工方式进行的(5)甲乙两台计算机近距离通过RS一232C口进行通讯时,常采用最简单的三线联结。

即是()A.甲机的TXD、RXD、GND分别与乙机的TXD、RXD、GND相连B.甲机的TXD、RXD、GND分别与乙机的RXD、TXD、GND相连C.甲机的RTD、TXD、RXD分别与乙机的RTS、TXD、RXD相连D.甲机的DSR、RXD、DTR分别与乙机的DSR、RXD、DTR相连2、什么是比特率、波特率?解:比特率指每秒传送的二进制位数。

波特率指每秒传送的信息位数量。

3、如果串行传输速率是2400波特,数据位的时钟周期是多少秒?数据位的时钟周期是 = 4.17×10-4秒4、若8251A的收发时钟(RxC、TxC)频率为38.4KHz,它的RTS和CTS 引脚相连。

工作在半双工异步通信,每帧字符的数据位数为7,停止位数为1,偶校验,波特率为600b/s,处于发送状态。

写出初始化程序,其端口地址为02C0H和02C1H。

38.4K = n * 600 ,得分频系数为64MOV DX,02C1HMOV AL,01111011 ;方式字OUT DX,ALMOV AL,00110001 ;控制字OUT DX,AL5、设8251A为异步工作方式,波特率因数为16,7位/字符,奇校验,两位停止位。

微机原理与接口技术 第九章 课后答案

微机原理与接口技术 第九章 课后答案

第九章参考答案1.串行通信有什么特点?它适合于什么应用场合?若你的计算机要接入Internet网,应该采用并行传输还是串行传输?答:串行通信的特点:数据位依次传送。

传送相同字节数信息时,串行传送的时间远大于并行传送的时间;但数据线的根数较少。

串行传送有固定的传输格式。

适合于远距离传输。

计算机要接入Internet网时,应采用串行传输。

2. 设异步传送数据时,每个字符对应1位起始位,1位停止位,7位数据位和1位校验位,如果波特率是9600b/s,则每秒最多能传输多少字符?答:根据给定条件知:每个字符包含10位,因此每秒最多能传输的字符个数是:9600÷10=9603.叙述单工、半双工和全双工通信方式以及波特率含义。

答:单工:联系通信双方只有一根数据线,数据只能朝一个方向发送。

半双工:联系通信双方只有一根数据线,但允许数据分时在两个方向传送。

全双工:联系通信双方有两根数据线,允许数据同时进行双向传送。

波特率:每秒钟内传送二进制数据的位数。

4.简要说明RS-232C、RS-422、RS-485的特点。

答:RS-232C的特点:信号线少;多种波特率可选择;传送的距离一般可达30米,采用光电隔离的20mA的电流环传送时可达1000m;采用负逻辑电平,“1”电平为:-5V~-15V,“0”电平为+5V~+15V。

RS-422、RS-485的特点:采用平衡输出的发送器和差分输入的接收器;可在1200m范围内传输;发送端与接收端之间没有直接的地线连接。

5.假定8251A工作于异步方式,波特率因子为16,数据位7位,奇校验,允许发送和接收数据,其端口地址为E0H(C/D=0),E1H(C/D=1)。

试编写初始化程序。

略去软复位的初始化程序:MOV DX, 00E1HMOV AL, 01011010BOUT DX, ALMOV AL, 01010101BOUT DX, AL6.设一数据传输率为4800波特的串行打印机通过8251A与8086CPU组成的微机系统相连,打印机只有一串行数据通道,编写一个将起始地址为DATA的80个字符输出到打印机去的发送程序。

微机原理第九章习题

微机原理第九章习题
(3) 当 片 选 输 入 信 号 A0=1 时 , 8253 的 数 据 线 应 如 何 与 8086数据线连接?
9.习题解答
9.习题解答
解:(1)根据8086系统中I/O地址库被分成奇偶两个地址库 的特点,图8.27中8253的数据线与系统数据总线的低8位 相连,A0=0参加片选端#CS的译码,8253各通道及控制寄 存器的地址号应该都是偶数,它们分别是:计数器O#,地址 为3EOH,计数器1#,地址为3E2H;计数器2#,地址为3E4H ;控制寄存器地址为3E6H。
9.习题解答
8.试比较8253方式O与方式4,方式1与方式5有什么区别?
答:(1)方式O与方式4比较。
方式0和方式4有许多相似之处:都是计数器功能,即计数 到“0”后便结束操作;计数启动条件相同,都是写入初值后 自动启动计数;门控信号对计数过程的影响相同,即GATE为 高电平时允许计数,低电平将暂停计数。但是它们也有不同 :复位后(写入控制字后)OUT输出电平不同,方式0时输出低 电平,而方式4时输出高电平;相应地,计数结束时OUT输出 波形也不同,方式0计数结束时,OUT输出高电平,方式4计 数结束时,OUT输出一个宽度为一个CLK的负脉冲。
答:8255A的3个端口PA、PB和PC都具有工作方式O,而 只有PA、PB有工作方式1。工作于方式0时,端口是基本输入 、输出,即输入缓冲、输出锁存,无控制及状态联络线,3个 端口相互独立;工作于方式1时,PA、PB要利用PC的某些线 作为控制及状态联络线,可以工作于中断方式,输入缓冲且锁 存(—#STB信号锁存数据入端口寄存器)、输出锁存。方式2的 特点是:只有PA口具有方式2,总线式双向口,输入输出均锁 存且缓冲。
3EOH 0UT DX,AL MOV AL,10H ;再送高8位初值 0UT DX,AL

微机原理 09 习题答案

微机原理 09 习题答案

一、数据总线缓冲器、读写控制电路、控制字寄存器以及三个计数器二、(1)8253内部有三个计数通道,计数器#0、#1、#2。

CLK为时钟信号输入引脚,GATE为门控信号输入引脚,OUT引脚根据各种工作方式的不同,输出各种工作波形。

(2)MOV AL,10010110BMOV DX,3F3HOUT DX,ALMOV AL,1000MOV DX,3F2HOUT DX,AL三、计算2ms对应的时间常数N=2mS/0.84µs=2×1000/0.84=2381=094DH初始化编程:MOV AL ,75HOUT 0FFH ,ALMOV AL ,81HOUT 0FDH ,ALMOV AL ,23HOUT 0FDH ,AL四、TC(计数周期)=1/1.19MHZ=0.84µs计数器0:N=1000/0.84=1190=04A6H计数器1:N=54900/0.84=65357=FF4DH计数器2:N=15.12/0.84=18=12H初始化编程:MOV AL,36H ;通道0OUT 43H,ALMOV AL,0A6HOUT 40H,ALMOV AL,04HOUT 40H,ALMOV AL,76H ;通道1OUT 43H,ALMOV AL,4DHOUT 41H,ALMOV AL,0FFHOUT 41H,ALMOV AL,94 H ;通道2OUT 43H,ALMOV AL,12HOUT 42H,AL五、在只用一个计数器的情况下。

由于计数值:N=1000000/1=106≥65536故可以采用计数器级联的方式实现题目的要求。

级联方法:计数器0的CLK接1MHZ的时钟脉冲,计数值为1000,工作于方式3;再将计数器0的OUT接于计数器1的CLK端口。

令计数器1也工作于方式3,计数值为1000,就可以在计数器1的OUT输出得到所需要的方波。

初始化程序:MOV DX, 43H ;初始化计数器0MOV AL, 37HOUT DX, ALMOV AL, 00MOV DX, 40HOUT DX, ALMOV AL, 10OUT DX, ALMOV DX, 43H ;初始化计数器1MOV AL, 77HOUT DX, ALMOV AL, 00MOV DX, 41HOUT DX, ALMOV AL, 10OUT DX, AL。

微机原理与接口技术周荷琴课后习题答案

微机原理与接口技术周荷琴课后习题答案

微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。

其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。

冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。

2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。

微型计算机系统结构如下图所示。

3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。

7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。

PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。

微机原理与接口技术李珍香版课后习题9参考答案

微机原理与接口技术李珍香版课后习题9参考答案

微机原理与接口技术李珍香版课后习题9参考答案习题99.1 8255A有哪几种工作方式?各有什么特点?不同的工作方式在连接方法上有什么不同?参考答案:8255A有方式0、方式1和方式2三种工作方式。

方式0特点:与外设传送数据时,通常不用联络信号或无固定的I/O联络信号;可以采用无条件或查询方式传送,输出有锁存,输入有三态缓冲而无锁存功能;A、B、C三个口均可设成此方式,且都能被指定为输入或者输出使用,各端口之间没有规定必然的关系,但同一个端口不能既做输入又做输出。

方式1特点:是一种选通输入/输出方式,用以实现CPU与外设之间的中断或查询方式进行数据传送,使用灵活;用作一个或两个选通输入/输出端口;端口A、B均可为方式1,均可作为输入口或者输出口;若有一个端口为方式1,则端口C中有3位被规定为方式1的应答联络信号,此时,端口C中的其他引脚即作输入或输出;若端口A、B都工作在方式1,则端口C中有6位被作为应答联络信号,剩下的2位,仍可作为输入或输出。

方式2特点:外设可在单一的8位总线上,既能发送,也能接收数据即双向总线I/O。

工作时可用于程序查询方式,也可工作于中断方式;方式2只用于端口A,是方式1的输入和输出的组合;一个8位的双向总线端口A和一个5位控制端口C,5位控制端口C是用作端口A的控制和状态信息;输入和输出是锁存的。

9.2 设8255A的端口地址为60H~63H,试按以下不同的要求编写相应的8255A初始化程序。

(1)将A口、C口设为方式0输入口,B口设为方式0输出口。

(2)将A口、B口设为方式1输入口,PC6、PC7作为输出口。

(3)将A口设为方式2,B口设为方式1输入。

参考答案:(1)mov al,10011001BOut 63h,al(2)mov al,10110110BOut 63h,al ;A口、B口设为方式1输入口mov al,00000110BOut 63h,al ;PC6作为输出口mov al,00001110BOut 63h,al ;PC7作为输出口(3)mov al,11000111BOut 63h,al ;A口为方式2,B口为方式1输入9.3 8253有哪几种工作方式?各有什么特点?参考答案:8253有方式0、方式1、方式2、方式3、方式4、方式5共6种工作方式。

微机原理及接口技术试题第九章 习题和答案

微机原理及接口技术试题第九章 习题和答案

第九章习题答案一、简答题1、简述并行接口的重要特点。

答:并行接口的主要特点:数据并行传输,传输速度快但距离觉近。

并行接口的主要功能:并行传输数据,在主机与外设之间起到数据缓冲和匹配的作用。

2、8255A有哪几种工作方式?各有什么特点?答:8255A有方式0(基本输入输出方式)、方式1(单向选通输入输出方式)、方式2(双向选通输入输出方式)等三种工作方式。

三种工作方式的主要特点:方式0:数据单向输出或单向输入。

主机认为外设总是处于准备好状态,没有联络信号。

主机与外设之间传输数据采用无条件传输方式A口、B口C口高4位、C口低4位都可工作在方式0。

方式1:数据单向输出或单向输入。

主机与外设之间传输数据需要一对联络(握手)信号。

主机与外设之间主要采用中断方式传输数据,也可采用查询方式。

A口与C口的高5位组成A组,B口与C口的低3位组成B组。

A口和B口为数据输入输出口,C口为控制口。

方式2:数据可以双向输入输出。

只有A口能工作在方式2A口为数据双向输入输出口,C口高5位为控制线。

主机与外设之间主要采用中断方式传输数据,也用采用查询方式。

3、简述8255A工作在方式1输出时的工作过程答:a:CPU接受中断请求,使用OUT指令向8255A输出数据并发写信号WR,WR信号的上升沿一方面清除INTR中断请求信号,表示已响应中断,另一方面使OBF有效。

b:OBF信号有效表示输出缓冲区已满,通知外设取走数据。

c:外设接收数据,将ACK信号置为"0",即向8255A发回答信号,表示已收到数据。

ACK的下降沿使OBF轩"1",表示数据已取走。

ACK的上升沿使INTR有效。

d: INTR有效,向CPU发中断请求,请求输出下一个数据。

4、定时器和计数器有什么相同和不同?答:定时器和计数器是同一器件--计数器件,其共同的特点是都有一个计数脉冲输入端,每输入一个脉冲,计数器就进行加1或减1计数。

微机原理与接口技术(楼顺天第二版)第九章习题解答

微机原理与接口技术(楼顺天第二版)第九章习题解答

微机原理与接口技术(楼顺天第二版)习题解答第9章定时/计数器8253应用设计9.1答:假定已经约定采用A2,A1作为8253的内部地址线,而且计数器0的地址为00,所以在题中所给的地址中只有51H,59H的A2和A1同时为0,即:A2A1=00。

9.2 答:9.3答:MOV DX,COUNTD ;写入计数器0的方式控制字MOV AL,00111000BOUT DX,ALMOV DX,COUNTA ;设置计数器0的常数MOV AX,10000OUT DX,ALXCHG AL,AHOUT DX,ALL1: MOV DX,COUNTD ;向计数器0发锁存命令MOV AL,0HOUT DX,ALMOV DX,COUNTA ;读入CEIN AL,DXMOV AH,ALIN AL,DXXCHG AL,AHCMP AX,1000 ;判别CE当前大小JA L19.4 答:本题使用计数器0和计数器1级联,并且计数器0的输出OUT0作为计数器1的时钟输入CLK1。

程序如下:MOV DX,COUNTD ;写计数器0方式控制字MOV AL,00110110BOUT DX,ALMOV DX,COUNTAMOV AX,10000 ;写计数器0时常数,分频得到100Hz时钟频率OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,COUNTD ;写计数器1方式控制字MOV AL,01110000BOUT DX,ALMOV DX,COUNTBMOV AX,999 ;分频得到0.1Hz时钟频率。

(在方式0下,时常数为N时,;OUT输出的低电平宽度为N+1).OUT DX,ALXCHG AL,AHOUT DX,ALL1: ;延时MOV DX,COUNTD ; 当前CE的内容锁存到OLMOV AL,01000000BOUT DX,ALMOV DX,COUNTBIN AL,DXMOV AH,ALIN AL,DXXCHG AL,AHCMP AX,999JNA L1 ;延时结束,则继续执行,否则,跳到L1,继续延时….9.5 答:8253的方式2与方式3均为一次计数完成后自动装入计数初值再计数的计数方式。

微型计算机原理及其接口技术第九、十章部分习题答案 林志贵

微型计算机原理及其接口技术第九、十章部分习题答案 林志贵

9-3解:在上图中,8253A的数据线D7~D0与8086CPU的高8位数据线D15~D8相连;8259的数据线D7~D0与8086CPU的低8位数据线D7~D0相连,8253A的端口地址码A1A0与8086CPU的A2A1相连,A0和¯BHE作为译码输入。

根据图示连接可分析8253A的4个端口地址分别为FFF9H、FFFBH、FFFDH、FFFFH;8259A的两个端口地址分别为FFFCH和FFFEH。

根据系统的要求,通道0定义为工作方式2,输出频率为1kHz的方波,周期为1ms。

从CLK0输入5MHz的时钟脉冲,其周期为0.2us,因此,通道1的计数初值应为5000(1ms/0.2us=5000);通道1定义为工作方式4,完成定时功能,每秒钟利用OUT1向CPU 发出一次中断请求,输入时钟频率为1kHz,计数初值为1000H..MODEL SMALL.STACK 100.DA TAAdd8253C0 DB FFF9HAdd8253C1 DB FFFBHAdd8253C2 DB FFFDHAdd8253CR DB FFFFHAdd8253ED DB FFFCHAdd8253OD DB FFFEH.CODECLOCK PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,@DA TAMOV DS,AXMOV DX,Add8253CR ;定义通道0工作在方式3MOV AL,36HOUT DX,ALMOV DX,Add8253C0 ;给通道0送计数初值,先送低8位,后送高8位 MOV AX,5000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,Add8253CR ;定义通道1工作在方式4,二进制计数 MOV AL,78HOUT DX,ALMOV DX,Add8253C1 ;给通道1送计数初值,先送低8位,后送高8位MOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,AL MOV DX,Add8253ED ;对8259A 初始化,ICW1设置MOV AL,13HOUT DX,ALMOV DX,Add8253OD ;对8259A 初始化,ICW2设置MOV AL,50HOUT DX,ALMOV AL,03 ;对8259A 初始化,ICW4设置OUT DX,ALMOV AL,0FAH ;对8259A 初始化,OCW1设置OUT DX,ALSTIWaitInt: HLT ;CPU 等中断JMP WaitInt:........CLOCK ENDPEND9-5解:定时器1定义为工作方式2,完成分频功能(假设是二分频),输出频率为40Hz 的连续脉冲,则输入脉冲应为80Hz ,定时器1 CLK 1的输入脉冲来自于定时器0的OUT0输出,因此定时器0应输出频率为80Hz 的方波,从CLK 0输入4.77MHz 的时钟脉冲,因此,定时器0的计数初值应为600(4.77MHz /80Hz =600);定时器1的计数初值为2(80Hz /40Hz =2).初始化程序为:.MODEL SMALL.STACK 100.DA TAAdd8253C0 DB 200HAdd8253C1 DB 201HAdd8253CR DB 203H.CODECLOCK PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,@DA TAMOV DS,AXMOV DX,Add8253CR ;定义定时器0工作在方式3MOV AL,16H;00010110OUT DX,ALMOV DX,Add8253C0 ;给通道0送计数初值,只送低8位MOV AL,2OUT DX,ALMOV DX,Add8253CR ;定义定时器1工作在方式2MOV AL,74;01110100OUT DX,ALMOV DX,Add8253C1 ;给通道1送计数初值,先送低8位,再送高8位MOV AX,60000OUT DX,ALMOV AL,AHOUT DX,AL9-7解:将8253A通道0设置为方式1,计数初值为3000的初始化程序为:MOV AL,33H; ;设置控制字OUT 43H,AL ;写入控制寄存器MOV AL, 00 ;初值低8位送通道0OUT 40H,ALMOV AL, 30H;初值高8位送通道0OUT 40H,AL将8253A通道1设置为方式2,计数初值为2010H的初始化程序为:MOV AL,74H ;设置控制字OUT 43H,AL ;写入控制寄存器MOV AX,10H ;初值低8位送通道1OUT 41H,ALMOV AL,20H ;初值高8位送通道1OUT 41H,AL将8253A通道2设置为方式4,计数初值为4032H的初始化程序为:MOV AL,B8H ;设置控制字OUT 43H,AL ;写入控制寄存器MOV AL,32H ;初值低8位送通道2OUT 42H,ALMOV AL,40H ;初值高8位送通道2OUT 42H,AL9-8解:通道2定义为工作方式2,计时器周期性地每隔10ms产生一个中断,周期为10ms。

微机原理习题答案9章.docx

微机原理习题答案9章.docx

第9章定时/计数器8253应用设计1. 下列地址哪些能够分配给8253/8254的计数器0?为什么?(23H 、54H 、97H 、51H 、FCH 、 59H )解:因为己经约定釆用A2,A1作为8253的内部地址线,而且计数器0的地址为00,所 以在题中所给的地址中只有51H,59H 的A2和A ]同时为0,即:A2A 1 =00.2. 如果计数器0设定为方式0, GATE0=l, CLK0=lMHz,时常数为N=1000,请画出OUTO 的波形。

如果计数器1设定为方式1,其它参数与计数器0相同,画出OUT1的波形。

WR CI.K0 1 ] 1 1 1Illi(;A1EO 1 1 1 1 1-11 1 1 1 1 ,111 11Illi Illi 1 1 1 1 ()1 TON11003| 999| 998| 997|I 2 I > 1 0iwni FFPfcJJ3. 编程实现:将8253计数器0设置成方式4,并置时常数10000,然后处于等待状态,直到CE 的内容W1000后再向下执行。

解:MOV AL.00111000B OUT DX, AL MOV DX,COUNTA MOV AX, 10000 OUT DX,AL XCHG AL,AH OUT DX, ALWR CLK1 GATE1 0LT1_rmjn^_TVT- --- n ; ; -U~—\ I I 011000 |999MOV DX,COUNTD;写入计数器0的方式控制字;设置计数器0的常数MOV AL,OHOUT DX,ALMOV DX,COUNTA ;读入CEIN AL,DXMOV AH,ALIN AL,DXXCHG AL,AHCMP AX J 000 ;判别CE当前大小JAL14.利用8253 nf以实现确定时间的延迟,编程实现延时10秒的程序段(设可以使用的基准时钟为lMHz)o解:本题使用计数器0和计数器1,并且计数器0的输出OUTO作为计数器1的时钟输入CLK1.程序如下:MOV DX,COUNTD;写计数器0方式控制字MOV AL,00110I00BOUT DX,ALMOV DX,COUNTAMOV AX, 10000;写计数器0时常数,分频得到100Hz时钟频率OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,COUNTD;写计数器1方式控制字MOV AL,01110000BOUT DX,ALMOV DX, COUNTBMOVAX,999;分频得到0.1Hz吋钟频率。

第9章_微机原理与接口技术答案欧青立编

第9章_微机原理与接口技术答案欧青立编

第9章微机中断技术习题9.1 简述一般中断系统的组成和功能。

【参考答案】处理器内部应有中断请求信号的检测电路,输出中断响应信号,保存断点的逻辑,转向中断处理程序的逻辑,中断返回逻辑。

系统中要有一中断控制器,管理多个中断源,提供处理机所需的中断处理信息。

系统中请求中断处理的I/O接口电路要有提供中断请求信号及接收中断响应信号的逻辑。

9.2 什么是中断?简述一个中断的全过程。

【参考答案】中断是指在CPU正常运行程序时,由于内部或外部某个非预期事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后返回被中断了的程序,继续执行被暂停的程序的过程。

当外设准备好向CPU传送数据或已准备就绪接收CPU的数据,或者有某些紧急情况需要CPU处理时,外设向CPU发出中断请求。

CPU接收到中断请求,在一定条件下,暂且停止执行当前的主程序,转到中断服务程序为外设服务;服务结束后返回并继续执行主程序。

微机的中断过程包括中断请求、中断响应、保护断点与现场、中断服务和中断返回等5个环节。

9.3 确定中断的优先级有哪两种方法?各有什么优缺点?IBM PC系列微机中断判优使用的是什么方法?【参考答案】确定中断的优先级有软件查询和硬件排队两种方法。

硬件排队方法中常用的是矢量中断方法。

软件查询方法所需电路比较简单:一是要把外设的中断请求触发器组合成一个端口供CPU查询,二是要将各外设的中断请求信号相或后作为CPU的中断请求信号送INTR引脚。

在外设数量较多时.这位查询转人中断服务所耗费的时间较长。

硬件优先权排队方法电路较复杂,要求外没不仅发出中断请求信号,而且还需提供设备的中断矢量(也称中断类型号),该矢量与中断服务程序地址有关,CPU接收该矢量后可以转入中断服务程序。

这种方法中断响应速度快。

IBM PC系列微机中采用硬件优先权排队电路,具体来说,IBM PC系列微机中断判优采用的矢量中断方法。

IBM PC系列微机中断判优用的是中断控制器8259A,其内部集成了可编程改变的请求优先级电路及编码比较电路,既可以处理中断的优先级、也可以处理中断嵌套的优先级。

单片机原理及接口技术课后习题第9章答案

单片机原理及接口技术课后习题第9章答案

第九章复习思考题1、计算机系统中为什么要设置输入输出接口?输入/输出接口电路就是CPU 与外设进行数据传输得桥梁。

外设输入给CPU 得数据, 首先由外设传递到输入接口电路,再由CPU 从接口获取;而CPU 输出到外设得数据,先由 CPU 输出到接口电路,然后与接口相接得外设获得数据。

CPU 与外设之间得信息交换,实际 上就是打I/O 接口电路之间得信息交换.1/ 0接口电路得作用主要体现在以下几个方而:(1)实现单片机与外设之间得速度匹 配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲:(4 )实现数据格式转换。

3、在计算机系统中,CPU 商输入输出接口之间传输数据得控制方式有哪几种?各有什 么特点?在计算机系统中,CPU 与I/O 接口之间传输数据有3种控制方式:无条件方式,条件 方式,中断方式,直接存储器存取方式。

•在无条件方式下,只要CPU 执行输入/输出指令J /O 接口就已经为数据交换做好了准备,也 就就是在输入数据时,外设传输得数据已经传送至输入接口,数据已经在输入接口端准备好; 输出数据时,外设已经把上一次输出得数据取走,输岀接口已经准备好接收新得数据。

条件控制方式也称为査询方式。

CPU 进行数据传输时,先读接口得状态信息•根据状态信息 判断接口就是否准备好,如果没有准备就绪CPU 将继续查询接口状态,直到其准备好后才进 行数据传输。

,在中断控制方式下,当接口准备好数据传输时向CPU 提出中断请求,如果满足中断响应条 件,CPU 则响应,这时CPU 才暂时停止执行正在执行得程序,转去执行中断处理程序进行数 据传输•传输完数据后,返回原来得程序继续执行。

4直接存储器存取方式即DMA 方式,它由粳件完成数据交换,不需要CPU 得介入,由DM A 控 制器控制,使数据在存储器与外设之间直接传送。

4、采用74LS273与74LS244为805 1单片机扩展8路输入与8路输出接口,设外设 8个按钮开关与8个LED,每个按钮控制1个LED,设讣接口电路并编制检测控制程序。

微机原理第9章习题与答案

微机原理第9章习题与答案

习题一、选择题1.对8255A的C口执行按位置位/复位操作时,写入的端口地址是______。

A.端口AB.端口BC.端口CD.控制口答案:D2.要将8255A的3个8位的I/O端口全部设定为方式0的输入,其设置的方式控制字为____。

A.98HB.9BHC.9AHD.99H答案:D3.当8255A的A口工作在方式1,B口工作在方式1时,C口仍然可按基本的输入输出方式工作的端口线有_________条。

A.0B.2C.3D.5答案:B4.当8255A端口PA、PB分别工作在方式2、方式1时,其PC端口引脚为_______。

A.2位I/OB.2个4位I/OC.全部用作应答联络线D.1个8位I/O答案:C5.如果8255A的端口A工作在双向方式,这时还有_____根I/O线可作其他用。

A.11B.12C.10D.13答案:A6.当8255A的PC4~PC7全部为输出线时,表明8255A的A端口工作方式是______。

A.方式0B.方式1C.方式2D.任何方式答案:A7.8255A中既可以作为数据输入、输出端口,又可以提供控制信息、状态信息的端口是____。

A.端口AB.端口BC.端口CD.控制口答案:C8.8255A的端口A和端口B工作在方式1输出时,与外部设备的联络信号将使用____信号。

A.INTRB.ACKC.INTED.IBF答案:B二、填空题1.当8255A的A口工作于方式1输入,B口工作于方式0时,C口的_____位可以作为输入输出口使用。

答案:5位2.若要求8255A的A、B口工作在方式1,作为输入,C口作为输出,则输入8255A控制口的控制字为______。

答案:B6H3.若8255A的端口B工作在方式1,并为输出口,置位PC2的作用为______。

答案:允许端口B输出中断4.当数据从8255A的端口C往数据总线上读出时,8255的几个控制信号CS、A1、A0、RD、WR分别是__________________。

微机原理第九章参考答案

微机原理第九章参考答案

一、什么是并行接口和串行接口?他们各有什么作用?并行接口是指接口电路和外设之间通过多根数据线同时传送多位数据的接口形式;串行接口是指接口电路和外设之间通过一根数据线分时传送多位数据的接口形式。

并行接口适用于近距离高速高效的传输场合。

串行接口适用于远距离的传送场合。

三、8255的工作方式有三种。

方式0特点:不需要联络信号,不使用中断;各个端口输出有锁存,输入有三态缓冲能力而无锁存功能。

ABC口都可以工作在这种方式下。

方式1特点:需要设置专用的联络信号线,通常用于条件传送方式或中断方式;数据的输入输出都有锁存功能。

AB口可以工作在这种方式下。

方式2特点:双向传输,可以实现程序查询方式和中断方式的I/O同步控制。

只有C口可以工作在这种方式下。

六、用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。

8255A与打印机及CPU的连线如下图所示。

试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。

题9-6图答:设8255的A、B、C及控制端口的地址分别为PORT0、POA T1、PORT2和PORT3,而需打印的数据放在数据段中以BUF开头的区域,则一种程序段实现如下:MOV DX,PORT3;8255控制命令字端口地址MOV AL,10000xx1B;A组方式0输出,C口上半(4-7)部分输出,下半(0-3)部分输入OUT DX,ALLEA SI, BUF;数据缓冲区首址MOV CX,100;待打印的字符个数AG: MOV DX,PORT2;8255的C口地址IN AL,DXTEST AL,00000001B;检测PC0是否为高JNZ AG;PC0为高则等待MOV DX,PORT0;8255的A口地址MOV AL,[SI];内存取数OUT DX,AL;数据送A口MOV DX,PORT3;8255的命令字端口地址MOV AL,00001100B;置/STB为低电平OUT DX,ALNOP;等待延时,产生负脉冲NOPMOV AL,00001101B; 置/STB为高电平OUT DX,ALINC SI;内存地址加1LOOPAG;未完继续P416八、什么是同步通信和异步通信?各有什么特点? 同步通信是指在通信过程中信号之间的时间关系都以同一个同步时钟来作为参考,通信中的所有信息的传送和相应控制信号有效均以同步时钟为基准。

微型计算机接口技术及应用1-9章部分习题答案

微型计算机接口技术及应用1-9章部分习题答案

习题一1.什么是接口?接口就是微处理器CPU与外部世界的连接部件,是CPU与外界进行信息交换的中转站。

2.为什么要在CPU与外设之间设置接口?在CPU与外设之间设置接口主要有4个原因:(1)CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系(2)CPU与外设的速度不匹配,CPU的速度快,外设的速度慢(3)若不通过接口,而由CPU直接对外设的操作实施控制,会使CPU 处于穷于应付与外设打交道之中,大大降低CPU的效率(4)若外设直接由CPU控制,会使外设的硬件结构依赖于CPU,对外设本身的发展不利。

3.微型计算机的接口一般应具备那些功能?微机的接口一般有如下的几个功能:(1)执行CPU命令的功能:CPU将对外设的控制命令发到接口电路中的命令寄存器(命令口)中,在经分析去控制外设(2)返回外设状态的功能:通过状态寄存器(状态口)完成,包括正常工作状态和故障状态(3)数据缓冲的功能:接口电路中的数据寄存器(数据口)对CPU于外设间传送的数据进行中转(4)设备寻址的功能:CPU某个时刻只能和一台外设交换数据,CPU发出的地址信号经过接口电路中的地址译码电路来选中I/O设备(5)信号转换的功能:当CPU与外设的信号功能定义、逻辑关系、电平高低及工作时序不兼容时接口电路要完成信号的转换功能(6)数据宽度与数据格式转换的功能:由于CPU处理的数据都是并行的,当外设采用串行传送方式时,接口电路就要完成串、并之间的转换,并进行数据格式的转换。

4.接口技术在微机应用中起的作用?随着计算机技术的高速发展,计算机的应用越来越广泛。

然而,在微机系统中,微处理器的强大功能必须通过外部设备才能实现,而外设与微处理器之间的信息交换和通信又是靠接口来实现的,所以,接口技术成为了一门关键技术,它直接影响微机系统的功能和微机的推广应用。

5.接口电路的硬件一般由哪几部分组成?接口电路的硬件一般由以下几部分组成:(1)基本逻辑电路:包括命令寄存器、状态寄存器和数据缓冲寄存器,是接口电路中的核心(2)端口地址译码电路:实现设备的选择功能(3)供选电路:根据不同任务和功能要求而添加的功能模块电路。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“微机系统原理与接口技术”第九章习题解答(部分)1. 什么是并行接口和串行接口?它们各有什么作用?答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。

并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。

2. 试画出8255A与8086CPU连接图,并说明8255A的A0、A1地址线与8086CPU的A1、A2地址线连接的原因。

答:8255A与8086CPU的连线图如下图所示:题9-2图8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将8255的8条数据线与8086的低8位数据线相连。

8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255的4个端口地址必须为偶地址,即8086在寻址8255时A0脚必须为低。

实际使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。

4. 简述8255A工作在方式1时,A组端口和B组端口工作在不同状态(输入或输出)时,C端口各位的作用。

答:8255A 的A、B口工作在方式1时,C端口各位的使用情况如下表所示:注:带*的各中断允许信号由C口内部置位/复位操作设置,非引脚电平。

5. 用8255A控制12位A/D转换器,电路连接如下图所示。

设B口工作于方式1输入,C 口上半部输入,A口工作于方式0输入。

试编写8255A的初始化程序段和中断服务程序(注:CPU采用中断方式从8255A中读取转换后的数据)。

题9-5图答:设8255的A、B、C及控制端口的地址分别为PORTA、POA TB、PORTC和PCON,则一种可能的程序段实现如下:主程序:; 初始化8255A……MOV AL, 10011110B ; 设置8255A的工作方式控制字OUT PCON, ALMOV AL, 00000101B ; 设置C口置位/复位控制字,使INTEA(PC2)为OUT PCON, AL ; 高电平,允许B口中断MOV AL, 00000010B ; 设置C口置位/复位控制字,使PC1(IBF B)输出OUT PCON, AL ; 低电平,启动第一次A/D转换……中断服务程序:; 取数,并自动启动下一次A/D转换……MOV AL, 00000011B ; PC1(IBF B)输出高电平,停止A/D转换OUT PCON, ALIN AL, PORTC ; 先取高4位转换值MOV AH, ALMOV CL, 4SHR AH, CL ; 将高4位转换值放到AH的低端IN AL, PORTB ; 取低8位转换值放到AL中MOV AL, 00000010B ; PC1(IBF B)输出低电平,再次启动A/D转换OUT PCON, AL……IRET6. 用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。

8255A与打印机及CPU的连线如下图所示。

试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。

题9-6图答:设8255的A、B、C及控制端口的地址分别为PORTA、POA TB、PORTC和PCON,而需打印的数据放在数据段中以DATA1开头的区域,则一种可能的程序段实现如下:……MOV AL, 10000001B ; 设置8255A的工作方式控制字OUT PCON, ALMOV CX, 100 ; 设置需打印数据的总个数以控制循环次数LEA SI, DATA1NEXT: MOV AL, [SI] ; 从数据段取数据并通过A口发到打印机OUT PORTA, ALMOV AL, 00001100B ; 设置C口置位/复位控制字,使PC6为低电平,OUT PCON, AL ; 通知打印机锁存数据并打印INC SI ; 为取下个数据作准备DEC CXJZ ERROR ; 判断是否传完100个数据,如是,转后续处理AGAIN: IN AL, PORTC ; 如未传完100个数据,读状态端口TEST AL, 01H ; 查询PC0(BUSY)是否为高电平JNZ AGAIN ; 如是,继续查询,直到BUSY变低JMP NEXT ; BUSY为低电平,则转NEXT发送下一个数据ERROR: ……10.已知8250的主参考时钟频率为1.8432MHz,其RCLK与BAUDOUT相连,端口地址为0330H起,要求其工作在半双工通信,每帧7位数据、偶校验、1位停止位,波特率为9600波特,编写初始化程序。

答:由一种可能的程序段实现如下:……MOV DX, 333H ; 令传输线控制器寄存器Bit7=1以设置波特率MOV AL, 80HOUT DX, ALMOV DX, 330H ; 波特率=9600,设置除数寄存器=000CHMOV AL, 0CHOUT DX, ALMOV DX, 331HMOV AL, 0HOUT DX, ALMOV DX, 333H ; 设置工作方式:偶校验,7位数据位,一位停止位MOV AL, 00011010BOUT DX, ALDTR RTS MOV DX, 334H ; 设置Modem控制器:允许中断,发和MOV AL, 0BHOUT DX, ALMOV DX, 331H ; 开放接收数据就绪、接收字符错和发送缓冲器空中断MOV AL, 07HOUT DX, ALSTI……12. 试编写两台IBM PC机之间的通信程序。

条件同6题,连接如下图。

题9-12图答:从连接图中可以看出,两台PC机之间没有任何联络信号的连接,题目又只给出数据传送的格式,为了使两台PC机能正确通信,应事先约定其他一些通信规则(注意,这里的规则不一定遵循标准协议,只是具体应用时根据通信双方的特殊情况定义的简单规则,通信双方都遵守就行了)。

假设系统不停地发送已准备好的一批数据,并要求发送的每一个数据都必须被正确接收,即:发送方必须在得知上一个数据已正确达到后,才发送下一个数据;若接收出错,接收方将通知发送方重发;发送方在发完所有数据后通知接收方结束这次通信。

因为没有现成的硬件挂钩信号,故采用软件挂钩:首先找到或构造两个不会被解释为数据的特殊字符做为挂钩用的联络字符,如‘,’表示已准备好接收下一个字符,‘;’表示接收出错,而‘。

’表示发送结束。

发送方在发出一个数据后根据接收方返回的信息确定下一步处理,接收方在接到数据后先判断是否结束此次通信。

程序中采用BIOS中断调用对串口进行操作,需发送的数据事先准备好存放在数据段的以S_DATA为起始地址的N个单元中,接收到的数据则存放在附加段的以R_DATA为起始地址的N个单元中。

一种可能的程序实现如下:发送机程序:……MOV AL, 8AH ; 初始化串行通信的数据格式MOV AH, 0INT 14HLEA SI, S_DA TA ; 使DX:SI指向待传送的第一个数据MOV CX, N+1 ; N为一共要传送的数据个数(设小于65535个)CLD ; 按地址增量方向取数据TRANS: DEC CXCMP CX, 0 ; 检查数据是否发完?JZ EXT ; 已发完,退出LODSB ; 取准备发送的数据到AL中,同时SI加1MOV AH, 1 ; 将AL中数据送出INT 14HTEST: MOV AH, 3 ; 读串口状态到AL中INT 14HTEST AL, 01H ; 检查是否收到接收方回送的信号?JZ TESTMOV AH, 2 ; 取回送的信号到AL中INT 14HCMP AL, ',' ; 判断回送信号的含义JZ TRANS ; 收到‘,’表示接收方已收到正确数据,发下一个CMP AL, ';'JNZ ERR ; 发送方收到回送的不明信号,转出错处理DEC SI ; 收到‘;’表示接收方出错,发送方重发刚才的数据INC CXJMP TRANSERR: ……; 出错处理略EXT: MOV AL, '.' ; 通知接收方数据已发送完毕MOV AH, 1INT 14H……接收机程序:……MOV AL, 8AH ; 初始化串行通信的数据格式MOV AH, 0INT 14HLEA DI, R_DA TA ; ES:DI指向数据存放区首址CLD ; 按地址增量方向取数据TEST: MOV AH, 3 ; 读串口状态INT 14HTEST AL, 01H ; 检查是否收到数据?JZ TESTAND AL, 0EH ; 检查是否正确接收?JNZ ERR ; 接收出错,回送‘;’MOV AH, 2 ; 将接收到的数据取到AL中INT 14HCMP AL, '.' ; 检查是否结束通信?JZ EXTSTOSB ; 将接收到的数据存到指定区域,同时DI加1MOV AL, ',' ; 通知发送方接收正确MOV AH, 1INT 14HJMP TEST ; 准备接收下一个数据ERR: MOV AL, ';' ; 通知发送方出错,等待重发MOV AH, 1INT 14HJMP TESTEXT: ……; 结束此次通信14. 比较软件、硬件和可编程定时/计数器用于定时的特点。

答:软件定时一般是根据要求设计一个时延子程序,其优点是节省硬件,成本低;缺点是CPU 利用率低,且定时间隔不准确; 硬件定时会增加相应的硬件设备(如定时/计数器等),使硬件成本增加,但可以不占用CPU ,并且定时准确,不过一旦硬件设计制作好后,不能更改定时间隔; 用可编程定时/计数器实现定时可以兼顾前面两者的优点,即定时信号的产生由专门的硬件电路产生,定时准确且CPU 利用率高,另外在需要的时候,可以由CPU 程控改变定时间隔而不需要改动硬件电路。

17. 8253每个通道的最大定时值是多少?如果欲使8253用于定时值超过其最大值时,应该如何应用? 答:8253每个通道的最大定时值=最大计数值×计数脉冲周期T =216*T 。

若需要的定时值超过一个通道的最大定时值,有两种方法可以使用: ① 可将多个通道(或多片8253的通道)串接(级联)起来使用,即将上一级计数通道的输出端OUT 接至下一级计数通道时钟输入端CLK ,以此扩展计数器的位数。

如按右图所示接法,计数最长位数为三个计数器长度的和,则最大定时值=248*T 。

相关文档
最新文档