串并行通信和接口技术.pdf

上传人:赵** 文档编号:46682466 上传时间:2022-09-27 格式:PDF 页数:56 大小:918.56KB
返回 下载 相关 举报
串并行通信和接口技术.pdf_第1页
第1页 / 共56页
串并行通信和接口技术.pdf_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《串并行通信和接口技术.pdf》由会员分享,可在线阅读,更多相关《串并行通信和接口技术.pdf(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第六章第六章串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术串并行通信和接口技术接口的功能接口的功能接口的功能接口的功能接口的基本功能是在系统总线和I/O设备之间传输信号,提供缓冲,满足接口两边的时序要求。提供缓冲,满足接口两边的时序要求。寻址功能寻址功能数据输入外设外设外设外设1 1接接 口口接接 口口 寻址功能寻址功能中中地址地址数据输入数据

2、输处状态寄存器 输入输出功能 输入输出功能中中央处央处数据数据状态寄存器控制寄存器 数据转换功能 数据转换功能 联络功能联络功能理单理单元元数据数据数据输入外设外设外设外设2 2 联络功能联络功能 中断管理功能 中断管理功能 复位功能复位功能元元控制控制数据输处状态寄存器 复位功能复位功能 可编程功能 可编程功能控制寄存器 错误检测功能 错误检测功能错误检测功能错误检测功能错误检测功能错误检测功能传输错误传输错误传输错误传输错误由于接口和设备之间的连线常常受各种干扰而引起的传输错误。一般采用奇偶校验检测此来错误,有些接口对数据块传输还有冗余校验。覆盖错误覆盖错误覆盖错误覆盖错误采用奇偶校验检测

3、此来错误,有些接口对数据块传输还有冗余校验。覆盖错误覆盖错误覆盖错误覆盖错误计算机输入输出数据,一般都是从输入缓冲器中取数据,或把数据送到输出缓冲器,如果缓冲器中的数据尚未取走,新的数据就被装入缓冲器,则会产生一个覆盖错误。冲器,则会产生个覆盖错误。中中产产生上述生上述错误时错误时,接接口口都会在相应的状都会在相应的状态态寄存寄存器器中中设置设置相应的状相应的状态态位位。接口与系统的连接接口与系统的连接接口与系统的连接接口与系统的连接与与与与I/OI/O设备相连设备相连设备相连设备相连这部分电路与相连外设的传输要求和数据格式相关,所以在结构上差别很大。与系统总线相连与系统总线相连与系统总线相连

4、与系统总线相连与系统总线相连与系统总线相连与系统总线相连与系统总线相连这部分电路都连到同总线上所以结构上非常类似这部分电路都连到同一总线上,所以结构上非常类似。串口接口串口接口串口接口串口接口串口通信时数据是在一条线上一位一位进行传输的,在传输过程中,每一位数据都占据一个固定的时间长度。适用于远距离通信,但通信速度比较慢。(1)半双工通信半双工通信半双工通信半双工通信:允许两个方向传输数据,但不能同时传输,只能交替进行接收和发送采用同通路行,接收和发送采用同一通路。发送器发送器发送器发送器数据数据接收器接收器接收器接收器数据数据(2)全双工通信全双工通信全双工通信全双工通信:允许两个方向同时进

5、行数据传输,两个传输方向完全独立,接收和发送采用不同的通路。数据数据发送器发送器发送器发送器接收器接收器接收器接收器可编程串行接口典型结构可编程串行接口典型结构可编程串行接口典型结构可编程串行接口典型结构状态寄存器状态寄存器数据总线数据总线收发器收发器状态寄存器状态寄存器控制寄存器控制寄存器控制控制收发器收发器数据输入寄存器数据输入寄存器中断请求中断请求串行输入串行输入联络信号逻辑联络信号逻辑串行输入串行输入/并行输出并行输出并行输入并行输入/串行输出串行输出中断请求中断请求读写读写串行输入串行输入串行输出串行输出CSA0地址译码地址译码数据输出寄存器数据输出寄存器来自地址总线来自地址总线发送

6、时钟发送时钟接收时钟接收时钟传输方式传输方式传输方式传输方式同步通信同步通信把许多字符组成一个信息组(信息帧),每组信息的开始要加上一个同步字符,传输时不允许有间隙,所以没有信息时需填上空字符。效率高,需时钟信号异步通信异步通信时钟信号。异步通信异步通信传输时两个字符之间的传输间隔是任意的,所以每个字符的前后都要用一些数位来作分隔位。些数位来作分隔位。停止停止位位字符位字符位低位高位间间隔隔标识态标识态起校起校123456781位位位位隔隔始位验位始位验位串行通信传输率串行通信传输率串行通信传输率串行通信传输率串行传输率波特率串行传输率波特率每秒传输的位数。例例例例1 1:异步传输过程,设每个

7、字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么每秒钟能传输的最大字符数为。120012001010120120个个个个钟能传输的最大字符数为。例例例例同步传输用1200b的波特率工作用4个同步字符作为信120012001010120120个个个个例例例例2 2:同步传输:用1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为,每秒钟能传输的字符数可达到7(100+4)7(100+4)120012000.6067s0.6067s100/0.6067100/0.6067165165个个个个8251

8、A8251A的基本性能的基本性能的基本性能的基本性能可编程可编程可编程可编程在同步方式时,波特率为在同步方式时,波特率为在同步方式时,波特率为在同步方式时,波特率为064Kbps064Kbps可编程可编程可编程可编程能用5、6、7或8位代表字符。能自动检测同步字符。能自动检测同步字符。允许奇偶校验。在异步方式下在异步方式下在异步方式下在异步方式下,波特率为波特率为波特率为波特率为019.2Kbps019.2Kbps能用567或8位代表字符用1位作为奇偶校验能用5、6、7或8位代表字符,用1位作为奇偶校验。能自动为每个数据增加1个启动位。能增加或停能增加1个、1.5个或2个停止位。发送时钟和接收

9、时钟可以是波特率的16倍、32倍和64倍,该倍数为波特率因子波特率因子波特率因子波特率因子。8251A8251A的编程结构的编程结构的编程结构的编程结构数据输入缓冲寄存器和数据输出缓冲寄存器使用同一个端口地址。接收移位寄存器将RXD端的串行数据接收后移位,变成8位并行数据。发送移位寄存器反之。控制寄存器由程序设定。状态寄存器为执行程序提供状态信息。模式寄存器决定同步/异步模式、收发字符格式,由程序设定。同步寄存器放同步字符。8251A8251A的内部工作原理的内部工作原理的内部工作原理的内部工作原理数据总线数据总线发送发送并并串串数据总线数据总线缓冲器缓冲器发送发送缓冲器缓冲器并并串串转换转换

10、TXD发发送送内内读读/写写RESETCLK发送控制电路发送控制电路TXRDYTXEMPTYTXC送送器器部总部总控制逻辑电路控制逻辑电路C/DRDWR接收接收串串并并X线线CSDSRDTR接收接收缓冲器缓冲器串串并并转换转换RXD接接收收调制调制/解调解调控制电路控制电路DTRCTSRTS接收控制电路接收控制电路RXRDYRXCBRKDET收收器器RTSBRKDET接收控制电路接收控制电路接收控制电路接收控制电路&发送控制电路发送控制电路发送控制电路发送控制电路接收控制电路接收控制电路接收控制电路接收控制电路 配合接收缓冲器工作。复位后寻找启动位(高电平到低电平)消除假启动干扰消除假启动干扰

11、对接收到的信息进行奇偶校验,并建立相应状态位检测停止位,并建立相应状态位发送控制电路发送控制电路发送控制电路发送控制电路 配合发送缓冲器工作。在异步方式下,为数据加上起始位、校验位和停止位在同步方式下,插入同步字符和校验位读写控制逻辑电路读写控制逻辑电路读写控制逻辑电路读写控制逻辑电路 配合数据总线缓冲器工作。接收写信号WR,写入数据和控制字。接收读信号RD,读取数据或状态字。接收控制/数据信号C/D和读写信号合起来通知8251A当前接收控制/数据信号C/D,和读写信号合起来通知8251A当前读写的是数据还是控制字、状态字。读写的是数据还是控制字、状态字。接收CLK,完成8251A内部定时。接

12、收RESET,使8251A处于空闲状态。调制解调控制电路调制解调控制电路调制解调控制电路调制解调控制电路远程通信时有时需要用调制解调器(M d)将串行接远程通信时,有时需要用调制解调器(Modem)将串行接口送出的数字信号变为模拟信号发送出去;或将接受到的送出的数字信号变为模拟信号发送出去;或将接受到的模拟信号变为数字信号,再由串行口送往计算机主机。调制解调控制电路用来简化8251A与调制解调器的连接。调制解调控制电路用来简化8251A与调制解调器的连接。即由调制解调控制电路提供一组通用的控制信号,使得8251A可以直接和调制解调器相连。8251A8251A的异步接收的异步接收的异步接收的异步

13、接收R RX XD D接收器输出接收器输出D0D1Dn不出现在数据总线上不出现在数据总线上X X数据位数据位校验位校验位启动位停止位启动位停止位8251A将RXD上的低电平作为起始位。8251A的接收器时钟脉冲计数,半个数位传输时间时对RXD进行检测,若仍为低电平则有效。8251A开始常规采样,即每隔一个数位传输时间对RXD进行一次采样。数据进入移位寄存器,进行奇偶校验并去掉停止位。数据进入移位寄存器,进行奇偶校验并去掉停止位。并行数据经内部数据总线到数据输入寄存器,同时发送READY信号。8251A对少于8位的数据进行高位补零。8251A8251A和和和和CPUCPU之间的信号连接之间的信号

14、连接之间的信号连接之间的信号连接数据信号数据信号传输数据状态字控制命令字等传输数据、状态字、控制命令字等。片选信号片选信号信信片选信号片选信号低电平时,8251A被选中。读读写写控制信号控制信号具体操作WRRDC/DCPU从8251A输入数据100具体操作WRRDC/DCPU读取8251A的状态101CPU往8251A输出数据010CPU往8251A写入控制命令011收发联络信号收发联络信号收发联络信号收发联络信号发送器准备好发送器准备好发送器准备好发送器准备好T TX XRDYRDY8251A已经准备好发送一个字符,CPU可以往8251A传输一个数据。实际使用时,采用中断方式或查询方式则作为

15、中断请求信号或查询方式时的联络信可采用中断方式或查询方式,TXRDY则可作为中断请求信号或查询方式时的联络信号发送器空发送器空发送器空发送器空T TX XE E8251A发送器中并行到串行转换器空,表明一个发送动作的完成。在同步方式时不允许字符之间有空隙而CPU有时会来不及往8251A输出字符这时若T E时,不允许字符之间有空隙,而CPU有时会来不及往8251A输出字符,这时若TXE为高电平,发送器在输出线上插入同步字符,来填补传输间隙。接收器准备好接收器准备好接收器准备好接收器准备好R RX XRDYRDY表示当前8251A已从外部设备或Modem接收到一个字符,正等待CPU取走。同样R R

16、DY也可作为中断请求信号或查询方式时的联络信号同样,RXRDY也可作为中断请求信号或查询方式时的联络信号。同步检测同步检测同步检测同步检测SYNDETSYNDET只用于同步方式。当8251A工作于内同步时,SYNDET作为输出端;当8251A工作于外同步时,SYNDET作为输入端。8251A8251A和和外设之间的信号连接外设之间的信号连接和和外设之间的信号连接外设之间的信号连接收发联络信号收发联络信号DTR数据终端准备好信号数据终端准备好信号DTR 数据终端准备好信号数据终端准备好信号DSR 数据设备准备好信号数据设备准备好信号RTS 请请求发送求发送信号信号CTS 清除请求发送信号清除请求

17、发送信号数据信号数据信号T D发送器数据信号端发送器数据信号端TXD 发送器数据信号端发送器数据信号端RXD 接收器数据信号端接收器数据信号端接收接收/发送时钟信号发送时钟信号异步方式时R CT C可为波特率的1异步方式时RXC、TXC可为波特率的1倍、16倍或64倍。8 8位接口芯片位接口芯片位接口芯片位接口芯片&1616位数据总线位数据总线位数据总线位数据总线8位接口芯片通常地址8位接口芯片通常地址对奇奇奇奇地址端口写入控制字模式字和同步字对奇奇奇奇地址端口写入:控制字、模式字和同步字对奇奇奇奇地址端口读出:状态字对偶偶偶偶地址端口读出:从数据输入缓冲器中读数据对偶偶偶偶地址端口读出:从数

18、据输入缓冲器中读数据对偶偶偶偶地址端口写入:往数据输出缓冲器中写数据8086CUP的约定的约定低低低低8位数据线上的数据总是写入偶偶偶偶地址存储单元或端口,而高高高高8位数低低低低位数据线上的数据总是写入偶偶偶偶地址存储单元或端口,而高高高高位数据线上的数据总是写入奇奇奇奇地址存储单元或端口;读出数据时情况类似。解决办法解决办法硬件上,接口芯片与低8位总线相连且将总线的A1与芯片的A0相连。10软件上,用连续的偶地址代替奇偶地址。8251A8251A的初始化约定的初始化约定的初始化约定的初始化约定芯片复位后第一次用奇地址奇地址奇地址奇地址端口写模式字模式字模式字模式字入模式寄存器模式寄存器。第

19、二次往奇地址奇地址奇地址奇地址端口第二次往奇地址奇地址奇地址奇地址端口写控制字控制字控制字控制字入控制寄存器。往偶地址偶地址偶地址偶地址写数据数据数据数据入数据输出缓冲器。模式寄存器模式寄存器模式寄存器模式寄存器00:同步方式:同步方式S2S1EP PEN L2L1B2B101:异步方式(:异步方式(1)10:异步方式(:异步方式(16)11异步方式异步方式(64)11:异步方式异步方式(64)00:字符长度:字符长度5位位01字符长度字符长度6位位01:字符长度字符长度6位位10:字符长度:字符长度7位位11:字符长度字符长度8位位1:带奇偶校验:带奇偶校验0:无奇偶校验:无奇偶校验1:偶校

20、验:偶校验0:奇校验奇校验:字符长度字符长度8位位0:奇校验奇校验00:无效:无效01:1位停止位位停止位10:1.5位停止位位停止位112位停止位位停止位异步异步11:2位停止位位停止位波特率因子波特率因子波特率因子波特率因子发送发送发送发送/接收时钟频率接收时钟频率接收时钟频率接收时钟频率=发送发送发送发送/接收波特率接收波特率接收波特率接收波特率 波特率因子波特率因子波特率因子波特率因子TxCRxC例:例:例:例:模式寄存器的最低2位为10,要求发送数据的波特率为300bps,接收数据的波特率为1200bps,那么:8251ATxC时钟频率为:30030016164800Hz4800Hz

21、RxC时钟频率为:12001200161619200Hz19200Hz控制寄存器控制寄存器控制寄存器控制寄存器EHIRRTSERSBRKRXEDTRTXEN1:允许发送:允许发送1:1:1:数据终端准备好:数据终端准备好1:允许接收:允许接收1:内部内部复复1:进入进入搜搜1:发断缺字符:发断缺字符0:正常工作:正常工作复复位位搜搜索方式索方式1:清除错误标志:清除错误标志1:请求发送请求发送1:请求发送请求发送状态寄存器状态寄存器状态寄存器状态寄存器DSR BRKDETFEOEPETXEMPTYRXRDY TXRDY1:发送器准备好:发送器准备好1:接收器准备好奇偶错溢出错帧校验:接收器准备

22、好奇偶错溢出错帧校验1:数据:数据1:发送器空标志标志错标志装置准:发送器空标志标志错标志装置准备备0:正常工作正常工作备备好好0:正常工作正常工作1:接收到断缺字符:接收到断缺字符异步模式下初始化异步模式下初始化异步模式下初始化异步模式下初始化MOV AL,0FAH;模式字1111 1010BOUT 42HAL;设置模式字为异步模式OUT 42H,AL;设置模式字,为异步模式;波特率因子为16;用7个数据位,偶校验,2个停止位MOVAL,37H;控制字 0011 0111BOUT42H,AL;设置控制字,使发送启动、接收启动并设置有关信号;并设置有关信号A7A6A5A4A3A2A1A0010

23、00010地址总线地址总线地址总线地址总线8251A8251A18251A8251A1A7A6A5A4A3A2A1A0C/D状态字编程举例状态字编程举例状态字编程举例状态字编程举例MOV AL,0FAH;设置模式字,异步模式,波特率因子为设置模式字,异步模式,波特率因子为16,,OUT 42H,AL;7个数据位,个数据位,2个停止位,偶校验个停止位,偶校验MOV AL,35H;设置控制字,使发送器和接收器启动,并设置控制字,使发送器和接收器启动,并OUT 42H,AL;清除出错指示位清除出错指示位MOV DI,0;变址寄存器初始化变址寄存器初始化MOVCX 80共收取共收取80个字符个字符MO

24、V CX,80;共收取共收取80个字符个字符BEGIN:IN AL,42H;读状态字读状态字TEST AL,02H;并测试并测试RXRDY位是否为位是否为1JZBEGIN;如为如为0表示未收到字符表示未收到字符则继续读取状态字则继续读取状态字JZ BEGIN;如为如为0,表示未收到字符表示未收到字符,则继续读取状态字则继续读取状态字状态字编程举例状态字编程举例状态字编程举例状态字编程举例IN AL,40H;读取字符读取字符MOV DX,OFFSET BUFFER;取缓冲区偏移地址取缓冲区偏移地址MOV DX+DI,AL;传输字符,将字符送入缓冲区传输字符,将字符送入缓冲区INC DI;修改缓冲

25、区指针修改缓冲区指针INAL 42H;读取状态字读取状态字IN AL,42H;读取状态字读取状态字TEST AL,38H;测试有无帧格式、奇偶、溢出错误测试有无帧格式、奇偶、溢出错误如有错如有错则转向错误处理程序则转向错误处理程序JNZ ERROR;如有错如有错,则转向错误处理程序则转向错误处理程序LOOP BEGIN;如没有错,则接收下如没有错,则接收下1个字符个字符JMP EXIT;如满如满80个字符,则结束个字符,则结束ERROR:CALL ERR_OUT;调用出错处理程序调用出错处理程序EXIT:8251A8251A应用实例应用实例应用实例应用实例8251A8251A的初始化的初始化的

26、初始化的初始化INIT:XOR AX,AX;AX清零清零MOV CX,0003;往;往8251A控制端口控制端口DAH送送3个个00MOVDX00DAHMOV DX,00DAHOUT1:CALL KKKLOOP OUT1往往控制端控制端个个复位复位MOV AL,40H ;往往8251A控制端控制端口口DAH送送1个个40H,复位复位CALL KKKMOV AL,4EH;设置模式字设置模式字,异步异步、波特率因子波特率因子16,;设置模式字设置模式字,异步异步、波特率因子波特率因子CALL KKK;8位数据位,位数据位,1位停止位位停止位MOV AL,27H;设置控制字,使发送器和接收器启动;设

27、置控制字,使发送器和接收器启动CALL KKKCALL KKKKKK:OUT DX,AL;下面是输出子程序,将;下面是输出子程序,将AL中的数据输出到中的数据输出到PUSH CX;DX指定端口指定端口MOV CX,0002;等待输出动作完成等待输出动作完成ABC:LOOP ABCABC:LOOP ABCPOP CX;恢复;恢复CX内容内容RET;返回;返回往往往往CRTCRT输出一个字符输出一个字符输出一个字符输出一个字符CHAROUT:MOVDX,0DAH;从状态端口;从状态端口DAH读取状态字读取状态字STATE:INAL,DXTESTAL01测试状态位测试状态位TXRDY是否为是否为1T

28、ESTAL,01;测试状态位测试状态位TXRDY是否为是否为1,;1表示当前数据输出缓冲器为空表示当前数据输出缓冲器为空JZ STATE;如不是,再查询状态字并测试;如不是,再查询状态字并测试端地端地MOV DX,0D8H;数据端数据端口口地地址址0D8H送送DXPOPAX;AX中为要输出的字符中为要输出的字符;输出的字符事先放在堆栈中;输出的字符事先放在堆栈中OUTDX,AL;往端口中输出一个字符;往端口中输出一个字符并行通信并行通信并行通信并行通信&接口接口接口接口把一个字符的各数位用几条线同时进行传输。并行通信适用于短距离高速传输场合。实现并行通信的接口就是并行接口。一个并行接口可以设计

29、成只用来输出或输入,也可设计成既作为输入又可作为输出的接口也可设计成既作为输入又可作为输出的接口。传输快传输速度快;信息率高;信息率高;电缆数目多。并行接口示意图并行接口示意图并行接口示意图并行接口示意图并行接口并行接口数据总线数据总线输输入入状态寄存器状态寄存器数据输入准备好数据输入回答数据输入准备好数据输入回答并行接口并行接口入入设备设备数据输入数据输入输入缓冲寄存器输入缓冲寄存器读出信号写入信号读出信号写入信号复位复位CPU输输数据输出数据输出输出缓冲寄存器输出缓冲寄存器控制寄存器控制寄存器复位复位准备好准备好中断请求中断请求地址地址译码译码输输出设出设备备数据输出数据输出控制寄存器控制

30、寄存器中断请求中断请求数据输出准备好数据输出准备好数据输出回答数据输出回答片选片选译码译码备备数据输出回答数据输出回答A0A1可编程并行接口可编程并行接口可编程并行接口可编程并行接口8255A8255AA组组A组控组控I/OA组组端口端口A(8)A组控组控制部件制部件A组组I/OPA7 PA0D7D0数据总线数据总线双向数据总线双向数据总线A组组端口端口C上半部上半部(4)8位内部数据总线位内部数据总线I/OPC7 PC4D7D0缓冲器缓冲器()B组组端口端口C下半部下半部I/OPC3PC0读读/写写(4)B组组A1RDWR3 0I/O控制控制部件部件B组端口组端口B(8)控制部件控制部件A1

31、A0RESETI/OPB7 PB0CS8255A内部结构框图内部结构框图8255A8255A数据端口数据端口数据端口数据端口端口端口端口端口A A1个8位数据输入锁存器1个8位数据输入锁存器1个8位输出锁存器/缓冲器端口端口端口端口B B1个8位数据输入缓冲器1个8位输出锁存器/缓冲器1个8位输出锁存器/缓冲器端口端口端口端口C C常常通过控制命令被分成2个4位端口,分别用来为端口A和端口B端口端口端口端口C C1个8位数据输入缓冲器用来为端口A和端口B提供控制信号和状态信号1个8位输出锁存器/缓冲器A A、B B组控制组控制组控制组控制一方面接收芯片内部总线上的控制字;一方面接收来自读写控制

32、逻辑电路的读写命令,据此决定两组端口的工作方式和读写操作。的读写命令,据此决定两组端口的工作方式和读写操作。A A组控制电路组控制电路组控制电路组控制电路控制端口A和端口C的高4位(PC7PC4)的工作方式和读写操作。B B组控制电路组控制电路组控制电路组控制电路B B组控制电路组控制电路组控制电路组控制电路控制端口B和端口C的低4位(PC3PC0)的工作方式和读写操作。接收CS系统地址总线的信号AA(8086系统中为AA)和读写控制逻辑电路读写控制逻辑电路读写控制逻辑电路读写控制逻辑电路接收CS、系统地址总线的信号A1、A0(8086系统中为A2、A1)和控制总线的信号RESET、WR、RD

33、,将这些信号组合后,得到对控制部件A和B的控制命令,完成对数据、状态信息和控制信息的传输。8255A8255A的引脚的引脚的引脚的引脚1.和外设一边相连的信号和外设一边相连的信号组数据信号PA7PA0A组数据信号PB7PB0B组数据信号PC7PC0C组数据信号2 和和CPU边相连的信号边相连的信号2.和和CPU一一边相连的信号边相连的信号RESET复位信号,高电平有效。D7D0数据线。CS片选信号。读出信RD读出信号。WR写入信号。端选择信A1、A0端口选择信号。控制信号控制信号控制信号控制信号CSCSA A1 1A A0 0RDRDWRWR传输动作传输动作传输动作传输动作00001数据从端口

34、A送数据总线00101数据从端口B送数据总线01001数据从端口C送数据总线00010数据从数据总线送端口A00110数据从数据总线送端口B01010数据从数据总线送端口C01110如D7为1,则由数据总线往控制寄存器写入控制字;如D7为0,则由数据总线输入的数据作00制字;如7为,则由数据总线输入的数据作为对C端口的置1/置0命令1XXXXD7D0进入高阻态01101非法的信号组合01101非法的信号组合0XX11D7D0进入高阻态的端地址总线的相连的端地址总线的相连8255A的A A1 1端和地址总线的A A2 2相连,8255A的A A0 0端和地址总线的A A1 1相连,且CPU对82

35、55A访问时地址总线的A A0 0位总设置成0 0。8255A8255A控制字控制字控制字控制字8255A可通过指令在控制端口中设置控制字来决定其工作。各端口的方式选择控制字方式选择控制字方式选择控制字方式选择控制字(D D7 7位总是为位总是为1 1)使3个端口工作在不同的工作方式。通常将3个端口分为两组来设定工作方式通常将3个端口分为两组来设定工作方式,即PA+PCH为一组、PB+PCL为另一组。C端口按位位置置置置1/1/置置置置0 0控制字控制字控制字控制字(D D位总是为位总是为0 0)C端口按位位置置置置1/1/置置置置0 0控制字控制字控制字控制字(D D7 7位总是为位总是为0

36、 0)可使C端口中的任何一位进行置位或复位方式控制字方式控制字方式控制字方式控制字DDDDDDD11:端口端口C(PC PC)输入输入B组组D6D5D4D3D2D1D01方方1:端口端口C(PC3PC0)输入输入0:端口:端口C(PC3PC0)输出)输出1:端口:端口B输入输入式控制式控制字字0:端口:端口B输出输出1:端口:端口B方式方式1字字标志位标志位0:端口:端口B方式方式01:端口:端口C(PC7PC4)输入)输入端口端口C(CC)输出输出0:端口端口C(PC7PC4)输出输出1:端口:端口A输入输入0:端口端口A输出输出0:端口端口A输出输出00:端口:端口A方式方式001:端口:

37、端口A方式方式11X:端口:端口A方式方式2A组组置位置位置位置位/复位控制字复位控制字复位控制字复位控制字对C C端口端口端口端口的某一位进行置位/复位操作,对其他位没有影响。此控制字必须写入控制口D 位为标识符必须为0DDDDDDD0必须写入控制口。D7位为标识符,必须为0。D6D5D4D3D2D1D00标标1:置位:置位0:复位复位标标志位志位0 0 0PC00 0 1PC1010PC0:复位复位0 1 0PC20 1 1PC31 0 0PC4 41 0 1PC51 1 0PC61 1 1PC78255A8255A工作方式工作方式工作方式工作方式三种基本工作方式三种基本工作方式三种基本工

38、作方式三种基本工作方式方式方式方式方式0 0:基本输入:基本输入:基本输入:基本输入/输出方式;输出方式;输出方式;输出方式;方式方式方式方式1 1:选通输入:选通输入:选通输入:选通输入/输出方式;输出方式;输出方式;输出方式;方式方式方式方式2 2双向传送方式双向传送方式双向传送方式双向传送方式方式方式方式方式2 2:双向传送方式双向传送方式。:。:双向传送方式双向传送方式。端口端口A:可可处于处于3种工作方式,种工作方式,端口端口B:只只可处于可处于2种工作方式种工作方式(方式方式0和方式和方式1)(方式方式0和方式和方式1)端口端口C:常常被分为高被分为高4位和低位和低4位,位,分别传

39、送数据或控制信息分别传送数据或控制信息分别传送数据或控制信息分别传送数据或控制信息8255A8255A工作方式工作方式工作方式工作方式完成简单的并行输入/输出操作CPU可以从指定基基本本基基本本完成简单的并行输入/输出操作,CPU可以从指定端口输入信息,也可向指定端口输出信息。输输输输入入入入任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系入入入入输输输输各端口之间没有规定必然的关系。C端口分为两个4位端口,分别被定义为输入或输出出方方出出方方C端口分为两个4位端口,分别被定义为输入或输出端口。式式式式直接由 CPU执行 IN和 OUT指令完成,而不提供任何“握手”信息任

40、何“握手”信息。方式方式方式方式0 0 应用举例应用举例应用举例应用举例采用查询方式如BUSY为0CPU通过8255A往打印机输出一个字符采用查询方式,如BUSY为0,CPU通过8255A往打印机输出个字符通过8255A的PC6输出一个负脉冲选通到打印机输入缓冲器启动打印A端口:00D0H,B端口:00D2H,C端口:00D4H,控制口:00D6H传送字符PAPA传送字符方式0输出PCPC工作方式0PC3 PC0输入(因PC2输入)PBPB未用PC7 PC4输出(因PC6输出)程序程序程序程序PP:MOVAL,81H ;控制字,使A、B、C三个端口均工作于方式0,A端口为输出,PC7PC4为输

41、出,PC3PC0为输入OUT0D6H,ALMOVAL 0DH;用置1/0方式使PC 为1 即STB为高电平MOVAL,0DH ;用置1/0方式使PC6为1,即STB为高电平OUT0D6H,ALLPST:INAL,0D4H;读端口C的值ANDAL,04HJNZLPST ;如PC2不为0,说明忙信号为1,则等待MOVAL,CLOUT0D0H,AL ;如不忙,则把CL中字符送端口AMOVAL,0CHMOVAL,0CHOUT0D6H,AL ;使STB为0INCALOUT0D6H,AL ;再使STB为1;后续程序8255A8255A工作方式工作方式工作方式工作方式数据输入/输出操作在选通信号控制下完成。

42、选选选选通通通通端口A、B可分别作为两个数据口工作在方式1,并且任何一个端口都可作为输入口或输出口通通通通输输输输入入入入端口都可作为输入口或输出口。如果AB两个端口中只有一个工作于方式1则端口C中就有入入入入输输输输如果A、B两个端口中只有一个工作于方式1,则端口C中就有3位被规定为配合方式1工作的信号;另一个端口可工作于方式0,端口C中的其它数位也可工作于方式0出出出出方方方方端口C中的其它数位也可工作于方式0。如果AB两个端口都工作于方式1那么端口C中就有6位被方方方方式式式式如果A、B两个端口都工作于方式1,那么端口C中就有6位被规定为配合方式1工作的信号,剩下的2位仍可作为输入或输出

43、。方式方式方式方式1 1 输入控制信号输入控制信号输入控制信号输入控制信号(1)STB选通信号,由外部输入。有效时,将外部数据锁存到所选端口的输入锁存器中。A组:端口C的第4位(PC4)接收STB信号。B组:端口C的第2位(PC2)接收STB信号。(2)IBF输入缓冲存储器满信号,向外部输出。有效时表示输入设备输入的数据已占用该端口的输入锁存器CPU执行IN指令时RD有效将输入数据读入CPU已占用该端口的输入锁存器。CPU执行IN指令时,RD有效,将输入数据读入CPU,其后沿把IBF置0,表示输入缓冲存储器已空,外部设备可继续输入后续数据。A组:端口C的第5位(PC)发送IBF信号A组:端口C

44、的第5位(PC5)发送IBF信号。B组:端口C的第1位(PC1)发送IBF信号。(3)INTR中断请求信号,向CPU输出。A组:PC3、B组:PC0(4)INTE中断允许信号,软件对C端口置位/复位实现。A组:PC6、B组:PC2方式方式方式方式1 1 输入控制字输入控制字输入控制字输入控制字PA7 PA08位位端口端口A方式方式1输入输入DDDDDDDDSTBAIBFAPC4PC5INTEAD6D5D4D3D2D1D0D70111/01INTRAPC3&端口端口B方式方式1输入输入PC6、7I/OD6D5D4D3D2D1D0D7111STBBPB7 PB0PC2INTEB8位位端口端口AB方

45、式方式1输入输入IBFBPC1PC&INTR端口端口A、B方式方式1输入输入D6D5D4D3D2D1D0D70111/0111PC0INTRB0111/0111方式方式方式方式1 1 输入时序输入时序输入时序输入时序方式方式方式方式1 1 输出控制信号输出控制信号输出控制信号输出控制信号(1)OBF输出缓冲 存储器满,向外部输出。表示CPU已将数据写入该端口,等待输出。A组:端口C的第7位(PC7)发送OBF信号。B组:端口C的第1位(PC1)发送OBF信号。B组:端口C的第1位(PC1)发送OBF信号。(2)ACK外部应答信号由外部输入。表示外部设备已收到由8255A输出的八(2)ACK外部

46、应答信号,由外部输入。表示外部设备已收到由8255A输出的八位数据,并复位OBF=1。A组:端口C的第6位(PC6)接收ACK信号。组端口 的第 位(6)接收信号。B组:端口C的第2位(PC2)接收ACK信号。(3)INTR中断请求信号,向CPU输出。A组:PC3、B组:PC0(4)INTE中断允许信号,软件对C端口置位/复位实现。A组:PC6、B组:PC2方式方式方式方式1 1 输出控制字输出控制字输出控制字输出控制字PA7 PA0INTE8位位端口端口A方式方式1输出输出DDDDDDDDPC6PC7INTEAACKAOBFAD6D5D4D3D2D1D0D70101/01PC3&INTRA端

47、口端口B方式方式1输出输出PC4、5I/O8位位D6D5D4D3D2D1D0D7101ACKBPB7 PB0PC2INTEB8位位端口端口AB方式方式1输出输出OBFBPC1&端口端口A、B方式方式1输出输出D6D5D4D3D2D1D0D70101/0101PC0&INTRB0101/0101方式方式方式方式1 1 A A输入输入输入输入B B输出控制字输出控制字输出控制字输出控制字D6D5D4D3D2D1D01控制字格式控制字格式:011X101控制字格式控制字格式:PA7 PA0PC48位位STBA端口状态:端口状态:4PC5PC3AIBFAINTRAPB7 PB0PC6、7I/O8位位P

48、C1PC2PCOBFBACKBPC0INTRB方式方式方式方式1 1 应用举例应用举例应用举例应用举例PAPA数据通道方式1输出方式1输出PBPB未用PCPCPC3(INTR)PC6(ACK)6()PC0(DATASTROBE)采用中断方式,中断信号由8255A的PC3(INTR)送往8259A的IR3端,对应的中断类型号为0BH,中断向量放在00段的2CH,2DH,2EH,2FH这4个单元中,8259A在系统程序中已完成初始化。由中断处理子程序完成字符输出 主程序仅对8255A设置方式控制字开放由中断处理子程序完成字符输出,主程序仅对8255A设置方式控制字、开放中断(包括用STI指令对CP

49、U的IF和用控制指令对8255A的INTE置1)8255A8255A设置设置设置设置8255A8255A端口地址端口地址端口地址端口地址A端口:00C0HB端口:00C2H C端口:00C4H控制口00C6H方制方制方制方制控制口:00C6H8255A8255A方式控制字方式控制字方式控制字方式控制字0A00A0 H H0A0 0A0 H H01000001主程序主程序主程序主程序MAIN:MOVAL,0A0H OUT0C6H,AL;设置设置8255A的方式控制字的方式控制字MOVAL,01 ;使使PC0为为1,即让选通无效即让选通无效OUT0C6H,ALOUT0C6H,ALXORAX,AXM

50、OVDS AX;设置中断向量设置中断向量1000:2000至至MOVDS,AX;设置中断向量设置中断向量1000:2000至至MOV AX,2000H;2C、2D、2E、2FMOVWORD PTR 002CH AXMOV WORD PTR 002CH,AXMOVAX,1000HMOVWORD PTR 002EH AXMOVWORD PTR 002EH,AXMOVAL,0DH;使;使PC6为为1,允许,允许8255A中断中断OUT0C6H,AL STI;开放中断;开放中断中断处理子程序中断处理子程序中断处理子程序中断处理子程序中断处理子程序必须装配在中断处理子程序必须装配在1000:2000 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁