- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 为什么要用接口 接口按功能分为两类 使CPU正常工作所需要的辅助电路 输入/输出接口 外部设备为什么一定要通过接口和主机相连? 时序上的原因 外部设备功能多种多样的原因 外部设备的信息既有数字式,又有模拟式的原因 多个外设共享总线的原因 速度的原因 5.2 CPU和输入/输出设备之间的信号 数据信息 数字量 模拟量 开关量 状态信息 控制信息 5.3 接口部件的I/O端口 5.4.1 接口的功能 寻址功能 输入/输出功能 数据转换功能 联络功能 中断管理功能 复位功能 可编程功能 错误检测功能 5.4.2 接口与系统的连接 5.4.2 接口与系统的连接 用读信号、写信号和地址A0区分4个寄存器 5.5 CPU和外设之间的数据传送方式 程序方式 中断方式 DMA方式 5.5.1 程序方式 无条件传送方式 5.5.1 程序方式 条件传送方式 CPU从接口中读取状态字。 CPU检测状态字 如“就绪”状态,则传送数据。 5.5.1 程序方式 5.5.1 程序方式 5.5.1 程序方式 查询的例子 DATA_SEG SEGMENT MESSAGE DB ′BUFFER OVERFLOW′,0DH,0AH ATA_SEG ENDS COM_SEG SEGMENT BUFFER DB 82 DUP (?) COUNT DB ? COM_SEG ENDS CODE SEGMENT ASSUME DS:DATA_SEG,ES:COM_SEG,CS:CODE STAT: MOV AX,DATA_SEG MOV DS,AX MOV AX,COM_SEG MOV ES,AX MOV DI,OFFSET BUFFER MOV COUNT,DI MOV CX,81 CLD NEXT_IN: IN AL,56H TEST AL,02H JZ NEXT_IN IN AL,52H OR AL,0 JPE NO_ERROR JMP ERROR NO_ERROR: AND AL,7FH STOSB MOV CX,17 LOOPNE NEXT_IN JNE OVERFLOW MOV AL,0AH STOSB SUB DI,COUNT MOV COUNT,DI OVERFLOW: MOV SI,OFFSET MESSAGE MOV CX,17 NEXT_OUT: IN AL,56H TEST AL, 01H JZ NEXT_OUT LODSB OUT 54H,AL LOOP NEXT_OUT 多个入设备轮流查询的例子 TREE_IN: MOV FLAG,0 INPUT: IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1 CMP FLAG,1 JNZ INPUT DEV2: IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2 CMP FLAG,1 JNZ INPUT DEV3: IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT: CMP FLAG,1 JNZ INPUT 3个设备处于相同优先级的循环查询程序, INTREE: MOV FLAG,0 INPUT: IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1 DEV2: IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2 DEV3: IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT: CMP FLAG,1 JNZ INPUT 5.5.2 中断方式 中断传送方式的原理 5.5.2 中断方式 中断传送方式的原理 5.5.2 中断方式 中断优先级问题的解决 5.5.3 DMA方式 DMA控制器的功能和DMA传送的原理 5.5.3 DMA方式 DMA控制器的内部最小配置和接口要求 5.5.3 DMA方式 DMA方式从接口往内存传输一个数据块,将按下面的过程动作: ① 发一个DMA请求。 ② 发总线请求 ③ 地址寄存器的内容送到地址总线上。 ④ 发确认DMA传输的信号。 ⑤ 数据送到地址总线所指出的内存单元。 ⑥ 地址寄存器的值加1
文档评论(0)