第10章并行接口_第1页
第10章并行接口_第2页
第10章并行接口_第3页
第10章并行接口_第4页
第10章并行接口_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

接口与通讯技术武汉科技大学计算机科学与技术学院第10章并行接口本章内容10.1并行接口的特点10.2组成并行接口电路的元器件10.3可编程并行接口芯片82C55A10.482C55A在微机系统中的应用10.582C55A的0方式及其应用举例10.682C55A的1方式及其应用举例10.782C55A的2方式及其应用举例10.1并行接口的特点多根数据线上同时传送多位信息;字节、字或双字宽度“并行”的含义——接口电路与I/O设备间的数据线接口与外设间设置联络信号(至少2根)数据的格式、传输速率和工作时序,由I/O设备的操作决定,而并行接口本身没有固定的规定一般不作差错检验和传输速率控制适用于近距离传输并行的I/O设备较多,并行接口应用更广泛10.2组成并行接口电路的元器件1.一般的IC电路三态缓冲器和锁存器组成并行接口——对简单I/O进行控制2.可编程并行接口芯片——功能强、可靠性高、通用性好,灵活方便3.CPLD/FPGA器件——大规模/超大规模可编程逻辑阵列芯片;利用EDA技术设计并行接口;需使用硬件描述语言和专门的开发工具10.3可编程并行接口芯片82C55A10.3.182C55A的外部特性和内部寄存器1.82C55A外部特性——40脚,双列直插,单+5V电源面向系统总线的信号线(14)D0~7、CS、RD、WRRESET:复位,高有效,清除控制寄存器,数据口置为输入,复位输出寄存器和状态寄存器,屏蔽中断,24根I/O线高阻A1、A0:端口选择;输入面向I/O设备的信号线(24)PA0~7:端口A的输入/输出线PB0~7:端口B的输入/输出线PC0~7:端口C的输入/输出线00:PA口01:PB口10:PC口11:控制口A1A0=C端口的特殊性作数据端口:是2个独立的4位口作状态端口:作为方式1、方式2的状态口作专用(固定)联络信号线:方式1、2时,大部分引脚作固定的应答信号线作按位控制用:可由控制字进行按位控制10.3.182C55A的外部特性和内部寄存器2.82C55A内部寄存器数据总线缓冲器读/写控制逻辑数据端口PA、PB、PC:输入三态缓冲,输出锁存C口分为两个4位口、状态口A组和B组控制电路:A组:A口和C口上半部B组:B口和C口下半部读/写控制逻辑数据总线缓冲器D0~D7A0RDWRB组控制CSPA0~7A组控制A1RESETA组A口(8位)A组PC上(4位)B组B口(8位)PB0~7PC4~7PC0~3B组PC下(4位)10.3.182C55A的外部特性和内部寄存器3.82C55A的端口地址--非法操作11010302H62H从C口读数据或状态01010301H61H从B口读数据10010300H60H从A口读数据00010303H63H写控制字11100302H62H向C口写数据01100301H61H向B口写数据10100300H60H向A口写数据00100扩展板地址系统板地址操作A0A1RDWRCS10.3.282C55A的工作方式1.0方式——基本输入/输出方式单向传输、无固定联络信号、无固定时序和状态字采用无条件方式或查询方式与CPU交换数据A、B端口作8位数据口;C口作2个独立的4位口或按位控制2.1方式——选通输入/输出方式单向传输、有固定联络信号、有固定时序和状态字采用查询方式或中断方式与CPU交换数据A、B端口作8位数据口;C口作固定联络信号线;未分配作固定联络线的引脚可作数据线;作A、B口的状态口;作位控3.2方式——双向选通输入/输出方式A端口双向传输;有两对固定联络线、有固定时序和状态字采用查询方式和中断方式与CPU交换数据A作为双向数据口;B作数据口;C的功能与方式1类似10.3.382C55A的编程模型1.方式命令方式命令(D7=1)C端口按位置位/复位命令(D7=0)PC下方向D0B口方向B口方式PC上方向A口方向A口方式特征位D1D2D3D4D5D6100:方式001:方式110:方式2(双向)0:方式01:方式10:输出1:输入传输方向例:A口方式0,入;B口方式1,出;C上输出,C下输入方式字为10010101=95H MOVDX,303H MOVAL,95H OUTDX,AL10.3.382C55A的编程模型2.按位置位/复位命令PC5=0D6D5D4D3D2D1D0特征位无效引脚选择置/复位选择000:PC0001:PC1…111:PC70:复位1:置位2*i:PCi复位2*i+1:PCi置位注意事项写入地址:控制口只对输出引脚起作用每次操作一个引脚MOVDX,303HMOVAL,0BHOUTDX,ALPC5=1MOVDX,303HMOVAL,0AHOUTDX,ALNOPNOPMOVDX,303HMOVAL,0BHOUTDX,AL10.482C55A在微机系统中的应用微机系统配置的82C55A——键盘、扬声器、定时器;用户不能更改用户扩展的82C55A——由用户支配10.582C55A的0方式及其应用举例例10.1

设计一个声-光报警器,按下SW按钮开关开始报警,喇叭发声,LED灯同时闪光。拨通8位DIP的0位开关时结束报警硬件设计:外设——扬声器、8个LED灯、8位DIP开关、SW按钮PA0

782C55ACPULS048LED8排阻VCCDIP870653421排阻VCCSPK功放VCCSWLM386PB0

7PC6PC2声-光报警器的程序流程图开始结束82C55A初始化熄灭LED灯关闭SPKLED发光CallLEDFlashSPK发声(高频)CalloutSPKSPK发声(低频)CalloutSPKLED全灭熄灭LED关闭SPKSW按下?DIP0接通?YNNY声-光报警器的主程序清单STACK SEGMENT DW200DUP(?)STACK ENDSDATA SEGMENT TDW0 ;初始化延时变量DATA ENDSCODE SEGMENT ASSUMESS:STACK,CS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVDX,303H MOVAL,83H ;方式字

OUTDX,AL MOVDX,300H MOVAL,00H ;熄灭LED灯

OUTDX,AL MOVDX,303H MOVAL,0CH ;PC6=0,关SPK OUTDX,ALWAIT1: MOVDX,302H INAL,DX ANDAL,04H ;SW是否按下

JNZWAIT1BEGIN: CALLLED_FLASH ;点亮LED MOVBX,200 ;发200个方波

MOVT,0FFFHSPEAK_H: CALLOUTSPK ;发高频声音

DECBX JNZSPEAK_H MOVDX,300H MOVAL,00H ;LED全灭

OUTDX,AL MOVBX,200 ;发200个方波

MOVT,9FFFHSPEAK_L: CALLOUTSPK ;发低频声音

DECBX JNZSPEAK_L CALLDELAY2 MOVDX,301H INAL,DX ANDAL,01H ;DIP0接通否

JNZBEGIN MOVDX,300H MOVAL,00H ;熄灭LED OUTDX,AL MOVDX,303H MOVAL,0CH ;关闭SPK OUTDX,AL MOVAH,4CH INT21H ;返回DOS声-光报警器的子程序清单DELAY1 PROC ;延时时间由T决定

PUSHBX MOVBX,TDL1: DECBX JNZDL1 POPBX RETDELAY1 ENDPDELAY2 PROC ;延时时间固定

PUSHCX PUSHBX MOVCX,4FFFHDL4: MOVBX,0FFFFHDL3: DECBX JNZDL3 DECCX JNZDL4 POPBX POPCX RETDELAY2 ENDPOUTSPK PROC MOVDX,303H MOVAL,0DH ;PC6=1 OUTDX,AL CALLDELAY1 ;T决定方波周期

MOVAL,0CH ;PC6=0 OUTDX,AL CALLDELAY1 ;T决定方波周期

RETOUTSPK ENDPLED_FLASH PROC MOVDX,300H MOVAL,0FFH ;LED全部点亮

OUTDX,AL RETLED_FLASH ENDPCODE ENDS ENDSTART例10.2(略)例10.2设计步进电机接口,按四相双八拍运行,按下SW2开始运行;按下SW1停止运行1.四相步进电机的运行方式与方向控制单四拍

A

B

C

D双四拍

AB

BC

CD

DA单双八拍

AB

B

BC

C

CD

D

DA

A双八拍

ABABC

BCBCD

CDCDA

DADAB采用循环查表法实现对各绕组的轮流通电双八拍相序表2.运行速度控制硬件(如82C54A)改变输入脉冲频率;调用软件延时子程序四相双八拍相序表绕组与数据线的连接运行方式相序表方向DCBA双八拍加电代码地址单元正向反向D7D6D5D4D3D2D1D000000101AB05H400H00010101ABC15H401H00010100BC14H402H01010100BCD54H403H01010000CD50H404H01010001CDA51H405H01000001DA41H406H01000101DAB45H407H8255A的0方式作步进电机接口电路3.

步进电机的驱动——常用达林顿复合管(如TIP122)作功率驱动级加电代码为1时,TIP122基极为高,达林顿管导通加电代码为0时,绕组断电4.步进电机的启/停控制硬开关控制——SW状态;软开关——系统键盘的某个键b+12VA相绕组ceTIP122步进电机接口硬件设计82C55A方式字:10000001BVCCTIP1224DL1ADL2BDL3CDL4DD1D2D3D4Q0Q2Q4Q6GVCC74LS373D0D2D4D6OEPA0PA2PA4PA6PC482C55AVCCSW2SW1CPUPC0PC1步进电机接口软件设计DATA SEGMENT PSTADB05H,15H,14H,54H,50H,51H,41H,45H ;相序表

MESSAGEDB‘HITSW2TOSTART,HITSW1TOQIUT.’

DB0DH,0AH,’$’DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVAH,09H MOVDX,OFFSETMESSAGE INT21H MOVDX,303H MOVAL,81H ;方式字

OUTDX,AL MOVAL,09H OUTDX,AL ;关闭74LS373(PC4=1),保护电机L: MOVDX,302H INAL,DX ANDAL,01H ;SW2是否按下(PC0=0?) JNZL MOVDX,303H MOVAL,08H OUTDX,AL ;打开74LS373(PC4=0),启动控制步进电机接口软件设计(续)RELOAD: MOVSI,OFFSETPSTA MOVCX,8LOP: MOVDX,300H MOVAL,[SI] ;送相序代码

OUTDX,AL MOVBX,0FFFFH ;延时,进行速度控制DELAY1: DECBX JNZDELAY1 MOVDX,302H INAL,DX ANDAL,02H ;检测SW1是否按下(PC1=0?) JZOVER INCSI DECCX JNZLOP JMPRELOADOVER: MOVDX,303H MOVAL,09H ;关闭74LS373(PC4=1),保护电机

OUTDX,AL MOVAH,4CH INT21HCODE ENDS ENDSTART10.682C55A的1方式及其应用举例MOVDX,303HMOVAL,86HOUTDX,ALMOVAL,09HOUTDX,ALMOVAL,04HOUTDX,AL作用?PC4=1INTEB=0STB:输入选通,外设82C55A,将数据送入82C55APC4PC2IBF:输入缓冲器满,82C55A外设,高电平阻止外设送数PC5PC1INTR:中断申请,82C55ACPU,高有效,请求CPU读数PC3PC0中断产生条件:INTE=1,STB=IBF=1,则INTR=1PA口PB口INTE:中断允许,内部控制,=1:允许中断,=0:禁止对PC4置/复位对PC2置/复位10.6.11方式下输入的联络信号线设置及工作时序1.输入的联络信号线设置10.6.11方式下输入的联络信号线设置及工作时序2.输入的工作时序分析工作时序的意义———编写程序的依据STBIBFINTRRD来自外设的数据1方式输入工作时序图外设将数据放到数据线上,并使STB=STB下降沿约300ns,IBF=1STB上升沿约300ns,INTR=1(INTE=1时)CPU读数,RD下降沿复位INTR,上升沿复位IBFCPU8255A外设STBIBFINTRRD输入过程:各信号变化过程:10.6.21方式下输出的联络信号线设置及工作时序1.输出的联络信号线设置ACK:应答信号,外设82C55A,表示外设已取走数据PC6PC2INTR:中断申请,8255ACPU,高有效,请求CPU写数PC3PC0PA口PB口OBF:输出缓冲器满,82C55A外设,低电平通知外设取数PC7PC1中断产生条件:INTE=1,ACK=OBF=1,则INTR=1INTE:中断允许,内部控制,=1:允许中断,=0:禁止对PC6置/复位对PC2置/复位10.6.21方式输出的联络信号线设置及工作时序2.输出的工作时序CPU8255A外设OBFINTRWRACKCPU写数,WR下降沿复位INTR,上升沿使OBF=0外设将数据取走,并使ACK=ACK下降沿使OBF=1ACK上升沿使INTR=1(INTE=1时)WRINTR1方式输出工作时序图OBFACK数据输出输出过程:各信号变化过程:10.6.31方式的状态字D7D6D5D4D3D2D1D0A组状态B组状态PC7PC6PC5PC4PC3输入I/OI/OIBFAINTEAINTRAPC7PC6PC5PC4PC3输出OBFAINTEAI/OI/OINTRAPC2PC1PC0输入INTEBIBFBINTRBPC2PC1PC0输出INTEBOBFBINTRB3.使用注意事项由C口读出,但与C口引脚不完全相同输入查询IBF或INTR;输出查询OBF或INTRINTE是由用户设置的1.状态字的作用——查询、中断(查询式中断)2.状态字格式10.6.41方式的并行接口设计例10.3甲机向乙机传送1KB,甲方式1;乙方式0,查询方式,设M首址分别为BUFS、BUFD硬件设计:甲有固定联络线;乙没有,由用户设置82C55APA0~7PC7PC682C55APB0~7PC1PC5甲CPU乙CPUOBFACK1方式0方式甲机:PA口方式1,输出,方式字=0A0H乙机:PB口方式0,输入,PC上输出,PC下输入,方式字=83H说明:传送过程由甲机启动甲机发送条件:INTR=1(INTE=1)乙机接收条件:对方(甲机)的OBF=01方式并行接口的软件编程

MOVDX,303HMOVAL,0A0HOUTDX,ALMOVAL,0DHOUTDX,ALLEASI,BUFSMOVCX,1024MOVDX,300HMOVAL,[SI]OUTDX,ALINCSIDECCXMOVDX,302HINAL,DXANDAL,08HJZLMOVDX,300HMOVAL,[SI]OUTDX,ALINCSILOOPL甲发送程序段L:;方式字;写第1个数;INTEA=1;INTR=1?;写数…MOVDX,303HMOVAL,83HOUTDX,ALMOVAL,0BHOUTDX,ALLEADI,BUFDMOVCX,1024MOVDX,302HINAL,DXANDAL,02HJNZLMOVDX,301HINAL,DXMOV[DI],ALMOVDX,303HMOVAL,0AHOUTDX,ALNOPNOPMOVAL,0BHOUTDX,ALINCDILOOPLL:;方式字;已接收完;置对方ACK无效;令ACK=;接收并存储…;对方OBF=0?乙接收程序段区别?10.782C55A的2方式及其应用举例输入时:STB、IBF、INTR、内部控制INTE入输出时:OBF、ACK、INTR、内部控制INTE出对PC6置/复位INTE出对PC4置/复位INTE入PC3INTRPC5IBFPC7OBFPC6ACKPC4STB2.工作时序——也是方式1输入和输出的组合10.7.12方式下联络信号的设置及时序1.联络信号的设置10.7.22方式的状态字D7D6D5D4D3D2D1D0A组状态B组状态PC7PC6PC5PC4PC3OBFAINTE出IBFAINTE入INTRA1方式PC2PC1PC0输入INTEBIBFBINTRB1方式PC2PC1PC0输出INTEBOBFBINTRBPC2PC1PC00方式I/OI/OI/O要查询IBF、OBF10.7.32方式的双向并行接口设计——中断方式例10.4

主从机双向传送256个字节,主机方式2,中断;从机方式0,查询;设两机源和目标首址分别为SRC、DST分析:使用82C59A的IR2;中断服务程序中要判断IBF的状态中断服务程序中读出的状态IBF011OBF101输出输入输入即:IBF=1:输入0:输出双向并行接口的硬件设计主机INTRINTAINTAINTIR282C59APA0~7PC7PC6PC5PC4OBFPC382C55A(0方式)PA

温馨提示

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

评论

0/150

提交评论