TEST JNZ
AL,04H PULL
AL,DATA ;将DATA送PA口 80H,AL AL,0CH 83H,AL AL,0DH 83H,AL
;置STB为“H” ;产生负脉冲选通信号 ;置STB为“L”
MOV OUT
MOV OUT
MOV OUT RET
6.12. 键盘输入信息的过程有哪些? 解
[教材P.206]
6.13. 若用共阴极LED数码管作显示器,它的接口连接图如图习8-3所示。写出显示‘7’的段选码。 解:
共阴极接法,阴极接地,阳极连数据线接”1”,LED显示,”7”的段选码为CBA=111,即 07H。
6.14. 若输入设备输入的ASCII码通过8255A端口B,采用中断方式,将数据送入INBUF为首址的输入缓冲区中,连接输入直到遇到$就结束输入。假设此中断类型码为52H,中断服务程序的入口地址为INTRP。8255A的端口地址为80H~83H。
(1) 写出8255A初始化程序(包括把入口地址写入中断向量表);
(2) 写出完成输入一个数据,并存入输入缓冲区BUF1的中断服务程序。 解:
MOV AL , 84H OUT 83H, AL MOV AL, 04H OUT 83H, AL
MOV [ 4×52H ] , OFFSET INBUF
11
MOV [4×52H +2 ] , SEG INBUF STI
…….
INBUF PROC FAR
MOV BX , OFFSET BUF
LOP : IN AL , 81H
CMP AL , ‘ $ ‘ JZ DONE MOV [ BX ] , AL INC BX JMP LOP
DONE :IRET
6.15. 设异步传输时,每个字符对应1个起始位、7个信息位、1个奇/偶校验位和一个停止位,如果波特率为9600b/s,则每秒钟能传输的最大字符数是什么? 解:
9600 /( 1+7+1+1)=960
6.16. 设8251A为异步方式,1个停止位,偶校验,7个数据位,波特率因子为16。请写出其方式字。若发送使能,接收使能,DTR端输出低电平,TXD端发送空白字符,-RTS端输出低电平,内部不复位,出错标志复位。请给出控制字。 解:
方式字为 01111010 控制字为 00101111
6.17. 对8251A进行初始化,要求:工作于异步方式、采用奇校验、指定二个停止位、7位ASCII字符、波特率因子为16;出错指示处于复位状态、允许发送、允许接收、数据终端就绪,不送出空白字符、内部不复位。 解:
设8251A的端口地址为80H和81H 则初始化程序为 MOV AL ,0DAH
12
OUT 81H , AL MOV AL , 17H OUT 81H , AL
6.18. 设计一个采用异步通信方式输出字符的程序段。规定波特率因子为64,7个数据位,1个停止位,用偶校验,端口地址为40H,42H,缓冲区为2000H~3000H。 解:
ADDR8251A EQU 40H BUF EQU 3000H ……
CLI
XOR AX , AX MOV DX , ADDR8251A ADD DX , 2 OUT DX ,AL OUT DX ,AL OUT DX ,AL MOV AL ,40H OUT DX , AL MOV AL ,01111011B OUT DX , AL MOV AL ,00110001B OUT DX , AL MOV AX ,2000H MOV ES ,AX MOV SI , BUF
AGAIN : IN ,AL , DX
TEST AL ,01H JZ AGAIN
13
MOV AL ,ES:[ SI ] SUB DX ,2 OUT DX ,AL
6.19. 如果8251A的工作方式寄存器内容为01111011,那么发送的字符格式如何?为了使接收的波特率和发送的波特率分别为300b/s和1200b/s,试问加到-RXC和-TXC上时钟信号的频率应为多少? 解:
方式字为 01111011B,表示8251A设定为异步方式,1位起始位,7位数据位,1位结束位,1位偶校验位,波特率因子为64,若接收和发送的波特率分别为300 b /s 和1200 b / s,则加到RXC和TXC上的时钟频率为300×64和1200×64。
6.20. 一个采用查询传送的输入接口由两个端口组成,一个是数据端口,地址为120H,一个是状态端口,地址为121H,用D7位表示就绪位,外设工作时,已启动外设。 利用上述接口电路从输入设备上输入1000个字节的数据送存储器中BUFFER缓冲区,画出流程图,编写控制程序段。 解:
该控制程序的流程图如图2.34所示。 程序段为:
LEA
SI,BUFFER CX,1000 DX,121H AL,DX AL,1 LOP1 DX AL,DX [SI],AL SI LOP
MOV MOV IN SHL
LOP: LOP1:
JNC DEC IN
MOV INC
LOOP HLT
14
图2.34 控制程序流程图
6.21. 一个采用查询传送的输出接口,其数据端口地址为205H,状态端口地址为206H,外设状态位用D0传送,输出数据时可启动外设,将存储器缓冲区BUFFER中的5000个字节数据输出,画出流程图,编写控制程序段。 解:
该控制程序的流程图如图2.35所示。
程序段为:
BUFFER
MOV
CX,5000 AL,[SI] DX,205H DX,AL DX AL,DX AL,1 LOP2 SI
15
MOV SI,OFFSET
LOP1:MOV
MOV OUT INC
LOP2:IN
SHR JC INC