常用数字接口电路课件_第1页
常用数字接口电路课件_第2页
常用数字接口电路课件_第3页
常用数字接口电路课件_第4页
常用数字接口电路课件_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

常用数字接口电路7.1接口电路概述外设接口:输入接口输出接口并行接口串行接口数字接口模拟接口7.28253定时计数控制器微机对外部事件进行定时控制或对外部事件发生的次数进行记录有两种方法:

软件编程控制的方式

采用软件硬件相结合的方式可编程定时/计数电路8253具有多种工作方式,定时值和定时范围可用程序确定。PC机中的定时器主要用于系统日时钟计时.*8253的引脚8253的引脚图8253的内部地址A1A0选择对象00计数器001计数器110计数器211控制寄存器一、8253的内部结构及引脚8253具有3个独立的16位计数通道,用24脚DIP封装,其主要功能如下:*1片上有3个独立的16位计数器通道,最大计数范围为0~65535;*每个计数器都可以按照二进制或十进制计数;*每个计数器的计数速度可高达2MHZ;*每个通道有6种工作方式,可通过程序设置来改变;*所有的输入和输出都与TTL兼容。8253内部可分为6个模块,如图所示。8253的内部结构数据总线缓冲器计数器

0#计数器

1#计数器

2#读/写逻辑控制字寄存器内部总线D0~D7CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2WRRDA0A1CSGNDVCC从系统总线接收输入信号,经过译码产生对8253各部分的控制。*计数通道8253有3个相互独立的同样的计数电路。计数器的结构如图所示。*数据总线缓冲器数据总线缓冲器通过8条数据线D7~D0接收CPU向控制寄存器写入的控制字和向计数器写入的计数初值。*读/写控制逻辑计数器内部结构控制单元初值寄存器减1计数器输出锁存器内部总线CLKGATEOUT控制单元初值寄存器减1计数器输出锁存器内部总线CLK*8253的方式控制字方式控制字的格式如下:D7D6D5D4D3D2D1D0计数器读/写格式工作方式数制0—二进制1—二―十进制(BCD)000方式0001方式1

10方式2

11方式3100方式4101方式500计数器锁存命令10只读/写高8位01只读/写低8位11首先写低8位然后写高8位00选择计数器001选择计数器110选择计数器211非法选择计数启动方式1)软件启动用指令写入计数值后过一个CLK后开始计数,当计数结束时输出一个信号。实际输出时间为N+1个CLK2)硬件启动由门控信号GATE由低电平变为高后,再经CLK信号的上升采样,之后在该CLK的下降沿开始计数。二、8253的工作方式8253有6种工作方式,通过对8253写入方式控制字来编程。1.

方式0——计数结束中断该方式下,门控信号决定计数的停止或继续,装入初值决定计数过程重新开始。下图给出a)方式0正常计数b)方式0门控信号的影响

c)方式0写入新的初值对计数过程的影响三种情况的波形。a.

方式0正常计数CW=10LSB=3WRCLKGATEOUT322210FFCW=10LSB=3WRCLKGATEOUT322210FFb.方式0时GATE信号的作用c.方式0时计数过程中改变计数值2.方式1——可重触发的单稳态触发器该方式是在门控的作用下开始计数,计数过程波形图如图所示。a.方式1正常计数b.

方式1时GATE信号的作用LSB=3WRCLK321321CW=12

0GATEOUTc.

方式1时计数过程中改变计数值LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=4LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=43.方式2——分频器方式2用门控信号达到同步计数的目的,波形图如图所示。a.方式2正常计数b.

方式2时GATE信号的作用c.方式2时计数过程中改变计数值4.

方式3——方波发生器方式3的工作过程同方式2,只是输出的脉宽不同,波形如图所示。a.方式3计数值为偶数时的波形b.方式3计数值为奇数时的波形c.方式3GATE信号的作用d.方式3计数过程中改变计数值5.

方式4——软件触发选通方式用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行过程由装入的初值决定,波形图如图所示。a.方式4正常计数b.

方式4GATE信号的作用c.

方式4计数过程中改变计数值6.

方式5——硬件触发选通方式方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图所示。a.

方式5正常计数OUTLSB=3WRCLKGATECW=1A3210FF3b.

方式5时GATE信号的作用c.

方式5时计数过程中改变计数值8253初始化顺序三、8253的初始化由于8253的每个计数器都有独立的地址,控制字中又有SC1、SC0两位指定计数器,这就使得8253的编程初始化十分简便。对计数器的编程可按任意顺序进行,并只对用到的计数器编程。当一个计数器长度不够时,可以将两个或三个计数器串联使用,即一个计数器的输出OUT信号作为一个计数器的CLK时钟输入。还可将多个8253串联起来使用。通常在使用中要编程对计数器初始化。先写入控制字,接着写入计数值。两个字节的计数值先写入低字节,后写入高字节。其过程如图所示。例:某系统使用一片8253,要求完成如下功能:1、计数器0对外部事件计数,计满100次向CPU发中断请求。2、计数器1产生频为1KHZ的方波信号,设输入计数频率CLK1为2.5MHZ3、计数器2作为标准时钟,每秒向CPU发一次中断请求,输入计数频率由OUT1提供。(设8253的端口地址为80H—83H)

分析:根据题意选择各计数器的工作方式,控制字格式及计数值。按顺序写出初始化程序。四、定时器/计数器的应用举例例:设8253端口地址为:通道0为340H,通道1为341H,通道2为342H,控制字寄存器为343H。电路图如图所示,要求8253的通道2和通道1组成级联的计数器,CLK2接分频器CD4040的输出(将输入8MHZ标准时钟分频,分频系数由跳线决定),CLK1由跳线接8253的OUT2,通过设置通道1,通道2的初值,由CPU读取OUT1的输出,产生秒定时,并由显示子程序完成时钟显示。试编写汇编程序.8255A连接电路(Y0=340H~343H,Y4=350H~353H)……8255PA58255PA48255PA6GATE2GATE0GATE1D0~D7D0~D7CSRDWRA0A1Y0IORIOWA0A1>>OUT0OUT1OUT2CLK1CLK0CLK22Y12Y22A12A21G2GY4IORD0D2825374LS244O11O9O7O5O34040CLK8MHZKP+5V按程序要求编写流程如下:

开始在CRT上显示提示信息写8255A控制字(81H)写8253通道2方式字(B6H)

即方式4,写该通道计数初值写8253通道1方式字(70H)

即方式0,写该通道计数初值调用显示子程序S1~S4按下?8253通道1计数减为0?二位60进制计数单元加1

退出NYN流程图程序设计如下:DLYC2EQU2000

TCL1EQU04H;通道1计数初值

TCL1EQU00H;

TCL2EQU80H;通道2计数初值

TCH2EQU00H

DATASEGMENT

DISCDB0BBH,0A0H,97H,0B5H,0ACH,3DH,

3FH,0A1H,0BFH,0BDH;显示段码表

DISODB‘Pressanyofthekeystoquit!’24H

DDBBDB4DUP(0)

COUNTDB00H

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:CODE,DS:DATA

START:MOVAL,3;清屏幕

MOVAH,0

INT10H MOVAX,DATA

MOVDS,AX

MOVAH,2 ;设光标位置

MOVBH,0

MOVDX,0614H

INT10H

MOVDX,OFFSETDISO ;显示“Press……”

MOVAH,9

INT21H

MOVDX,347H ;8255初始化

MOVAL,81H ;A口为输出,B口为输出,

DUTDX,AL

;PC4~7为输出,PC0~3为输入

MOVDX,346H

;关四个7段码显示器

MOVAL,OFFH

OUTDX,AL MOVDX,343H

;8253初始化

MOVAL,0B6H

;通道2

OUTDX,AL

MOVDX,342H

MOVAL,TCL2

;计数器2初值为0080H

OUTDX,AL

MOVAL,TCH2

OUTDX,ALAAAA: MOVDX,343H

;通道1

MOVAL,70H

OUTDX,AL

MOVDX,341H ;计数器1初值为0004H

MOVAL,TCL1

OUTDX,AL

MOVAL,TCH1

OUTDX,AL

MOVDX,344H

MOVAL,OFFH

OUTDX,ALAAA: CALLDISP ;调显示子程序

MOV

DX,350 ;是否退出

INAL,DX

ANAL,0F0H

CMPAL,0F0H

JNEKPR

INAL,DX ;通道1到0?

ANDAL,04H ;即OUT=1?

JZAAA

MOVCX,0004H ;两位60进制计数

MOVSI.offsetDDBB

MOVAL,[SI]

INCAL ;秒加1

CMPAL,0AH ;

计到十?

JNETMO

MOVBYTEPTR[SI],0

INCSI

MOVAL,[SI] INCAL ;十秒加1

CMPAL,06H ;计到6?

JNETMO

MOVBytePTR[SI],0

INCSI

MOVAL,[SI]

INCAL

;分加1

CMPAL,0AH

;计到10?

JNETMO

MOVBYTEPTR[SI],0

INCSI

MOVAL,[SI]

INCAL ;十分加1

CMPAL,06H ;计到6?

JNETMO

MOVAL,0

TMO: MOV[SI],AL

JMPAAAAKPR: MOVAL,0 ;退出

MOVDX,350H

OUTDX,AL

MOVDX,346H

MOVAL,OFFH

OUTDX,AL

MOVAX,4C00H

INT21H

Main ENDP

DISPPROCNEAR ;显示子程序

………… (略)

DISPENDP

CODEENDS

ENDSTART7.3并行接口和可编程并行接口芯片8255A并行接口传输数据通常以8位、16位或32位为传输单位,一次传送一个字长的数据。并行接口电路:*不可编程的并行接口电路(如74LS244/254三态缓冲器,74LS273/373锁存器)*可编程接口电路(如Intel8255A)可编程接口电路通常应具有以下功能:1.两个或两个以上的具有锁存器或缓冲器的数据端口;2.每个数据端口都具有与CPU用应答方式交换信号所必须的控制和状态信息,也有与外设交换信息所必须的控制和状态信息;3.通常每个数据端口有能用中断方式与CPU交换信息所必须的电路;4.片选和控制电路;5.可用程序选择数据端口、选择端口的数据传送方向,选择与CPU交换信息的方法。一、8255A的内部结构和引脚信号1.8255A内部结构8255A可编程外围设备接口(programmableperipheralinterface,简写为PPI),其内部结构如图所示。8255A内部结构框图A组控制数据总线缓冲器读/写控制逻辑B组控制

RESETA0A1A组A口8位A组A口A组C口高位(4位)B组C口低位(4位)8位B组B口PA7~PA0PC7~PC4PC3~PC0PB7~PB0D7~D08255A包括四大部分:数据总线缓冲器、读写控制逻辑、A组和B组控制电路、端口A、B、C。(1)数据端口A、B、C端口A包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。端口B和C:

都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。(2)A组和B组A组包括A口:PA0~PA7C口的高4位:PC4~PC7B组包括B口:PB0~PB7C口的低4位:PC0~PC3A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。(3)数据总线缓冲器三态双向8位缓冲器,是8255A与CPU之间的数据接口。传送输入数据、输出数据、控制命令字。(4)读/写控制逻辑接收来自CPU地址总线信号和控制信号,并发出命令到两个控制组(A组和B组)。CS:片选信号,接CPU高位地址的译码输出;RD:读信号,RD有效,CPU读8255A的数据或状态;WR:写信号,WR有效,CPU向8255A写入的控制或数据信息。2.8255A的引脚8255A采用40线双列直插封装,引脚图如图所示。8255A引脚定义432140371834......27D7D0A0A1RESETVCCGND986535368255APPI数据总线控制线电源线通道A通道B通道CCPU接口外设接口...PA7PA0...PB7PB0...PC7PC0

251415161713121110*

PA7~PA0:A端口数据信号引脚*

PB7~PB0:B端口数据信号引脚*

PC7~PC0:C端口数据信号引脚*

D7~D0:8255A的8位数据线*

A1~A0:端口选择信号当A1A0=00时选择端口A当A1A0=01时选择端口B当A1A0=10时选择端口C当A1A0=11时选择控制端口二、8255A的控制字8255A共有两个控制字:即工作方式控制字和对C口置位/复位控制字。1.工作方式控制字控制字和各位的含义如图所示。D7D6D5D4D3D2D1D0B组

端口C(下半部)

1=输入,0=输出

端口B

1=输入,0=输出

方式选择

0=方式0,1=方式1A组

端口C(上半部)

1=输入,0=输出

端口A

1=输入,0=输出

方式选择

00=方式0,01=方式1,1=方式2方式设置标志

1=有效工作方式控制字2.端口C的置位/复位控制字控制字的格式如图所示。置位/复位控制字D7D6D5D4D3D2D1D0位的置位/复位

1=置位,0=复位位选择

D3D2D1通道C位按位置位/复位控制

标志0=有效000位0001位1010位2011位3100位4101位5110位6111位7不使用

设置为000关于控制字要说明几点:(1)设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两部分分别设置。三个端口的工作方式由一个控制字规定。(2)C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。(3)方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。例:设8255A的地址为04A0H~04A3H,按下述要求对8255A进行初始化。要求A口、B口均设置成方式1,均为输入,PC6和PC1为输出。MOVDX,04A3H;控制口地址

MOVAL,B6H;工作方式控制字

OUTDX,AL;控制字送到控制口例:设8255A的地址为04A0H~04A3H,要求通过8255A芯片C口的PC2位产生一个方波脉冲。MOVDX,04A3H;控制口地址AA:MOVAL,05H ;对PC2置位的控制字

OUTDX,AL

CALLDELAY;延时程序

MOVAL,04H ;对PC2复位的控制字

OUTDX,AL

JMPAA三、8255A的工作方式1.方式0——

基本输入/输出方式方式0是一种基本输入输出工作方式,它的24条I/O线全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只有缓冲能力而无锁存功能。方式0的方式控制字:100D4D30D1D0*

任何一个端口都可由CPU用简单的输入或输出指令来进行读写*8255A可作为查询方式的接口电路,这时A口和B口分别作为数据端口*C口的高4位和低4位能分别作为输入或输出用来传送控制外设的控制信息和采集外设的状态信息。2.方式1——选通式输入/输出方式(1)方式1选通输入方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用——但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。下图示出8255A方式1选通输入时的内部结构和时序图。方式1(端口B)IBFBINTRBPC0PC1PB7~0INTEBRD端口B输入端口B方式1B组方式控制字1

11PC2方式1选通操作内部结构和时序图tSTtSTBtSITtRIBtRITtPStPHSTBIBFRD来自外设的输入数据INTRtSTtSTBtSITtRIBtRITtPStPHSTB来自外设的输入数据IBF:输入缓冲器满是一个输出信号,表明输入缓冲器已装入信息。STB:选通输入将数据装入端口锁存器,该信息保持到由IN指令输入给微处理器。INTR:中断请求是一个输出信号,它请求一次中断。INTR引脚在STB输入回到逻辑1时变为逻辑1,在微处理器从端口输入数据时被清0。INTE:中断允许信号既不是输入也不是输出,它是通过端口PC4(端口A)或PC2(端口B)的位来编程的内部位。PC7和PC6:端口C的引脚7和6是通用I/O引脚。(2)方式1选通输出当端口A或端口B为方式1输出时,各指定PC的3条线作为8255A与外设及CPU之间应答信号。下图为方式1选通输出操作的内部结构和时序图。tAOBtWOBtWITtAKtAITtWB输出WROBFACKINTRtAOBtWOBtWITtAKtAITtWB输出WROBFACKINTR8255A方式1选通输出内部结构和时序图INTRAPC3PC6PC7PA7~0方式1输出端口APC4,5I/OINTEA2WR方式1输出端口BINTRBPC0PC2PC1INTEBPB7~0WROBF:输出缓冲器满是一个输出信号,一旦数据输出给端口A或B的锁存器,它就变为低电平,一旦外部设备返回ACK脉冲,被置为逻辑1。ACK:ACK是来自外部设备的一个响应信号,表明它已接收到来自8255A端口数据,并使OBF引脚回到逻辑1电平。INTE:它是允许或禁止INTR引脚的一个内部位。INTEA位被编程为PC6,INTEB位被编程为PC2。PC5和PC4:通用I/O引脚,它们具有置位/复位功能。INTR:8255A送CPU的中断请求信号。INTR=1的条件是:OBF、ACK和INTE都为高电平。3)方式2——双向选通输入/输出方式方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。下图示出方式2操作内部结构和时序图。tOBtWOB外设数据线WROBFACKINTR数据从CPU到8255AtPStKDtADtPHtSTtSTBtRIBSTBIBFRDtOBtWOB外设数据线WROBFACKINTR数据从CPU到8255AtPStKDtADtPHtSTtSTB数据从外设到8255AtRIBSTBIBFRD数据从8255A

到外设数据从8255A

到CPU8255A方式2操作内部结构和时序图PA0~PA7方式2组态INTE1(PC6)PC3PC6PC7INTRAPC0~PC2PC4PC5INTE2(PC4)IBFAI/OWRRDACKAOBFASTBAPA0~PA7方式2组态INTE1(PC6)PC3PC6PC7INTRAPC0~PC2PC4PC5INTE2(PC4)IBFAI/OWRRDACKAOBFASTBAINTR:中断请求是一个输出信号,用于在输入和输出情况下中断微处理器。OBF:输出缓冲器满是一个输出信号,表明输出缓冲器包含给双向总线的数据。ACK:响应输入信号允许三态缓冲器,使数据可以出现在端口A。如果ACK为逻辑1,则端口A的输出缓冲器处于高阻抗状态。IBF:输入缓冲器满是一个输出信号,表明输入缓冲器已包含外部双向总线的数据。STB:选通输入将来自双向端口A总线上的外部数据装入端口A的输入锁存器。INTE:中断允许是允许INTR引脚的内部位(INTE1和INTE2)。PC2、PC1和PC0:通用I/O引脚,可由置位/复位命令控制。例:通过双向端口A发送AH寄存器中的内容。;通过A口双向总线传送AH的过程

BITT EQU 80H

PortC EQU 62H

PortA EQU 60H

Trans proc near

INAL,PortC ;获得OBF

TESTAL,BITT ;测试OBF

JZTAB ;如果OBF=1

MOVAL,AH ;取得数据

OUTPortA,AL ;发送数据TAB:RET

ENDP4)端口C的状态字(1)未被A口和B口征用的引脚:将从定义为输入的端口读到引脚的输入信息;将从定义为输出的端口读到输出锁存器的信息。(2)被A口和B口征用做为联络线的引脚:将从C口读到反映8255A状态的状态字。在读C口时,读到的数据有两种情况:方式1输入:I/OI/OIBFAINTEAINTRAINTEBINTRBIBFBD7D6D5D4D3D2D1D0A组B组方式2输出:OBFAINTEAI/OI/OINTRAINTEBINTRBOBFBD7D6D5D4D3D2D1D0A组B组方式2:OBFAINTE1IBFAINTRA

D7D6D5D4D3D2D1D0A组B组INTE2端口C读出内容例:

设8255A的端口地址为344H~347H。由16个按键组成44矩阵式键盘,编写程序读取按键(定义键值为0~F)将键值写入输出口,在数码管上显示,以观察输入的键位。电路图如图所示。8255A与键盘和LED连接电路8255APB0PB1PB2PB3PB4PB5PB6PB7PC7PC6PC5PC4PC3PC2PC1PC0LED3LED2LED1LED0+5VD0~D7D0~D7RDWRA0A1RSTCSIORIOWA0A1ResetY1程序流程如下:开始在CRT上显示提示信息写8255A控制字80H字型码送B口延时且关指示灯写8255A控制字88H有键按下行扫描键盘列扫描键盘延时消抖等待释放S1~S4按下否

退出YNNY流程图相应程序如下:DATASEGMENT

discDB0BBH,0A0H,097H,0B5H,0ACH,3DH

DB3FH,0A1H,0BFH,0BDH,0AFH,3EH,0B6H

DB1FH,0FH ;0~f显示段码表

DISODBPressanyofthekeystoquit!.24H

;提示信息

DQQDB0

DATAEndsCODESEGMENT

MAINPROCFAR

ASSUMECS:CODEDS:DATA

START:MOVAL,3

;清屏幕

MOVAH,0

INT10H MOVAX,DATA ;显示提示信息

MOVDS,AX

MOVAH,2

;光标定位

MOVBH,0

MOVDX,0614H

INT10H

MOVDX,OFFSETDISO;显示:“Press……”QWE:MOVDX,347H

;8255A控制寄存器初始化

MOVAL,80H

;B口、C口设为输出

OUTDX,AL MOVDX,345H ;345H为8255A的B口地址

MOVBL,DQQ

MOVBH,0

MOVDI,BX

MOVAL,[DI] ;取‘0~F’显示字形码

OUTDX,AL ;将显示字形码送B口

MOVDX,346H ;8255AC口地址

MOVAL,0E0H

OUTDX,AL ; MOVBX,DLYC1

LPO:MOVCX,DLYC2 ;延时

LP1:LOOPLP1

DECBX

JNZLPOKS: MOVDX,350H ;指示灯显示

MOVAL,DQQ ;按下键的二进制值

OUTDX,AL

MOVDX,347H ;8255A初始化,写控制字88H

MOVAL,88H ;PC0~PC3为输出,PC4~PC7为输入

OUTDX,AL ;B口输出,方式0,A口输出。KSLP: MOVDX,346H ;读键盘

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JNEKP ;有键按下,转处理判别

MOVDX,350H ;若键未按,查S1~S4键是否退出

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JNEKPR ;S1~S4任一健按下,则转KPR退出

JMPKSLPKP: MOVCX,0F000H ;扫描键盘

KP0: LOOPKP0

;消抖延时

MOVDX,346H

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JEKSLP ;消抖后无键按下,则转回,视作干扰

MOVCX,0004H ;扫描4行

MOVDX,346H

MOVBX,0F700H ;BH扫描输出行码,先扫第0行(PC3=0)

;BL键值KP1: MOVAL,BH ;行扫描

OUTDX,AL

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JNEKP2

;是这一行的键按下,转出判断列

ADDBL,04H ;键值加4

RORBH,1 ;准备扫描下一行

LOOPKP1

JMPQWE ;4行扫完未找到,转显示KP2: MOVCX,0004H ;扫描4列

KP3: ROLAL,1 ;列扫描

TESTAL,01

JZKP4 ;AL=0,即是此列,转出

INCBL ;键值加1

LOOPKP3KP4: MOVDQQ,BL ;键盘送显示缓存

KS5: MOVDX,346H ;等待键释放

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JNEKS5 ;仍按下,继续等待

MOVCX,0F000HKP6: LOOPKP6 ;消抖延时

MOVDX,346H

INAL,DX

ANDAL,0F0H

CMPAL,0F0H

JNEKS5

JMPQWE ;键处理结束KPR: MOVAL,0 ;退出

MOVDX,0350H ;关所有的LED灯

OUTDX,AL

MOVAX,4C00H

INT21H

Main ENDP

CODEENDS

ENDSTART7.4

串行接口和可编程串行接口芯片8251A一、通信计算机与外部设备之间、计算机之间的信息交换。通信的基本方式并行通信串行通信异步传送同步传送在串行通信时,数据和联络信号使用同一条信号线来传送,收发双方应注意以下几点:*

双方约定以何种速率进行数据的发送和接收(波特率)*

约定采用何种数据格式(帧格式),如果包含控制信息,其定义是什么二、串行通信基本概念*

接收方如何得知一批数据的开始和结束(帧同步)*

接收方如何从位流中正确地采集到位数据(位同步)*

接收方如何判断收到数据的正确性(数据校验)*

收发出错时如何处理(出错处理)1.异步通信异步传送方式中,数据以字符为单位进行传送,每个字符传送时均需起始位和停止位。其通信协议是起止式异步通信协议。异步通信采用的信息格式100/10/10/10/10/10/10/10/1100/10/10/10/10/1奇偶校验停止位起始位7位数据低位高位数据流向奇偶校验停止位起始位7位数据下降边指出下一个字符的开始第n个字符第(n1)个字符第(n+1)个字符数据传输的字符格式如下:字符发送之前:

先发送一个起始位,低电平,宽度为1位.字符发送结束时:

发一个停止位,高电平,宽度为1位,1.5位或2位.数据位:

占5~8位,可在数据位内设1位奇偶校验位,字符之间:

可有空闲位,它们都是高电平.传送时:

数据的低位在前,高位在后。例:若采用连续发送方式,数据位长度为7位,选择奇校验,停止位为1位,传送一个字符E的ASCII码。

字符E的ASCII码为45H,波形如下:字符E传送波形b6b5b4b3b2b1b0“E”的ASCII码:10001010101000101起始位奇校检停止位2.

同步通信同步通信:

即位同步方式,利用编码机制把时钟信息和数据放在一起发送给接收端。数据以数据块方式传送,仅在数据块开始处用同步字符来指示。其同步传送的数据格式如下:同步传送的数据格式同步

字符数据1数据2……数据N检验字符

CRC1检验字符

CRC2同步字符…1帧下1帧数据场同步

字符同步

字符数据1……数据N检验字符

CRC1检验字符

CRC2同步字符1帧数据1……数据N检验字符

CRC1检验字符

CRC2(c)外同步(a)单同步(b)双同步3.

传输制式在串行通信中,根据数据传送的方向分为:单工传送、半双工传送和全双工传送。单工传送:数据只在一个方向上传送。半双工传送:在同一时刻只能在一个方向上传送。全双工传送:在两个方向可同时传送。串行通信电路示意图发送接收A站B站发送器A站B站接收器发送器接收器发送器A站B站接收器接收器发送器4.

波特率

每秒钟传送的二进制位数称为波特率。例:在某个异步串行通信系统中,数据传送率为960字符/秒,每个字符包括一个起始位,8个数据位和一个停止位,则波特率为10960=9600(波特)三、串行通信总线标准一是计算机与外设之间要共同遵守的某种约定,这种约定称为物理接口标准。(包括电缆的机械特性、电气特性、信号功能及传送过程的定义)二是按接口标准设置计算机与外设之间进行串行通信的接口电路。在进行串行通信的线路连接时,通常要解决两个问题:RS—232C标准是美国电子工业协会EIA(ElectronicIndustriesAssociation)与Bell等公司一起开发的1969年公布的通信协议。1.RS—232C接口标准字母RS表示RecommandedStandard(推荐标准),232是识别代号,C是标准的版本号。下图显示出RS-232C的标准管脚图。RS-232C引脚分配图14115216317418519620721822923102411251213次信道发送数据发送时钟次信道接收数据接收时钟未用次信道请求发送数据终端就绪信号质量检测振铃指示数据信号速率选择发送时钟未用保护地发送数据接收数据请求发送清除发送数据装置就绪逻辑地载波检测留作测试用未用次信道载波检测次信道消除发送各信号线说明如下:TXD:发送数据线,输出。RXD:接收数据线,输入。RTS:请求发送信号,输出,RTS=1,表示终端要发送数据。CTS:清除发送信号,输入。当外设已准备好接收数据时,使CTS=1,通知终端可以开始发送数据。DTR:数据终端准备就绪信号,输出,高电平有效。DTR=1,表示终端准备好接收外设的数据。DSR:数据装置准备就绪信号,输入,高电平有效,它表示外设准备好发送数据。DCD:接收信号检出,输出,高电平有效。RI:振铃指示,输入,高电平有效。RI=1,表明Modem收到交换台送来的振铃信号,用它来通知终端。RS—422A标准是一种以平衡方式传输的标准。所谓平衡,是指双端发送和双端接收。发送端和接收端分别采用平衡发送器和差动接收器。2.RS—422A标准如图所示:MC3487MC3486平衡发送器差动接收器ABA

B

RS-422A标准传输线连接当AA

线电平比BB线电平低–2V时,表示逻辑“1”;当AA

线电平比BB线电平高+2V时,表示逻辑“0”。由于RS-422A标准采用了双线传输,大大增强了抗共模干扰的能力,因此最大数据传输率可达10MB/秒(传送距离为15m)。若传输速率降到90KB/秒,则最大距离可达1200m。此标准只允许有一个发送器,但可有多个接收器。3.RS—485标准*RS-485的共线电路结构在一对平衡传输的两端都配置终端电阻*发送器、接收器、组合收发器可以挂在平衡传输线的任何位置,实现在数据传输中多个驱动器和接收器共用同一传输线的多点应用。*在100kb/秒的传输速率时,可传送1.2km,最大传输速率为10MB/秒。RS—485是一种平衡传输方式的串行接口标准。*RS—485允许有多个发送器和多个接收器。三、串行接口芯片8251AIntel8251A是一种通用的同步/异步接收/发送器芯片。其功能为:*

进行串一并,并一串转换*

设置通讯的协议,包括字符格式及波特率*

检测通讯错误,设置出错标志1.8251A内部结构8251A内部结构图读/写控制逻辑发送器(PŽS)发送(控制)调制解调控制接收器(SŽP)接收(控制)RESETCLKC/DRDWRCSDTRDSRRTSCTS状态缓冲器发送数据/命令缓冲器接收数据缓冲器外部数据总线TXDTXRDYTXETXCRXRDYSYNDETRXCRXD读/写控制逻辑发送器(PŽS)发送(控制)调制解调控制接收器(SŽP)接收(控制)RESETCLKC/DRDWRCSDTRDSRRTSCTS状态缓冲器发送数据/命令缓冲器接收数据缓冲器外部数据总线TXDTXRDYTXETXCRXRDYSYNDETRXCRXD*I/O缓冲器:暂存接收、发送数据、CPU发来的命令及8251A的工作状态。*读/写控制逻辑:接收CPU控制总线的控制信号,控制数据的传送方向。*接收器:从接收数据线引脚RXD接收串行数据,按指定方式把它变为并行数据。*

发送器:接收CPU的并行数据,加上成帧信号,变换成串行数据,从发送数据端引脚TXD发送出去。*

调制解调控制器:提供控制信号,实现与Modem的连接、8251A的工作有异步方式和同步方式。8251AD1D0VCCRXCDTRRTSDSRRESETCLKTXDTXEMPTYCTSSYNDET/BDTXRDYD2D3RXDGNDD4D5D6D7TXDWRCSC/DRDRXRDY8251AD1D0VCCRXCDTRRTSDSRRESETCLKTXDTXEMPTYCTSSYNDET/BDTXRDYD2D3RXDGNDD4D5D6D7TXDWRCSC/DRDRXRDY2.8251A的引脚8251A共有28个引脚,采用双列直插式封装,如图所示。8251A的引脚图各引脚的功能如下:D0~D7:8条数据线Reset:芯片复位信号TxD:数据发送端,输出串行数据并送往外部设备TXRDY:发送器准备好信号TXEmpty:发送器空闲信号RD、WR:读、写控制信号CS:片选信号TXC:发送时钟信号,外部输入。RXD:数据接收端,接收由外设输入的串行数据。RXRDY:接收器准备好信号。SYNDET/BRKDET:双功能检测信号.

对于同步方式,SYNDET是同步检测信号对于异步方式,BRKDET为间断检出信号。RXC:接收时钟信号,输入。DTR:数据终端准备好信号,输出,表示接收方准备好接收数据,通知发送方。C/D:控制/数据信号,C/D=1,传送的是命令、控制、状态等控制字;C/D=0,传送的是数据。DSR:数据装置准备好信号,输入,它是对DTR的回答信号,表示发送方准备好发送。RTS:发送方请求发送信号,输出。CTS:清除发送信号,输入,它是对RTS的回答信号,表示接收方作好接收数据的准备。3.8251A的控制字8251A有三种控制字:工作方式控制字、操作命令控制字、状态控制字。(1)工作方式控制字D7D6D5D4D3D2D1D0停止位奇偶校验字符长度波特率系数(同步)*0=内同步*1=外同步0*=双同步1*=单同步(异步)00=不用01=1位10=1.5位11=2位*0=无校验01=奇校验11=偶校验00=5位01=6位10=7倍11=8位(异步)00=不用01=110=1611=64(同步)00=同步---(2)操作命令控制字RXESBRKERRTSTXENDTRIREHRXESBRKERRTSTXENDTRIREH允许发送“1”允许“0”不允许数据终端就绪:“1”使DTR输出为低允许接收“1”允许“0”不允许送间隔字符“1”使TXD为低“0”正常工作出错标志复位:“1”使PE、OE、TE标志复位请求发送:“1”使RTS输出变低内部复位:“1”使芯片回到方式指令状态进入搜索态:“1”使开始搜索同步字符D7

D6D5D4D3D2D1D0(3)状态控制字D7D6D5D4D3D2D1D0DSR数据装置准备好SYNDET同步检出FE格式错PE溢出错奇偶错OETXE发送器空R

温馨提示

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

评论

0/150

提交评论