第4次练习题解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/ D=A1=1
输出第一个同步字符 输出模式字 Y N 两个同步 字符? Y C/ D=A1=1 输出第二个同步字符
8 2 5 1 初 始 化 步 骤
C/ D=A1=0
同步方式 N
输出控制字 Y 复位 N 传送数据 完否
Y
C/ D=A1=1
N
信号地
二、软件编制
1)分析端口地址和写入的内容
设采用的是8088系统,8251A的端口地址分别为C0 和C1; 对发送方: 模式寄存器的内容为 11111110 控制寄存器的内容为 00110011 对接收方: 模式寄存器的内容为 11111110 控制寄存器的内容为 00010111 FEH 17H FEH 33H
第4次练习题解
一、串口通信常见的几种硬件的接法:
1)
8251A TxD RxD 8251A TxD RxD
信号地
2)
8251A TxD RxD RTS CTS DTR DSR 8251A TxD RxD RTS CTS DTR DSR
信号地
3)
8251A TxD RxD RTS CTS DTR DSR 8251A TxD RxD RTS CTS DTR DSR
0 1 0 1
5 6 7 8
0 0 1 1
0 1 0 1
同步方式 1x 16x 64x 波特率因子
6
数据位数
第六章 串并行接口2
8251 控制字
EH IR RTS ER SBRK RxE DTR TxEN 1 允许发送 0 禁止发送
1 使DTR引脚为低电平
1 允许接收 0 禁止接收 1 使TxD线变低,发送空白字符 0 正常工作 1 使错误标志PE,OE,FE复位 1 使RTS引脚输出低电平 1 内部复位,使8251回到方式选择格式 1 内同步时,启动搜索同步字符
8251 状态字
DSR
1 数 据 装 置 准 备 好
SYNDET
同 引 脚 含 义
FE OE PE TxE RxRDY TxRDY
同 引 脚 含 义 同 引 脚 含 义
1 帧 错 误 ( 异 步 )
1 溢 出 错 误
1 奇 偶 错 误
1 发 送 器 准 备 好
第六章 串并行接口2
9
复位操作
C/ D=A1=1
接收方: 设接收的内容要存放到BUFFER为首址的区域: MOV AL,FEH ;初始化 OUT C1H,AL MOV AL,17H OUT C1,AL; MOV DI,0; 设置接收的偏移量 MOV CX,30; 接收字符的个数 MOV DX,OFFSET BUFFER;设置接收区域的首址
BEGIN: IN AL,C0H; 检查状态位 TEST AL,02H JZ BEGIN IN C0H,AL MOV [DX+DI],AL; 将字符送预定的存储区 INC DI IN ,AL,C1H TEST AL,38H;检查是否有错 JNZ ERROR LOOP BEGIN ERROR: CALL ERR_OUT
8251 模式字 异步传送模式指令字模式
D7 S2 S2 仃止位数目 无 效 1 位 0 0 D6 S1 S1 0 1 D5 D4 D3 D2 L1 D1 B2 D0 B1 EP PEN EP PEN L2
1 1/2 位 2 位
1 1
0 1
奇校验 0 偶校验 1
允 许 1 校 禁 止 0 校
0 0 1 1
PORT B = INPUT
0 PORT B = OUTPUT PORT A=INPUT PORT A=OUTPUT
MODE 0 MODE 1
PORT C (UPPER) = INPUT PORT C (UPPER) = OUTPUT
GROUP B MODE SELECT
GROUP A MODE SELECT源自文库
8255控制字
MODE CONTROL WORD D7 D6 D5 D4 D3 D2 D1 D0
D7=1: MODE SET MODE 0 MODE 1 MODE 2 0 0 1 0 1 X 1 PORT C (Lower) = INPUT
0 PORT C (Lower) = OUTPUT
1 1
0 1 0 0 1
2)程序
发送方:
设发送的内容存放在BUFFER为首址的区域: MOV AL,FEH ;初始化 OUT C1H,AL MOV AL,33H OUT C1,AL; MOV SI,0; 设置发送的偏移量 MOV CX,30; 发送字符的个数 MOV DX,OFFSET BUFFER;设置发送区域的首址
BEGIN: IN AL,C0H; 检查状态位 TEST AL,01H JZ BEGIN MOV AL,[DX+SI];取待发送的字符 OUT C0H,AL INC SI IN ,AL,C1H TEST AL,38H;检查是否有错 JNZ ERROR LOOP BEGIN ERROR: CALL ERR_OUT