微机原理与接口技术思考与练习题(第三版)附答案 联系客服

发布时间 : 星期四 文章微机原理与接口技术思考与练习题(第三版)附答案更新完毕开始阅读baa6e41fa300a6c30c229fd7

输入引起中断;若-OBF=1(输出缓冲器空),输出引起中断。 四、设计题

1.某8255A端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其他端口未用:试画出该8255A与系统的连接图,并编写初始化程序。

解1:8255A与系统的连接图如下。

PC3~0 PC7~4

解2:初始化程序如下。

MOV AL, 10000001B ; A和B组方式0,A口输出和C口低4位输入口。 MOV DX, 03FBH OUT DX, AL

2.用8255A作为接口芯片,编写满足如下要求的3段初始化程序:

(1)将A组和B组置成方式0,A口和C口作为输入口,B口作为输出口。 (2)将A组置成方式2,B组置成方式1,B口作为输出口

(3)将A组置成方式1且A口作为输入,PC6和PC7,作为输出,B组置成方式1且作为输入口。

假设控制端口的符号地址为PORTK。解答如下:

(1)MOV AL, 10011001B ; A和B组方式0,A和C口输入口,B口作为输出口 MOV DX, PORTK OUT DX, AL

(2)MOV AL, 11000100B ; A组置成方式2,B组置成方式1,B口作为输出口 MOV DX, PORTK OUT DX, AL

(3)MOV AL, 10110110B ; A口方式1输入,PC6和PC7输出,B口方式1输入 MOV DX, PORTK OUT DX, AL

11 思考与练习题

一、选择题

1.串行接口芯片825lA可实现( )。 D A.同步传送 B.异步传送 C.并行传送 D.A和B均可

2.825lA工作于串行异步接收时.当检测到( )引脚为低电平时,可能是起始位。 A A.RxD B.TxD C.-WE D.-RTS

3.输入控制发送器数据速率的时钟TxC频率可以是数据传送波特率的( )倍。 C A.1、16或64 B.1、32或64 C.16、32或64 D.16、64或128

4.如8251A设为异步通信方式,发送器时钟输入端和接收时钟输入端连接到频率19.2kHz

输入信号上,波特率因子为16,则波特率为( )波特? A A.1200 B.2400 C.9600 D.19200 二、填空题

1.串行通信是指_______,其特点是_______,通常用于_______场合。 2.波特率是指_______,该指标用于衡量_______。

3.串行通信按通信约定的格式可分为_______和_______两种;前者的特点是_______;后者的特点是_______。

4.8251A是一种_______芯片,使用前必须对其进行_______设置,主要内容包括_______。 5.RS-232是应用于_______之间的_______接口。

6.在串行异步数据传送时,如果格式规定8位数据位。1位奇偶校验位,1位停止位,则一组异步数据总共有_______位? 三、简答题

1.串行通信中有哪几种数据传送模式,各有什么特点? 答案在P241~P243(11.1.1)。

2.说明8251A的工作方式控制字、操作命令控制字和状态控制字各位含义及它们之间的关系。对8251A进行初始化编程时应按什么顺序向它的控制口写入控制字? 答案在P248~P250(11.2.3 11.2.4)。

3.若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟-TxC频率为多少? 答: TxC=9600*16=153600Hz

4.8251A的SYNDET/BD引脚有哪些功能? 答案在P247~P247。

5.简述异步串行的概念,说明RS-232C的工作原理和应用。 答案在P254~P255(11.3.1)。

6.BIOS串行异步通信接口的功能调用主要有哪些? 答案在P255~P256(11.3.2)。 四、设计题

1.某系统中使可编程串行接口芯片8251A工作在异步方式,7位数据位,偶校验,2位停止位,分频系数为96,允许发送也允许接收,若已知其控制口地址为03FBH,试编写初始化程序。

解:初始化程序如下: MOV DX, 03FBH ;

MOV AL, 11111010B ;方式字:异步方式,7位数据位,偶校验,2位停止位,分频系数为n=16 OUT DX, AL

MOV AL, 00010101B ;命令字:允许发送也允许接收,错误复位 OUT DX, AL

2.设8251A的控制口和状态口地址为03FBH,数据输入/输出口地址为03F8H,输入100个字符,并将字符放在BUFFER所指的内存缓冲区中:请写出实现该功能的程序。 解:

MOV DX,SEG BUFFER MOV DS,DX

LES SI,BUFFER MOV CX,100 LO:

MOV DX,03F9H

IN AL,DX

TEST AL,02H ;检查是否接收到字符 JZ SAVAD ;未收到,转L0 MOV AH,AL ;保存接收状态 MOV DX,03F8H

IN AL,Dx ;读入接收到的数据 AND AL,7FH

TEST AH,38H ;检查有无错误产生 JZ SAVAD ;无错,转SAVAD

MOV AL,‘?’ ;出错的数据用’?’代替 SAVAD:

MOV [SI],AL ;存储数据 INC SI LOOP L0

12 思考与练习题

一、选择题

1.启动8253的计数器开始或计数的方式有( )。 C A.软件方式 B.硬件方式 C.软件和硬件方式 D.门控信号

2.对8253进行操作前都必须先向8253写入一个( ),以确定8253的工作方式。 A A.控制字 B.计数初值 C.状态字 D.指令

3.8253定时器/数器中,在门控制信号上升沿到来后的( )时刻,输出信号OUT变成低电平。 D A.CLK上升沿 B.CLK下降沿

C.下一个CLK上升沿 D.下一个CLK下降沿

4.8253工作在( )方式时,OUT引脚能输出一个CLK周期宽度的负脉冲。 D A.方式0 B. 方式1 C.方式3 D.方式4或方式5 二、填空题

1.8253称为_______;它具有3个独立的_______;每个计数器有_______种工作方式;可按_______编程?

2.8253的初始化程序包括_______两部分。完成初始化后,8253即开始自动按_______进行工作。

3.8253定时器/计数器工作在某种方式时,需要在GATE端外加触发信号才能启动计数,这种方式称为_______。

4.8253内部有_______个对外输入/输出端口,有_______种工作方式,方式0称为_______,方式1称为_______,方式2称为_______。 5.设8253的工作频率为2.5MHz,若要使计数器0产生频率为1kHz的方波。则送入计数器0的计数初始值为_______,方波的电平为_______ms。 三、简答题

1.试说明8253的6种工作方式各自的功能和特点,其时钟信号CLK和门控信号GATE分别起什么作用?

答案在P265~P272(12.1.5)。

2.8253的最高工作频率是多少(2.6MHz)? 8254与8253的主要区别是什么(工作频率)? 3.对8253进行初始化编程要完成哪些工作?

答:初始化程序包括两部分:一是写各计数器的控制字,二是设置计数初始值。 四、设计题

1.设8253芯片的计数器O、计数器1和控制口地址分别为04B0H、0482H和0486H、定义计数器0工作在方式2,CLK0为5MHz,要求输出OUT0为1kHz方波;定义计数器1用OUT0作为计数脉冲,计数值为1000,计数器减到O时向CPU发出中断请求,CPU响应这一中断请求后继续写入计数值1000,开始重新计数,保持每一秒向CPU发出一次中断请求。试编写对8253的初始化程序,并画出系统的硬件连接图。

解:(1) 8253定时器0计数初值:5MHz/1KHz=5000 8253定时器1计数初值:1000

(2)8253的初始化程序如下:

MOV DX,04B6H ; 设置控制口

MOV AL,00110100B ; 计数器0工作在方式2、二进制计数、读写低高字节 OUT DX,AL

MOV AL,01110000B ; 计数器1工作在方式0、二进制计数、读写低高字节 OUT DX,AL

; 计数器0计数初值设置 MOV DX,04B0H ; 设置计数器0端口

MOV AX,5000 ; 设置计数器0的计数初值 OUT DX,AL ; 写低字节计数初值 MOV AL,AH

OUT DX,AL ; 写高字节计数初值 ; 计数器1计数初值设置 MOV DX,04B2H ; 设置计数器1端口

MOV AX,1000 ; 设置计数器1的计数初值 OUT DX,AL ; 写低字节计数初值 MOV AL,AH

OUT DX,AL ; 写高字节计数初值

(3)连接示意图 5MHz时钟 CLK0 OUT0 (计数器0) CLK1 OUT1 (计数器1) 连中断源

2.将8253定时器0设为方式3(方波发生器),定时器1设为方式2(分频器)。要求定时器0的输出脉冲作为定时器1的时钟输入,CLK0连接总线时钟2MHz,定时器1输出OUT1约为40Hz,试编写实现上述功能的程序。

解:设控制口:PORTK;计数器0端口:PORT0;计数器1端口:PORT1 (1)计算8253定时器0、1分频系数K0、K1 由40Hz=2MHz/K (K:总分频系数) 求K=2MHz/40Hz=50000=500*100 分别求得K0=500、K1=100

(2)初始化程序如下:

MOV DX, PORTK ;设置控制口

MOV AL, 00110110B ; 设置8253定时器0,方式3,先低后高读写字节计数值,二进制计数 OUT DX, AL