版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1概述
8.1.1接口的功能
8.1.2接口与系统的连接
8.2并行通行和并行接口芯片
8.2.1并行通信
8.2.28255A可编程并行接口芯片
8.3串行通信和串行接口芯片
8.3.1串行通信的基本概念
8.3.28251A可编程串行通信接口
8.4计数器/定时器接口电路
8.4.1可编程计数器/定时器的工作原理
8.4.28253可编程计数器/定时器
8.5模拟通行道接口
8.5.1概述
8.5.2数/模(D/A)转换器
8.5.3模/数(A/D)转换器第8章接口技术8.1.1接口的功能8.1概述接口的功能地址译码和I/O设备的选择信息的输入与输出信息的转换功能联络和中断管理功能可编程功能错误检测功能接口与系统的连接
总线收发器和相应逻辑电路
联络信号
地址译码器菊花链逻辑
输入/输出设备地址总线控制总线数据总线数据/状态/控制控制
读/写使能存储器和I/O选择片选寄存器选择状态寄存器控制寄存器
数据输入寄存器和数据输出寄存器控制线数据线DMA控制器中断请求中断回答信号图8-1典型I/O接口与系统总线连接逻辑图8.1.28.2.1并行通信8.2并行通信和并行接口芯片●所谓并行通信就是把一个字符的全部n个数据位用n条线同时进行传输。与串行通信相比,它具有传输速度快、信息率高等优点。计算机外设D0D1D2D3D4D5D6D7计算机外设并行通信串行通信数据输出回答数据输出准备好数据输入回答数据输入准备好图8-2并行接口连接外设示意图CPU
控制寄存器
输入缓冲寄存器
输出缓冲寄存器
状态寄存器数据总线读信号写信号复位A0中断请求
地址译码片选A1并行接口输入设备输出设备数据输出数据输入8.2.28255A可编程并行接口芯片8255A的内部逻辑结构(1)外设接口部分(数据端口A、B、C)1)端口A。端口A内部包含一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器。2)端口B。端口B内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。3)端口C。端口C内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。●●●
●这两组控制电路,根据芯片内部的控制寄存器内容(存放着CPU输出的方式选择控制字)和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。A组控制电路控制端口A、端口C高4位(PC7~PC4)。B组控制电路控制端口B、端口C低4位(PC3~PC0)。(2)内部逻辑(A组和B组控制电路)1)读/写控制逻辑电路2)数据总线缓冲器●它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入/输出,以及CPU用输出指令向8255A发出的控制字和用输入指令向8255A发出的控制字和用输入指令从8255A读入的外设状态信息,都是通过这个缓冲器传送的。(3)CPU接口部分●地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。2.
8255A的引脚及功能8255A的引脚与外设相连的引脚与CPU相连的引脚PA7~PA0PB7~PB0PC7~PC0数据线引脚控制线引脚3.
8255A的控制字(1)方式选择控制字1D6D5D4D3D2D1D0(2)端口C置位/复位控制字0D6D5D4D3D2D1D0(1)方式选择控制字1)8255A有三种工作方式方式0——基本的输入/输出方式方式1——选通的输入/输出方式方式2——双向传输方式PC0~30=输出1=输入PB0=输出1=输入B组方式0=方式01=方式1PC4~70=输出1=输入PA0=输出1=输入A组方式00=方式001=方式110=方式211=不用特征位D0D1D2D3D4D5D61方式选择控制字【例8-1】设在某8086系统中有一个8255A芯片,8255A的D7~D0接到8086CPU数据总线的低8位,8255A的A1、A0分别接到CPU地址总线的A2、A1。若已知该芯片的四个端口地址分别为0E0H、0E2H、0E4H和0E6H,要求该8255A芯片工作在如下方式:端口A——方式0,输出端口B——方式0,输入端口C高四位——输出端口C低四位——输入方式选择控制的的输出:MOV AL,83HOUT 0E6H,AL●端口C经常用于配合端口A和B工作,为它们提供控制信号和状态信号,因此端口C的各个位经常作为控制位或状态位来使用,为了方便用户单独设置某一个控制位或状态位,8255A提供了端口C置位/复位控制字。(2)端口C置位/复位控制字X0XD3D1D0D2XD3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7D0功能1PCX置10PCX置0注意:C口按位置0/1命令字必须写入控制口MOVAL,0EHMOVDX,00E6HOUTDX,ALMOVAL,0BHOUTDX,AL例:假设某系统中8255A的控制口地址为0E6H,则以下程序执行的具体操作是什么?(1)方式0——基本输入/输出方式4.
8255A的工作方式●两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。●四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。●各端口输入时无锁存,输出时有锁存。特点方式0与时序数据有效tARtIR端口数据有效tHRtRAtRDtDFtRRRD输入CS,A1,A0D7~D0方式0输入时序tAWtDW数据有效tWDtWAtWBtWWWR输出(端口输出)CS,A1,A0D7~D0(CPU输出数据)方式0输出时序【例8-2】某接口设计采用一片8255A实现。其端口A连接并行打印机,端口B连接纸带读入机,8255A工作于方式0,以查询方式传送数据。PC4PA7~0PC2PC3PB7~0PC58255A字符打印机纸带读入机DATASTROBEBUSY数据READYDRIVERIGHT8255A端口地址为:端口A:00E0H端口B:00E2H端口C:00E4H控制口:00E6H1)8255A初始化程序段MOVAL,83HOUT0E6H,ALMOVAL,09HOUT0E6H,ALMOVAL,0BHOUT0E6H,AL2)打印机驱动程序段LPST:INAL,0E4HANDAL,04HJNZLPSTMOVAL,CLOUT0E0H,AL MOVAL,08HOUT0E6H,ALINCALOUT0E6H,AL3)纸带读入机驱动程序段RDST:MOVAL,0AHOUT0E6H,ALRDLP:INAL,0E4HANDAL,08HJZRDLPINAL,0E2HMOVCL,ALMOVAL,0BHOUT0E6H,AL●两个8位数据输入/输出端口(均带锁存功能)A和B,在端口C的配合下工作。●端口C中有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。●若只有一个数据端口工作在方式1,那么另一个数据端口及端口C余下的五位可工作于方式0;若两个数据端口都工作于方式1,那么端口C余下的两位仍可由程序指定作为输入或输出位,也可进行置位/复位操作。特点(2)方式1——选通的输入/输出方式方式1输入(选通型输入)及时序10111/0XXXA口方式11=PC7、6为入线0=PC7、6为出线方式选择命令字输入PC4PC5PC3INTEAPC7~6PA7~0空闲STBAIBFAINTRAA口选通型输入1.A口方式1输入的预置当方式字=B0H写入控制口之后,A口即工作在选通型输入,此时:PC4PC5PC3INTEAPC7~6PA7~0空闲STBAIBFAINTRAA口选通型输入PC7、PC6空闲,输出线?输入线?受方式字D3控制PA7~PA0即为输入线PC4自动定义为入线,称为STBAPC5自动定义为出线,称为IBFAPC3自动定义为出线,称为INTRA它们是输出线?输入线?不再受方式字D3、D0控制PC4PC5PC3INTEAPC7~6PA7~0空闲STBAIBFAINTRAA口选通型输入
当INTEA=1之后,若IBFA=1,则A口提出中断请求2.A口方式1输入时,A口的中断管理用C口置0/置1命令字使PC4=1,则INTEA=1,允许A口中断用C口置0/置1命令字使PC4=0,则INTEA=0,禁止A口中断
INTEA为A口的中断允许触发器,当A口定义为方式1输入时:
注意:中断允许触发器只能受CPU控制,外设信号STBA不能使其置0/1PC2PC1PC0INTEBPB7~0STBBIBFBINTRBB口选通型输入1XXXX11XB口方式1输入方式选择命令字5.方式1输入的时序图tSITtSIBtRITtRIBtPStPHtSTSTBIBFINTR方式1输入时序RD来自外设的输入数据STBIBFINTRRD来自外设的输入数据方式1输入操作是由STB=引发的,STB=后:
外设数据→8255,IBF=STBIBFINTRRD来自外设的输入数据
满足下列条件,提中断请求:STB信号结束(STB脉宽可以很宽)IBF=1,(外设数据确已锁存)INTE=1(中断允许触发器置1)
服务程序执行IN指令之后:
RD信号前沿使INTR=,后沿使IBF=0
从而结束一次数据输入过程STBIBFINTRRD来自外设的输入数据6.方式1输入时,CPU~8255信息交换的方式
可以用中断方式
可以用查询方式,输入查询应查询IBF,不应该查询STB!!!∵STB脉冲是外设送来,它最小可小到500ns,而在500ns的时间内正好运行CPU的查询指令是不可能的三、方式1输出(选通型输出)及时序10101/0XXXA口方式11=PC4、5为入线0=PC4、5为出线方式选择命令字PC6PC7PC3INTEAPC4、5PA7~0空闲ACKAOBFAINTRAA口选通型输出输出PC6PC7PC3INTEAPC4、5PA7~0空闲ACKAOBFAINTRAA口选通型输出1.A口方式1输出的预置当方式字=A0H写入控制口之后,A口即工作在选通型输出方式,PC4、PC5空闲,出?入?受方式字D3控制PA7~0为输出线PC6自动定义为入线,称ACKAPC7自动定义为出线,称OBFAPC3自动定义为出线,称INTRA输出?输入?不再受方式字D3、D0控制此时:PC6PC7PC3INTEAPC4、5PA7~0空闲ACKAOBFAINTRAA口选通型输出2.方式1输出时A口的中断管理
INTEA为A口的中断允许触发器,当A口定义为方式1输出时:用C口置0/置1命令字使PC6置1,则INTEA=1,允许A口中断用C口置0/置1命令字使PC6置0,则INTEA=0,禁止A口中断
当INTEA=1之后,若OBFA=1,则A口提中断
INTEA只能受CPU控制,外设ACKA信号不能改变其状态ACKBOBFBINTRB1XXXX10XB口方式1输出方式选择命令字PC2PC1PC0INTEBPB7~0B口选通型输出5.方式1输出的时序图tAXtWOBtAOBtAITtWBtWITOBFINTR方式1输出时序WR送往外设数据ACK数据有效方式1输出时CPU针对8255数据口执行OUT指令
WR信号结束后,数据出现在外设数据线上OBF有效(向外设通报其数据线信息可用)
使INTR无效,撤销中断请求OBFINTRWR输出ACK
外设取走数据后,发来ACK,ACK信号前沿使OBF无效,后沿提中断。OBFINTRWR输出ACK工作在方式1输出时端口提中断的条件:OUT指令结束外设发出ACK信号且使OBF=1中断允许触发器置1OBFINTRWR输出ACK6.方式1输出时,CPU~8255交换信息的方式
中断方式
查询方式:查询OBF,当OBF=1(不满)时可送下一个数据【例8-3】8255A工作于方式1,可以支持CPU以中断方式和外设进行通信,图中使用8255A的接口电路,其中字符打印机以中断方式工作。OBFACKIR38259APB0~7PC3PC7PC0PC6PC1、2、4、5PA7~08255A字符打印机DATASTROBEACKNLG未用端口A:00D0H端口B:00D2H端口C:00D4H控制口:00D6HMAIN:MOVAL,0A0HOUT0D6H,ALMOVAL,01HOUT,0D6H,ALMOVAX,0MOVES,AXMOVAX,0100HMOVES:[002CH],AXMOVAX,3200HMOVES:[002EH],AXMOVAL,0DHOUT0D6H,ALSTI8255A初始化及设置中断矢量程序:端口A:00D0H端口B:00D2H端口C:00D4H控制口:00D6H中断服务子程序:PUSHAXPUSHBXMOVBX,DATAPTRMOVAL,[BX]OUT0D0H,ALMOVAL,0OUT0D6H,ALINCALOUT0D6H,ALINCBXMOVDATAPTR,BXPOPBXMOVAL,20HOUT20H,ALPOPAXSTIIRET(1)方式2——双向传输方式4.
8255A的工作方式只有A口可以工作在双向方式当A口工作在双向方式时,B口可以工作在基本型I/O(不需要联络线),也可以工作在选通型I/O(使用PC0、1、2做联络线)方式选择命令字11XXXD2D1D0A口双向1=PC2~0为入线0=PC2~0为出线00B口方式0输出01B口方式0输入10B口方式1输出11B口方式1输入PC7PC6PC3INTE1PC2~0PA7~0PC4PC5空闲INTRAACKAOBFAIBFASTBAINTE2
方式0的特点:8255和外设交换信息时,不需要联络线方式1、2的特点:8255和外设交换信息时,需要联络线五、8255小结1.8255工作方式
A口可以工作在方式0、1、2,B口可以工作在方式0、1,不能工作在方式2,C口可以工作在方式0
C口分为PC7~4、PC3~0二部分,但程序员对C口的读写是按字节操作的
A口工作在方式2时,B口只能工作在方式0、1(限制:CPU只能用查询而不能用中断和B口交换数据)
数据口工作在方式1、2时,CPU用:(a)查询方式:输入查询测试IBF,输出查询测试OBF2.CPU与8255交换信息的方式数据口工作在方式0时,CPU采用无条件传送和查询方式。(b)中断方式:由于8255本身不能向CPU回送中断向量,所以必须用8259管理。在系统外扩8255时,8255的INTR应接到系统机从8259的IRX,作为用户中断来处理3.中断允许触发器的置0、置1对程序员来讲:工作在方式1、方式2时,8255内部有4个中断允许触发器,用“C口专用的置0/1命令字”可以使它们置0/1A口方式1入A口方式1出B口方式1入B口方式1出A口双向INTEAPC4PC6INTEBPC2PC2INTE1PC6INTE2PC4方式控制位中断允许触发器如:A口工作在方式1入时,执行:MOVAL,00001001BOUT8255控制口,AL;即可使INTEA置1,允许中断4.8255的初始化编程
工作在方式0时:方式选择命令字→控制口
工作在方式1、2时:a)方式选择命令字→控制口b)允许中断(或禁止中断)的命令字→控制口8255A在键盘和数码管显示接口中的应用●键盘扫描的硬件采用矩阵式结构。●倘若键盘具有m×n个键,那么键盘矩阵应有m行n列,其中m行由一个输出端口控制,n列由一个输入端口控制。当某一行输出为低电平时,如果某一列上有键按下,则该列的输入也为低电平,这个低电平通过列输入端口读入CPU。通过识别行和列线上的电平状态,即可以识别键是否闭合,即键是否按下。(1)键盘接口6.快速检查程序:START:MOVDX,PORT_CTLMOVAL,81HOUTDX,ALMOVAL,0F0HMOVDX,PORT_COUTDX,ALINAL,DXANDAL,0FHCMPAL,0FHJZOTHERCALLDELAYWAIT_IN:DONE:MOVBL,0MOVCL,10HMOVBH,04HMOVAL,CLMOVDX,PORT_COUTDX,ALROLAL,1MOVCL,ALINAL,DXANDAL,0FHCMPAL,0FHJNZFOCLADDBL,04HDECBHFROW:FCOL:PROCE:DONE:JNZFROWJMPDONERORAL,1JNCPROCEINCBLJMPFCOL(2)1)七字段LED显示器●LED的主要部分为七段发光二极管,如图8-20a所示。七个字段分别称为a、b、c、d、e、f、g段,通常还有一个小数点段DP。通过七段的亮与灭的组合,可以显示0~9和A~F等字符,从而实现十六进制数的显示。2)利用8255A实现LED显示接口●8255A的端口A用来输出显示字符的七段LED代码,故端口A为段控端口。255A的端口B用来控制LED的显示位,即位控端口。LED显示接口8.3串行通信和串行接口芯片8.3.1串行通信的基本概念串行通信:用一根信号线将数据逐位顺序传送串行通信的优势:通信线路少,在远距离通信时可以极大地降低成本;适合于远距离数据传送,也常用于速度要求不高的近距离数据传送PC系列机上有两个串行异步通信接口,键盘/鼠标器/显示器与主机间亦采用串行数据传送。1.全双工方式与半双工方式发送器接收器接收器发送器A站B站全双工方式示意图发送器接收器发送器接收器A站B站半双工方式示意图2.同步通信和异步通信一般将若干字符组成一个信息组,字符一个接着一个传输。在每组信息(通常称之为信息帧)开始要加上1至2个同步字符。在每组信息结束处加一个校验字段。在传输线上没有字符传输时,要发送专用的“空闲”字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙。同步通信同步字符字符校验同步字符~~~~字符字符信息帧同步通信可以分为内同步和外同步两种。内同步:对同步字符的检测和同步控制,在串行I/O接口芯片内部进行。内同步可分为单同步(只有一个字节的同步字符)和双同步(有两个字节的同步字符)。外同步:对同步字符的检测在串行I/O接口芯片电路外部进行,当外部硬件电路检测到同步信号时,就给串行接口发送一个同步信号SYNC。当串行I/O接口芯片收到同步信号后,立即进行数据传输。是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的通信方式。异步通信起始位——每个字符开始传送的标志,起始位采用逻辑0电平起始位奇偶校验停止位空闲位数据位低位高位字符0/10/10/10/110111…数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送奇偶校验位——该位可用于校验或数据标识:可选择奇检验、偶校验或无校验位停止位——表示该字符传送结束。停止位为逻辑1电平,可选择1、1.5、2位。空闲位——传送字符之间的逻辑1电平,表示没有进行传送异步通信必须遵循的两项规定为:●每个字符传送时,必须前面加一位起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,这一帧应该是,前面一个起始位,接着七位ASCII编码,之后是一位奇偶校验位,最后是一位停止位,共10位为一帧。(1)字符的格式
(2)波特率(BaudRate)●波特率就是传送数据位的速率,用位/秒(bit/s,bps)表示。例如,数据传送的速率为120字符/秒,每帧包括10个数据位,则传送波特率为:
10×120=1200bit/s=1200Bd3.信号的调制与解调●为了保证信号传送的正确性,故在长距离通信中,采用调制/解调器来改善信号的品质。●调制器(Modulator)把数字信号转换为模拟信号,经过传输线送到目的地后,再用解调器(Demodulator)检测此模拟信号,并把它转换成数字信号,在实际应用中,通常把调制器和解调器做在一起,构成调制/解调器。在通讯中,Modem起着传输信号的作用,是一种数据通讯设备,简称DCE接收设备和发送设备称为数据终端设备,简称DTE。调制器解调器010010010010f1f2FMAM0100110度180度PM4.RS-232-C接口●RS-232-C是EIA(ElectronicsIndustringAssociation)推荐的国际通用的一种串行通信接口标准。实际上,它是一个25芯或者9芯的D型连接器。1)近距离连接(<15m)只用3条线(发送线TXD,接收线RXD,信号地线)TXDRXDTXDRXDA机B机GNDGND2.远距离连接(>15m)1)需用MODEM和专用电话线TTL输入TTL输出接口8251MC1489MC1488RS232C输入RS232C输出●RS-232-C除了对信号引脚的定义作了规定外,对信号电平标准也作了规定。逻辑“1”=-3V~-15V“0”=+3V~+15V0.3V+3V——+15V3.0V-3V——-15V1.8251A的基本性能
8.3.28251A可编程串行通信接口(1)外设接口部分(数据端口A、B、C)(1)可工作于同步方式或异步方式。(2)同步方式下,每个字符可为5~8位,可内同步或外同步,能自动插入同步字符。(3)异步方式下,每个字符可为5~8位,时钟速率为传输波特率的1、16倍或64倍。(4)自动产生中止字符,自动检测和处理中止字符;可产生1、1.5个或2个停止位;可检测假启动位。(5)同步方式下,波特率为0~64Kb/s;异步方式下,波特率为0~192Kb/s。(6)全双工方式;双缓冲的发送器和接收器。(7)具有自动错误检测功能,可检测奇偶错、数据丢失和帧错误,用户可通过输入状态寄存器内容进行查询。(8)全部输入/输出与TTL兼容。1.8251A的基本性能
8.4计数器/定时器接口电路定时功能的实现方法:(1)软件延时利用微处理器执行一个延时程序段实现不用硬件,但占用CPU、定时精度不高,随系统时钟频率改变(2)不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变(3)可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成定时电路具有多种工作方式、能够输出多种控制信号可编程计数器/定时器具有两种功能:作为计数器作为定时器8.4.1可编程计数器/定时器的工作原理数据总线
RD地址线WRCLK
CS
A0
GATE
OUT
预置计数值寄存器计数器控制寄存器译
码器状态寄存器计数器输出寄存器1A预置计数值计数器输出寄存器控制寄存器状态寄存器四个寄存器8.4.2
8253可编程计数器/定时器1.8253基本情况8253具有3个独立的16位计数器通道,分别称为:计数器0通道计数器2通道计数器1通道8253的内部结构8253的内部结构如图
数据总线缓冲器
计数器0
读/写逻辑
控制字寄存器
计数器1
计数器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7~D0RDWRA0A1CS内部总线数据线D7~D0——8位,双向、三态,用于8253与CPU之间的数据传送。包括:向8253写控制字,送计数初值及读计数器的现行值。计数器时钟输入CLK0~CLK2——计数/定时的基值信号8253:0~2MHz计数器门控输入信号GATE0~GATE2——启动或控制计数/定时信号;计数器输出信号OUT0~OUT2——计数结束、定时到输出信号或分频输出信号。CSRDWRA1A0操作01000对计数器0设置计数初值01001101010201011设置控制字或者给一个命令00100从计数器0中读出当前计数值001011001102计数初值—在CLK的下降沿时,计数器执行部件从初值开始作减1计数;其中0是最大初值,1是最小初值;读计数值——将某计数器的计数值读到CPU中
读到的是执行输入指令瞬间计数器的现行值。16位计数值要分两次读至CPU,故必须将数据锁存。计数器初始值=时钟频率×T(T为定时时间)若以二进制数制计数,则0相当于216=65536若以BCD(十进制)数制计数,则0相当于104=1000016位当前计数值锁存器16位减一计数器16位计数初值寄存器&CLKGATEOUTMSBLSBLSBMSB(减1至0时)装入初值锁存后读出当前值8253的内部的各计数器的结构计数器读/写格式工作方式数制D0D1D2D3D4D5D6D70=二进制1=BCD000方式0001方式1*10方式2*11方式3100方式4101方式500计数器锁存命令10只读/写最高有效字节(高八位)01只读/写最低有效字节(低八位)11先读写最低有效字节然后读写最高有效字节00选择计数器001选择计数器110选择计数器211非法选择8253的控制命令A1A0112.8253初始化编程和工作方式●设置初值命令用来设置计数的初始值。根据在控制字中D5D4位的约定,计数初始值可以是8位,也可以是16位。
设置初值命令●8253在设置初值后就开始工作了。锁存命令是为了配合CPU读取计数器当前值而设置的。锁存命令(1)8253初始化编程编程时必须遵守以下两条原则:其二,初始值设置时,要符合控制字中的格式规定。是只写低字节,还是只写高字节,或者是先写低字节,后写高字节。其一,对计数器设置计数初始值前必须先将控制字写入(2)8253的工作方式8253具有6种不同的工作方式,它们遵守以下三点基本规则:其一,控制字写入8253时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。其二,计数器初始值写入以后,要经过一个时钟周期,减法计数器才开始工作。其三,一般情况下,在时钟脉冲CLK的上升沿时,采样门控信号。8253的6种工作方式1)方式0——计数结束中断●在此种方式下,控制字写入8253的控制字寄存器后,使OUT输出端变低。开始计数要有两个条件:其一是门控GATE信号必须为高电平其二是写入计数器初值。满足以上两个条件计数器开始计数,直到计数到“0”时,OUT输出端变高*CW写入,OUT=0;*写入初值后,通道开始计数;*计数到零,OUT=1;*计数过程中,GATE=0,计数暂停;*计数过程中可改变计数值;CLKGATE(高)12123CWLSB=3WROUT0LSB=2方式0特点第一,计数器只计数一遍。第二,在计数过程中,可由门控信号控制暂停。第三,在8253计数过程中可以改变计数值。第四,若用于中断方式,可把OUT输出信号接到8259的中断请求输入端,以满足中断要求。2)方式1——可重复触发的单稳态触发器●在这种方式下,CPU执行输出指令向8253写入控制字之后,输出OUT将保持为高电平(若原为低,则变为高)。●当CPU又写入计数值后,计数器并不开始计数,要等到外部门控脉冲GATE启动之后的下一个输入CLK脉冲的下降沿开始计数。●该方式可输出一个单稳脉冲,若外部再次触发启动,则再次产生一个单稳脉冲。●开始计数时输出OUT变低,在整个计数过程中,输出OUT都维持为低电平,直到计数到0,输出OUT方变为高。*写入控制字OUT=1,写入初值后不立即开始计数;*GATE启动计数,OUT=0;*计数到0,OUT=1。*计数中,可重新启动;*计数中,可改变计数值,再次启动有效。WRCLKGATEOUTCWLSB=3321记数结束开始记数开始记数LSB=44在方式1下,8253的主要特点第三,在计数过程中,CPU改变初始计数值,这时计数过程不受影响。只有再次触发启动后,计数器才开始按新计数值对应的脉冲宽度输出单稳脉冲。第一,若设置的初始计数值为N,则输出的单稳脉冲的脉宽为N个CLK时钟周期。第二,可重复触发。第四,在计数过程中,若外部GATE触发脉冲提前到来(即计数器未减至0时),则在触发脉冲上升沿之后的下一个CLK脉冲的下降沿时,计数器将重新开始计数。3)方式2——分频器●当计数到1时,输出OUT变低,经过一个CLK周期输出OUT变高,并且计数器开始重新计数。●在这种方式下,CPU向8253输出控制字后,计数器输出OUT变高。在写入计数值后,计数器在下一个CLK的下降沿对输入时钟CLK计数。*写入控制字OUT=1,写入初值后开始计数;*计数到1,OUT=0;*一个CLK周期后,OUT=1,重新计数。*计数过程中,GATE=0,计数暂停,GATE变高后重新计数;*计数过程中可改变计数值;新的计数值在下一次有效。n=3CLKWRGATEn=5OUT32151432方式2的主要特点第一,不用重新设置计数值,通道能连续工作,输出固定频率的脉冲。第三,在计数过程中可以改变计数值,这对正在进行的计数过程没有影响.方式2改变计数值是在下次计数周期有效。第二,计数过程可以由门控脉冲GATE控制。当GATE为低电平时,暂停计数。GATE变为高电平后的下一个CLK脉冲使计数器按原初始值重新开始计数。4)方式3——方波发生器●方式3和方式2的工作类似,它们的输出都是周期性的,但方式3的输出为方波。方式3下,计数过程中OUT有一半时间为高,另一半时间为低。所以,若计数值为N,则方式3的输出是周期为N个CLK脉冲的方波。●这种方式下,当CPU将控制字用输出指令写入8253后,其输出OUT为高,CPU继续写入计数值后就自动开始计数,输出保持为高。当计数到一半计数值时,输出变为低,直至计数到0,输出又变高,重新从初始计数值开始计数。*若计数值为偶数,每个CLK使计数值减1,计到N/2,OUT改变状态,继续计数到1。*若计数值为奇数。54321543CWLSB=5WRCLKGATEOUT43214321CWLSB=4WRCLKGATEOUT11方式3计数时要求GATE为高电平,当GATE为低电平时,停止计数。若OUT为低电平,GATE变为低电平时,OUT立即变高。GATE变高后,计数器将重新装入初始值,重新计数。方式3的主要特点第一,若计数值为偶数,在装入计数值后,每一个CLK脉冲使计数值减1,当计数到N/2时,一方面使输出改变状态,另一方面又继续计数至1,此过程将周而复始地重复进行。第二,GATE信号能使计数过程重新开始。原则上,GATE=1允许计数,GATE=0禁止计数。第三,若在计数期间写入一个新的计数值,并不影响现行的计数过程。
方式0方式1方式2方式3功能计最后一个数中断硬件触发单稳触发器分频器方波发生器启动条件写入计数值外部触发写入计数值写入计数值重复条件写计数值外部触发自动重复自动重复N与CLK和OUT关系写入N后过N+1个CLK后输出变高单个输出脉冲宽度为N个CLK每N个CLK输出一个CLK宽度脉冲写入N后(偶)输出N/2个CLK高N/2个CLK低改变计数值立即有效外部触发后有效下一计数操作周期有效下一计数操作周期有效写入控制字后的OUT立即为低高高高GATE低或变低禁止计数
禁止计数输出变高禁止计数输出变高上升沿
从初值开始重新计数从初值开始重新计数从初值开始重新计数高允许计数
允许计数允许计数计数器最小值1122计数器最大值0000计数到0后状态继续减1计数继续减1计数自动装初值后计数自动装初值后计数
方式0方式1方式2方式33.
8253应用举例●在使用8253芯片时,首先要对其进行初始化编程。●初始化编程包括写入控制字和写入计数值两个步骤。第二步,写入计数初始值。计数初始值经由各通道的端口地址写入。第一步,写入控制字。任一通道的控制字都要从8253的控制口地址写入,控制哪个通道由控制字的D7D6位来决定。例8-7
设在8086系统中有一片8253,其端口地址分配是:通道0为120H,通道1为122H,通道2为124H,控制端口为126H。要求对其通道0进行初始化,使其工作于方式0、二进制计数、计数初始值为6688H。MOVAL,30HMOVDX,126HOUTDX,ALMOVAL,88HMOVDX,120HOUTDX,ALMOVAL,66HOUTDX,AL例8-8设8253的四个端口地址分别为0E0H、0E2H、0E4H、0E6H,今要读取通道0的16位计数值,其程序如下:MOVAL,00HOUT0E6H,ALINAL,0E0HMOVAH,ALINAL,0E0HXCHGAL,AH例8-9
某数据采集系统中,有一8255A芯片,其端口A、B、C和控制口地址分别为0C0H、0C2H、0C4H和0C6H,其中A口作为现场数据的输入口。又有一频率为2MHz的时钟信号源。今要求以2秒为周期进行数据采集,欲使用一片8253实现系统定时,其主要接线如图,设8253的四个端口地址为0E0H,0E2H,0E4H,0E6H。MOVAL,98HOUT0C6H,ALMOVAL,54HOUT0E6H,ALMOVAL,80OUT0E2H,ALMOVAL,36HOUT0E6H,ALMOVAL,50HOUT0E0H,ALMOVAL,0C3HOUT0E0H,AL模拟通道接口8.5.1概述●模拟量输入/输出通道,是生产过程计算机控制系统的重要组成部分,是计算机与控制对象之间的一种典型接口方式。8.5被控对象微型计算机传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《建设项目环境监察》课件
- 嘉峪关公路护栏施工方案
- 哈尔滨预制楼梯施工方案
- 呼和浩特房屋地基施工方案
- 减速路拱拆除施工方案
- 亳州别墅锌钢护栏施工方案
- 中专学校教学工作计划范文
- 2024年下半年商业计划书范文
- 某隧道工程施工组织设计方案
- 2024年四月份教学计划范文
- 2023学年广州市白云区物理九上期末检测试题含解析
- 超声波焊接机日常保养点检记录表
- 发电机房巡检记录表
- 个人违法建房出售行为如何适用法律问题
- 污水处理操作工考试题库与答案(最新版)
- DB65∕T 2794-2007 新疆驴饲养管理规程
- 宪法知识讲座讲稿(课堂PPT)
- 多维阅读Crazy Cat 课件
- 马来酸酐接枝聚丙烯
- PE管道焊接工艺卡
- 第四章分子的对称性
评论
0/150
提交评论