- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
周永华班-例题
[例 用8250实现双机通信要求:(1)000:C000H存放接收数据的个数000:C002H存放接收缓冲区的地址指针为000:4000H(2)000:C010H存放发送数据的个数000:C012H存放发送缓冲区的地址指针为000:H)
(3)位数据1位停止奇校验波特2400,用中断方式接、发送数据:XOR AX, AX ;设置中断向量
MOV DS, AX ;实模式下中断向量表的基地址
LEA AX, INTSERV ;中断量MOV DS: [0140H], AX ;中断类型号80的中断向量地址:80×4=320D=140H
MOV AX, CS ;中断向量的段地址
MOV DS:[0142H], AX
MOV AX, 2000H ;置接/发区址MOV DS, AX
MOV AX, 1000 ;传送字节数MOV DS: [0C000H], AX
MOV DS: [0C010H], AX
MOV DS: [0C002H], 4000H ;置接收缓冲区的MOV DS: [0C012H], 8000H ;置发送缓冲区的MOV AL, 80H ;8250初始化设DLAB=1MOV DX, 3FBH
OUT DX,ALMOV AX, 30H ;除数寄存器的值:1.8432MHz/(2400×16)= 48= 30H
MOV DX, 3F8H
OUT DX, AL ;写入除数低字节MOV AL, AH
MOV DX, 3F9H
OUT DX, AL ;写入除数高字节MOV AL, 0BH ;位数据,1位停止,奇校验MOV DX, 3FBH
OUT DX, AL ;写入线路控制寄存器MOV AL, 03H ;允许接/发中断MOV DX, 3F9H
OUT DX, AL ;写入中断允许寄存器
8259初始化写ICW1ICW2,ICW4(省略)
WAIT1: STI ;开中断
MOV AX, DS: [0C000H] ;是否接收完
CMP AX, 0
JNE WAIT1 ;未接收完,等待中断
MOV AX, DS: [0C010H] ;是否发送完
CMP AX, 0
JNE WAIT1 ;未发送完,等待中断
MOV AH, 4CH ;接收、发送完成,返回操作系统
INT 21H
INTSERV: PUSH AX ;中断服务程序,保护现场
PUSH DX
PUSH SI
PUSH DI
STI ;开中断
MOV DX, 3FAH ;读中断识别寄存器IN AL, DX
CMP AL, 02H ;是发送中断(THRE=1)JZ SEND ;转发送子程序入口
REC: MOV DX, 3F8H ;接收IN AL, DX
MOV DI, DS: [0C002H]
MOV [DI], AL
INC DI ;保存下一个接收数据的存放地址
MOV DS: [0C002H], DI
MOV AX, DS: [0C000H] ;上一次接收数据的个数送AX
DEC AX ;还剩下的接收数据个数
MOV DS: [0C000H], AX ;保存还剩下的接收数据个数
CMP AX, 0 ;接收完否?
JNZ RETURN ;未完,返回
MOV DX, 3F9H ;关闭接收中断 AL, 0FEH
OUT DX, AL
JMP RETURN
SEND: MOV DX, 3F8H ;发送MOV SI, DS: [0C012H] ;发送数据送AL
MOV AL, [SI]
OUT DX, AL
INC SI ;保存下一个发送数据的存放地址
MOV DS: [0C012H], SI
MOV AX, DS: [0C010H] ;上一次发送数据的个数送AX
DEC AX ;还剩下的发送数据个数
MOV DS: [0C010H], AX ;保存还剩下的发送数据个数
CMP AX, 0 ;发送完否?
JNZ RETURN ;未完,返回
MOV DX, 3F9H ;关闭发送中断 AL, 0FDH
OUT DX, AL
RETURN: MOV AL, 20H ;向8259写入EOI
OUT 20H, AL
POP DI ;恢复现场
POP SI
POP DX
POP CX
POP AX
IRET ;中断返回
CODE ENDS
END START
[例7-5] 8255A作为双机并行单向数据通信的接口(方式0和方式1)。
要求:主从两台微机分别通过两个8255A采用查询方式进行并行通信,主从机均为PC机,从机8255A采用方式1发送数据,主机8255A采用方式0接收数据。试设计通信接口电路,并编制主从机通信程序。
分析:本例题是8255A方式0和方式1综合应用的一
文档评论(0)