第6章.-输入与输出中断-2.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

例:一个采用同步传送的数据采集系统 START: MOV DX,0100H ;DH=01H置吸合第一个继电器 ;DL=00断开所有继电器代码 LEA BX,DSTOR ;置数据缓冲区地址指针 XOR AL,AL ;清AL和CF AGAIN: MOV AL,DL OUT 20H,AL ;断开所有继电器 CALL NEARDELAY1 ;继电器触点释放时间 MOV AL,DH OUT 20H,AL ;先使P0吸合 CALL NEARDELAY2 ;继电器触点闭合和转换时间 IN AL,10H ;输入低8位 IN AH,11H ;输入高8位 MOV [BX],AX ;存入内存 INC BX ;地址指针加2 INC BX RCL DH,1 ;DH带进位循环左移一位 JNC AGAIN ;8个通道完了吗?没有,循环 DONE:… ;已完,则执行其他程序 ①程序查询输入若CPU需要外设输入数据时,首先应从状态端口读入状态信息,判断数据是否准备好?②程序查询输出CPU输出数据前,先查询外设的状态端口的状态信息,若为“空”(如BUSY=0,表示空闲),则执行输出指令把数据送入I/O接口的数据端口。例:一个采用查询方式的数据采集系统一个有8个模拟量输入的数据采集系统,用查询方式与CPU传送信息。 采集过程要求:(1)初始化。(2)先停止A/D转换。(3)启动A/D转换,查输入状态信息READY。(4)当输入数据已转换完(REA=1,即准备就绪),则经由端口3输入至CPU的累加器AL中,并转送内存。(5)设置下一个内存单元与下一个输入通道,循环8次。STARE:MOVDL,0F8H;设置启动A/D转换的信号,且低3位选通多路开关通道MOVAX,SEGDSTOR;设置输入数据的内存单元地址指针MOVES,AXLEADI,DSTORAGAIN:MOVAL,DLANDAL,0EFH;使D4=0OUT04,AL;停止A/D转换CALLDELAY;等待停止A/D转换操作的完成MOVAL,DLOUT04,AL;选输入通道并启动A/D转换POLL:INAL,02;输入状态信息SHRAL,1;查AL的D0JNCPOLL;判READY=1?若D0=0,未准备好,则循环再查INAL,03;若已准备就绪,则经端口3将采样数据输入至ASTOSB;输入数据转送内存单元INCDL;输入模拟量通道增1JNEAGAIN;8个模拟量未输入完则循环,输入已完,执行别的程**I/O接口控制方式1)程序传送方式2)中断传送方式3)DMA传送方式无条件传送程序查询传送(条件传送)6.2CPU与外设之间数据传送的方式6.2.1.1无条件传送CPU与外设间的数据交换在程序控制下进行不查询外设状态,认为外设已经准备就绪,直接与外设传送数据由于不查询外设状态,接口电路不需要状态寄存器6.2.1程序传送八路模拟输入量采集的16位数字量CPU控制采集通路继电器P控制对应开关K6.2.1.1程序查询传送在执行输入输出前,要先查询接口中状态寄存器的状态。输入时:状态寄存器的状态指示要输入的数据是否已经准备就绪;输出时:状态寄存器的状态指示输出设备是否空闲使用查询方式,CPU必须检测接口电路的状态寄存器,如果设备未准备好,CPU就要不断地查询,降低了CPU的运行效率D_PORTS_PORT接口READY(1位)数据端口(8位)状态端口(1位)数据端口地址状态端口地址NY输入状态信息READY?输入数据查询输入程序段:LT: INAL,S_PORT ;从状态口S_PORT读入状态 ANDAL,80H ;检查READY=1? JZLT ;READY=0,返回继

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档