欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

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

    • 资源ID:5040200       资源大小:1.41MB        全文页数:117页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1,第六章 串并行通信和接口技术,本章重点:1、计算机与外设的通信方式 2、8251A的编程结构和功能结构 3、8251A的初始化和应用 4、8255A的编程结构 5、8255A的工作方式 6、8255A的初始化和应用,2,计算机与外设的通信方式,1、并行方式,2、串行方式,用的传输线多,用的传输线少,速率高,速率低,适于近距离传输,适于远距离传输,目录,6.1 概述,3,6.2 串行接口和串行通信,一、串行接口,1、适用场合:外设和计算机按串行方式进行通信。,目录,可编程串行接口的典型结构,保存传输状态,CPU给接口的控制信息,保存CPU送外设的数据,保存外设送CPU的数据,5,二、串行通信数据传送方式,(1)单工方式,只允许数据按一个固定方向传输。,1、按数据传输时发送过程和接收过程的关系划分,(2)半双工方式,输入输出使用同一通路,需分时传输。,6,(3)全双工方式,接收和发送采用不同的通路,A、B可同时发送和接收,两方资源完全独立。,(1)同步通信,1)概念:将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。,2、按时钟对通信过程的定时方式划分,2)基本特点,(2)数据流中字符与字符间和字符内的各位 间都同步;,(3)发送端和接收端须用同一时钟信号同步。,3)优点,4)缺点:硬件电路复杂。,(2)适于传大量的数据,同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。,9,(2)异步通信,1)概念 将要传输的数据分成小段,发送端在约定的波特率下发送数据,接收端按约定的波特率接收,不需发同步信号。,2)基本特点,(2)串行异步通信以字符为单位进行传输,其通信协议是起止 式异步通信协议。,(1)字符之间异步,字符内各位基本同步。,二、串行通信数据传送方式,10,标准(起止式)异步通信协议格式,起始位每个字符开始传送的标志,起始位采用逻辑0电平。,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送。,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位。,空闲位传送字符之间的逻辑1电平,表示没有进行传送。,标识态,3)优点,4)缺点,对时钟同步要求不严格。接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。,传送效率低。控制信息至少占总信息的20。,注:通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。,12,三、串行通信的传输率,1、概念,1)传输率:每秒钟传输的二进制数据的位数,又称波特率。,2)发送时钟:异步方式通信时,发送端需用时钟决定每一位 对应的时间长度,该时钟称发送时钟。,国际上规定的标准波特率:110、300、600、1200、1800、2400、4800、9600、19200。,4)波特率因子:接收时钟或发送时钟频率与位传输率的比。,注:接收时钟或发送时钟频率可以是位传输率的16、32或64倍。,3)接收时钟:异步方式通信时,接收端需用时钟测定每一位 的时间长度,该时钟称接收时钟。,例1、在一串行通信系统中,传送速率为960字符每秒,每个字符是10位,则波特率为多少?,960109600bit/s(bps),2、例,例2、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为多少个?,1200/(1711)120个。,例3、同步传输:设每个字符包含7个信息位,波特率为1200bps,用4个同步字符作为信息帧头部,但不用奇偶校验,每个信息帧包含100个字符,每秒钟能传输的字符数最大可达到多少个?,传输100个字符所用的时间:7(100+4)/12000.6067s。则每秒钟能传输的字符数可达到:100/0.6067165个。,结论:在同样的传输率下,同步传输时实际字符传输率要比 异步传输时高。,15,四、串行接口标准RS-232C,RS-232C标准(协议)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000bits范围内的通信。现在的台式PC机一般有两个RS-232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是25针连接器。,16,1、RS-232C的电气特性,注:负逻辑规定电平,信号电平标准,2、RS-232C标准与TTL标准之间的转换,标准TTL电平,17,6.3 可编程串行通信接口8251A,一、8251A的基本性能,1、通过编程,可工作于同步方式和异步方式。,同步方式,目录,18,一、8251A的基本性能,异步方式,19,一、8251A的基本性能,2、完全双工工作,具有双缓冲的发送器和接收器。,4、输入输出电路为TTL电平。,3、具有奇偶校验、溢出和帧错误检测等功能电路。,注:8251A接口电平与EIA RS-232-C所要求的电平 不同,所以互相连接时,必须增加驱动级和 接收电路。,20,二、8251A的基本原理,1、8251A编程结构,21,2、8251A的功能结构,双向三态的8位数据缓冲器。与系统数据总线相连。,配合数据总线缓冲器工作,接收来自系统控制总线的信号。,1):片选信号。2):控制/数据信号。3):写控制信号。4):读控制信号。5)CLK:内部定时信号。6)RESET:复位信号。,提供了一组通用控制信号,使8251可直接与调制解调器连接。,接收串行数据,并进行串并转换。,配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的“1”,检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。,配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;(2)同步方式下,插入同步字符,在数据中插入校验位。,把并行数据加上相应的控制信息,转换成串行数据输出。,27,3、8251A的发送和接收,(1)检测起始位,1)异步接收方式,设数据接收时钟频率是数据传输频率的16倍。,起始检测,确定已检测到起始位,备注:无数据传送时,RxD线上是高电平。如在RxD线上检测到低电平,启动接收控制电路中的内部计数器计数,计数脉冲为8251A接收器时钟脉冲。当计数进行到相当于半个数位传输时间时(如时钟脉冲为波特率的16倍时,则计到第八个脉冲相当与半个数位传输时间),再对RxD线检测,如仍为低,则确认为一有效起始位。如8251A在检测起始位时,半个数位传输时间后,没有再检测到低电平,而是测到高电平,8251A就把刚才检测到的信号看成干扰脉冲,再重新开始检测RxD线上是否出现低电平。,采样数据,每隔一字符传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。,(2)8251A进行常规采样并进行字符装配,(3)通知CPU接收数据 并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,可以取用。,29,8251A异步接收数据传输格式,注:对于少于8位的数据,8251A将高位补0。,30,2)8251A异步发送方式,(2)8251A由TxD线把串行数据送出。8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。,注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。,31,8251A异步发送数据传输格式,注:对于少于8位的数据,8251A将高位补0。,32,3)8251A的同步接收方式,(1)搜索同步字符,双同步字符 检测到第一个同步字符后,再继续检测此后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。,(b)外同步,通过在同步输入端SYNDET加一高电位实现同步。当SYNDET端出现一个高电平,并且维持一时钟接收周期,8251A认为已经完成同步。,(2)数据的同步传输,接收器利用时钟信号对RxD采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收到一数据。,34,8251A同步接收数据传输格式,35,4)8251A的同步发送方式,(2)发送同步字符 根据编程要求,发送器先发送一个或两个同步字符。,注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同步字符,由TxD送出。,(3)发送数据块 发送数据块时,发送器根据要求对数据块中的数据加上奇偶校验位或不加。,36,8251A同步发送数据传输格式,37,三、8251A的对外连接信号,8251A对外连接信号,8251A与CPU之间的信号,8251A与外设之间的信号。,38,1、8251A与CPU之间的信号,3)读/写控制信号,39,1、8251A与CPU之间的信号,4)收发联络信号,(1)TxRDY:发送器准备好。,40,(2)TxE:发送器空信号。,8251A无字符发送时,TxE为高,实际上指示了一次发送动作的结束。当8251A收到CPU发来的字符时,TxE变为低。注:在同步发送时,如CPU没及时往8251A送字符,TxE会变成高电平,发送器在输出线上插入同步字符,以填补空隙。,1、8251A与CPU之间的信号,(3)RxRDY:接收器准备好。,表示8251A已经从外设接收到一个数据,等待CPU来读取。CPU从8251A读取数据后,RxRDY变为低电平。可作为中断请求信号,也可作为查询方式的联络信号。,(4)SYNDET:同步检测信号,仅用于同步方式。,8251A内同步:输出信号。单同步字符:检测到同步字符,变为高电平;双同步字符:检测到第二个同步字符的最后一位后,在该位的中间变为高电平,表示已达到同步。,8251A外同步:输入信号。如果从SYNDET端输入一个正跳变的信号,并且维持一时钟接收周期,8251A认为已经完成同步,8251A在RXC的下一个下降沿开始装配字符。,注:复位:SYNDET变为低电平;内同步:CPU执行一次读操作后,变为低电平;外同步:其电平状况决定于外部信号。,42,2、8251A与外设之间的信号,1)数据信号,(1)TxD:发送器数据信号端。,CPU送往8251A的并行数据被转化为串行数据后,通过TxD端发送给外设。,(2)RxD:接收器数据信号端。,接收外设送来的串行数据,经转换为并行数据后由CPU接收。,43,2)收发联络信号,2、8251A与外设之间的信号,44,2、8251A与外设之间的信号,备注:为什么提供四个联络信号?/DTR和/RTS是CPU通过8251A送往外设的,CPU通过软件对控制寄存器中的DTR位和RTS位置1就可以使8251A的/DTR和/RTS引脚输出有效电平,所以/DTR和/RTS是CPU对外设的控制信号。/DSR和/CTS是外设通过8251A传递给CPU的状态信号。当外设和/DSR端相连时,往此引脚送一低电平,就会影响8251A状态寄存器的DSR位,CPU可通过软件对DSR位进行检测。/CTS端电平的高低会影响TxRDY端的电平,TxRDY是8251A送给CPU的状态信号。使用时/CTS必须为低,其它三个信号可以悬空不用。即使CPU和外设之间不需传递任何联络信号,也要将/CTS端接地。因为只有/CTS为低,才能使TxRDY为高,CPU才能往8251A发送数据。如果8251A仅工作在接收状态,/CTS也可悬空。,45,3、其它信号,1)时钟信号,(1)CLK:产生8251A内部定时信号。,(2)TxC:发送时钟。,控制发送字符的速率。同步传送时,TxC频率等于字符传输的波特率;异步传送时,TxC频率是字符波特率的1、16或64倍。,(3)RxC:接收时钟。,控制接收字符的速率。同步传送时,RxC频率等于字符传输的波特率;异步传送时,RxC频率是字符波特率的1、16或64倍。,2)电源信号,(1)Vcc:5V,(2)GND:地线。,46,四、8251A的编程,1、8位接口芯片和16位数据总线的连接问题,解决方法,47,2、8251A的初始化,1)8251A初始化的约定,(1)芯片复位后,第一次用奇地址端口写入的值作为方式字进入方式寄存器;(2)如果方式字中规定8251A工作在同步方式,CPU接着往奇地址输出的1或2个字节就是同步字符,写入同步寄存器。(3)随后,只要不是复位命令,不管同步还是异步,CPU用奇地址端口写入的值作为控制字送控制寄存器,用偶地址端口写入的值作为数据送数据输出缓冲寄存器。,2)8251A,的初始化流程,49,3、8251A模式寄存器格式,1)异步方式下模式寄存器格式,时钟频率波特率波特率因子,例如:方式指令D1D011,接收数据的波特率为1200bps。接收时钟RxC的频率?,RxC的频率12006476.8KHz,2)同步方式下模式寄存器格式,同步方式波特率时钟频率,51,4、控制寄存器格式,注:D71,在内同步方式中,8251A开始搜索同步字符。,发送允许。0:禁止1:允许,接收允许。0:禁止1:允许,复位错误标志。1:使PE、OE、FE复位(清除出错指示位),内部复位。1:使8251A复位,返回方式指令,发送空白字符。1:强迫TxD为0,发送空白字符,请求发送。1:强迫RTS为0,数据终端准备好。1:强迫DTR为0,搜索同步字符。1:启动搜索,TxEN,DTR,RxE,SBPK,ER,RTS,IR,EH,D0,D1,D2,D3,D4,D5,D6,D7,5、状态寄存器格式,2)D11,接口中已收到一个数据,可由CPU来读取。当CPU读走一个字符后,该位自动清0。,3)D21,表示发送器刚发送一个字符,现为空,等待CPU发 下一个。,53,五、8251A应用举例,例1、异步方式下初始化编程,编写8251A的初始化程序,使之工作于异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16;清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。8251A端口地址:50H,52H,1 0,1 0,1 1,1 1,解:1)确定8251A的模式字 异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16。,2)确定8251A的控制字:清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。,发送允许。0:禁止1:允许,接收允许。0:禁止1:允许,复位错误标志。1:使PE、OE、FE复位(清除出错指示位),内部复位。1:使8251复位,返回方式指令,发送空白字符1:强迫TxD为0,发送空白字符,请求发送。1:强迫RTS为0,数据终端准备好。1:强迫DTR为0,搜索同步字符1:启动搜索,TxEN,DTR,RxE,SBPK,ER,RTS,IR,EH,D0,D1,D2,D3,D4,D5,D6,D7,0,0,1,1,0,1,1,1,MOV AL,0FAH;11111010B OUT 52H,AL;设置模式字MOV AL,37H;00110111B OUT 52H,AL;设置控制字,56,例2、同步方式下初始化编程,编写8251A的初始化程序,使之工作于同步方式,同步字符1个,内同步,数据位7位,偶校验。一个同步字符为2AH。搜索同步字符,复位出错标志,启动接收器和发送器,CPU准备好发送,请求信号有效。8251A 端口地址:50H,52H。,MOV AL,0B8H;10111000BOUT 52H,AL;写方式字MOV AL,2AHOUT 52H,AL;写同步字符 MOV AL,0B7H;10110111BOUT 52H,AL;写控制字,57,例3、通过检测状态字实现数据接收功能,编程实现CPU接收80个字符,字符输入后放在BUFFER所指的内存缓冲区。8251A工作于异步方式,波特率因子为16,7个数据位,偶校验,2个停止位。8251A 端口地址:50H,52H。,MOV AL,0FAH;11111010BOUT 52H,AL;设置模式字MOV AL,35H;00110101BOUT 52H,AL;设置控制字MOV DI,0;变址寄存器初始化MOV CX,80;计数器初始化,BEGIN:IN AL,52H TEST AL,02H JZ BEGIN;读状态字并测试,RXRDY=0转 IN AL,50H;读取字符 MOV BX,OFFSET BUFFER MOV BX+DI,AL;传输字符 INC DI;修改缓冲区指针 IN AL,52H;读取状态字 TEST AL,38H;测试有无错误 JNZ ERROR LOOP BEGIN;如没有错,则接收下1个字符 JMP EXIT;如满80个字符,则结束ERROR:CALL ERR_OUT;调用出错处理程序EXIT:,59,例4、8251A作为CRT接口的例子,8251A工作于异步模式,波特率因子为16,8位数据,1位停止位,无校验位。8253计数器2输出方波信号作为8251A的接收时钟TxC和发送时钟RxC,编程实现往CRT输出一个字符,要输出的字符事先放在堆栈中。8251A 端口地址:00D8H,00DAH。,8251A的初始化程序段:,INIT:MOV AL,00H;AL清零 MOV CX,0003OUT1:MOV DX,00DAH OUT DX,AL LOOP OUT1;往控制端口送3个0 MOV AL,40H OUT DX,AL;送40H复位 MOV AL,4EH;01001110 OUT DX,AL;设模式字 MOV AL,27H;00100111B OUT DX,AL;设命令字启动.,注:8251A的复位约定:往奇地址端口先送3个00H,再送一个40H。,往CRT输出一个字符的程序段:,CHAROUT:MOV DX,00DAHSTATE:IN AL,DX;输入状态字 TEST AL,01 JZ STATE;不断测试状态位,TXRDY=0转 MOV DX,00D8H;数据端口地址送DX POP AX;AX中为要输出的字符 OUT DX,AL;往端口中输出一个字符,8251A的初始化程序段:,INIT:XOR AX,AX;AX清零 MOV CX,0003 MOV DX,00DAHOUT1:CALL KKK LOOP OUT1;往控制端口送3个0 MOV AL,40H CALL KKK;送40H复位 MOV AL,4EH;01001110 CALL KKK;设模式字 MOV AL,27H;00100111B CALLKKK;设命令字启动.KKK:OUT DX,AL;数据输出 PUSH CX MOV CX,0002 ABC:LOOP ABC;等待输出动作完成 POP CX RET,64,习题,1、串行通信的类型有哪几种?简述各自的特点。,2、什么是波特率因子?什么是波特率?设波特率因子为64,波特率为1200bps,则时钟频率为多少?3、写出标准异步通信数据格式。4、对8251A编程时,必须遵守哪些约定?,5、利用状态字进行检测,异步发送256个数据。8251A工作于异步模式,波特率因子为16,7位数据,2位停止位,奇检验。清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。设待发送的字符放在BUFFER标号所指的内存缓冲区。8251A 端口地址:80H,82H。,1 0,1 0,0 1,1 1,解:1)确定8251A的模式字(0DAH)异步模式,1个奇校验位,2个停止位,数据位7位,波特率因子16。,2)确定8251A的控制字(37H)清除出错标志,请求信号有效,发送、接收启动,CPU准备就绪。,0,0,1,1,0,1,1,1,参考答案:MOV AL,0DAH;11011010B OUT 82H,AL;设置模式字 MOV AL,37H;00110111B OUT 82H,AL;设置控制字 LEA BX,BUFFER MOV CX,100HAGAIN:IN AL,82H;取状态字 TEST AL,01H;测试状态位 JZ AGAIN;TXRDY=0转 MOV AL,BX;取一字符 OUT 80H,AL;发送字符 INC BX;修改地址指针 LOOP AGAIN;重复100H次,68,6.4 并行通信和并行接口,一、特点,69,二、并行接口的典型结构,70,6.5 可编程并行通信接口8255A,6.5.1 8255A的内部结构,1个8位数据输入锁存器1个8位输出锁存器/缓冲器,1个8位数据输入缓冲器1个8位输出锁存器/缓冲器,71,控制端口A和C的高4位的工作方式和读写操作。,控制端口B和C的低4位的工作方式和读写操作。,72,双向三态的8位数据缓冲器。与系统数据总线相连,管理数据传输过程,73,6.5.2 8255A的芯片引脚信号,8255芯片引脚信号,74,一、和外设一边相连的信号,1、PA7PA0A组数据信号;2、PB7PB0B组数据信号;3、PC7PC0C组数据信号。,75,二、和CPU一边相连的信号,1、RESET:复位信号 RESET信号到来时,所有内部寄存器被清除,三个端口被设为输入端口。,4、:读信号,3、:片选信号,5、:写信号,6、A1、A0:端口选择信号,2、D7D0:数据线,和系统总线相连。,76,A1A0,A2A1,系统地址线,8255A,77,8255的控制信号与传输动作的对应关系,78,6.5.3 8255A的控制字,一、方式选择控制字,79,例:8255A端口A工作于方式0输出,端口B方式0输入,端口C高四位输出,端口C低四位输入。8255A各端口地址为01E0H01E6H,请编写出初始化程序。,MOV AL,83H;控制字1000 0011BMOV DX,01E6HOUT DX,AL,1,1,0,0,0 0,0,1,端口C低四位输入,端口B输入,端口B方式0,端口C高四位输出,端口A输出,端口A方式0,标识位,解:1)确定控制字,2)写初始化程序,80,练习:8255A端口A工作于方式0输入,端口B方式1输入,端口C高四位输出,端口C低四位配合端口B工作。8255A各端口地址为60H66H,请编写出初始化程序。,MOV AL,96H;控制字1001 011BOUT 66H,AL,1,1,0,0 0,1,1,端口C低四位配合B,端口B输入,端口B方式1,端口C高四位输出,端口A输入,端口A方式0,标识位,解:1)确定控制字,2)写初始化程序,81,二、端口C置1/清0控制字,注:该控制字必须写入控制端口,82,练习:编写程序段,实现对端口C的PC6位清0,PC2位置1,8255A各端口地址为80H、82H、84H、86H。,MOV AL,0CH;控制字01100BOUT 86H,ALMOV AL,05H;控制字00101BOUT 86H,AL,例:编写程序段,实现对端口C的PC7位置1,PC3清0,8255A控制端口地址为00EEH。,MOV AL,0FH;控制字01111BMOV DX,00EEHOUT DX,ALMOV AL,06H;控制字00110BOUT DX,AL,83,利用C口的按位控制特性可以产生负脉冲或方波输出,对外设进行控制。,例:利用8255A的PC7产生负脉冲,作为外设的数据选通信号,设8255A各端口地址为80H、82H、84H、86H。,参考程序:MOV AL,00001111B;置PC7=1 OUT 86H,AL MOV AL,00001110B;置PC7=0 OUT 86H,AL NOP;维持低电平 NOP MOV AL,00001111B;置PC7=1 OUT 86H,AL,84,6.5.4 8255A的工作方式,一、方式0,1、工作特点,2、输入/输出时序,85,2)输入时序要求,86,3)输出时序要求,87,3、方式0的使用场合,(1)同步传送,(2)查询式传送,发送方和接收方的动作由一个时序信号管理,双方互相知道对方动作,无需联络信号。,发送方和接收方需联络信号。,88,例:8255作为打印机的接口,工作于方式0,如图所示。,MOV AL,81H;1000 001 B OUT 0D6H,AL;设置工作方式 MOV AL,0DH;0 1101B OUT 0D6H,AL;PC6置位LPST:IN AL,0D4H;读C端口 AND AL,04H;0000 0100B JNZ LPST;打印机忙,继续查询,否则打印,MOV AL,CLOUT 0D0H,AL;待打印字符送端口AMOV AL,0CH;0 1100BOUT 0D6H,AL;PC6清0NOPNOPINC ALOUT 0D6H,AL;PC6置位,89,练习:8255作为打印机的接口,工作于方式0。,90,当主机要往打印机输出字符时,先查询打印机的忙信号(BUSY),如果打印机忙,则BUSY信号为1,否则为0。当查询到BUSY为0时,可通过8255A往打印机输出一个字符,此时,要将 置为低电平,然后再使 为高电平,相当于在 端输出一个负脉冲(初始状态为高电平),此负脉冲作为打印机的选通信号。现将B端口作为传送字符的通道,工作于方式0;A端口未用;C端口中,PC7作为BUSY信号输入端,PC0作为 信号输出端。,91,MOV AL,88H;(1001000 B)OUT 96H,AL MOV AL,01H;(00001 B)OUT 96H,AL MOV SI,OFFSET BUF;打印字符内存首地址 MOV CX,100;打印字符个数LPST:IN AL,94H AND AL,80H JNZ LPST,2)设在BUF开始的内存缓冲区存放着100个待打印字符,完成8255A初始化程序及把待打印字符送打印机打印的程序。,1)写出8255各端口的地址,8255各端口的地址:90H,92H,94H,96H,92,MOV AL,SIOUT 92H,ALMOV AL,00H;00000 BOUT 96H,ALNOPNOPINC ALOUT 96H,ALINC SI;内存地址加1DEC CX;字符数减1JNZ LPST;未完,继续,93,二、方式1,1、工作特点,94,2、方式1输入有关信号规定(A端口),数据选通信号表示外设已经准备好数据,输入缓冲器满信号表示A口已经接收数据,中断请求信号请求CPU接收数据,PC4,PC5,PC3,PA7PA0,INTEA,IBFA,INTRA,STBA,PC6,PC7,95,2、方式1输入有关信号规定(B端口),数据选通信号表示外设已经准备好数据,输入缓冲器满信号表示B口已经接收数据,中断请求信号请求CPU接收数据,96,2、方式1输入有关信号规定,97,INTE:中断允许信号,控制中断的允许和屏蔽,98,3、方式1输入时序,99,4、方式1输出有关信号规定(A端口),外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示CPU已经输出了数据,中断请求信号请求CPU再次输出数据,100,4、方式1输出有关信号规定(B端口),外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示CPU已经输出了数据,中断请求信号请求CPU再次输出数据,101,4、方式1输出有关信号规定,102,INTE:中断允许信号,控制中断的允许和屏蔽,PC4和 PC5可作I/O口用。,103,4、方式1输出时序,5、方式1的使用场合,与外设有联络信号,与CPU有中断请求信号,适于查询传送和中断传送。,104,例:作为打印机的接口,工作于方式。,8255A的PC3连8259A的中断请求输入端IR3,对应的中断类型号为0BH,中断处理子程序的入口地址为1000H:2000H。设待打印的字符放在DI所指向的内存缓冲区。8255A的端口地址为00C0H00C6H。,105,主程序:,MAIN:MOV AL,0A0H;1010 00B MOV DX,00C6H OUT DX,AL;设置控制字 MOV AL,01H OUT DX,AL;将PC0置1,选通无效 XOR AX,AX MOV DS,AX MOV BX,002CH MOV AX,2000H MOV BX,AX MOV AX,1000H MOV BX+2,AX;装配中断向量 MOV AL,0DH;0 1101B OUT DX,AL;将PC6置1,允许8255A中断 STI;CPU开中断,106,中断处理子程序:TINTR:MOV AL,DI MOV DX,00C0H OUT DX,AL;待打印字符送端口A MOV AL,00 MOV DX,00C6H;将PC0清0,产生选通信号 OUT DX,AL INC AL OUT DX,AL;将PC0置1,撤消选通信号.IRET;中断返回,107,三、方式2,1、工作特点,1)只适用于端口A。2)8位双向数据,五条控制线。,108,2、方式2有关信号规定,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,109,3、方式2的使用场合,一个并行外设既可以作为输入又可以作为输出,输入输出动作不会同时进行。,110,1)端口A工作于方式2,端口B工作于方式0,4、方式2和其他方式的组合,111,2)端口A工作于方式2,端口B工作于方式1,112,2、8255A作为打印机的接口,工作于方式0,如图所示。,习题,1、8255A的控制字有哪几个?写出控制字的格式。,113,工作过程:当主机要往打印机输出字符时,先查询打印机的忙信号(BUSY),如果打印机忙,则BUSY信号为1,否则为0。当查询到BUSY为0时,可通过8255A往打印机输出一个字符,此时,要将 置为低电平,然后再使 为高电平,相当于在 端输出一个负脉冲(初始状态为高电平),此负脉冲作为打印机的选通信号。现将B端口作为传送字符的通道,工作于方式0;A端口未用;端口C工作于方式0,PC7作为BUSY信号输入端,PC0作为信号 输出端。,114,1)写出8255各端口的地址,8255各端口的地址:90H,92H,94H,96H,115,2)设在BL寄存器存放着一待打印字符,请写出8255初始化程序及把待打印字符送打印机打印的程序。,MOV AL,88H;(11000 B)OUT 96H,ALMOV AL,01HOUT 96H,AL LPST:IN AL,94HAND AL,80HJNZ LPST,MOV AL,BLOUT 92H,ALMOV AL,00HOUT 96H,ALINC ALOUT 96H,AL,116,PC0PC1PC2PC3PC4PC5PC6PC7,k0k1k2k3k4k5k6k7,PA0PA1PA2PA3PA4PA5PA6PA7,L0L1L2L3L4L5L6L7,8255A,3、8255C口接逻辑开关K0K7,A口接LED显示电路L0L7,编程从8255C口输入数据,再从A口输出。8255的端口地址为80H86H。,CPU,D0D7,D0D7,6、完成8251A的初始化程序,使8251A以内同步方式传送数据,同步字符有2个,分别为16H,2AH,数据位为8位,采用偶校验。使8251A对同步字符进行搜索,复位状态寄存器中的出错标志,启动接收和发送,CPU准备好数据传送。8251A的地址为60H和62H。,MOV AL,3CH;00111100BOUT 62H,AL;设置工作模式MOV AL,16H OUT 62H,ALMOV AL,2AH OUT 62H,AL;写同步字符MOV AL,97H;10010111BOUT 62H,AL;写控制字,

    注意事项

    本文(串并行通信和接口技术.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开