版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术微机原理与接口技术第第8 8章章 常用输入常用输入/ /输出接口电路输出接口电路胡飞虎胡飞虎 电气工程学院工业自动化系电气工程学院工业自动化系117117室室Email: 课程网站地址:课程网站地址:http:/http:/一、并行通信概述一、并行通信概述计算机为什么需要计算机为什么需要I/OI/O接口电路?接口电路?(1 1)外部设备种类繁多,有机械式,有机电式,还)外部设备种类繁多,有机械式,有机电式,还有电子式的。不同外部设备之间性能各异,对数据传有电子式的。不同外部设备之间性能各异,对数据传送的要求也各不相同的,无法按统一格式进行。送的要求也各不相同的,无法按统一格式
2、进行。(2 2)外部设备的数据信号是多种多样的)外部设备的数据信号是多种多样的。(3 3)外设的数据传送有近距离的,也有远距离的。)外设的数据传送有近距离的,也有远距离的。(4 4)外部设备的工作速度快慢差异很大。)外部设备的工作速度快慢差异很大。 无法实现外部设备与无法实现外部设备与CPUCPU进行直接的同步数据传送,进行直接的同步数据传送,而必须在而必须在CPUCPU和外设之间扩展接口电路,通过接口电和外设之间扩展接口电路,通过接口电路对路对CPUCPU与外设之间的数据传送进行协调。因此接口与外设之间的数据传送进行协调。因此接口电路就成了数据电路就成了数据I/OI/O操作的核心内容。操作的
3、核心内容。一、并行通信概述一、并行通信概述接口电路主要有如下几项功能:接口电路主要有如下几项功能:(1)速度协调速度协调 由于速度差异,数据的由于速度差异,数据的I/OI/O传送只能以异步方式进行,即传送只能以异步方式进行,即只能在确认外设已为数据传送作好准备的前提下才能进行只能在确认外设已为数据传送作好准备的前提下才能进行I/OI/O操作。而要知道外设是否准备好,就需要通过接口电路产生操作。而要知道外设是否准备好,就需要通过接口电路产生或传送外设的状态,以此进行或传送外设的状态,以此进行CPUCPU与外设之间的速度协调。与外设之间的速度协调。(2)数据锁存数据锁存 接口电路中需设置锁存器,以
4、保存输出数据直至为输出接口电路中需设置锁存器,以保存输出数据直至为输出设备所接收。因此数据锁存就成为接口电路的一项重要功能。设备所接收。因此数据锁存就成为接口电路的一项重要功能。(3 3)数据转换)数据转换 需要使用接口电路进行数据信号的转换。其中包括:需要使用接口电路进行数据信号的转换。其中包括:模模/ /数转换、数数转换、数/ /模转换、串模转换、串/ /并转换和并并转换和并/ /串转换。串转换。一、并行通信概述一、并行通信概述(4)三态缓冲三态缓冲 只允许当前时刻正在进行数据传送的数据源使用数据总线,只允许当前时刻正在进行数据传送的数据源使用数据总线,其它数据源都必须与数据总线处于隔离状
5、态。为此要求接口电路其它数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。能为数据输入提供三态缓冲功能。接口与端口接口与端口 接口则特指计算机与外设之间在数据传送方面的联系。接口则特指计算机与外设之间在数据传送方面的联系。其功能主要是通过电路实现的。因此称之为接口电路。其功能主要是通过电路实现的。因此称之为接口电路。 一个接口电路中可能包括有多个端口,例如保存数据的一个接口电路中可能包括有多个端口,例如保存数据的数据端口、保存状态的状态端口和保存命令的命令端口等,因数据端口、保存状态的状态端口和保存命令的命令端口等,因此一个接口电路就对应着多个端口地址。此一个接
6、口电路就对应着多个端口地址。一、并行通信概述一、并行通信概述数据口(输入数据口(输入/输出):双向输出):双向状态口:只能由状态口:只能由CPU读入。读入。控制口:只能由控制口:只能由CPU写出。写出。每个口由译码电路分配一个唯一的地址。每个口由译码电路分配一个唯一的地址。外设经接口与总线相连,其连接必须遵循:输入要三态,输出要锁存外设经接口与总线相连,其连接必须遵循:输入要三态,输出要锁存CPUI/O设备译码数据端口状态端口控制端口DBABCB一个典型的I/O接口一、并行通信概述一、并行通信概述(1 1)数据口)数据口 用于完成输入与输出数据。用于完成输入与输出数据。 接口使用的数据有:接口
7、使用的数据有: (a)数字量数字量q如键盘等的二进制表示的数或如键盘等的二进制表示的数或ASCIIASCII码表示的数和字符。码表示的数和字符。 (b)模拟量模拟量q要经过要经过ADCADC和和DACDAC转换为数字量或模拟量。转换为数字量或模拟量。 (c)开关量开关量q以一位二进制表示的量。以一位二进制表示的量。(2 2)控制口)控制口q控制口为一个输出接口,用于控制外设的启(控制口为一个输出接口,用于控制外设的启(STARTSTART)、停止)、停止(STOPSTOP)或数据的选通()或数据的选通(STBSTB)等。)等。(3 3)状态口)状态口qCPUCPU通过这个端口了解外设状态。输入
8、外设是否准备好通过这个端口了解外设状态。输入外设是否准备好(READYREADY),转换是否结束(),转换是否结束(EOCEOC);输出装置是否忙();输出装置是否忙(BUSYBUSY)。)。一、并行通信概述一、并行通信概述1 1 数据通信的并行与串行:数据通信的并行与串行: “ “通信通信”泛指计算机与接口电路之间的信息沟通与泛指计算机与接口电路之间的信息沟通与数据交换。数据交换。 在通信中,若数据按在通信中,若数据按n n个位(常用个位(常用8 8位或位或1616位)位)同时传送信息,则称之为同时传送信息,则称之为并行通信并行通信。能实现并行通信的。能实现并行通信的接口电路,就称之为并行接
9、口电路,就称之为并行I/OI/O接口电路。接口电路。 如所传送数据是按逐位发送或接收的,则称为如所传送数据是按逐位发送或接收的,则称为串行通信串行通信。实现串行通信的接口电路称为串行。实现串行通信的接口电路称为串行I/OI/O接口接口电路。电路。 在同样的工作节拍下,并行通信的数据传送率在同样的工作节拍下,并行通信的数据传送率要比串行通信的高,但并行传送仅适合于近距离快速数要比串行通信的高,但并行传送仅适合于近距离快速数据通信的场合。据通信的场合。一、并行通信概述一、并行通信概述一、并行通信概述一、并行通信概述2 2 可编程的接口电路:可编程的接口电路: 一、并行通信概述一、并行通信概述 (1
10、 1)数据缓冲寄存器)数据缓冲寄存器 分为输入和输出缓冲寄存器两种。前者的作用分为输入和输出缓冲寄存器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。有后者的作用是用来暂时存放处理器送往外设的数据。有了数据缓存器,就可以在高速工作的了数据缓存器,就可以在高速工作的CPUCPU与慢速工作的与慢速工作的外设之间起协调、缓冲作用,实现数据传送的同步。外设之间起协调、缓冲作用,实现数据传送的同步。 (2 2)控制寄存器)控制寄存器 用于存放处理器发来的控制命令和其它信息,用于存放处理器发来的控
11、制命令和其它信息,以确定接口电路的工作方式和功能。控制寄存器是写寄以确定接口电路的工作方式和功能。控制寄存器是写寄存器,其内容只能由处理器写入,不能读出。存器,其内容只能由处理器写入,不能读出。一、并行通信概述一、并行通信概述 (3 3)状态寄存器)状态寄存器 用于保存外设现行各种状态信息。它的内容可用于保存外设现行各种状态信息。它的内容可以被处理器读出,从而使处理器了解外设状况。特别当以被处理器读出,从而使处理器了解外设状况。特别当CPUCPU以程序查询方式同外设交换数据时,状态寄存器更以程序查询方式同外设交换数据时,状态寄存器更是必不可少的。是必不可少的。CPUCPU通过查询外设的忙通过查
12、询外设的忙/ /闲、就绪闲、就绪/ /不就不就绪等状态,才能正确地与之交换信息。绪等状态,才能正确地与之交换信息。 以上三种寄存器是接口电路中的核心部分。通以上三种寄存器是接口电路中的核心部分。通常所说的端口,大都指这些寄存器。常所说的端口,大都指这些寄存器。 (4 4)数据总线缓冲器)数据总线缓冲器 用于实现接口芯片内部总线和用于实现接口芯片内部总线和CPUCPU系统总线的系统总线的连接。该缓冲器是双向的,实现数据的输入连接。该缓冲器是双向的,实现数据的输入/ /输出或命输出或命令的输出及状态的读入。令的输出及状态的读入。一、并行通信概述一、并行通信概述 (5 5)地址总线缓冲与译码)地址总
13、线缓冲与译码 锁存来自地址总线的地址信号,并通过译码寻址锁存来自地址总线的地址信号,并通过译码寻址各端口。各端口。 (6 6)内部控制逻辑)内部控制逻辑 用于产生一些接口电路内部的控制信号,实现用于产生一些接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的变换。系统控制总线与内部控制信号之间的变换。 (7 7)对外联络控制逻辑)对外联络控制逻辑 用于产生用于产生/ /接收接收CPUCPU和外设之间数据传送的同步和外设之间数据传送的同步信号。这些联络握手信号包括微处理器一边的中断请求信号。这些联络握手信号包括微处理器一边的中断请求和响应,总线请求和响应,以及外设一边的准备就绪和和响应,
14、总线请求和响应,以及外设一边的准备就绪和选通等控制与应答信号。选通等控制与应答信号。二、可编程并行接口电路二、可编程并行接口电路8255二、可编程并行接口电路二、可编程并行接口电路8255(1)数据端口)数据端口 8255A8255A共有三个共有三个8 8位口,其中位口,其中A A口和口和B B口是单纯口是单纯的数据口,供数据的数据口,供数据I/OI/O使用。而使用。而C C口则既可以作数据口,口则既可以作数据口,又可以作控制口使用,用于实现又可以作控制口使用,用于实现A A口和口和B B口的控制功能。口的控制功能。 数据传送中数据传送中A A口所需的控制信号由口所需的控制信号由C C口高位部
15、口高位部分(分(PC7PC4PC7PC4)提供,因此把)提供,因此把A A口和口和C C口高位部分合在口高位部分合在一起称之为一起称之为A A组组;同样理由把;同样理由把B B口和口和C C口低位部分口低位部分(PC3PC0PC3PC0)合在一起称之为)合在一起称之为B B组组。二、可编程并行接口电路二、可编程并行接口电路8255(2 2)总线接口电路)总线接口电路(a)数据总线缓冲器)数据总线缓冲器 数据总线缓冲器为数据总线缓冲器为8 8位双向三态缓冲器,可直位双向三态缓冲器,可直接和接和CPUCPU的数据线相连,与的数据线相连,与I/OI/O操作有关的数据、控操作有关的数据、控制字和状态信
16、息都是通过该缓冲器进行传送。制字和状态信息都是通过该缓冲器进行传送。(b)读)读/写控制逻辑写控制逻辑CSCS片选信号(低电平有效)片选信号(低电平有效)RDRD读信号(低电平有效)读信号(低电平有效)WRWR写信号(低电平有效)写信号(低电平有效) A0 A0、A1A1端口选择信号。端口选择信号。8255A8255A共有四个可共有四个可寻址的端口(即寻址的端口(即A A口、口、B B口、口、C C口和控制寄存器)口和控制寄存器)二、可编程并行接口电路二、可编程并行接口电路82558255A端口选择及端口选择及工作状态工作状态(c)控制逻辑电路)控制逻辑电路 控制逻辑电路包括控制逻辑电路包括A
17、 A组控制和组控制和B B组控制,合在一起构组控制,合在一起构成成8 8位控制寄存器。用于存放各口的工作方式控制字。位控制寄存器。用于存放各口的工作方式控制字。二、可编程并行接口电路二、可编程并行接口电路82558255A8255A的控制寄存器及其工作方式的控制寄存器及其工作方式(1 1)控制字寄存器)控制字寄存器 8255A 8255A的控制字有:工作方式控制字和的控制字有:工作方式控制字和C C口置口置位位/ /复位控制字两种。复位控制字两种。 1 1)工作方式控制字)工作方式控制字 其中其中D0D2D0D2控制控制B B组,组,D0D0、D1D1分别确定端口分别确定端口C C的低的低4
18、4位及端口位及端口B B的输入输出方向,的输入输出方向,D2D2确定端口确定端口B B的工作的工作方式,可以选择端口方式,可以选择端口B B为方式为方式0 0或方式或方式1 1。 D3D6 D3D6控制控制A A组,组,D3D3、D4D4用来设置端口用来设置端口C C的高的高四位及端口四位及端口A A的输入输出方向,的输入输出方向,D5D5、D6D6用来选择用来选择A A口的口的工作方式为三种工作方式之一。工作方式为三种工作方式之一。 最高位最高位D7D7是工作方式控制字标志,必须是是工作方式控制字标志,必须是1 1。二、可编程并行接口电路二、可编程并行接口电路82558255的方式字(写入的
19、方式字(写入 A1、A0 = 11)D0D1D2D3D4D5D6D7PC3 PC01:输入0:输出B口 1:输入 0:输出B组工作方式 0:方式0 1:方式1PC7 PC4 1:输入 0:输出A口 1:输入 0:输出A组工作方式00:方式001:方式11:方式2D7 = 1特征位B组A组二、可编程并行接口电路二、可编程并行接口电路82552 2) C C口置位口置位/ /复位控制字复位控制字(写入 A1A0 = 11)D0D1D2D3D4D5D6D71:置位0:复位C口选择000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任选(可1
20、可0)D7 = 0(特征位)方式0:基本 I/O 方式 (查询时,任选C口做连络信号)方式1:选通I/O 方式(可查询或中断,固定C口做连络信号)方式2:双向I/O方式(只用于A口,PC3 PC7做连络信号)二、可编程并行接口电路二、可编程并行接口电路8255(2 2)82558255的工作方式的工作方式 a a)方式)方式0 0 基本的输入输出工作方式基本的输入输出工作方式 A A口、口、B B口及口及C C口高低口高低4 4位均可工作在方式位均可工作在方式0 0,而且,而且A A口口、B B口、口、C C口高口高/ /低四位是相互独立的,可以分别由程序设低四位是相互独立的,可以分别由程序设
21、定为输入或输出。因此,可以有定为输入或输出。因此,可以有2 24 4=16=16种输入种输入/ /输出组合。输出组合。 端口作为输出口时,输出数据与端口的引脚是直通端口作为输出口时,输出数据与端口的引脚是直通的。用方式的。用方式0 0可以实现可以实现CPUCPU与外设接口的无条件数据传送。与外设接口的无条件数据传送。8088 DB82538255D7-D0D7-D0A1A0CSA1A0CSPC0A1A0A1A0A15IO/ M1MHz时钟CLK1GATE1OUT1+5VPA3PA0字字型型译译码码PB7PB0LED8088DBK:波段开关二、可编程并行接口电路二、可编程并行接口电路8255(b
22、 b)方式)方式1 1 选通输入选通输入/ /输出方式输出方式 A A口和口和B B口分别用于数据的输入口分别用于数据的输入/ /输出。而输出。而C C口则作为数据传送的联络信号。口则作为数据传送的联络信号。A A口和口和B B口的口的联络信号都是三个,如果联络信号都是三个,如果A A或或B B只有一个口按方只有一个口按方式式1 1使用,则剩下的另外使用,则剩下的另外1313位口线仍然可按方位口线仍然可按方式式0 0使用。如果两个口都按方式使用。如果两个口都按方式1 1使用,则还剩使用,则还剩下下2 2位口线,这两位口线仍然可以进行位状态位口线,这两位口线仍然可以进行位状态的输入输出。的输入输
23、出。 方式方式1 1适用于查询或中断方式的数据适用于查询或中断方式的数据I/OI/O。 二、可编程并行接口电路二、可编程并行接口电路82551 1 0 0 1 1 1 1A A口方式口方式1 1输入控制字输入控制字1 11 1 1 1B B口方式口方式1 1输入控制字输入控制字PA7PA7 PA0PA0PC4PC4PC5PC5PC3PC3INTEINTEA APC4PC4与门与门IBFIBFA ASTBSTBA AINTRINTRA ARDRDD7D7 D0D0A A口方式口方式1 1输入与输入与B B口方式口方式1 1输入时相应的联络信号输入时相应的联络信号PB7PB7 PB0PB0PC2P
24、C2PC1PC1PC0PC0INTEINTEB BPC2PC2与门与门RDRDD7D7 D0D0IBFIBFB BSTBSTBB BINTRINTRB B外设外设外设外设二、可编程并行接口电路二、可编程并行接口电路8255l 对方式对方式1 1输入的端口,输入的端口,C C口提供与外部联络的信号有:口提供与外部联络的信号有: STB (STroBe) STB (STroBe) 选通信号(低电平有效)选通信号(低电平有效)由外设发出,送给由外设发出,送给8255A8255A,作用是将外设送来的数据锁存到作用是将外设送来的数据锁存到8255A8255A的输入端口。的输入端口。 IBF (Input
25、 Buffer Full) IBF (Input Buffer Full) 输入缓冲器满信号输入缓冲器满信号 8255A 8255A 发出,发出, 表示外设送来的数据已进入输入端口。表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后,当外设送来的数据送入输入端口后, 8255A8255A自动发出自动发出IBF (IBF (高电平有效)高电平有效) 。 INTR (INTerrupt Request) INTR (INTerrupt Request) 中断申请信号中断申请信号 (高电平或上升沿有效)(高电平或上升沿有效)8255A 8255A 发出,用来向发出,用来向CPUCPU
26、发出中断申请。发出中断申请。STBSTB、IBFIBF、INTEINTE均为时,均为时,8255A8255A自动发出自动发出INTRINTR。PA7PA7 PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFIBFSTBSTBINTRINTR二、可编程并行接口电路二、可编程并行接口电路8255l 对方式对方式1 1输入的端口,输入的端口,8255A8255A内部的控制信号有:内部的控制信号有: INTE (INTerrupt Enable)INTE (INTerrupt Enable)中断允许控制信号中断允许控制信号 作用是控制是否允许作用是控制是否允
27、许8255A8255A的中断申请信号的中断申请信号INTRINTR发出。发出。PA7PA7 PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFIBFSTBSTBINTRINTR 此信号无引出此信号无引出, 通过通过控制口控制口对对C C口相应位的置位口相应位的置位/ /复位复位设置设置允许或不允允许或不允许许。 A A口输入,口输入,对对PC4PC4置置位位, , 使使INTEA=INTEA=1 1, , 允许允许中断中断 对对PC4PC4复复位位, , 使使INTEA=INTEA=0 0, , 不允许不允许中断中断 A A口输出,口输出,对对PC6
28、PC6置置位位, , 使使INTEA=INTEA=1 1, , 允许允许中断中断 对对PC6PC6复复位位, , 使使INTEA=INTEA=0 0, , 不允许不允许中断中断 B B口,口,对对PC2PC2置置位位, , 使使INTEB=INTEB=1 1, , 允许允许中断中断 对对PC2PC2复复位位, , 使使INTEB=INTEB=0 0, , 不允许不允许中断中断l方式方式1 1下输出端口的联络信号下输出端口的联络信号A A口方式口方式1 1输出时输出时相应的联络信号相应的联络信号B B口方式口方式1 1输出时输出时相应的联络信号相应的联络信号1 1 0 0 1 1 0 0A A口
29、方式口方式1 1输出控制字输出控制字1 11 1 0 0B B口方式口方式1 1输出控制字输出控制字PA7PA7 PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFOBFA AACKACKA AINTRINTRA AWRWRD7D7 D0D0PB7PB7 PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBPC2PC2与门与门WRWRD7D7 D0D0OBFOBFB BACKACKB BINTRINTRB BACK ACK Acknowledge, OBF Acknowledge, OBF Output Buffer Full Out
30、put Buffer Full 响应信号,低电平有效响应信号,低电平有效 输出缓冲器满,高电平有效输出缓冲器满,高电平有效二、可编程并行接口电路二、可编程并行接口电路8255(c c)方式)方式2 2 双向数据传送方式双向数据传送方式 只有只有A A口才能选择这种工作方式,这口才能选择这种工作方式,这时时A A口既能输入数据又能输出数据。在这种方口既能输入数据又能输出数据。在这种方式下需使用式下需使用C C口的五位线作控制线。方式口的五位线作控制线。方式2 2适用适用于查询或中断方式的双向数据传送。于查询或中断方式的双向数据传送。 如果把如果把A A口置于方式口置于方式2 2下,下,B B口可
31、以工口可以工作在方式作在方式0 0或方式或方式1 1。若。若B B口工作在方式口工作在方式1 1,PCPC0202仍为该口的联络线。仍为该口的联络线。二、可编程并行接口电路二、可编程并行接口电路8255PA7PA7 PA0PA0PC6PC6PC7PC7ACKAACKAOBFAOBFAD7D7 D0D0RDRDWRWRPC4PC4PC5PC5STBASTBAIBFAIBFAINTEA1INTEA1PC4PC4INTEA2INTEA2PC6PC6与与门门PC3PC3INTRAINTRA或门或门与与门门二、可编程并行接口电路二、可编程并行接口电路8255d d)8255A8255A状态字状态字由端口
32、由端口C C读出读出可以通过读端口可以通过读端口C C得到相关的状态信息,供程序查询得到相关的状态信息,供程序查询。I/OINTEAIBFAINTRBIBFBINTEBINTRAI/Oa a)A A口、口、B B口方式口方式1 1输入:输入:D7 D6 D5 D4 D3 D2 D1 D0b b)A A口、口、B B口方式口方式1 1输出:输出:I/OINTEAOBFAINTRBOBFBINTEBINTRAI/OD7 D6 D5 D4 D3 D2 D1 D0c c)A A口方式口方式2 2:XINTE出OBFAINTRAXXINTE入IBFAD7 D6 D5 D4 D3 D2 D1 D0A A组
33、组B B组组A A组组B B组组二、可编程并行接口电路二、可编程并行接口电路8255例例1 1:对:对8255A8255A各口作如下设置:各口作如下设置:A A口方式口方式0 0,B B口方式口方式0 0,从,从A A口输口输入从入从B B口、口、C C口输出。口输出。(8255A C(8255A C口的地址为口的地址为63H)63H)工作方式控制字工作方式控制字1001000010010000,即,即90H90H。初始化程序段为:。初始化程序段为:MOV MOV AL,#90HAL,#90H;设;设B B口、口、 C C口输出,口输出, A A口输入口输入 ; A A口、口、B B口为方式口
34、为方式0 0OUTOUT63H,AL63H,ALININAL,60HAL,60H;从;从A A口输入口输入 OUTOUT61H,AL61H,AL;从;从B B口输出口输出 OUT OUT 62H,AL 62H,AL ;从;从C C口输口输出出二、可编程并行接口电路二、可编程并行接口电路8255例例2 2:把:把C C口的第六位口的第六位PC5PC5置为置为1 1。MOVMOV AL,#00001011 AL,#00001011;PC5PC5置位置位OUTOUT 63H,AL 63H,AL例例3 3:设控制寄存器地址为:设控制寄存器地址为PPI_CSPPI_CS MOV AL,00001110B
35、 MOV AL,00001110B OUT PPI_CS,AL; PC7=0 OUT PPI_CS,AL; PC7=0 MOV AL,00001111B MOV AL,00001111B OUT PPI_CS,AL ; PC7=1 OUT PPI_CS,AL ; PC7=1 MOV AL,00001110B MOV AL,00001110B OUT PPI_CS,AL ; PC7=0 OUT PPI_CS,AL ; PC7=0 执行上述程序后,在执行上述程序后,在8255A8255A的的PC7PC7输出一个窄脉冲。输出一个窄脉冲。PA7PA6PA0PB7PB6PB0LED7LED6LED0+5
36、VS7S6S0.D7D0RDWRCSIORIOW-DBG1G2AG2BCBAY0Y1Y7.8255AA9AENA2A3A4A5A6A7A8A1A0A1A074LS138&8088CPU例4(1)A(1)A口:方式口:方式0 0,输出;,输出;B B口:方式口:方式0 0,输入,输入8255A各端口地址:A口320H;B口321H ;C口322H ;控制寄存器323HA9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 0 1 0 0 0 X X工作方式控制字:工作方式控制字:1000 0010B1000 0010B二、可编程并行接口电路二、可编程并行接口电路8255初
37、始化及应用程序片段: MOV DX,323H ;初始化MOV AL,10000010BOUT DX,ALSUB DX,2;DX=321H,指向B口IN AL,DXNOT AL ;各位取反,闭合时为0,点亮LED应为1DEC DX;DX320H,指向A口OUT DX,AL三、可编程计数器三、可编程计数器/定时器定时器8253 定时控制在微机系统中具有极为重要的作用,计数是许多定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能过程控制领域常用的功能 定时器由数字电路中的计数电路构成,通过记录高精度晶定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的
38、时间间隔振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的脉冲信号时,它主要反映脉计数电路如果记录外设提供的脉冲信号时,它主要反映脉冲的个数,又称为计数器冲的个数,又称为计数器定时功能的实现方法定时功能的实现方法:(1)软件延时)软件延时:利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现,不用硬件,不用硬件,但占用但占用CPU时间、定时精度不高,随系统时钟频率改变时间、定时精度不高,随系统时钟频率改变(2)不可编程的硬件定时)不可编程的硬件定时:功能简单、定时时间在一定范围改变。功能简单、定时时间在一定范围改变。(3)可编程的硬件定时:)可编程的硬件定时:软硬
39、件结合、用可编程芯片构成一个软硬件结合、用可编程芯片构成一个方便灵活的定时电路,具有多种工作方式、能输出多种控制信号。方便灵活的定时电路,具有多种工作方式、能输出多种控制信号。三、可编程计数器三、可编程计数器/定时器定时器8253 8253/8254定时计数器 3 3个独立的个独立的1616位位计数器通道计数器通道 每个计数器有每个计数器有6 6种工作方式种工作方式 按二进制或按二进制或BCDBCD码计数码计数 每个计数器占每个计数器占用一个端口地用一个端口地址,三个控制址,三个控制寄存器共用一寄存器共用一个端口地址。个端口地址。三、可编程计数器三、可编程计数器/定时器定时器8253 计数器寄
40、存器计数器寄存器CRGATECLKOUT减减1计数器计数器CE输出锁存器输出锁存器OL(1 1)CLKCLK时钟输入信号:时钟输入信号: 此引脚上每输入一个时钟信号(下降沿),计数器的计数值减此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 1(2 2) GATEGATE门控输入信号:门控输入信号: 控制计数器工作,可分成电平控制和上升沿控制两种类型控制计数器工作,可分成电平控制和上升沿控制两种类型(3 3) OUTOUT计数器输出信号:计数器输出信号: 当一次计数过程结束(计数值减为当一次计数过程结束(计数值减为0 0),此引脚产生一个输出信号),此引脚产生一个输出信号q计数初值存于
41、计数器寄存器;计数初值存于计数器寄存器;q在计数过程中,减法计数器的值不断递减,而在计数过程中,减法计数器的值不断递减,而CRCR中的计数初值不变。中的计数初值不变。q输出锁存器用于写入锁存命令时,锁定当前计数值输出锁存器用于写入锁存命令时,锁定当前计数值三、可编程计数器三、可编程计数器/定时器定时器8253 三、可编程计数器三、可编程计数器/定时器定时器8253 82538253的编程的编程(1 1)82538253加电后的工作方式不确定加电后的工作方式不确定(2 2)82538253必须初始化编程,才能正常工作必须初始化编程,才能正常工作写入控制字写入控制字 控制字写入控制字控制字写入控制
42、字I/O端口地址(端口地址(A1A011)写入计数初值写入计数初值 计数值写入计数器各自的计数值写入计数器各自的I/O端口地址端口地址读取计数值读取计数值三、可编程计数器三、可编程计数器/定时器定时器8253 82538253的控制字格式的控制字格式SCSC1 1SCSC0 0RWRW1 1RWRW0 0M M2 2M M1 1M M0 0BCDBCD计数器计数器 读写操作读写操作 工作方式选择工作方式选择 十十/ /二进制二进制 D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0选择选择 控制控制 选择选择0 0 0 0 选选0 0计数器计数器0 1
43、 0 1 选选1 1计数器计数器1 0 1 0 选选2 2计数器计数器1 1 1 1 非法非法0 0 0 0 将计数器中的数据锁存到缓冲器将计数器中的数据锁存到缓冲器0 1 0 1 选计数器的低选计数器的低8 8位字节位字节1 0 1 0 选计数器的高选计数器的高8 8位字节位字节1 1 1 1 计数器两次操作计数器两次操作( (先低先低8 8位、后高位、后高8 8位位) )000 000 方式方式0 0001 001 方式方式1 1010 010 方式方式2 2011 011 方式方式3 3100 100 方式方式4 4101 101 方式方式5 50 0 选择二进制计数选择二进制计数1 1
44、 选择十进制计数选择十进制计数三、可编程计数器三、可编程计数器/定时器定时器8253 写入计数值写入计数值(a a)选择二进制)选择二进制计数值范围:计数值范围:0000HFFFFH0000HFFFFH0000H0000H是最大值,代表是最大值,代表6553665536(b b)选择十进制()选择十进制(BCDBCD码)码)计数值范围:计数值范围:000099990000999900000000代表最大值代表最大值1000010000三、可编程计数器三、可编程计数器/定时器定时器8253 读取计数值读取计数值(1 1)对)对8 8位数据线,读取位数据线,读取1616位计数值需分两次位计数值需分
45、两次(2 2)计数在不断进行,应该将当前计数值先行锁存,)计数在不断进行,应该将当前计数值先行锁存,然后读取:然后读取:向控制字向控制字I/OI/O地址:给地址:给82538253写入锁存命令写入锁存命令从计数器从计数器I/OI/O地址:读取锁存的计数值地址:读取锁存的计数值三、可编程计数器三、可编程计数器/定时器定时器8253 例:MOVMOVAL, 0011 0111B AL, 0011 0111B ; 对对0 0计数器送控制字计数器送控制字OUTOUT43H,AL43H,AL ;采用工作方式;采用工作方式3 3,按十进制计数,按十进制计数MOVMOVAX,1234H AX,1234H ;
46、1616位计数值位计数值, ,相当于对相当于对CLKCLK脉冲的分脉冲的分频系数频系数OUTOUT40H,AL 40H,AL ;先送低;先送低8 8位计数值位计数值MOVMOVAL,AHAL,AHOUTOUT40H,AL40H,AL ;再送高;再送高8 8位计数值位计数值MOVMOVAL,1001 0100B AL,1001 0100B ;对对2 2计数器送控制字计数器送控制字OUTOUT43H,AL43H,AL ;采用工作方式;采用工作方式2 2MOVMOVAL,61HAL,61H ;仅送;仅送8 8位计数值位计数值OUTOUT42H,AL42H,AL已知:已知: 0 0计数器地址:计数器地
47、址:40H40H0 0计数器地址:计数器地址:41H41H0 0计数器地址:计数器地址:42H42H控制寄存器地址:控制寄存器地址:43H43H三、可编程计数器三、可编程计数器/定时器定时器8253 读某个计数器的当前计数值至读某个计数器的当前计数值至CPUCPUD D7 7SC1XXXX00D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0SC0 选择计数器锁存命令无意义,也不影响原设置例:例: COUNT EQU 040HCOUNT EQU 040H;设;设0 0计数器的地址为计数器的地址为40H40H LPCN: MOV LPCN: MOVAL,1000
48、 0100B AL,1000 0100B ;对;对2 2计数器送锁存命令计数器送锁存命令 OUTOUT COUNT+3,ALCOUNT+3,AL IN INAL,COUNT+2 AL,COUNT+2 ;先读低;先读低8 8位位 MOVMOV AH,ALAH,AL IN INAL, COUNT+2 AL, COUNT+2 ;再读高;再读高8 8位位 XCHGXCHGAH,ALAH,AL CMP CMP AX,55AAH AX,55AAH ;比较确定是否等待;比较确定是否等待 JNZJNZ LPCNLPCN三、可编程计数器三、可编程计数器/定时器定时器8253 82538253的工作方式的工作方式
49、: :D7D6D4D3D0D1D2D5BCDM2 M1 M0RL1 RL0计数器计数器 读写操作读写操作 工作方式选择工作方式选择 十十/ /二二 选择选择 控制控制 (000 101000 101) 进制选择进制选择1 1)方式)方式0 0 计数结束产生中断计数结束产生中断2 2)方式)方式1 1 可编程的单次脉冲可编程的单次脉冲3 3)方式方式2 2 分频方式分频方式4 4)方式方式3 3 方波发生器方波发生器5 5)方式)方式4 4 软件触发的选通方式软件触发的选通方式6 6)方式)方式5 5 硬件触发的选通方式硬件触发的选通方式SC1 SC0方式方式0 0计数结束产生中断计数结束产生中
50、断 当当CPUCPU发出控制字并将发出控制字并将计数初值送完后,计数器即开始计数初值送完后,计数器即开始工作,输出信号工作,输出信号OUTOUT变为低电平。变为低电平。当当CECE计数器减到零,计数器减到零,OUTOUT立即输立即输出高电平。用户可利用此上升沿出高电平。用户可利用此上升沿向向CPUCPU申请中断。申请中断。 可用可用GATEGATE控制计数过程。控制计数过程。高电平允许计数;低电平停止计高电平允许计数;低电平停止计数,计数值保持不变。当数,计数值保持不变。当GATEGATE恢恢复高电平,可继续进行计数。复高电平,可继续进行计数。 在计数器工作期间,如在计数器工作期间,如又重复写
51、入计数初值,则计数器又重复写入计数初值,则计数器将按新装入的初值重新工作。将按新装入的初值重新工作。 方式方式0 0计数周期只有一计数周期只有一次,当次,当CECE减到零,则自动停止计减到零,则自动停止计数。数。方式方式1 1程序可控单稳态工作方程序可控单稳态工作方式式 控制字设定后控制字设定后OUTOUT变为高电变为高电平,写入计数初值后并不立即开始平,写入计数初值后并不立即开始计数计数,由,由GATEGATE启动计数。启动计数。GATEGATE信号信号上升沿出现后的下一个时钟周期的上升沿出现后的下一个时钟周期的下降沿下降沿OUTOUT变低电平,开始减变低电平,开始减1 1计数。计数。计数到
52、计数到0 0时时OUTOUT恢复成高电平。恢复成高电平。 OUT OUT输出负脉冲的宽度为计输出负脉冲的宽度为计数初值所规定的数初值所规定的CLKCLK脉冲周期数的宽脉冲周期数的宽度。方式度。方式1 1计数周期仅一次。当再给计数周期仅一次。当再给一个启动一个启动GATEGATE则又重新开始新一轮则又重新开始新一轮计数。计数器工作期间如计数。计数器工作期间如GATEGATE信号信号上升沿出现,计数器会重装计数初上升沿出现,计数器会重装计数初值并重新开始计数。值并重新开始计数。 如计数如计数期间写入新的计数期间写入新的计数初值,要等当前计数值减至零,且初值,要等当前计数值减至零,且GATEGATE
53、再次出现上升沿后才将再次出现上升沿后才将CRCR中新中新的初值装入的初值装入CECE,按新的初值开始计,按新的初值开始计数工作。数工作。方式方式2 2计数分频工作方式计数分频工作方式 方式方式2 2如同一个如同一个N N分频计数分频计数器,如计数初值为器,如计数初值为N N,则每,则每N N个输入个输入脉冲(脉冲(CLKCLK)就输出一个脉冲。方式)就输出一个脉冲。方式2 2反复计数,分频输出。反复计数,分频输出。 若若GATEGATE维持为高电平,写维持为高电平,写入控制字后入控制字后OUTOUT变高电平。写入计数变高电平。写入计数初值后即开始计数。当计数到初值后即开始计数。当计数到CE=1
54、CE=1时,时,OUTOUT端输出宽度为一个时钟周期端输出宽度为一个时钟周期的负脉冲。然后又自动重装初值,的负脉冲。然后又自动重装初值,开始下一轮计数。开始下一轮计数。 计数过程中可由计数过程中可由GATEGATE控制控制暂停(暂停(GATE=0GATE=0)或重启()或重启(GATE=1GATE=1)。)。 当当GATEGATE为高电平,在计数为高电平,在计数过程中可写入新的计数初值,对现过程中可写入新的计数初值,对现行计数没有影响。当现行计数结束行计数没有影响。当现行计数结束后,才将新的初值从后,才将新的初值从CRCR装入装入CECE中,中,开始新的计数。开始新的计数。方式方式33方波频率
55、发出器方波频率发出器 方式方式3 3在计数过程中,在计数过程中,OUTOUT输出方波波形,前一半为高电平、输出方波波形,前一半为高电平、后一半为低电平。然后不断重复。后一半为低电平。然后不断重复。 当当GATE=1GATE=1,送入控制字后,送入控制字后OUTOUT变为高电平。置入变为高电平。置入CRCR初值后下初值后下一个一个CLKCLK下降沿开始计数。当初值下降沿开始计数。当初值N=N=偶数时,偶数时,OUTOUT输出是高、低对称输出是高、低对称方波;当方波;当N=N=奇数时,奇数时,OUTOUT输出为近输出为近似方波。似方波。 计数过程中可由计数过程中可由GATEGATE控制控制暂停或重
56、启计数。若在暂停或重启计数。若在OUTOUT高电平高电平期间,期间,GATEGATE变低,则暂停计数过变低,则暂停计数过程,直到程,直到GATEGATE变高,计数器又重变高,计数器又重装初值开始计数。而在装初值开始计数。而在OUTOUT为低电为低电平期间,平期间,GATEGATE变低,变低,OUTOUT输出立即输出立即变高电平。而当变高电平。而当GATEGATE变高电平后,变高电平后,计数又重新从初值开始计数。计数又重新从初值开始计数。方式方式44软件触发选通方式软件触发选通方式 是一种由是一种由CPUCPU写入计数初值写入计数初值即靠程序启动计数的工作方式。即靠程序启动计数的工作方式。 送入
57、控制字后送入控制字后OUTOUT变为高电变为高电平。当写入计数初值后计数器开始平。当写入计数初值后计数器开始计数(即软件启动)。计数到计数(即软件启动)。计数到0 0后后停止计数。停止计数。OUTOUT输出为低电平,持输出为低电平,持续一个续一个CLKCLK脉冲周期后再恢复成高脉冲周期后再恢复成高电平不变。这种方式计数是一次性电平不变。这种方式计数是一次性的。只有当的。只有当CPUCPU再将计数初值写入再将计数初值写入CRCR计数器,才会启动另一次计数过计数器,才会启动另一次计数过程。程。 GATEGATE为高电平时允许计数;为高电平时允许计数;低电平时停止计数。低电平时停止计数。GATEGA
58、TE恢复成高恢复成高电平后,从原先初值开始作减电平后,从原先初值开始作减1 1计计数。数。 计数时若写入新的初值,不计数时若写入新的初值,不影响当前计数状态。当计数结束输影响当前计数状态。当计数结束输出一个负脉冲后,计数器按新写入出一个负脉冲后,计数器按新写入的计数初值开始计数。的计数初值开始计数。方式方式55硬件触发选通方式硬件触发选通方式 与方式与方式1 1类似,写入控制字类似,写入控制字及装入初值后不能启动计数。只有及装入初值后不能启动计数。只有在在GATEGATE脉冲的上升沿才能触发计数。脉冲的上升沿才能触发计数。 写入控制字后写入控制字后OUTOUT为高电平,为高电平,写入初值后并不
59、立即计数,仅当写入初值后并不立即计数,仅当GATEGATE上升沿出现后启动计数。计数上升沿出现后启动计数。计数到到0 0后后OUTOUT输出一个时钟周期的低电输出一个时钟周期的低电平后恢复高电平,并停止计数。平后恢复高电平,并停止计数。 当计数中出现当计数中出现GATEGATE脉冲,重脉冲,重装初值并重新开始计数。装初值并重新开始计数。 当计数中写入新的计数初值,当计数中写入新的计数初值,只要不出现只要不出现GATEGATE脉冲,对当前计数脉冲,对当前计数没有影响。只有当没有影响。只有当GATEGATE脉冲出现后,脉冲出现后,才能将才能将CRCR中初值装入中初值装入CECE,开始新的,开始新的
60、计数。计数。三、可编程计数器三、可编程计数器/定时器定时器8253 82538253工作方式工作方式0 05 5的输出波形的输出波形 由软件触发计数 (送新的计数值) 方式0、方式4 由硬件触发计数 (由GATE触发) 方式1、方式5 分频计数器输出(产生序列脉冲) 方式2、方式3方式2OUT4 3 2 1 0(4) 3 2 1 0方式0方式1方式3方式5方式4OUT4 3 2 1 0OUT(n=4)4 3 2 1 04 2 4 2 4 2 4 2OUT4 3 2 1 0OUTOUT4 3 2 1 0软件触发产生选通脉冲硬件触发产生选通脉冲方波发生器可编程单稳态方式计数结束产生中断序列脉冲发生器三、可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版广州商业地产租赁代理合同4篇
- 2025年美团商家合作运营保障协议3篇
- 2025年度个人市场调研员雇佣合同3篇
- 2024年项目安全培训考试题加答案可下载
- 二零二五年度电商虚拟现实技术应用合作协议4篇
- 二零二四年度校园食材快检服务外包合同
- 2025年中国针织机行业发展前景预测及投资战略研究报告
- 二零二五版智能家居木工安装与分包协议书4篇
- 2025年度租赁住宅转租权转让及风险控制合同4篇
- 二零二五年度木屋建筑安装工程监理合同范本4篇
- JBT 14588-2023 激光加工镜头 (正式版)
- 2024年四川省成都市树德实验中学物理八年级下册期末质量检测试题含解析
- 九型人格与领导力讲义
- 廉洁应征承诺书
- 2023年四川省成都市中考物理试卷真题(含答案)
- 泵车述职报告
- 2024年山西文旅集团招聘笔试参考题库含答案解析
- 恢复中华人民共和国国籍申请表
- 管理期货的趋势跟踪策略 寻找危机阿尔法
- 沥青化学分析试验作业指导书
- 脑出血的护理课件脑出血护理查房PPT
评论
0/150
提交评论