8251,8253,8255总结

编程入门 行业动态 更新时间:2024-10-20 09:25:59

8251,8253,8255总结

8251,8253,8255总结

8251

8251A异步停止位2校验位2数据长度2异步方式2

只有两个端口地址,51H,50H,前者写方式字,后者输出
甲机2000H:3000H 查询方式 发送1024字节 串行 乙机4000H:5000H

从后往前
一位停止位:01偶校验带:11 7位:10异步波特16:10
01 11 10 10即7AH
0001 0001B命令字,两个1,第一个清除内部错误标志,第二个允许发送
51H要写两次,读状态字一次,因为端口只有两个

CODE AX 2000H;
ASSUME CS:CODE
START: MOV AX,2000H;
MOV DS,AX;装基址
MOV SI,3000H;装偏移地址
MOV CX,1024;传送1024字节
以上为初始化
MOV AL,7AH;(0111 1010B)读入方式字
OUT 51H,AL;写入方式字
以上写方式字
MOV AL,11H;(0001 0001B)
OUT 51H,AL;
以上写命令字
STATE: IN AL,51H; L读状态字
TEST AL,01H;(0000 0001B)检测是否发送好了
JZ STATE;为0没好,回去继续测试
MOV AL,[SI];数据从存储器读入,SI指向的内容,一个字节
OUT 50H,AL;传到输出端口
INC SI;ok了,下一个
DEC CX;计数器减1
JNZ STATE;又开始查询
MOV AH,4CH;返回DOS
INT 21H
CODE ENDS
END START

8253计数器位2低8位01方式选择3进制选择2

F—>时钟周期T=0.5us
T2=40(32)------6us
方式1,计数初值n1=6/0.5=12
n2=40/05=80
方式2,计数初值n2=80
因为低8位0~255足够装下

0为方式1,1为方式2
80H,81H,82H,83H
83方式字,其他为计数通道

总共两个计数器,即两个通道
0通道00,低8位写入01,工作方式001,十进制计数1
0001 0011B----13H
1通道01,低8位写入01,工作方式010,十进制计数1
总而言之,不同计数器,写入方式字不一样,但方式字端口一样
输出计数初值,和端口不同
CODE AX 2000H;
ASSUME CS:CODE
START: MOV AL,13H;读入方式字
OUT 83H,AL;写入方式字
计数器1,方式1,只写低八位,BCD码计数
MOV AL,12H;把16进制当10进制,计数初值读入
OUT 80H,AL;
计数初值写入,方式1计数端口80H

MOV AL,55H;
OUT 83H,AL;
计数器2,方式2,只写低八位,BCD码计数
MOV AL,80H;把16进制当10进制,计数初值读入
OUT 81H,AL;
计数初值写入,方式2计数端口81H

MOV AH,4CH;返回DOS
INT 21H
CODE ENDS
END START

8255方式控制字1A口方式位2A口IO位1CBBC0000

D0H A口 进
D1H B口 出
D2H C口 出
D3H 工作方式
Al在CPU里,也是AX的低八位
90H为方式字,1001 0000B A口方式0,A口入,B,C口出

检测为0,B口出:清低四位,再B口出
1,C口出:低四位置1,再C口出
最后jmp无条件转出
CODE AX 2000H;
ASSUME CS:CODE
START: MOV AL,90H;A口入,B,C口出
OUT 0D3H,AL;写方式字

IN AL,0D0H;读入A口数据到CPU
TEST AL,80H;检测最高位是否为0
JZ P1
OR AL,0FH; 1,低四位1,C口出
OUT 0D2H,AL;
JMP EXIT

P1: AND AL,0F0H;为0,清低四位0,B口出
OUT 0D1H,AL;
EXIT:
MOV AH,4CH;返回DOS
INT 21H
CODE ENDS
END START

简要说明I/0接口的基本功能?

(1)地址译码,选取接口寄存器
(2)接收控制命令,提供工作状态信息
(3)数据缓冲(速度匹配),格式转换
(4)控制逻辑,如中断、DMA控制逻辑、设备操作等。

简述可屏蔽中断的响应和处理过程?
(1)有中断源发出中断请求。
(2)中断总允许控制位ea=l,cpu开放总中断。
(3)申请中断的中断源的中断允许位为1,即该中断没有被屏蔽。
(4)无同级或更高级中断正在服务。
(5)当前指令周期已经结束。(6)若现行指令为reti或访问ie或ip指令时,读指令以及紧接着的另一条指令已执行完毕。
满足以上条件,则cpu响应响应中断元的中断请求。
简述DMA的处理过程?
实现DMA传送的基本操作如下:
1、外设可通过DMA控制器向CPU发出DMA请求;
2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;
3、由DMA控制器发送存储器地址,并决定传送数据块的长度;
4、执行DMA传送;
5、DMA操作结束,并把总线控制权交还CPU。

.
指令解释
J跳转
Z代表zero 0
JMP代表无条件转出
IN读入CPU,到AL
OUT从AL输出到端口
OR:JZ之后的其他情况
INC自增
DEC自减

8251A默认段基址寄存器为DS MOV AL,[SI];
暂存即将写出统一用MOV AL
读入统一用IN AL

更多推荐

8251,8253,8255总结

本文发布于:2024-02-24 14:39:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1695641.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!