微机原理-第07章-常用接口器件(车向泉).ppt

7.3 可编程串行通信接口8250/16550 二、串行通信接口8250/16550 (四)寻址及连接(liánjiē) CS0 CS1 CS2 DLAB A2 A1 A0 RD WR 所选寄存器 1 1 0 0 0 0 0 R 接收缓冲寄存器 1 1 0 0 0 0 0 W 发送保持寄存器 1 1 0 0 0 0 1 RW 中断允许寄存器 1 1 0 x 0 1 0 R 中断标识寄存器 1 1 0 x 0 1 0 W FIFO控制寄存器 1 1 0 x 0 1 1 RW 线路控制寄存器 1 1 0 x 1 0 0 RW MODEM控制寄存器 1 1 0 x 1 0 1 R 线路状态寄存器 1 1 0 x 1 1 0 R MODEM状态寄存器 1 1 0 1 0 0 0 RW 除数(低8位)锁存器 1 1 0 1 0 0 1 RW 除数(高8位)锁存器 1 1 0 x 1 1 1 RW 高速暂存寄存器 0 1 2 3 4 5 6 0 1 7 通信控制(kòngzhì)字D7,除数锁存位 3F8 3F8 3F9 3FA 3FB 3FC 3FD 3FE 3F8 3F9 3FF 3FA * 第九十四页,共106页。 7.3 可编程串行通信接口8250/16550 二、串行通信接口8250/16550 (五)初始化及应用(yìngyòng) 图7.38 初始化顺序(shùnxù) 8250 16550 * 第九十五页,共106页。 INT50: MOV DX, 3FBH MOV AL, 80H OUT DX, AL ; 将线路控制寄存器 ; D7=1即DLAB=1 MOV DX, 3F8H MOV AL, 60H OUT DX, AL ; 锁存除数(chú shù)低8位 INC DX MOV AL, 0 OUT DX, AL ; 锁存除数(chú shù)高8位,除数(chú shù):0060H,即96 MOV DX, 3FBH MOV AL, 0AH ; 000 01 0 10 OUT DX, AL ; 初始化线路控制寄存器 MOV DX, 3FCH MOV AL, 03H ; 0000 0011 OUT DX, AL ; 初始化MODEM控制寄存器 MOV DX, 3F9H MOV AL, 0 ; 不允许中断 OUT DX, AL ; 写中断允许寄存器 寄存器寻址 奇校验(xiào yàn) 1位停止(tíngzhǐ)位 7位数据 线路控制 寄存器 RTS低电平 DTR低电平 Modem 控制 寄存器 引脚 中断允许寄存器 1843200/(16×96)=1200 OUT2高电平,禁止中断 图7.37 初始化 FIFO * 第九十六页,共106页。 初始化程序(chéngxù): MOV DX , 3FAH MOV AL , 07H OUT DX , AL ;初始化FIFO控制寄存器 16550在初始化时,与8250比较(bǐjiào),需增加初始化FIFO控制器部分: …… …… 寄存器寻址 FIFO控制(kòngzhì)寄存器 图7.37 * 第九十七页,共106页。 采用查询方式发送数据,且要发送数据的字节数放在BX中,要发送的数据顺序存放在以SEDATA为首地址(dìzhǐ)的内存区中。 MOV DX, 3FDH ; 通信状态寄存器 LEA SI, SEDATA IN AL, DX TEST AL, 20H ; 发送数据寄存器空? JZ WAITSE PUSH DX MOV DX, 3F8H ; 发送数据寄存器(写) MOV AL,[SI] OUT DX, AL POP DX ; 通信状态寄存器 地址(dìzhǐ) INC SI DEC BX JNZ WAITSE SEDPG: WAITSE: 线路(xiànlù)状态寄存器 寄存器寻址 * 第九十八页,共106页。 采用查询方式(fāngshì)接收数据: REVPG: MOV DX, 3FDH ; 线路状态寄存器 WAITRE: IN AL, DX TEST AL, 1EH ; 0001 1110 JNZ ERROR ; 有错?→ ERROR TEST AL, 01H ; 接收数据寄存器满? JZ WAITRE MOV DX, 3F8H ; 接收数据寄存器(读) IN AL, DX AND AL, 7FH ; 去奇偶校验位 线路(xiànlù)状态寄存器 寄存器寻址 * 第九十九页,共106页。 采用查询(chá

文档评论(0)

1亿VIP精品文档

相关文档