收藏 分享(赏)

微机原理实验.ppt

上传人:无敌 文档编号:579946 上传时间:2018-04-12 格式:PPT 页数:54 大小:1.19MB
下载 相关 举报
微机原理实验.ppt_第1页
第1页 / 共54页
微机原理实验.ppt_第2页
第2页 / 共54页
微机原理实验.ppt_第3页
第3页 / 共54页
微机原理实验.ppt_第4页
第4页 / 共54页
微机原理实验.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、第十章 可编程并行接口8255A,10.1 可编程并行接口8255A,8255A是Intel系列的并行接口芯片。它是可编程的,可以通过软件来设置芯片的工作方式。 一、8255A的内部结构 1数据端口A、B、C 每个端口:输入带缓冲寄存器, 输出带锁存寄存器。 2A组控制和B组控制 3读/写控制逻辑电路 4数据总线缓冲器,10.1: 8255A的内部结构,10.1: 8255A的内部结构,5.读写控制信号,RESET:复位信号,高电平有效。D7D0 :和数据线相连。CS :芯片选择信号,低电平有效。RD :芯片读出信号,低电平有效。WR :芯片写入信号,低电平有效。A1、A0:端口选择信号。A1

2、、A0=00,选中端口A;A1、A0=01,选中端口B;A1、A0=10,选中端口C;A1、A0=11,选中控制端口;,10.1:读写控制信号,10.1:8255引脚,二、8255的引脚,提问1:,并行接口芯片8255与CPU接口有哪些信号线,每个信号的用途是什么? 8255占用几个端口地址?各个端口分别对应什么?端口C可以分为两组吗?,10.1:提问,10.2 8255A的控制字,控制字:分为两类端口的方式选择控制字,可使8255A的3个数据端口工作在不同的方式。C端口按位置1/0控制字,它可使C端口中的任何一位进行置位或复位。8255A的3种基本工作方式: 方式0:基本的输入/输出方式 方

3、式1:选通的输入/输出方式 方式2:双向的传输方式,10.2:控制字,1.方式控制字,10.2:方式控制字,例101:设A端口工作方式0,输出, B端口工作于方式0,输入。,方式选择控制字: 1 0 0 0 1/0 0 1 1/0 = 82H,10.2:方式控制字例题,注意:,端口A可以工作在方式0、方式1或方式2;端口B只能工作在方式0或方式1;端口C则常常配合端口A和端口B工作。 归为同一组的两个端口可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式,而具体工作在那 个端口,由方式控制字来决定。,10.2:方式控制字注意事项,2. 端口C置1/0控制字,1=置10=置0,

4、端口C置1/0控制字标志,0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7,图、端口C置1/0控制字,10.2:端口C置1/0控制字,注意:,C端口置1/0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。置1/0控制字的D0决定了是置1操作还是置0操作。置1/0控制字的D3、D2、D1位决定了对C端口的那一位进行操作。,10.2:端口C置1/0控制字注意,例102:设8255A的控制口地址为00EEH,要求对端口C的PC7置1,则控制字00001111B=0FH,要求对端口

5、C的PC3置0,控制字为00000110B=06H。下面的程序可以实现上述要求: MOV AL , 0FH ;对PC7置1的控制字 MOV DX , 00EEH ;控制口地址送DX OUT DX , AL ;对PC7置1操作 MOV AL , 06H ;对PC3置0的控制字 OUT DX , AL ;对PC3进行置0的操作,10.2:端口C置1/0控制字例题,提问2:,8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?,10.2:控制字提问,10.3 8255A的工作方式,8255A的3种基本工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输

6、出方式方式2:双向的传输方式,10.3:工作方式,一、方式0-基本输入输出方式功能, 任何一个端口可以作为输入口,也可以作为输出口。 各个端口输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。方式0使用场合 两种: 一种是同步传送, 另一种是查询式传送。,10.3:工作方式0功能,二、方式0的时序,10.3:工作方式0时序,例103:用8255A控制三个发光二极管依秩序循环显示。,10.3:工作方式0例题,用8255A控制三个发光二极管显示。8255A的端口地址为: A 端口:340H B 端口:341H C 端口:342H 控制口:344H 试编写8255初始化程序段和控制三个

7、发光二极管显示程序段。,10.3:工作方式0例题,开始,8255A初始化,延时,BX显示代码地址,CX=0?,Y,N,BX=BX+1CX=CX-1,CX 3,输出到A口,1、程序框图:,10.3:工作方式0例题,2、软件设计1)设A口为输出口,方式0。B口输入,方式0,则方式选择控制字为82H。2)A口输出代码: 0000 0110 06H ,1号发光二极管亮 0000 0101 05H ,2号发光二极管亮 0000 0011 03H ,3号发光二极管亮3)软件延时(1).1ms的软件延时参考程序: 设系统的CPU的频率为8MHZ,则时钟节拍为:0.125微秒。执行PUSHF、POPF、LOO

8、P指令需29个节拍。延迟1毫秒要循环的次数:,10.3:工作方式0例题,参考程序:DATA SEGMENTCOTR EQU 346H ;8255A控制口地址PB_A EQU 340H ;8255A的A口地址LED DB 06H,05H,03H;LED显示值DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA . MOV DX,COTR MOV AL,82H ;方式0 OUT DX, AL ;A口为输出,B口为输入 MOV DX, PB_A ;A口地址,10.3:工作方式0例题,LP: MOV CX,3 LEA BX, LED ; 1号灯代码地址 DON: MO

9、V AL, BX OUT DX, AL ;1,2,3循环点亮 CALL DELAY ;调延时程序 INC BX DEC CX JNZ DON JMP LPDEALY PROC NEAR ;软件延时 .DEALY ENDPCODE ENDS END,10.3:工作方式0例题,思考题:用8255A控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开关断开时熄灭二极管。,10.3:工作方式0例题,提问3:,8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎么办?,10.3:工作方式0提问,例10-4、 8255A作为连接打印的查询式接口,工作于方式0,

10、如图5-37所示。设8255A的端口地址为: A端口:00D0H C端口:00D4H B端口:00D2H 控制口:00D6H 工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。 PC2作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据打入打印机缓冲器。,10.3:工作方式0例题打印机,打印机驱动流程图:,10.3:工作方式0例题打印机,PP: MOV AL ,81H ;8255工作方式字 OUT D6H , AL ;A口方式0,输出, C47输出,C03输入 MOV AL , 0DH ;PC6置1 OUT D6

11、H ,AL MOV S I , 200H ;打印字符内存地址 MOV CX, 0FFH ;打印字符个数LPST : IN AL , D4H ;读C口 AND AL , 04H ;查PC2=0? JNZ LPST ;忙,等待;不忙,送数 MOV AL,SI ;从内存取数 OUT 0D0H , AL ;送数到A口,10.3:工作方式0例题打印机,MOV AL , 00001100B ;将PC6置0(STB为低) OUT 0D6H , AL ;AL 0000 1100 B NOP NOP ; 延时 INC AL ;AL0000 1101 B OUT 0D6H , AL ;再使STB(PC6)为1 I

12、NC SI ;内存地址+1 DEC CX ;字符数 - 1 JNZ LPST HLT,10.3:工作方式0例题打印机,10.4 方式1选通的输入输出方式,数据输入输出要在选通信号控制下工作.端口A和端口B可以分别作为两个数据口工作于方式1,并且,任何一个端口可以为输入口或输出口。1)方式1输入:A口控制信号的定义:,10.4:工作方式1,图10-8 方式1输入有关信号的规定,STBB,10.4:方式1输入有关信号的规定,选通信号输入端,低电平有效,输入缓冲区满信号,,它是8255送往CPU的中断请求信号,高电平有效。,中断允许信号,INTE由PC4置“1”,INTR有效,A口方式1输入有关信号

13、的规定,数据输入口,10.4:方式1 A口输入有关信号的规定,10.4:方式1 输入时序,图10-9方式1输出有关信号的规定,10.4:方式1输出有关信号的规定,10.4:方式1输出时序,例106:8255A端口A工作在方式1,A口输入,允许A口中断,编写初始化程序。 MOV DX,PCTR ;控制口地址送DXMOV AL,10110000B ;A口方式1输入 OUT DX,ALMOV AL,00001001B ;置PC4=1,允许中断OUT DX,AL ;,10.4:方式1例题,提问5:,8255工作在方式1,输入和输出时中断服务程序各完成什么功能?,10.4:方式1提问,例107:8255

14、A方式1输入应用:某8位A/D转换器,与8255的连接如下图,PC7做启动AD转化信号,AD转化结束信号EOC接PC4,作为选通信号STB。A/D转换启动为高电平。假设8255作为查询式输入接口,分析工作原理。编写8255初始化与输入一个数据的程序。,10.4:方式1例题A/D转换接口,采用查询式输入:注意到8255方式1输入时,数据准备好后,IBF=1,因此可以通过查询IBF的状态。主要参考程序代码:MOV DX,PCTR ;控制口地址送DXMOV AL,10110000B ;A口方式1输入,PC7输出 OUT DX,ALMOV AL,00001110B ;置PC7=0,禁止A/DOUT D

15、X,ALMOV AL,00001111B ;置PC7=1,启动A/DOUT DX,AL,10.4:方式1例题A/D转换接口,L:MOV DX,POT_C ;C口地址送DX IN AL,DX TEST AL,00100000B ;查IBF=1,即PC51? JZ L ; 查无输入数据,等待 MOV DX,PCTRMOV AL,00001110B ;置PC7=0,禁止A/DOUT DX,ALMOV DX,POT_A ; 送A口地址IN AL,DX ; IBF=1,读数据 ; 数据读出后,自动撤销IBF(0) HLT,10.4:方式1例题A/D转换接口,课堂提问6: 如果采用中断方式输入,程序如何设

16、计?提示:将8255中断请求端INTRA(PC3)接8259输入端,使中断请求能引入CPU允许8255端口A中断,设INTEA=1,即设PC4=1当数据进入8255端口A时,8255的INTRA(PC3)发中断请求申请,CPU响应后即可读数据,10.4:方式1提问,3)方式1的使用场合 在采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或数据接收应答信号,那么,通常使用8255A的端口工作方式1的情况。思考题: 8255A的三个端口在使用时,有什么差别?提 示:通常A端口与B端口可作为独立的输入输出端口,C端口则配合A、B端口工作,提供控制信号、状态信息。,10.4:方

17、式1使用,10.5 方式2双向传输方式 方式2只适用于端口A,双向并行通信 端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制。注意:端口A可工作在3种方式中的任意一种;端口B只能工作在方式0或方式1; 端口C被分为高4位和低4位,可以分别工作在输入方式和输出方式,并不要求同为输入方式或同为输出方式.,10.5:工作方式2,图 10-15 方式2工作的控制信号,10.5:工作方式2,图10-21 画出了一个数据输出过程和一个数据输入的时序.,10.5:工作方式2时序,本章小结,8255功能结构8255与CPU的连接8255的端口地址8255的工作方式重点掌握方式的应用,习题101.

18、总结8255A端口C的使用特点。2.设定8255A的口A为方式1输入,口B为方式1输出,则读取口C的数据的各位是什么含义?3.对8255A的控制寄存器写入BOH,则其端口C的PC0引脚是什么作用的信号线? 4.设一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255A的C口实现该系统的控制,如图1。开关K0K3打开则对应发光二极管L0L3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255A的初始化程序和这段控制程序。,5.编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲则初始化程序又是什么情况? 初

19、始化程序: MOV AL,0000 1011 H ;PC5置“1”控制字AL MOV DX,343H ;控制口地址DX OUT DX,AL ;置“1”控制字控制寄存器 MOV AL,00001010B ;PC5置“0”控制字AL OUT DX , AL ;置“0”控制字控制寄存器 如果要求PC5输入一个负脉冲则再加两条指令: MOV A L ,00001011 OUT DX,AL,可编程串行接口芯片8251A,串行传送的基本概念通信规程和通信标准8251内部结构及引脚介绍8251应用,一、串行通信的基本概念 1、串行通信:在1根信号线上分时传送多位信息。 其特点是:,一根传输线传输两种信息:数

20、据和联络信息,有固定的数据格式:同步和异步,对信号的逻辑定义与TTL不兼容,传输速率需要控制:双方约定波特率,2、串行数据的传送方向:,单工:,数据只能单向传送,全双工:,可同时进行双向传送,半双工:,可分时进行双向传送方向切换,3、数据传输率 数据传输率是指每秒钟传送的二进制位数通常称为波特率(Band Rate)。国际上规定了标准波特率系列,最常用的标准波特率是:110波特、300波特、600波特、1200波特、l800波特、2400波持、4800波特、9600波特和19200波特。 时钟频率n波特率 式中的n叫做波特率系数或波特率因子,它的取值可以为1、16、32或64。 每秒钟所传输的字符数(字符速率)和波特率是两种概念。,4.发送/接收时钟发送端使用的用于决定数据位宽度的时钟称为发送时钟。接收端使用的用于测定每一位输入数据位宽度的时钟称为接收时钟。接收/ 发送时钟频率n波特率(n1,16,32,64) 例:波特率=9600bps,波特率因子=16,则 接收时钟和发送时钟频率=960016=153600Hz,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报