第06章输入输出接口及中断技术X课件

上传人:沈*** 文档编号:241638541 上传时间:2024-07-12 格式:PPT 页数:201 大小:4.47MB
返回 下载 相关 举报
第06章输入输出接口及中断技术X课件_第1页
第1页 / 共201页
第06章输入输出接口及中断技术X课件_第2页
第2页 / 共201页
第06章输入输出接口及中断技术X课件_第3页
第3页 / 共201页
点击查看更多>>
资源描述
第第第第6 6章章章章 输入输出接口及中断技术输入输出接口及中断技术输入输出接口及中断技术输入输出接口及中断技术第六章 输入输出接口及中断技术6.1 输入输出接口概述6.2 PC系列微机I/O端口和I/O端口地址译码6.3 CPU与外设之间数据传送的控制方式6.4 可编程并行接口8255A6.5 计数/定时器8253/82546.6 中断技术6.7 可编程中断控制器8259A 6.8 DMA技术及可编程DMA控制器82376.1 输入输出接口概述输入输出接口概述什么是输入什么是输入什么是输入什么是输入/输出设备?输出设备?输出设备?输出设备?能够完成输入能够完成输入能够完成输入能够完成输入/输出操作的设备就叫输入输出操作的设备就叫输入输出操作的设备就叫输入输出操作的设备就叫输入/输出设备,简输出设备,简输出设备,简输出设备,简称外设或称外设或称外设或称外设或I/OI/OI/OI/O设备。设备。设备。设备。例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、而磁盘、而磁盘、而磁盘、CRTCRTCRTCRT显示器、打印机、显示器、打印机、显示器、打印机、显示器、打印机、X-YX-YX-YX-Y绘图仪等则是最常见的输出设绘图仪等则是最常见的输出设绘图仪等则是最常见的输出设绘图仪等则是最常见的输出设备。备。备。备。什么是输入什么是输入/输出接口?输出接口?要实现外部设备与主机之间的连接要实现外部设备与主机之间的连接要实现外部设备与主机之间的连接要实现外部设备与主机之间的连接(connection)connection)和和和和信息交换,必须经过一个数据转换和传输的设备。这种信息交换,必须经过一个数据转换和传输的设备。这种信息交换,必须经过一个数据转换和传输的设备。这种信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做设备,我们叫做设备,我们叫做设备,我们叫做I/OI/O接口接口接口接口(interfaceinterface)。6.1.1I/O接口电路的功能和必要性一、I/O接口要解决的问题速度匹配速度匹配(Buffer):键盘:键盘0.5s,打印机几十打印机几十ms,软盘软盘500KB/S,硬盘硬盘100MB/S信号电平和驱动能力信号电平和驱动能力(电平转换器、驱动器电平转换器、驱动器)信号形式匹配信号形式匹配(A/D、D/A)信息格式信息格式(字节流、块、数据包、帧字节流、块、数据包、帧)时序匹配时序匹配(定时关系定时关系)总线隔离总线隔离(三态门三态门)二、接口电路的外部特性 主要体现在引脚上,分成两侧信号:主要体现在引脚上,分成两侧信号:面向面向CPU一侧的信号:一侧的信号:u 用于与用于与CPU连接连接u 主要是数据、地址和控制信号主要是数据、地址和控制信号面向外设一侧的信号:面向外设一侧的信号:u 用于与外设连接用于与外设连接u 提供的信号五花八门,各不相同提供的信号五花八门,各不相同u 功能定义、时序及有效电平等差异较大功能定义、时序及有效电平等差异较大是是是是CPUCPU与与与与I/OI/O设备之间的桥梁,设备之间的桥梁,设备之间的桥梁,设备之间的桥梁,CPUCPU与外设交换信息的中转站与外设交换信息的中转站与外设交换信息的中转站与外设交换信息的中转站接口接口接口接口CPUCPU外设外设外设外设I/O端口端口1I/O端口端口2I/O端口端口3地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPUI/OI/O接口电路的基本结构接口电路的基本结构返回上一张功能:功能:1、数据缓冲与锁存、数据缓冲与锁存 2、信息的输入与输出、信息的输入与输出 3、信息格式转换、信息格式转换 4、联络和中断管理动能、联络和中断管理动能 5、进行译码、进行译码 6、电平转换、电平转换 7、具备时序功能控制、具备时序功能控制 8、具有可编程功能、具有可编程功能 9、检错、检错二、接口电路的功能6.1.2 I/O的信息组成及接口模型的信息组成及接口模型一、CPU与外设交换的信息 1 1、数据信息数据信息:(Data)主机与主机与I/O设备之间交换的信息可分为数据信息、设备之间交换的信息可分为数据信息、状态信息和控制信息三类。状态信息和控制信息三类。8、16、32、64 数数据信息又分为数字量、模拟量和开关量三种形式。据信息又分为数字量、模拟量和开关量三种形式。1)1)数字量数字量 2)模拟量模拟量 3)3)开关量开关量2 2、状态信息状态信息(Status)3 3、控制信息控制信息(Control)2.2.状态信息状态信息 状态信息作为状态信息作为CPU与外设之间交换数据时的联络与外设之间交换数据时的联络信息,信息,反映了当前外设所处的工作状态反映了当前外设所处的工作状态反映了当前外设所处的工作状态反映了当前外设所处的工作状态,是外设通过,是外设通过接口送往接口送往CPU的。的。CPU通过对外设状态信号的读取,通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好闲等情况。对于输入设备,一般用准备好(READY)信号信号的高低来表明待输入的数据是否准备就绪;对于输出的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙设备,则用忙(BUSY)信号的高低表示输出设备是否处信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收于空闲状态,如为空闲状态,则可接收CPU输出的输出的信信息,否则息,否则CPU要暂停送数。因此,状态信息能够保障要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。与外设正确地进行数据交换。3 3控制信息控制信息 控制信息是控制信息是CPU通过接口传送给外设的,通过接口传送给外设的,CPU通过发送控制信息设置外设通过发送控制信息设置外设(包括接口包括接口)的工作模式、控制外设的工作。如外设的的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工实际上,控制信息往往随着外设的具体工作原理不同而含义不同。作原理不同而含义不同。CPU通过接口和外设交换信息时,只能用输通过接口和外设交换信息时,只能用输入指令入指令(IN)和输出指令和输出指令(OUT)传送数据,传送数据,所以状态信息、控制信息也是被作为数据信息所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。但在接口中,和控制信息也通过数据总线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。这三种信息是在不同的寄存器中分别存放的。即即通过端口来访问以上的信息通过端口来访问以上的信息 小小 结结返回返回返回返回二、端口(二、端口(PORT)I/OI/O端口:端口:是指是指I/OI/O接口中存放数据信息、状态信接口中存放数据信息、状态信息和控制信息,息和控制信息,CPUCPU可以读可以读/写的一组寄存器或特写的一组寄存器或特定电路,被称为定电路,被称为I/OI/O端口。端口。一般接口通常有数据端口、控制端口、状态端口一般接口通常有数据端口、控制端口、状态端口u数据端口:(数据端口:(I I、O O)输入数据端口输入数据端口输入数据端口输入数据端口(I I):保存外设给保存外设给保存外设给保存外设给CPUCPUCPUCPU的数据的数据的数据的数据输出数据端口输出数据端口输出数据端口输出数据端口(O O):保存保存保存保存CPUCPUCPUCPU给外设的数据给外设的数据给外设的数据给外设的数据u状态端口:(状态端口:(I I)存放存放存放存放I/OI/OI/OI/O设备或接口本身的工作状态信息设备或接口本身的工作状态信息设备或接口本身的工作状态信息设备或接口本身的工作状态信息u控制端口:(控制端口:(O O)存放存放存放存放CPUCPUCPUCPU给外设或接口电路的命令给外设或接口电路的命令给外设或接口电路的命令给外设或接口电路的命令图图4.2 一个典型的一个典型的I/O接口接口 数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门三态门)数据输出寄存器数据输出寄存器(锁存器锁存器)状态寄存器状态寄存器(or 三态门三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑返回返回返回返回上一张上一张上一张上一张6.1.3 I/O端口的编址方式及端口地址端口的编址方式及端口地址不同外设具有的端口数各不相同,计算机中为每一个端不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个唯一编号口都赋予一个唯一编号称为端口地址称为端口地址(或端口号或端口号)。l端口有两种编址方式:统一编址和独立编址。端口有两种编址方式:统一编址和独立编址。一、统一编址方式(存储器映像方式)一、统一编址方式(存储器映像方式)即是将端口看作一个存储单元看待,每个端口地址占用一个地址单元,存储器与I/O地址统一安排二、独立编址方式(二、独立编址方式(I/O映像方式)映像方式)一、统一编址方式(存储器映像方式)一、统一编址方式(存储器映像方式)译码器IO/端口存储器CPU及其配置芯片DBDBABABABABCBCB把I/O端口看成MEM一个地址1、优点指令丰富(mov等)I/O端口的空间大寻址控制逻辑简单(与MEN共用一套)2、缺点内存空间相对减少 单独的译码电路复杂指令代码字节长 分析程序困难二、独立编址方式(二、独立编址方式(I/O映像方式)映像方式)I/O端口与MEM空间各自独立u 逻辑上重叠u 物理上独立1、优点MEM和I/O分开设计I/O地址线少I/O指令短,执行速度快 2、缺点需单独使用I/O译码单元和指令不象I/O指令丰富 CPU及其配置芯片译码器IO/端口 空间(64KB)DBDBCBCB存储器空间(1MB)译码器ABAB00000HFFFFFHFFFFHFFFFH0000H0000H6.2 PC系列微机I/O端口和I/O端口地址译码6.2.1 PC系列微机I/O端口地址分配8 80 08 88 8总线A19-A0A15-A0MEMR、MEMWIOR、IOW、AEN存储器访问存储器访问I/O访问访问8088/8086 CPU的I/O编址方式 采用采用I/O独立编址方式独立编址方式(但地址线与存储器共用但地址线与存储器共用)地址线上的地址信号用地址线上的地址信号用 来区分:来区分:时为时为I/O地址地址 I/O操作只使用20根地址线中的16根:A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC只使用了只使用了1024个个I/O地址(03FFH)uIBM-PC机端口地址1024个端口地址 低256地址(000H0FFH)做为主机电路板使用 高768地址(0100H03FFH)作扩充插槽使用 故此仅用A9A0十根地址线IBM-PC机端口地址分配见 P395页 表 6.1那么现在的PC机的端口地址怎么看呢开始程序附件系统工具系统信息硬件资源中I/O或看组件中就可以看到例如 System speaker地址为0 x00000061 也就是0061H,怎么操作?软件访问采用IN 或 OUT 指令!我们设计IO卡可采用200H20FH游戏接口卡 300H31FH实验板输入指令IN AL,port8 ;字节输入,直接寻址 IN AL,DX ;字节输入,间接寻址IN AX,port8;字输入,直接寻址IN AX,DX ;字输入,间接寻址输出指令OUT port8,AL;字节输出,直接寻址OUT DX,AL;字节输出,间接寻址OUT port8,AX;字输出,直接寻址OUT DX,AX;字输出,间接寻址6.2.2 I/O地址译码80 x86采用采用I/O端口独立编址端口独立编址译码主要针对片选译码主要针对片选(Chip SelectCS)信号信号一般为低电平有效,当此信号无效时,一般芯片所一般为低电平有效,当此信号无效时,一般芯片所有线都处于高阻态。有线都处于高阻态。8086及其配置芯片译译码码器器IO接口芯片IO/M片内端口地址线译码器的选择译码器的选择1.1.组合逻辑门电路组合逻辑门电路2.2.集成译码器集成译码器3.3.开关式可选择译码电路开关式可选择译码电路4.4.可编程逻辑电(可编程逻辑电(GALGAL、FPGAFPGA、CPLDCPLD)地址线的使用全地址译码方式全地址译码方式部分地址译码方式部分地址译码方式一、组合逻辑门电路地址译码&OOOOOOA9A8A7A3A2A1A0AENIOWLS30LS30LS32门电路译码门电路译码地址为地址为2FB1“1”“1”“1”“0”接口电路 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0100001100111111111二、集成地址译码地址为地址为020 03F0001A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 010101111010AENA9“1”“1”“1”“0”01234567YYYYYYYYA8A7A6A5“1”“1”“1”“0”接口电路01074LS138 看看具体看看具体工作过程工作过程输入输入输出输出Y0 Y1 Y2 Y3 Y4 Y5Y6 Y7A5A6 A7IOWAB CG2BG2AG174LS138DMA CS(8237)INTR CS(8259)T/C CS(8253)PPI CS(8255)WRTNMIREG(写写NMI屏蔽寄存器)屏蔽寄存器)A8A9 AENIBM PC/AT主机板的主机板的I/O译码电路译码电路三、开关式可选择译码电路开关式可选择译码电路“1”“1”“1”“0”01234567YYYYYYYYA2A1A074LS138 P7P6P5P4P3P2P1P0Q7Q6Q5Q4Q3Q2Q1Q0AENA9A8A7A6A5A4A3+5v“1”“1”“1”“0”接口电路74LS688低3位由A2、A1、A0决定为111高7位由决定DIP开关通过比较器74LS688DIP开关开关四、使用可编程逻辑器件译码可编程逻辑器件译码(GAL、FPGA、CPLD)是借助EDA手段可以设计专门的译码器,例如AENA9A8A7A6A5A4A3A2A1A0Q10Q9Q8Q7Q6Q5Q4Q3Q2Q1Q0当A9A0为000H时Q0为0,其他为全1当A9A0为001H时Q1为0,其他为全1以此类推后续课程中会给大家介绍6.3 CPU与外设之间数据传送的控制方式 CPU与I/O接口间的信息传送,称为信息交换。信息交互的方式有4种:1.无条件传送:慢速外设需与无条件传送:慢速外设需与CPU保持同步保持同步2.查询传送:查询传送:简单实用,效率较低简单实用,效率较低3.中断传送:中断传送:外设主动,可与外设主动,可与CPU并行并行工作,但每次传送需要大量额外时间开销工作,但每次传送需要大量额外时间开销 4.DMA传送:传送:DMAC控制,外设直接和存控制,外设直接和存储器进行数据传送,适合大量、快速数据储器进行数据传送,适合大量、快速数据传送传送1、无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪具体过程2、查询传送方式及其接口、查询传送方式及其接口CPU需要选了解(查询)外设的工作状需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下态,然后在外设可以交换信息的情况下(就绪就绪)实现数据输入或输出)实现数据输入或输出对多个外设的情况,则对多个外设的情况,则CPU按一定顺序按一定顺序依次查询(轮询)。先查询的外设将优依次查询(轮询)。先查询的外设将优先进行数据交换先进行数据交换查询传送的特点是:工作可靠,适用面查询传送的特点是:工作可靠,适用面宽,但传送效率低宽,但传送效率低查询传送的两个环节查询传送的两个环节 查询环节查询环节寻址状态口寻址状态口读取状态寄存器的标志位读取状态寄存器的标志位若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪 传送环节传送环节寻址数据口寻址数据口是输入,通过输入指令从数据端口读入数据是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据是输出,通过输出指令向数据端口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN具体过程3、中断传送方式断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序具体过程中断传送与接口中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚中断除了在输入和输出方面的应用外,中断还有着非常广泛的应用(4)DMA传送方式希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DMA:外设存储器外设存储器CPU释放总线,由DMA控制器管理DMA传送的工作过程 CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 DMA传送DMA读存储器:存储器 外设DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否DMA传送流程HLDAHLDA发存储器地址发存储器地址发存储器地址发存储器地址传送数据传送数据传送数据传送数据传送结束?传送结束?传送结束?传送结束?DMADMA结束结束结束结束修改地址指针修改地址指针修改地址指针修改地址指针具体过程传送方式的比较传送方式的比较无条件传送:慢速外设需与无条件传送:慢速外设需与CPU保持同保持同步步查询传送:查询传送:简单实用,效率较低简单实用,效率较低中断传送:外设主动,可与中断传送:外设主动,可与CPU并行工并行工作,但每次传送需要大量额外时间开销作,但每次传送需要大量额外时间开销 DMA传送:传送:DMAC控制,外设直接和存控制,外设直接和存储器进行数据传送,适合大量、快速数储器进行数据传送,适合大量、快速数据传送据传送IN AL,21HIN AL,21H返回返回输出输出输出输出OUT 43H,ALOUT 43H,AL返回返回无条件传送流程无条件传送流程无条件传送流程无条件传送流程返回返回中断传送流程中断传送流程中断传送流程中断传送流程DMADMA传送流程传送流程传送流程传送流程DMADMA传送流程传送流程传送流程传送流程返回6.4 可编程并行接口8255A特点特点:含含3个独立的个独立的8位并行输入位并行输入/输出端口,各端口输出端口,各端口均具有数据的控制和锁存能力均具有数据的控制和锁存能力可通过编程设置各端口的工作方式和数据传可通过编程设置各端口的工作方式和数据传送方向(入送方向(入/出出/双向)。双向)。PC7PC4PA7PA0PC3PC0PB7PB0数据总线数据总线缓冲器缓冲器读读/写写控制逻辑控制逻辑RESETCS端口端口A端口端口B B组组控制控制A组组控制控制端口端口C上半部分上半部分端口端口C下半部分下半部分A1A0RDWRD7D0一、一、8255内部结构内部结构1、数据总线缓、数据总线缓冲器冲器(8位三态位三态)CPU数据命令数据命令 数据状态数据状态2、读写控制逻辑、读写控制逻辑CS芯片选通芯片选通读写控制读写控制A1A0端口地址端口地址选择选择3、A、B、C端口端口单独的驱动和锁存单独的驱动和锁存4、内部控制逻辑、内部控制逻辑依据控制字决定端口工作方式和状态依据控制字决定端口工作方式和状态A1A0端口地址端口地址 0 0A端口端口 0 1B端口端口 1 0C端口端口 1 1控制状态字控制状态字端端端端口地址的区分方法口地址的区分方法口地址的区分方法口地址的区分方法地址线的区分端口地址线的区分端口地址线的区分端口地址线的区分端口AENA9A8A7A6A5“1”“1”“1”“0”01234567YYYYYYYYD7D0A1A074LS138 8255APAPCPBA9A8A7A6A5A4A3A2A1A0端口地址端口地址 0 0 0 1 1 0 0A端口端口 60H 0 0 0 1 1 0 1B端口端口 61H 0 0 0 1 1 1 0C端口端口 62H 0 0 0 1 1 1 1控制字控制字 63H定义工作方式,定义工作方式,各口的各口的I/O状态状态对对PC口按位操口按位操作作1:方式方式 选择选择 控制控制 字字控制字特征位控制字特征位0:C口按位口按位操作控制字操作控制字特特特特征征征征码码码码区区区区分分分分端端端端口口口口A组控制组控制B组控制组控制A组方式选择组方式选择B组方组方式选择式选择I/O方向选择方向选择I/O方向选择方向选择A口口上上C口口下下C口口B口口1:入:入0:出:出1:入:入0:出:出00:方式方式0基本基本I/O方式方式A口、上口、上C口口01:方式方式1选通选通 I 或或或或 O1:方式方式2双向选通双向选通IO0:方式方式0基本基本I/OB口口,下下C口口1:方式方式1选通选通I或或O 0 写入位编码写入位编码 内容内容 1 二、二、8255的控制字的控制字AENA9A8A7A6A5“1”“1”“1”“0”01234567YYYYYYYYD7D0A1A074LS138 8255APAPC7PC4PB例8.7:已知8255A如图连接要求A口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。端口地址端口地址A端口端口 60HB端口端口 61HC端口端口 62H控制字控制字 63HPC3PC0B口口选选通通输输入入1:方式方式 选择选择 控制控制 字字A组控制组控制B组控制组控制A组方式选择组方式选择B组方组方式选择式选择I/O方向选择方向选择I/O方向选择方向选择A口口上上C口口下下C口口B口口1:入:入0:出:出1:入:入0:出:出00:方式方式0基本基本I/O方式方式A口、上口、上C口口01:方式方式1选通选通 I 或或或或 O1:方式方式2双向选通双向选通IO0:方式方式0基本基本I/OB口口,下下C口口1:方式方式1选通选通I或或O端口地址端口地址A端口端口 60HB端口端口 61HC端口端口 62H控制字控制字 63HA口工作于方式0,作为输出,上C口输出;B口工作于方式1,作为选通输入。10000110初始化程序为86H;直接寻址方式:MOV AL,86H;OUT 63H,AL;间接寻址方式:MOV DX,60H;MOV AL,86H;OUT DX,AL;或例例8.9:已知:已知8255A还如上图,要求端口还如上图,要求端口C的的PC7置置1,将,将PC3置置0。00001111PC7置置1PC3置置000000110 0 写入位编码写入位编码 内容内容 0FH06H端口地址端口地址A端口端口 60HB端口端口 61HC端口端口 62H控制字控制字 63H;直接寻址方式:MOV AL,0FH;OUT 63H,AL;MOV AL,06H;OUT 63H,AL;间接寻址方式:MOV DX,63H;MOV AL,0FH;OUT DX,AL;MOV AL,06H;OUT DX,AL;或6.4.2 8255的三种工作方式及操作时序的三种工作方式及操作时序8255A有三种工作方式,分别称为方式0,方式1和方式2。其中 A端口可以工作在三种方式中的任一种;B端口只能工作在方式0和方式1;C端口通常作为控制信号使用,配合A端口和B端口的工作。每种工作方式的具体内容如下所述。一、方一、方式式0方式方式0的工作特点的工作特点(1)任何一个端口可作为输入口,也可作为输出口,任何一个端口可作为输入口,也可作为输出口,各端口之间没有必然的联系。各端口之间没有必然的联系。(2)各个端口的输入或输出,可以有各个端口的输入或输出,可以有16种不同的组种不同的组合,所以可以适用于多种使用场合。合,所以可以适用于多种使用场合。同步传送同步传送 查询式传送。查询式传送。例例8.10 将开关将开关的状态在发光的状态在发光二极管的显示二极管的显示出来出来74LS078A9A8A7A6A5A4A3A2A1A0端口地址端口地址 1 0 0 0 0 1 1 0 0A端口端口 218H 1 0 0 0 0 1 1 0 1B端口端口 219H 1 0 0 0 0 1 1 1 0C端口端口 21AH 1 0 0 0 0 1 1 1 1控制字控制字 21BH+5VA9A8A7A6AENA1A08255AA1A0D7D0A5A4A3“1”“1”“1”“0”01234567YYYYYYYY74LS138 D7D08086及配置芯片+5V+5VPA7PA6PA5PA4PA3PA2PA1PA0PB7PB6PB5PB4PB3PB2PB1PB0显然PA为输入 PB为输出端口地址端口地址A端口端口 218HB端口端口 219HC端口端口 21AH控制字控制字 21BH+5VA9A8A7A6AENA1A08255AA1A0D7D0A5A4A3&“1”“1”“1”“0”01234567YYYYYYYY74LS138 D7D08086及配置芯片+5V+5VPA7PA6PA5PA4PA3PA2PA1PA0PB7PB6PB5PB4PB3PB2PB1PB01:方式选方式选择控制字择控制字A组方式选择组方式选择B组方组方式选择式选择A口口上上C口口下下C口口B口口1001000090HCODE SEGMENT ASSUME CS:CODESTART:MOV DX,21BH;初始化8255 MOV AL,90H OUT DX,ALLOP:MOV DX,218H;读A口开关输入 IN AL,DX NOT AL ;数据取反 MOV DX,219H;输出到B口显示 OUT DX,AL MOV AH,0BH ;按任意键返回DOS INT 21H ADD AL,01H JNZ LOP MOV AH,4CH INT 21HCODE ENDS END START 初始化初始化8255A开始开始A口读入数据口读入数据数据取反数据取反B口输出显示口输出显示有键按下有键按下?NY结束结束端口地址端口地址A端口端口 218HB端口端口 219HC端口端口 21AH控制字控制字 21BH90H二、方式二、方式1选通输出选通输出选通输入选通输入数据总线数据总线缓冲器缓冲器读读/写写控制逻控制逻辑辑RESETCS端口端口A端口端口B B组组控制控制A组组控制控制端口端口C上半部上半部分分端口端口C下半部下半部分分A1A0RDWRD7D0A口联络信号B口联络信号外设1、方式、方式1(选通工作方式选通工作方式)的特点的特点 利用一组选通控制信号控制利用一组选通控制信号控制A端口和端口和B端口的数据输端口的数据输入输出。入输出。特点:特点:A、B口作输入或输出口,口作输入或输出口,C口分为两部分,其部分位口分为两部分,其部分位(6位)固定用作位)固定用作A口、口、B口的选通控制信号。口的选通控制信号。状态信息附在状态信息附在PC端口上端口上(端口状态与引脚有些不同端口状态与引脚有些不同)C口的剩余位仍可作数据位使用,其余位口的剩余位仍可作数据位使用,其余位(2位位)可工作可工作在方式在方式0下,作为输入或输出线,用程序指定其数据传送下,作为输入或输出线,用程序指定其数据传送方向。方向。A口、口、B口在作为输入和输出时的选通信号不同。口在作为输入和输出时的选通信号不同。方式方式1的应用:主要用于中断控制方式下的输入或输出。的应用:主要用于中断控制方式下的输入或输出。1112、方式、方式1(A口为例口为例)1)输入输入 PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAIBFIBFA AINTRINTRA AD7D7D0D0(到到CPU)外外部部设设备备外设外设查询查询IBF=1等待等待 IBF=0则外设发则外设发STB复脉冲复脉冲同时发数据同时发数据接口收完数据后接口收完数据后将将IBFA位置位置1IBFA线置高线置高I/OINTRAIBFBINTEBINTRBI/OIBFA INTEA STB结束后看结束后看IBFA=1则将则将INTRA位置位置1当当INTE=1时将时将INTRA引脚置高引脚置高 CPU用用IN命令时命令时取走数据,取走数据,后沿后沿后使后使INTRA线和位线和位 复位,复位,使使IBFA线和位复位线和位复位00方式1输入状态字111方式方式1(A口为例口为例)2)输出输出 方式1输入状态字00INTRAIBFBINTEBINTRBINTEAI/OI/OPA7PA7PA0PA0PC7PC7PC6PC6PC3PC3INTEAINTEAINTRINTRA AD7D7D0D0(到到CPU)外外部部设设备备cpu查询查询等待等待 Cpu执行执行OUT同时发数据同时发数据 外设查外设查立即发立即发 信号,信号,后沿将数据取走,先后沿将数据取走,先使使 位为位为1,使使INTRA位为位为1 使使 线为线为1当当INTEA=1,使使INTRA线为线为1 后沿使 和和INTRA位和线分别为位和线分别为0113、8255A的工作方式的工作方式方式方式2(双向选通传送方式双向选通传送方式)特点:特点:双向方式双向方式既是输入口,又是输出口。既是输入口,又是输出口。利用利用C口的口的5条线提供传输联络信号。条线提供传输联络信号。类似于类似于A口方式口方式1下输入和输出的组合。工作时输入、输下输入和输出的组合。工作时输入、输出都能锁存。出都能锁存。只有只有A口可工作在方式口可工作在方式2下。下。当当A组工作在方式组工作在方式2时,时,B组可工作在方式组可工作在方式0或方式或方式1下。下。应用:应用:可用于中断控制输入输出方式。可用于中断控制输入输出方式。也可用查询方式与也可用查询方式与CPU联系。联系。当当A口工作于方式口工作于方式2时,时,B口可工作于方式口可工作于方式1(此时(此时C口的口的剩余位刚好用作剩余位刚好用作B口选通控制线);口选通控制线);B口也可工作于方口也可工作于方式式0(此时(此时C口的剩余位只能用作方式口的剩余位只能用作方式0下的输入输出下的输入输出线)。线)。8255A的工作方式的工作方式方式方式2(双向双向选通传送方式选通传送方式)C口的联络信号:口的联络信号:STB#选通信号,由外选通信号,由外设输入。设输入。=0时,将外设数据时,将外设数据送入送入8255的输入锁存器。的输入锁存器。对应对应PC4。IBF输入锁存器满信号,输入锁存器满信号,由由8255A输出。输出。=1时通知外时通知外设输入的数据已写入缓冲器,设输入的数据已写入缓冲器,此时不能送下一个数据。此此时不能送下一个数据。此信号由信号由STB#的前沿产生。的前沿产生。CPU用用IN指令取走数据后指令取走数据后(RD#的后沿),此信号被的后沿),此信号被清除。清除。对应对应PC5。PA7PA7PA0PA0PC6PC6PC7PC7D7D7D0D0PC4PC4PC5PC5IBFIBFA AINTEA2INTEA2INTEA1INTEA1PC3PC3INTRINTRA A8255A的工作方式的工作方式方式方式2(双向选双向选通传送方式通传送方式)C口的联络信号:口的联络信号:OBF#输出缓冲器满信号,输出缓冲器满信号,8255A输出。输出。=0时通知外设取时通知外设取走数据。走数据。对应对应PC7。ACK#响应信号,外设输入。响应信号,外设输入。0时表示外设已从数据端口取时表示外设已从数据端口取走数据。此信号使走数据。此信号使OBF#变高。变高。对应对应PC6。INTR输入时由输入时由STB#的后沿的后沿产生,输出时由产生,输出时由ACK#上升沿产上升沿产生,生,8255输出。输出。=1提出中断请提出中断请求求。A组对应组对应PC3。PA7PA7PA0PA0PC6PC6PC7PC7D7D7D0D0PC4PC4PC5PC5IBFIBFA AINTEA2INTEA2INTEA1INTEA1PC3PC3INTRINTRA A8255A的工作方式的工作方式方式方式2(双向选通传送方式双向选通传送方式)方式方式2的时序:的时序:PB7PB0PA7PA0-STBIBF-RD外设送来数据外设送来数据D7D0送往外设数据送往外设数据数据写入端口数据写入端口-WR-OBFINTR-ACK当当INTE=1时时 6.5 计数/定时器8253/8254掌握掌握:引线功能及计数启动方法引线功能及计数启动方法6种工作方式及其输出波形种工作方式及其输出波形8253的使用的使用:芯片与系统的连接芯片与系统的连接芯片的初始化编程芯片的初始化编程一、常用于外部发生的事件进行计数,也常用于为CPU和外部设备提供定时控制1、定时:提供时间、定时:提供时间 基准脉冲基准脉冲内部定时内部定时外部定时外部定时本质上一致,计本质上一致,计数,对象不同数,对象不同2、计数:对外部信、计数:对外部信 号计数号计数信号具有信号具有周期性周期性信号随机信号随机3、计数机定时信号作用、计数机定时信号作用 动态存储器的定时刷新动态存储器的定时刷新 系统时钟系统时钟 系统扬声器系统扬声器 计算机定时控制和处理计算机定时控制和处理 .二、如何实现定时?1 1、软件定时:用一段程序实现延时、软件定时:用一段程序实现延时、软件定时:用一段程序实现延时、软件定时:用一段程序实现延时利用利用利用利用程序循环程序循环程序循环程序循环延迟指定的时间,不增加硬件成本。延迟指定的时间,不增加硬件成本。延迟指定的时间,不增加硬件成本。延迟指定的时间,不增加硬件成本。缺点:缺点:缺点:缺点:CPUCPU负担较大负担较大负担较大负担较大用于短延时用于短延时用于短延时用于短延时2 2、不可编程的硬件定时:采用中小型集成、不可编程的硬件定时:采用中小型集成、不可编程的硬件定时:采用中小型集成、不可编程的硬件定时:采用中小型集成ICIC。例例555555定时器定时器优点:不增加优点:不增加CPUCPU负担,硬件成本低负担,硬件成本低缺点:定时值不好改变,增加硬件成本缺点:定时值不好改变,增加硬件成本应用于固定的定时,没有应用于固定的定时,没有CPUCPU的场合。的场合。3 3、可编程定时、可编程定时、可编程定时、可编程定时/计数器芯片:计数器芯片:计数器芯片:计数器芯片:可编程的定时器可编程的定时器/计数器计数器82538253、82548254等等三、定时器三、定时器/计数器的基本原理计数器的基本原理1、内部结构、内部结构8086及其配置芯片译译码码器器IO/M片内端口地址线计数计数单元单元控制信号控制信号被计数的信号被计数的信号计数结束计数结束输出信号输出信号2、工作过程、工作过程1)、设初值、设初值2)、工作单元并控制、工作单元并控制3)、输出、输出例:例:MOV CX,100 LOOP$6.5.1 8253的基本工作原理3个独立的16位计数器每个计数器可按二进制或BCD码计数最高频率为2MHZ6种不同工作方式与TTL兼容单电源+5V供电6.5.2 8253的通道结构控控制制寄寄存存器器及及其其逻逻辑辑计数初值寄存器计数初值寄存器CRCRH CRL减一计数器减一计数器CECEH CEL输出锁存器输出锁存器OLOLH OLLCLKGATEOUT锁存读:减锁存读:减1计数器的中间值计数器的中间值从从初值计数器初值计数器CR开始减起开始减起外总线外总线8位,位,16位寄存器。位寄存器。8253的核心:功能减的核心:功能减1,并送回原单元并送回原单元根据什么减根据什么减1?从哪开始减从哪开始减1?减到什么时候结束?减到什么时候结束?发出什么信号?发出什么信号?定时定时/计数计数计数计数减到减到1或或0,发一个信号,发一个信号由由6种工作方式而定种工作方式而定读写格式:读写格式:仅读写仅读写L,自动清自动清 H仅读些仅读些H,自动清自动清L先读写先读写L,再读写再读写H,先低后高先低后高先利用锁存读命令,使先利用锁存读命令,使CE锁存入锁存入OL中,中,再用再用IN读到读到CPU,IOR后沿解锁后沿解锁CNT0CNT1CNT2数据数据三态缓冲三态缓冲读读/写写逻辑逻辑控制控制寄存器寄存器D7D0“1”“1”“1”“0”01234567YYYYYYYYDBCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2二、二、8253的内部结构、的内部结构、引脚及端口引脚及端口功能功能工作方式工作方式和功能必须和功能必须通过编程来通过编程来实现实现规定规定1、先向控制字写编程命令、先向控制字写编程命令规定规定2、再对相应计数器写初值、再对相应计数器写初值或读锁存或读锁存编程命编程命令包含:令包含:初始化命令:初始化命令:锁存读命令:锁存读命令:设置计数器本身设置计数器本身功能或工作方式功能或工作方式使使CE内容锁存内容锁存入入OL中中地址地址端口端口40HCNT041HCNT142HCNT243H控制字控制字当前当前8253地址为地址为 SC1 SC0 0 0 8253控制字控制字 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 计数器选择计数器选择初值写入方式初值写入方式工作方式选择工作方式选择计数规则计数规则00 CNT001 CNT110 CNT211 非法非法01 仅读写仅读写L10 仅读写仅读写H11 先先L后后H0 0 0 方式方式00 0 1 方式方式11 0 方式方式21 1 方式方式310 0 方式方式41 0 1 方式方式50 二进制二进制1 BCD计数器锁存选择计数器锁存选择特特特特征征征征码码码码区区区区分分分分端端端端口口口口锁锁锁锁存存存存读读读读方方方方式式式式选选选选择择择择控控控控制制制制字字字字例:要求例:要求CNT0工作于方式工作于方式3,二进制计数,初值为,二进制计数,初值为65536 CNT1工作于方式工作于方式2,BCD计数,计数,初值为初值为1023 CNT2工作于方式工作于方式3,二进制计数,初值为,二进制计数,初值为255例:要求例:要求CNT0工作于方式工作于方式3,二进制计数,初值为,二进制计数,初值为65536 CNT1工作于方式工作于方式2,BCD计数,计数,初值为初值为1023 CNT2工作于方式工作于方式3,二进制计数,初值为,二进制计数,初值为255 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 0 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 0CNT0 控制字控制字CNT1 控制字控制字CNT2 控制字控制字 CNT0 控制字为控制字为36H,初值为初值为65536 CNT1 控制字为控制字为75H,初值为初值为1023 CNT2 控制字为控制字为96H,初值为初值为255CNT0CNT1CNT2数据数据三态缓冲三态缓冲读读/写写逻辑逻辑控制控制寄存器寄存器D7D0“1”“1”“1”“0”01234567YYYYYYYYDBCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2规定:规定:1.先向控制字先向控制字写编程命令写编程命令2.再对相应计再对相应计数器写初值或数器写初值或读锁存读锁存地址地址端口端口40HCNT041HCNT142HCNT243H控制字控制字MOV AL,36H;OUT 43H,AL;MOV AL,00H;OUT 40H,AL;MOV AL,00H;OUT 40H,AL;CNT0 控制字为控制字为36H 初值为初值为65536CNT1 控制字为控制字为75H 初值为初值为1023CNT2 控制字为控制字为96H 初值为初值为255初始化编程初始化编程MOV AL,75H;OUT 43H,AL;MOV AL,23H;OUT 41H,AL;MOV AL,10H;OUT 41H,AL;MOV AL,96H;OUT 43H,AL;MOV AL,0FFH;OUT 42H,AL;CNT0CNT1CNT2数据数据三态缓冲三态缓冲读读/写写逻辑逻辑控制控制寄存器寄存器D7D0“1”“1”“1”“0”01234567YYYYYYYYDBCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2规定:规定:1.先向控制字先向控制字写编程命令写编程命令2.再对相应计再对相应计数器写初值或数器写初值或读锁存读锁存地址地址端口端口40HCNT041HCNT142HCNT243H控制字控制字MOV AL,00H;OUT 43H,AL;IN AL,40H;MOV DL,ALIN AL,40H;MOV DH,AL工作中工作中读锁存读读锁存读CNT0和和CNT2MOV AL,80H;OUT 43H,AL;IN AL,42H;MOV BL,ALXOR BH,BH SC1 SC0 0 0 6.5.3 8253的工作方式的工作方式 一、一、6种工作方式:其启动、种工作方式:其启动、OUT端输出波形不同,端输出波形不同,是否自动重装初值,是否自动重装初值,GATE信号的控制作用,更新计信号的控制作用,更新计数初值影响。数初值影响。共同遵循几条规律:共同遵循几条规律:初始化状态初始化状态 控制字写入后,控制字写入后,OUT端进入初始状态端进入初始状态启动方式启动方式初值写入后初值写入后 经一个时钟周期后经一个时钟周期后()后,才开始对后,才开始对 计数计数软件启动:写入初值后一个完整的时钟周期软件启动:写入初值后一个完整的时钟周期开始计数,门控开始计数,门控GATE保持高电平。保持高电平。硬件启动:利用硬件启动:利用GATE信号的上跳沿。信号的上跳沿。二、工作方式方式0计数结束中断方式1可重复触发的单稳态触发器方式2频率发生器方式3方波发生器方式4软件触发选通方式5硬件触发选通一、方式一、方式0:计数结束引起中断:计数结束引起中断(产生高电平产生高电平)软启动软启动1、结果特点:减、结果特点:减1为为0后,后,OUT升高,向升高,向CPU发中断发中断2、过程特点:、过程特点:控制字写入后控制字写入后:OUT=0计数值写入后计数值写入后:OUT=0期期 间间:OUT=0计数为计数为0:OUT=1直到下直到下个控制字个控制字GATE=0 禁止、暂停禁止、暂停 GATE=1 允许允许有效期有效期:一次一次启动方式启动方式:信号后,信号后,经经1个个CLK后初值后初值CR 期间写入初值期间写入初值:在在 后下个后下个CLK开始,以初值计数开始,以初值计数:一次计数,:一次计数,GATE高允许,高允许,0暂停,暂停,OUT初值写入后为初值写入后为0,写入初值写入初值N+1个脉冲后为个脉冲后为1二、方式二、方式1:可编程单脉冲发生器:可编程单脉冲发生器(可编程单脉冲可编程单脉冲)1、结果特点:、结果特点:减减1为为0后,后,OUT输出单拍负脉冲输出单拍负脉冲(脉宽可编程脉宽可编程)2、过程特点:、过程特点:控制字写入后控制字写入后:OUT=1计数值写入后计数值写入后:OUT=1期期 间间:OUT=0计数为计数为0:OUT=1直到下直到下个个GATE=0或或1无效无效 GATE重新计数重新计数有效期有效期:由由GATE信号决定信号决定启动方式启动方式:GATE,经经1个个CLK后初值后初值CR,OUT=0 期间写入初值期间写入初值:在在GATE 后后下个下个CLK开始,以初值计数开始,以初值计数:1、一次计数、一次计数开始后一个开始后一个CLK,N个低电平后变高个低电平后变高 2、重写后,等、重写后,等GATE 三、方式三、方式2:脉冲频率发生器:脉冲频率发生器1、结果特点:、结果特点:产生连续的负脉冲产生连续的负脉冲,减到减到1时输出一个时输出一个CLK周期周期 的负脉冲的负脉冲,脉冲周期脉冲周期=计数值计数值时钟周期时钟周期2、过程特点:、过程特点:控制字写入后控制字写入后:OUT=1计数值写入后计数值写入后:OUT=1期期 间间:OUT=1计数为计数为1:OUT=0 计数为计数为0:OUT=1GATE=0 停止停止 GATE=1计数计数 GATE重启计数器重启计数器有效期有效期:无限无限,循环计数循环计数启动方式启动方式:双启双启 期间写入初值期间写入初值:软启软启:在在GATE=1下次有效启下次有效启:GATE 立即重启。立即重启。:1、多次计数、多次计数2、GATE 重启重启 下次有效下次有效3、连续的负脉冲输出、连续的负脉冲输出四、方式四、方式3:方波信号发生器:方波信号发生器1、结果特点:、结果特点:产生连续方波产生连续方波,减到初值一半减到初值一半OUT=0,前一半大点前一半大点,方波周期方波周期=计数值计数值时钟周期时钟周期2、过程特点:、过程特点:控制字写入后控制字写入后:OUT=1计数值写入后计数值写入后:OUT=1期期 间间:OUT=1减到减到n/2(向上仅为向上仅为)OUT=0计数为计数为0:OUT=1GATE=0 停止停止 GATE=1计数计数 GATE重启计数器重启计数器有效期有效期:无限无限,循环计数循环计数启动方式启动方式:同方式同方式2 期间写入初值期间写入初值:软启软启:在在GATE=1下次有效启下次有效启:GATE 立即重启。立即重启。:1、多次计数、多次计数2、GATE 重启重启 下次有效下次有效3、连续的方波输出、连续的方波输出四、方式4(软件触发选通)计数过程中,计数过程中,GATEGATE端应保持端应保持高电平高电平。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),OUTOUT端输出一端输出一个个TCLKTCLK宽度的负脉冲。宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。五、方式5(硬件触发选通)写入初值时,写入初值时,GATEGATE端应保持端应保持低电平低电平。GATEGATE每出现一次正脉冲,计数一个周期,然后每出现一次正脉冲,计数一个周期,然后停止计数。停止计数。每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),OUTOUT端输出端输出一个一个TCLKTCLK宽度的负脉冲。宽度的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。6中工作方式比较6.5.4 8253的应用的应用用于确定各计数器的工作方式。82538253必须先必须先初始化初始化才能正常工作。才能正常工作。每个计数器都必须初始化一次。每个计数器都必须初始化一次。CPUCPU通过通过OUTOUT指令把控制字写入控制寄存器指令把控制字写入控制寄存器。一、控制字说明一、控制字说明一、控制字说明一、控制字说明二、二、二、二、82538253的应用的应用的应用的应用与系统的连接设置工作方式置计数初值编程编程P543 例8.5 已知8253连接如图,已知有一信号频率为250KHZ,要求得到一秒脉冲。8253“1”“1”“1”“0”01234567YYYYYYYY地址地址端口端口200HCNT0201HCNT1202HCNT2203H控制字控制字分析:分析:fc=250kHz,Tc=4s,最大计数为最大计数为4s65536=262144s1s串联使用串联使用2、输入为输入为250kHz,输出为输出为1Hz,须进行须进行250000分分频,可以分成两
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!