资源描述:
《输入输出与接口技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第05章输入输出与接口技术5.1I/O接口概述5.1.1接口使用接口电路的原因接口可起到CPU与不同外设进行串行、并行信息的之间转换作用接口可起到模数/数模转换作用非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种A/D,D/A转换是通过接口来完成的。接口对I/O过程起到缓冲和联络作用解决外设存取速度和CPU速度不匹配的现象接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“I/O设备”。P137图5.15.1.2I/O设备和I/O接口P138学生自学5.2I/O接口的基本功能5.2.1I/O
2、接口的基本功能数据格式转换数据缓冲信号转换译码选址提供联络信号具备时序控制可编程功能错误检测功能5.2I/O接口的组成一、接口硬件数据缓冲寄存器控制寄存器状态寄存器数据总线和地址总线缓冲器端口地址译码器内部控制逻辑对外联络控制逻辑5.2I/O接口的组成二、接口软件初始化程序段传送方式处理程序段主控程序段程序终止与退出程序段辅助程序段5.3CPU和外设之间的数据传送方式接口电路控制数据信号的传送,这种传送操作是在CPU的监控下实现的。对于CPU而言,数据传送就是输入输出操作,控制接口的传送操作有三种方式:程序方式无条件传送方式条件传送方式(查询方式传送)中断方式(程序中断控制I/O方式
3、)DMA方式(DMA控制I/O方式)专用I/O方式一.程序方式程序方式传送是指在程序控制下进行信息传送,又可分为无条件传送和条件传送方式。1.无条件传送方式若程序员能够确信一个外设已经准备就绪,那就不必查询外设的状态而进行信息传输,这称为无条件传送方式。在无条件传送方式下,程序设计较简单。这种方式用得较少,只用在对一些简单外设的操作,如开关、七段显示管等。①无条件传送输入的例子:MOVDX,160HINAL,DX②无条件传送输出的例子MOVDX,160HMOVAL,[BX]OUTDX,AL2.条件传送方式(查询方式传送)CPU通过执行程序不断读取并测试外设的状态,根据外设的工作状态控
4、制外设的输入/输出,即查询方式。对于条件传送方式来说,一个数据传送到哪接口其过程由3个环节组成:CPU从接口中读取状态字CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读取状态字。如状态字表明外设已处于“就绪”状态,则传送数据。①查询式传送输入的例子:电路原理分析:启动ADC以后,转换结束时产生EOC信号,把转换结果锁存至锁存器,把状态触发器置为1,表示数据已经准备好。控制端口——写164H端口,译码器输出和IOW信号同时有效,启动ADC转换。状态端口——读162H端口,译码器输出和IOR信号同时有效,打开通过D0读取状态信息。数据端口——读160H端口,译码器
5、输出和IOR信号同时有效,打开三态缓冲器,从D7~D0读入数据,同时清除状态信息。负脉冲程序示例:从ADC读取一个数据到AL。READ:MOVDX,160HINAL,DX;清状态MOVDX,164HOUTDX,AL;启动ADCREAD1:MOVDX,162HINAL,DX;查询状态TESTAL,1JZREAD1MOVDX,160HINAL,DX;读取数据RET②查询式传送输出的例子:电路原理说明:1、写到164H端口,产生一个负脉冲来启动外设开始工作。2、写数据到160H端口,CPU输出数据到锁存器,同时置“1”状态触发器,为外设提供状态信息:“数据已准备好”。3、读取162H端口,
6、CPU查询状态,看外设是否取走数据。(外设取走数据,则将发出ACK信号,清除状态触发器)程序示例:将AL中的数据输出。WRITE:MOVDX,164HOUTDX,AL;启动外设MOVDX,160HOUTDX,AL;输出数据MOVDX,162HWRITE1:INAL,DX;查询状态TESTAL,1JNZWRITE1RET查询方式流程图主程序启动外设I/O准备就绪否?执行I/O操作数据传送完否?数据传送完否?忙NY空闲YN多个外设的查询方式流程图主程序启动外设A、B、C查询A操作结束否?查询B查询C继续主程序设备A服务YN设备B服务Y设备C服务YNNNY查询方式特点通过查询实现CPU与外
7、设间的同步联络CPU和外设串行工作接口电路简单CPU使用率不高,用CPU的等待实现与外设的同步二.中断方式(程序中断控制I/O方式)中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率。每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性。被外界中断时,程序中下一条指令所在处称为断点。中断传送方式就是外部设备