串并行通信和接口技术.pptVIP

  • 1
  • 0
  • 约7.81千字
  • 约 73页
  • 2021-10-25 发布于广东
  • 举报
例3:若要查询8251A接收器是否准备好,可用下列程序实现:    MOV  DX,3FAH  ;状态口 NEXT:IN  AL,DX   ;读状态口 AND  AL,02H ;查询D1=1?     JZ  NEXT ;未准备好,转NEXT等 MOV DX,3F8H ;数据口地址送DX IN  AL,DX      6.2.4 8251A的编程 例4:接收时检查出错信息:    MOV  DX,3FAH  ;状态口 NEXT:IN  AL,DX   ;读状态口 TEST  AL,38H ;查询是否有三类错误    JNZ ERROR ;有,跳转 第三十页,共73页 6.2.5 8251A编程举例 MOV DX,3FAH MOV AL,7AH   ;送模式字 OUT DX,AL MOV AL,15H   ;设控制字 OUT DX,AL 1. 异步模式下的初始化程序举例 例5:设8251A工作于异步方式,波特率系数为16,具有7位数据位,1 位停止位,偶校验,发送、接收允许,设端口地址为3F8H和3FAH,试编程初始化。 第三十一页,共73页 6.2.5 8251A编程举例 2. 同步模式下的初始化程序举例 例6:设8251A工作于同步方式,控制口的端口地址为3FAH,采用双同步字符,同步字符为16H,奇校验,7 位数据位,试编程初始化。 MOV  DX,3FAH   MOV  AL  ;模式字 OUT  DX,AL MOV  AL,16H OUT  DX,AL   ;送第一个同步字符16H OUT  DX,AL   ;送第二个同步字符16H MOV  AL,97H ;设置操作命令字 OUT  DX,AL 第三十二页,共73页 6.2.5 8251A编程举例 MOV DX,209H MOV AL,7BH OUT DX,AL MOV AL,14H OUT DX,AL 3. 使用查询式接收数据,要求: 异步方式,波特率因子是64,7个数据位,偶校验,1个停止位,地址是208H,209H。 LOP: IN AL,DX TEST AL,02H JZ LOP MOV DX,208H IN AL,DX 第三十三页,共73页 6.2.6 8251A的使用实例 图6.12 用8251A作为CRT接口的实际例子 第三十四页,共73页 6.2.6 8251A的使用实例 INIT: XOR AX,AX MOV CX,0003 MOV DX,00DAH OUT1:CALL KKK LOOP OUT1 MOV AL,40H CALL KKK MOV AL,4EH CALL KKK MOV AL,27H CALL KKK …… KKK proc OUT DX,AL PUSH CX MOV CX,0002 ABC: LOOP ABC POP CX RET KKK endp 第三十五页,共73页 6.2.6 8251A的使用实例 往CRT输出一个字符的例子 CHAROUT: MOV DX,0DAH STATE: IN AL,DX TEST AL,01 JZ STATE MOV DX,0D8H POP AX OUT DX,AL 第三十六页,共73页 8251A实验 用到8253A的程序片段: data segment inport equ ed4llh-280h io8253a equ ioport+280h io8253b equ ioport+283h io8251a equ ioport+2b8h io8251b equ ioport+2b9h mes1 db ‘you can play a key on the beybord!’, 0dh,0ah,24h me

文档评论(0)

1亿VIP精品文档

相关文档