8251A串行通信实验 - 图文

2026/1/22 22:41:20

MOV DX,291H OUT DX,AL

MOV AL,0DH ;ICW4 MOV DX,291H OUT DX,AL MOV DX,291H

IN AL,DX ;初始化主片,读OCW1,中断屏蔽控制字,奇地址 MOV AL,11111110B MOV DX,291H

OUT DX,AL ;OCW1 MOV AX,0 MOV ES,AX

MOV DI,00011000B SHL DI,1 SHL DI,1

MOV BX,SEG ISR ;设置中断向量 MOV DS,AX

MOV AX,OFFSET ISR MOV ES:[DI],AX MOV ES:[DI+2],BX

MOV DX,28BH ;初始化8253 MOV AL,00010110B OUT DX,AL MOV DX,288H MOV AX,13 OUT DX,AL

MOV DX,299H ;8251A的控制口地址 MOV AL,0

OUT DX,AL ;想8251A的控制口写0 CALL DELAY ;延时 MOV AL,0

OUT DX,AL ;想8251A的控制口写0 CALL DELAY MOV AL,0

OUT DX,AL ;向8251A的控制口写0 CALL DELAY

MOV AL,40H ;写复位命令 OUT DX,AL CALL DELAY

MOV DX,299H ;初始化8251 MOV AL,01001110B OUT DX,AL CALL DELAY MOV DX,299H

MOV AL,00010111B

OUT DX,AL CALL DELAY

MOV DI,3000H ;指针初值 CX,000AH ;接收数据个数 MOV DX,298H

IN AL,DX ;8251数据口读入数据 MOV DX,CX

MOV CL,123 ;发送数 MOV AL,CL OUT DX,AL STI

A2: JMP A2 DELAY PROC MOV CX,02H LOOP $ RET

DELAY ENDP

ISR PROC ;中断服务子程序 PUSH AX PUSH DX

STI ;开中断 MOV DX,298H IN AL,DX MOV CL,AL

A1: MOV DX,299H IN AL,DX ;TxRDY=1? TEST AL,01H JZ A1

MOV DX,298H MOV AL,CL OUT DX,AL

CLI ;关中断

MOV DX,290H ;写OCW2,送中断结束命令EOI MOV AL,20H OUT DX,AL POP DX POP AX

IRET ;中断返回 ISR ENDP CODE ENDS END START


8251A串行通信实验 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 8251A串行通信实验 - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219