8255A并行接口应用_第1页
8255A并行接口应用_第2页
8255A并行接口应用_第3页
8255A并行接口应用_第4页
8255A并行接口应用_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

/课程设计说明书NO.18255并行接口应用1.课程设计的目的为了巩固《微型计算机技术》课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。2。设计方案论证2.1并行接口芯片具有的功能:(1)具有两个以上的输入/输出数据端口(锁存/缓冲);(2)每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信息;也有与外设交换信息所必须的控制和状态信息;(3)通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路;(4)具有进行片选和读写控制的电路;(5)可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。本课程设计为键盘接口,键盘的扫描过程所以采用8255A芯片.设计所需设备:8255A芯片、键盘2。28255芯片介绍2.2.18255内部结构(一)数据端口8255A内部包含3个8位I/O端口A口、B口和C口,通过外部24根I/O线与外设交换数据或进行通信联络。其中C口可分为两个4位口使用。端口A和端口B可用作8位数据I/O口,端口C既可作为8位I/O口,又可作为两个4位I/O口,还常用来配合A口和B口工作,作为控制信号输出、或作为状态信号输入。(二)控制逻辑这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来沈阳大学课程设计说明书NO.2接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行置位/复位操作。端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3~PC0)由B组控制逻辑管理。(三)数据总线缓冲器数据总线缓冲器是双向三态的8位缓冲器,用作8255A和系统数据总线的接口。(1)接收CPU送来的数据或控制字;(2)外设传送给CPU的数据或状态信息;(四)读/写控制逻辑控制总线的开放与关闭;控制信息传送的路径和方向。A1A0=00,选中端口A,A1A0=01,选中端口B,A1A0=10,选中端口C,A1A0=11,选中控制字寄存器端口。(五)端口寻址8255A端口选择和控制信号如表1所示:表18255A端口选择和控制信号A1、A0端口功能00001A口读A口00010A口写A口00101B口读B口00110B口写B口01001C口读C口/读状态01010C口写C口01110控制口写控制字1XXXXX总线高阻(六)端口选择信号沈阳大学课程设计说明书NO.3系统数据总线的低8位,这样CPU要求芯片内部的各个端口都使用偶地址。(七)8255A的控制字⑴方式选择控制字8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式如图1所示:图18255A的控制方式字⑵置位/复位控制字端口C常用作控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使C口的任一个引脚的输出单独置1或置0。复位控制字格式如图2所示:沈阳大学课程设计说明书NO。4图28255A的复位控制字2。2。28255A的工作方式(一)方式0-基本输入输出方式适用于不需要应答信号的简单I/O场合.A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。数据输出有锁存,输入不能锁存。(二)方式1-选通输入/输出方式端口A或B用作数据口,均可以工作于输入或输出方式。这两个8位数据口的输入、输出数据都能锁存,但必须在联络信号的控制下完成I/O操作,端口C的部分引脚用来产生或接收这些联络信号。①选通输入方式此时PC3~5和PC0~2分别用作A口和B口的状态和控制线,PC6和PC7用作I/O线。方式1选通输入方式如图3所示:图3方式1选通输入方式沈阳大学课程设计说明书NO.5各控制联络信号的意义::选通输入信号,低电平有效。A组控制方式字应PC4;B组方式对应PC2;IBF:输入缓冲器满信号,高电平有效。A组控制方式字对应PC5;B组方式控制字中对应PC1;INTR:中断请求信号,高电平有效。A组方式控制字中对应PC3;B组方式控制字中对应PC0;INTE:中断允许信号,高电平有效。该信号为高时,允许中断请求,为低时则屏蔽中断请求。②选通输出方式PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。方式1输出方式如图4所示:图4方式1选通输出方式各应答信号的意义:OBF-输出缓冲器满信号,输出,低电平有效.表示CPU已输出数据到指定端口。ACK-外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受.INTE-中断允许信号。INTEA、INTEB是由用户对PC6、PC2按位置位实现的。沈阳大学课程设计说明书NO.6INTR-中断请求信号,高电平有效。当ACK=1、OBF=1且INTE=1时,INTR=1.(三)方式2-双向总线方式(仅适用于A口)PA7~PA0作为双向数据总线,PC3~PC7用作A口的联络控制信号。PC2~PC0可用作B口的应答信号线,或作I/O线.各信号意义:INTRA—中断请求信号,‘1'有效.OBFA-输出缓冲器满,‘0'有效.ACKA-外设响应信号,‘0’有效.IBFA-输入缓冲器满信号,‘1’有效。STBA-选通输入信号,‘0’有效.方式2双总线方式如图5所示:图5方式2双向总线方式(四)C口状态字:8255A工作在方式0时,C口各位作输入输出用.当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读取C口的内容可检查或测试外设的状态。沈阳大学课程设计说明书NO.7C口的状态字如下:方式1状态字如图6所示:图6C口状态字方式1(2)方式2状态字如图7所示:图7C口状态方式22.2(1)与CPU相连的引脚RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。:芯片选择信号线,当这个输入引脚为低电平时,即=0时,表示芯片被选中,允许8255与CPU进行通讯;=1时,8255无法与CPU做数据传输.:读信号线,当这个输入引脚为低跳变沿时,即产生一个低脉冲且=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。:写入信号,当这个输入引脚为低跳变沿时,即产生一个低脉冲且=0时,允许CPU将数据或控制字写入8255.沈阳大学课程设计说明书NO。8A1、A0:端口译码信号,由CPU地址总线或译码电路产生。用来选择8255A内部的三个数据端口和一个控制端口的地址。当A1A0=00时,选中A端口。当A1A0=10时,选中C端口。当A1A0=11时,选中控制端口。其中对控制口只能进行写操作。D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送.(2)和外设端相连的引脚PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。传输方向及功能由工作方式设定;PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。传输方向及功能由工作方式设定;PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'不能工作于方式一或二。方式0的输入时序图如图8所示:图8方式0选通输入时序图沈阳大学课程设计说明书NO。9方式0的输出时序图如图9所示:图9方式0的选通输入时序图8255A芯片内部结构如图10所示:图108255A芯片内部结构沈阳大学课程设计说明书NO.108255A内部引脚如图11所示:图118255A内部引脚8255A三端口排列示意图如图12所示:图128255A三端口排列示意图沈阳大学课程设计说明书NO。112.3键盘简介键盘是微型计算机系统中最常用的一种输入设备。键盘有两种类型:编码键盘和非编码键盘。编码键盘能自动提供对应于被按键的编码,如ASCⅡ码,并能同时产生一个脉冲通知CPU.编码键盘还具有处理抖动和多键串键的保护电路。这种键盘的优点是使用方便,但有较多的硬件,价格昂贵.非编码键盘有一组开关组成,提供行和列的键盘矩阵,其工作过程:按键的识别;按键代码的产生;防止串键和消除抖动等均由程序来实现.故这种键盘需要的硬件少,价格便宜,宜用微机化仪表的面板的键盘.2.3。1矩阵式键盘接口的特点:(1)键盘由触点开关组成的矩阵形式。在行与列的交叉点位置安装按键。当按键闭合,相应的行和列连接.如下图13所示:图13键盘的矩阵行列连接沈阳大学课程设计说明书NO。12(2)按键具有弹性,在闭合和断开的过程中有抖动.需要采取消抖措施。键抖动时间的长短与开关的机械特性有关,一般为5ms~10ms左右,然后达到稳定状态.在键盘接口,为了保证CPU对键的闭合作一次且仅作一次处理,必须去除抖动,使CPU在键的稳定闭合或断开状态时读取键值。在键盘接口中,使用更普遍的是采用软件延时的方法来完成消抖.其基本思想是:在检测到按键按下或释放时,记录按键的状态,延时10ms~20ms,再次检测按键的状态,若与前一次的状态相同,说明按键的状态已稳定,可进行处理;否则,表示键的状态不稳定,可能是误动作,不应被处理。如下图14所示:图14消除抖动2。3由于CPU的程序执行比按键的机械动作快得多,使得一次按键动作期间,CPU检测到有按键并执行了相应的键处理程序以后,按下的键可能还没有被释放,因此,在沈阳大学课程设计说明书NO.13CPU再一次测试键盘状态时,该键又被认为是按下状态,从而出现按一次键而CPU进行二次或多次键处理的情况.这是一个明显的误操作。解决方法有多种,最简便的解决方法是CPU在测试到有键接下时,一直等到键释放才作相应的键处理.2。3.3两种键盘扫描法;(1)正向扫描法:A口输出00H,B口读入键盘列线值。如果无键按下,则B口读入低4位值为OFH,否则,就有键按下.如果有键按下,A口输出FEH,如果B口读入有0,则第一行有键按下;如果没有,A口输出FDH,再查下去。(2)反转扫描法:A口输出,B口输入。A口输出00H,B口读入键盘列线值.如果无键按下,则B口读入低4位值为OFH,否则就有键按下。如果有键按下,将8255A的A口设置为输入,B口为输出.把B口读入的列值从B口输出,同时从A口读入行值.用读入的行、列值查表,可以确定是哪一个键被按下。3。设计的过程与分析3。1硬件设计用8255A芯片端口A做行线端口,端口B做列线端口,进行扫描键盘.硬件设计原理图如图15所示:沈阳大学课程设计说明书NO.14图15硬件设计原理图3。2程序设计的流程图如图16所示:图16程序设计流程图沈阳大学课程设计说明书NO.153.3软件设计:ﻩ反转扫描法程序如下:KEYSCANﻩPROCﻩNEARBEGIN: MOVﻩDX,XXH ;置8255A控制口地址ﻩ ﻩMOV AL,82H ;A方式0输出,B方式0输入 ﻩ OUT DX,ALﻩ;输出8255A方式控制字LOOP1: MOV DX,XXHﻩ;A口地址送DX ﻩﻩMOV AL,00H ﻩ OUTﻩDX,ALﻩ;A口输出00H扫描键盘 ﻩMOVﻩDX,XXHﻩ;B口地址送DX中 IN AL,DXﻩ;读入键盘列值 AND AL,0FH ;保留低4位 ﻩ CMPﻩAL,0FHﻩﻩﻩJE LOOP1 ;无键按下,重新扫描 ﻩﻩCALLﻩDELAY ;有键按下,延时去抖动IN AL,DX ;再次读B口,检查有无键按下 AND AL,0FHﻩ;保留低4位ﻩCMP AL,0FHﻩJEﻩﻩLOOP1 ;无键按下,重新扫描ﻩMOV KEY,AL ;有键按下,列值保存在KEY单元 MOVﻩDX,XXH ;置8255A控制口地址ﻩMOVﻩAL,90Hﻩ;B口方式0输出,A口方式0输入 OUT DX,AL ;输出8255A方式控制字 MOVﻩDX,XXH ;B口地址送DX中ﻩMOV AL,KEYﻩ;从KEY单元取出列值ﻩOUT DX,ALﻩ;向B口输出列值,反向扫描 MOVﻩDX,208H ;A口地址送DXﻩINﻩﻩAL,DX ;从A口读入行值 AND AL,1FH ;保留低5位CMP AL,1FHﻩJE BEGIN ;无键按下,重新扫描ﻩCALLﻩKEYVALUE ;查表获得按键编码ﻩMOV DX,XXH ;B口地址送DX中ﻩMOVﻩAL, 0 OUT DX,ALﻩ;向B口输出列值,反向扫描 MOV DX,XXH ;A口地址送DXW2:INﻩ AL,DX ;从A口读入行值 AND AL,1FHﻩ;保留低5位ﻩCMPﻩAL,1FH沈阳大学课程设计说明书NO。16JNE W2 ;未释放,等待 RETKEYSCAN ENDP电路中单个键的处理,可以使用如下程序:IN AL,20Hﻩ;读取键状态AND AL, 01HNZ EXIT ;无键按下,退出键处理程序ANDﻩAL, 01HJNZ EXITﻩﻩ;无键按下,退出键处理程序可采用如下程序段来实现单个按键动作的确认:IN AL,20H ;读取键状态AND AL,01HJNZﻩEXITﻩﻩ;没有键按下,退出键处理程序CALLﻩDelayﻩ ;延时10毫秒ANDﻩAL, 01H ;等待键释放JZL1CALL Delayﻩﻩ;键释放时消抖IN AL,ﻩ20HﻩAND AL, 01HJZL14.设计体会通过本次课程设计,我觉得我自己收获了很多,而且也充分并了解了8255芯片的工作原理、操作及使用。让我知道了8255芯片并行接口可以应用到生活的很多方面.例如应用在IBMPC/XT微机上、应用于打印机接口电路上、用于连接简易键盘、用于驱动LED数码管等。本次课程设计,让我能够学以致用,把课堂上老师讲的知识与实际操作相结合.课程设计最大的好处就是不仅让我们把书上的理论知识熟练地掌握,而且还能让我们自己独立的设计程序,把问题变得更加立体化,更具有实际意义.在本次课程设计的过程中我尝试过很多次失败,但我知道失败是成功之母,经过不懈的努力,终于圆满的完成了课程设计。在这次课程设计过程中我深深地体会到做一件事情要细心、耐心、专心,而且还要有恒心。感谢老师给我们这个独立锻炼的机会。沈阳大学课程设计说明书NO.175.参考文献[1]张明,吴琼,武刚.微型机原理及接口技术[M].沈阳:东北大学出版社,2001。3:240—254。[2]李鹏,王忠利。微机原理及应用(第三版)[M].北京:北京理工大学出版社,2010。7:118-203。[3]齐志儒.汇编语言程序设计[M]。辽宁:东北大学出版社,1995。12:73-100.[4]ﻩ刘乐善.微型计算机接口技术及应用[M]。武汉:华中科技大学出版社,2002。5:103-120。沈阳大学参考文献要列出3篇以上,格式如

温馨提示

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

评论

0/150

提交评论