东南-微机接口第五章数字量输入输出_第1页
东南-微机接口第五章数字量输入输出_第2页
东南-微机接口第五章数字量输入输出_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I/O问从状态端口读入I/O问从状态端口读入状态信外设准备好否YN从数据端口传送一、第五章数字量输入输出(东南大 传送方式CPU路基础:三态缓冲器/CPU与外设的工作速度不一致,尤其是当外设由其他一、无条件传送方式条件传送方式查询方式三、DMA传送方式DirectMemoryAccess微机系统与接 东南大 典典型无条件传送方式接口电路(输入 IO总状000东南大 将输入设备的数据读入CPU内AL微机系统与接口P290图5.11MOVDX,284H AL,DX图中译码电路的作用只当A15~A0上出现284H(即000000101000输出0,其他输出1缓冲三态译典型无条件传送方式接口电路(输出 IO总 数据锁存设例:LED指示地址0与图中译码电路的作用只当A15~A0上出现288H时(即000000111000输出0,其他输出1东南大 该电路在CPU执行指MOVAL,MOVDX,288HOUTDX,ALCPU内AL中的数据81H送至输出设微机系统与接口非0译无条无条件传送方 (同步传送方式微机系统与接口东南大 CPU不查询外设工作状在程序中直接用I/O指令,完成与外设的数据特东南大 在与外设进行传送数据前CPU先查询外设状态当外设准备好后,才I/O指令,实现数据传CPU的工作效(程序方式 查询方式输入 查询方式输入 假设外设的状态端口为28C外设的数据端口为288H。实现从外设读入50H个字节到内存缓冲区buffer译缓电东南大 UMOVDX,PC总线 AL,A15地 查询方式输入接口电 IOR状态端口&译码数据线 缓冲锁RQ端口三态缓冲器D&MOVDX,28CH AL,DX东南大 流流程编程从外设读入50H个字节到内存缓冲区buffer 从28CH状态端读入外设状态信ND7=1,外设准Y从288H数据端口读入一个字节数据N50H个数据传送结束微机系统与接口Y东南大 STATUSEQUMOVAX,SEGbuffer取缓冲区首地MOVDS,LEADI,MOVCX,50H next:MOVDX,STATUSask: AL,TESTAL,1000 MOVDX,288H AL,DXMOV[DI],AL LOOP;从状态端口读入;80H,检测D7;D7=0,继续查;从数据端口读入;送缓冲;修改缓冲区指;传送下查询方式输入程序微机系统与接口东南大学 查 查询方式输 假设外设的状态端口为28C其中D00时,表示外设准备好外设的数据端口为288H。编程将缓冲区buffer的80H个字节输出到外地址数据缓控制电微机系统与接口东南大学数据端状态端译U 查询方式输出接 MOVDX,288H状态端口D0=OUTDX,表示外设准备A15地址 数据端地 译码总数据线线状态端口地址译D0三态缓冲&RD输ACKREADYMOVDX,28CH AL,DX微机系统与接口东南大学ND0=0,Y288HN80HY东南大学STATUS_PORTEQU28CHDATA_PORTEQU288HMOVAX,SEGbuffer;MOVDS,LEASI,MOVCX,80H next:MOVDX,STATUS_PORTask: AL,TESTAL,0000AL,;;检测D0;D0≠0,;DX,DATA_PORTDX,ALLOOP;;; 查询方式输出程序片 东南大学中断中断微机系统与接口东南大学程序(查询)方式=〉效率问题(空耗时间解决方法之一:当外设准备好,向CPUCPUCPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;CPU从中断服务程序返回,继续执行中断方式下CPU执行程序流 主程序(Routine)微机系统与接 (正常东南大学中断中断传送方式的微机系统与接口东南大学1.实现方法 DMA控制器(称当外设需传送数据时,通过DMAC向 传送方式(直 器存取方式微机系统与接口东南大学DMADMA请响东南大学 DMA传送方式的特 东南大学不通过CPU,传送效率高。 计 计算机输入输出控制方 微机系统与接口东南大学直 (DMA—Direct断返回断主程序流中断服务中断嵌 中断(Interrupt)控 微机系统与接口东南大学程序—事件/请求服务打断暂时中断原程序---》执行中断处理主程主程中断服务程Interrupt号(中断源INT断返回断关键正确返回断点,恢复现场运 典型中断(Interrupt)控 微机系统与接口东南大学下条指当前指直接执行软件中断/指令执行结除零(INT单步(INT1)IF=1溢出(INTOINT软件中断调用(INT内部中非可中断NMI(Non-Maskable中断外部中8088中断结 n 1微机系统与接口东南大学INTN(忽略单步中断处理YY(进入YYY又有YY东南大学 中断响应和处 东南大学保护断点返回现场PSW入栈、清IF、TF,CS、IP入栈返回断点(继续运行 什么是现场外设:中断类型号nINTn中中断向量(矢量)与8088中断响 第2个INTA脉微机系统与接口东南大学中断向量表(0:0-0:3FFH)INT00H~0FFH(4byteeach:CS:IP)PC:INT08~0F外中断。INT0A— 中断号(1)中断响应周期:INTR=1,CPU/INTA时类型号n(1BYTE)DB给(2)总线写:F入栈(4)总线写:CS入 (5)总线写:IP入总线读:n*4为指针读字总线读:n*4为指针+2读字中断响应周n微机系统与接口东南大学 8086/8088 8086/8088中断过 微机系统与接口东南大学(F入栈;IF=0TF=0CS、IP入栈;问题:多中断源逻辑或申请中断,查询、优先级? ?自动?中断控制逻辑用Ci8259--可编程接口CPU中断控 微机系统与接口东南大学8086内部:优先级(H)除法错、INTn 平,每个指令最后一个时钟周期结束时取样)微系统与接i8259与处理器接微机系统与接口东南微系统与接i8259与处理器接微机系统与接口东南大工作编程:OCW(工作命令字1~3)8259A-ICW2中断类型号寄存微机系统与接口东南大学例:PC机MOV OUTi8259APIC---PriorityInterrupt东南大学重点:***编程(中断软件初单 中断输入(可编程选择每片直接管理8级外部中断 级联扩展:64(兼容80X86/8088—82C59CMOS低功耗28PP259ATop FunctionSP=1MPU接口:D0~D7,/RD、/WR、微机系统与接 东南大学8259级8259级联扩SP/ENCAS0CAS2(级联)SlaveProgram—通常模式下确定MASTERSP=1IR07接各从片INT,输出编码CAS028片)/(Slave:S=0,CAS)||Enablebuffe----BufferMOE下控制Buffer收发(EN)--IC与系统总线间加BUFFERSP/EN控制,发送时/EN=0)。(硬件简单,软件难用--动态优先级)9片--64级东南大学A0RD#WR#功0100写入ICW1、OCW2和1100写入ICW2~ICW4和0010读出IRR、ISR1010读出×110×××1 8259A 8259A编程— ×××1× ICW1:A0=0D4=1工作方式(ICW标志初始化开始:结果清中断寄存器OCW1=0;优先级IR0(H)--IR7(L)接口模式:D7~D5(A7~A5),8080/85用中断矢量;D2(ADI=1:地址间隔4/;0=8—80/85)--可忽略 级联扩展:D0=1要送ICW4(不送时ICW4各位 (SNGL)=1单片=0级联 触发电平:D3(LTIM)=1高电平触发=0上升沿触 例:PC P5.211Master(IR2接SlaveINT)1 MOVAL, B;沿触发,单片工作,后跟ICW4OUT20H,AL学×××级联字8259A初始化编程级联字8259A初始化编程(续)-- 微机系统与接口东南大学8259A初始化编程(续)- ,微机系统与接口东南大学8259A工作编程 微机系统与接口东南大 字,A0=1 Di=Mi对应IRi,=1 IRi中断;=0允许IRi中断。各位互相独立。INAL,21HOUT21H,AL;允许IR?中断微机系统与接口东南大学01P对应IR7~IR0=1SALVE;SLAVE:D7~D3=0,(ID2~ID0)D2~D0=标识码(中断响应时与CAS例mov ;写入out000ICW4:优先级控制D4(SFMN)=0一般嵌套(已服务SALVE片、高优先不4=1特殊嵌套(中断源、可中断嵌套)。3(BF)数据缓冲选择(=0无BFFER;=1有三态BFF单片8259A的B系统总线间加BFFER由/SP/EN控制,发送时/EN=0;D2=0SLAVE/=1D1(AEOI)=1自动EOI;=0正常 中断结束信号 D0(μPM)=0–8080/85系列=18086/88系列 B88/86,非自动EOI8259A工8259A工作编程-微机系统与接口东南大8259A工8259A工作编程 R00R、SL和EOI编码配合使用产生中断结束EOI命令(00120H)/和改变优先权顺序-中断优先权的旋转:011特殊EOI,101:EOI且优先权自动旋转...8259A工作编程查询支持 OCW3:辅助操作(不常用)(A0=0D4D3=01)特殊 P(D2)=1查询命令(读状态字)/=0非查询D1D0=10随后读中断请求寄存器IRR(D7=1有效请求;D2~ 随时可读IMR(A0=1)。D7=1发生有效请微机系统与接 东南大学 中断处理2-编 中断处理2-编写主程 微机系统与接口东南大学 位[ R地址21H(在8259中) ;Di=0允许]设置CPU中断允许位微机系统与接口东南大学 8259A程序控制应 东南大学IRQ0:T0;IRQ1:KB;IRQ2空;IRQ3/4:COM2/1;IRQ5/6HD/FD;IRQ7:LPT120H(ICW1、OCW2、OCW3);21H:ICW2、读:20H(IRR、ISR、中断级编码(查询方式编程应用:P261对应PCMOVAL,13H;OUTMOV OUT OUTMOVAL,0FFH;OUT21H,AL可中断应用1-硬件连线/输 地址 IOR 三 CPU中断中断类型 缓冲 微机系统与接 东南大学89 中断处理3-编中断服务子程 微机系统与接口东南大学MOVAL,20HOUT 中 中断服务程 微机系统与接口东南大学关键:PUSHAX;PUSHBX其他寄存OUT20H,AL;POPIRET(注意结尾MYINT可中断应用4-中断程序调试 中断源 中断源 微机系统与接口东南大学矢量表修改:DOS功能调用(AH=25H,DS,DX)/(CLI后CS,IPSTOSW0:4*n=ES:DI,CLD DW DWintiniPROC XORAX,AXMOVES,AX MOVDS,AXMOVSI,20HMOVAX,[SI]MOVCS:Tvectorl,AX;int >MOVMOVMOVDI,20H MOVAX,OFFSETMYINTMOVAX,CSMOVAL36H;控制字ch0MODE3bineryOUT43H,ALMOVBX,47728;47728=25HZ,11932=100HZMOVAL,BLOUT40H,ALMOVAL,BHOUTMOVMOVOUT21H,AL MOVAL,20HOUT20H,AL intini中断程序初始化微机系统与接口东南大中断向量恢微机系统与接口东南大;INT8restor恢复INT8原中断向INTRSTMOVAX,0MOVMOV[SI],AXMOV[SI+2],AXINTRSTENDPi8259--ICW1:i8259--ICW1:D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论