您的当前位置:首页正文

【微机原理】8251习题

来源:个人技术集锦
旗开得胜 串行接口 8251A习题

8.2 设8251A的控制和状态端口地址为52H,数据输入/输出口地址为50H(输出端口未用),输入50个字符,将字符放在BUFFER所指的内存缓冲区中。请写出这段的程序

1 8086系统中,8251A的C/D端应当和哪个信号相连,以便实现对状态端口、数据端口、控制端口的读/写?

与地址线的低位相连。

2 什么是波特率?若要产生一个波特率为2400的串行信号,且波特率因子编程为16,那么串口发送/接收时钟的频率是多少?P221

波特率是指单位时间内传送二进制数据的位数,以位/秒为单位。38400Hz

3 设计一个采用异步通信方式输入字符的程序段,规定波特率因子为64,7个数据位,1个停止位,偶校验,端口地址为40H、42H,待输入字符存放在2000H:4000H单元。

MOV AL, 01111011B OUT 42H, AL MOV AL, 04H OUT 42H, AL MOV DI, 0 MOV CX, 2000 MOV BX, 4000H L0: IN AL, 42H

TEST AL, 02H JZ L0 IN AL, 40H

1

;发送2000个字符

;读取状态字

读万卷书 行万里路

旗开得胜 MOV [BX+DI], AL INC DI IN AL, 42H TEST AL, 38H JZ ERR LOOP L0 JMP EXIT ERR: CALL ERR-OUT EXIT:

4 设8251A为异步工作方式,波特率因子为16,7位数据位,奇校验,2位停止位。8251A端口地址为2A1H、2A2H。编写程序从串口输出100个字符,设字符存放在BUF开始的缓冲区中。

MOV AL, 0EAH MOV DX, 2A2H OUT DX, AL MOV AL, 11H OUT DX, AL MOV DI ,0 MOV CX, 100

MOV BX, OFFSET BUF BEG: IN AL, DX TEST AL, 01H JZ BEG

MOV AL,[BX+DI]

2

;测试有无帧校验错

;调出错处理

...

读万卷书 行万里路

旗开得胜 MOV DX,2A1H OUT DX,AL INC DI

MOV DX ,2A2H IN AL,DX TEST AL,38H JZ ERROR LOOP BEG JMP EXIT

ERROR:CALL ERR_OUT EXIT: ....

读万卷书 行万里路3

因篇幅问题不能全部显示,请点此查看更多更全内容