第8章 接口技术1_第1页
第8章 接口技术1_第2页
第8章 接口技术1_第3页
第8章 接口技术1_第4页
第8章 接口技术1_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

第八章接口技术,研究可编程并行接口芯片8255A的程序员界面及应用,研究可编程串行接口芯片8251A的程序员界面及应用,研究可编程定时/计数器8253/8254的程序员界面及应用,研究模拟器件接口,接口技术:接口技术是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。,研究CRT接口和打印机接口,8.18255A可编程并行I/O接口(PPI),一、8255A基本结构,8255A结构内部结构:8255A由三部分组成。,1、与外设接口部分8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7PA0、PB7PB0、PC7PC0。端口都是8位,都可以作为输入或输出,但功能上各有特色:,端口A:一个8位数据输入/输出锁存和缓冲器;一个8位数据输入锁存器。(输入输出都锁存),端口B:一个8位数据输入/输出锁存和缓冲器;一个8位数据输入缓冲器。端口C:一个8位数据输出锁存和缓冲器;一个8位数据输入缓冲器。,各端口的特点及分工:,1.每一个端口作数据口时,既可定义为输入端口也可定义为输出端口;,2.端口A既适合作双向异步通信端口又适合作单向异步通信端口;端口B适合作单向异步通信端口;,3.端口C作数据口,状态口,专用联络信号线;,2、与微处理器接口部分这部分主要完成数据传送及逻辑控制。,3、内部控制部分由A、B两组控制电路组成。主要作用是根据CPU送来的控制字用以决定两组端口(A组为A口C口的高4位,B组为B口和C口的低4位。)的工作方式,也可根据控制字的要求对C口按位进行置位或复位。,8255A的引脚图:,8255A的端口地址及操作功能:,二、8255的编程,1、8255的方式字(写入A1、A0=11),D0,D1,D2,D3,D4,D5,D6,D7,PC3PC01:输入0:输出,B口1:输入0:输出,B组工作方式0:方式01:方式1,PC7PC41:输入0:输出,A口1:输入0:输出,A组工作方式00:方式001:方式11:方式2,D7=1特征位,B组,A组,问题2:73H是不是控制字?,例:设8255A的的控制口地址为63H,编程使端口A:方式0输出;端口B方式0输入;端口C高4位:输出;端口C低4位:输入。,2、C口的置位/复位字(写入A1A0=11),D0,D1,D2,D3,D4,D5,D6,D7,1:置位0:复位,C口选择,000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7,任选(可1可0),D7=0(特征位),例:设8255A的的控制口地址为02EEH。编程使端口PC2输出1,PC4输出0。即产生置位和复位信号。,关于两个命令的讨论:,1、方式命令对8255A的三个端口的工作方式和功能进行设定,即初始化,凡用到8255A一定要先初始化。,2、按位置位/复位命令只对PC口进行控制,它并不破坏已建立的工作方式。,3、这两个命令都是写命令口,通过特征位加以区别。,4、注意与PC口工作在输出方式时的本质区别。,1、方式0方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,但无锁存,C口还具有按位将其各位清0或置1的功能。,例.在PC/XT系统总线上扩充一片8255A接口芯片,分配给8255A的端口地址为280H283H。PA口为输出,输出设备为8个LED发光二极管(L0L7),PAi(i=07)输出1,对应Li亮;PAi输出0,对应Li灭。PB口为输入,输入设备为8个乒乓开关(K0K7),开关断开(低电平),开关闭合(高电平)。,试画出8255A与PC/XT系统总线和设备的接口电路图。编写将开关状态送LED灯的显示程序。编写将L0L7每间隔1秒循环亮1位的显示程序(假如1秒延时子程序DELAY1S可调用)。,试画出8255A与PC/XT系统总线和设备的接口电路图。,确定系统总线及设计此电路所需的总线信号,对应280H端口的地址信号为(取A9A0):,A1A0(8255引脚),A9A8A7A6A5A4A3A2A1A0(系统地址信号),1010000000PA口,01PB口,10PC口,11控制口,MOVDX,283HMOVAL,10000010B;82HOUTDX,ALMOVDX,281HINAL,DXMOVDX,280HOUTDX,AL,编写将开关状态送LED灯的显示程序。,MOVDX,283HMOVAL,10000010B;82HOUTDX,ALMOVDX,280HMOVAL,00000001BNT:OUTDX,ALCALLDELAY1SROLAL,1JMPNT,编写将L0L7每间隔1秒循环亮1位的显示程序(假如1秒延时子程序DELAY1S可调用)。,2、方式1:A口借用C口的一些信号线用作控制和状态线,形成A组,B口借用C口的一些信号线用作控制和状态线,组成B组。在方式1下,A口和B口的输入输出均带有锁存。,方式1输入(端口A),方式1输入(端口B),8255A工作在方式1的输入方式下,其控制字与端口数据线之间的数据传送与联络信号的时序如下图所示。,STB,IBF,INTR,RD,8255A输入方式1时序,方式1输出(端口A),方式1输出(端口B),8255A工作在方式1的输出方式下,其与外设之间的数据传送与联络信号的时序如下图所示。,WR,INTR,OBF,ACK,D0D7,8255A输出方式1时序,方式1输入输出组合:,例8-5利用8255A作为打印机纸带读入机的接口。DATASTORBE低电平有效,有效时通知打印机接收数据线上的数据,可作为8255A输出给外设的选通信号。BUSY打印机忙信号,高电平有效。DRIVEREADY纸带机启动信号,DATAREADY数据就绪信号,PA口地址:10011000,解:8255A的PA口方式0输出,PB口方式0输入,PC口高4位输出、低4位输入。,各端口地址:PA:98H;PB:9AH;PC:9CH,控制口:9EH。,程序分为三个部分:主程序,打印机驱动程序,纸带机驱动程序;打印机驱动程序的入口参数:CL;纸带机驱动程序的出口参数:CH。,;主程序段CODESEGMWNTASSUMECS:CODEMAIN:MOVAL,83H;工作方式设置OUT9EH,ALMOVAL,0DH;PC6=1OUT9EH,ALMOVAL,09H;PC4=1OUT9EH,ALCALLLPST;调用打印机驱动程序:CALLRDST;调用纸带机驱动程序:,;打印机驱动程序LPSTPROCLPST1:INAL,9CHTESTAL,04HJNZLPST1;打印机机忙继续查询MOVAL,CL;输出打印字符OUT98H,AL输出负脉冲选取通打印机MOVAL,0CHOUT9EH,ALINCALOUT9EH,ALRETLPSTENDP,;纸带机驱动程序RDSTPROCMOVAL,08H;启动纸带机OUT9EH,ALLP:INAL,9CH;查询纸带机数据准备好否?TESTAL,01HJZLPINAL,9AH;输入数据MOVCH,ALMOVAL,09H;暂停纸带机OUT9EH,ALRETRDSTENDPCODEENDSENDMAIN,例8-6用8255A作为A/D转换器接口,采用中断方式采集数据并保存在BUF为首的存储区,设8255A的端口地址同上例。8259A的端口地址为02C0H和02C2H。,解:硬件结构及原理分析,使用单片8259A,边沿触发(上升沿),缓冲方式,普通全嵌套,非自动EOI方式:,ICW1:00010011,ICW2:01001000;中断类型码48H,ICW4:00001101,A0D7D6D5D4D3D2D1D0,1,000SFNMBUFM/SAEOIPM,OCW1:11111011H,OCW2:00100000,;主程序DATASEGMENTBUFDB100DUP(?)NUMBEREQU-BUFDDDEQU4*48HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAIN:MOVDX,02C0H;写初始化命令MOVAL,13HOUTDX,ALMOVDX,02C2HMOVAL,48HOUTDX,ALMOVAL,0DHOUTDX,AL,MOVAL,0FBH;写屏蔽命令OUTDX,ALPUSHDS;设置中断向量XORAX,AXMOVDS,AXMOVBX,DDDMOVBX,OFFSETITRPMOVBX+2,SEGITRPPOPDSMOVAL,0B0H;初始化8255OUT9EH,ALMOVAL,09H;中断允许OUT9EH,AL,MOVCX,NUBBER;设置转换次数MOVAX,DATAMOVDS,AXMOVBX,OFFSETBUFSTIMOVAL,0EH不清;启动OUT9EH,AL,;中断服务程序ITRPPROCINAL,98H;读取转换结果MOVBX,ALMOVAL,0FH;撤消转换信号OUT9EH,ALINCBXDECCXJZENDBCALLDSR;调用延时子程序MOVAL,0EH;启动转换OUT9EH,ALENDB:MOVAL,20H;发转换结束命令OUTDX,ALIRETITRPENDPCODEENDSENDMAIN,8.1.3.3方式2(双向选通方式),方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,(1)方式2的信号定义,PC6,PC7,PC3,PA7PA0,INTE1,OBFA,INTRA,ACKA,PC4,PC5,IBFA,STBA,INTE2,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,(2)8255A工作在方式2下的工作时序,8.2可编程串行通信接口芯片8251A,一、串行通信的基本概念,全双工方式,半双工方式,单工方式,1.数据传送方向,接收器,发送器,发送器接收器,发送器接收器,发送器接收器,发送器接收器,2.数据同步方式,在串行通信中,为了保证收发双方上海市一致的收发数据,需要对数据传送进行同步控制。同步控制的方式有两种:1、同步通信(SynchronousDataCommunication)2、异步通信(AsynchronousDataCommunication),异步通信以一个字符为传输单位,用起始位表示字符的开始,用停止位表示字符结束,(1)异步通信及其协议,串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议,(2)同步通信及其协议,同步通信是以数据块(字符块)为单位传送的,每个数据块经过格式化之后,形成一帧数据,作为一个整体进行发送与接收,因此,传送一旦开始,要求每帧数据内部的每一位都要同步,2.波特率与收/发时钟,串行传输速率也称波特率(BaudRate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数过去,串行异步通信的数据传输速率限制在50bps到9600bps之间。现在,可以达到115200bps或更高,(1)串行传输速率,字符速率与波特率两者关系,字符速率:每秒钟传输的字符数。,波特率:指单位时间内传送二进制数据的位数。单位为:b/s,例:异步传输过程设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为1200/10120个,例2:同步传输用1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为7(100+4)/12000.6067s,这就是说,每秒钟能传输的字符数可达到100/0.6067165个。可见,在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。,例2:同步传输用1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为7(100+4)/12000.6067s,这就是说,每秒钟能传输的字符数可达到100/0.6067165个。可见,在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。,串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议,D7D0,M/IO,A7.A3A2A1,D7D0,A2A1,CS,8255A,PA0PA7,PC7PC4,PC5PC3,打印机,B/CDR,译码器,AD570,数据输入,STB,IBF,INTR,8259A的IR2,8255A作为A/D转换器的接口图,

温馨提示

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

评论

0/150

提交评论