最新微型计算机系统9PPT课件.ppt





《最新微型计算机系统9PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微型计算机系统9PPT课件.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算机系统微型计算机系统9第第9 9章章 可编程并行接口可编程并行接口8255A8255A n教学重点教学重点n 8255A的工作方式和编程n 8255A的应用n 键盘的扫描程序n LED数码管的多位显示n初始化编程:一个方式控制字n控制寄存器I/O地址:A1A011n工作过程中:通过数据端口对外设数据进行读写n数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10nIBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H9.3 8255A的控制字和工作方式 方式控制字格式9.3.1 8255A的控制字格式1.写入方式控制字:示例n要求
2、:nA端口:方式1输入nC端口上半部:输出,C口下半部:输入nB端口:方式0输出n方式控制字:10110001B或B1Hn初始化的程序段:mov dx,0fffeh;假设控制端口为0FFFEHmov al,0b1h;方式控制字out dx,al;送到控制端口2.读写数据端口n初始化编程后:n当数据端口作为输入接口时,执行输入IN指令将从外部输入设备得到外设数据n当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给外部输出设备n8255A具有锁存输出数据的能力n对输出方式的端口同样可以输入n不是读取外设数据n读取的是上次CPU给外设的数据2.读写数据端口:示例n利用8255A的输出锁
3、存能力,可实现按位输出控制 n对输出端口B的PB7位置位的程序段:mov dx,0fffah;B端口假设为0FFFAHin al,dx;读出B端口原输出内容or al,80h;使PB71out dx,al;输出新的内容3.读写端口C:归纳归纳1nC端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出n在在控控制制上上,C端端口口上上半半部部和和A端端口口编编为为A组,组,C端口下半部和端口下半部和B端口编为端口编为B组组3.读写端口C:归纳归纳2n当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被用做联络线被用做联络线n其余引脚仍可设定工作在方式其余引脚仍可设定工
4、作在方式0输入或输出输入或输出3.读写端口C:归纳归纳3n对端口C的数据输出有两种办法n通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效n通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器端口C的位控制字n位控制字写入控制端口位控制字写入控制端口n特别便于置位复位内部特别便于置位复位内部中断允许触发器中断允许触发器INTEINTE3.读写端口C:归纳归纳4 4n读取的C端口数据有两种情况n未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读
5、到输出锁存器中的信息n被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字D7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2双向OBFAINTE1IBFAINTE2INTRA端口C的状态字A组组B组组9.3.2 8255A的工作方式 n方式0:基本输入输出方式n适用于无条件传送和查询方式的接口电路n方式1:选通输入输出方式n适用于查询和中断方式的接口电路n方式2:双向选通传送方式n适用于与双向传送数据的外设n适用于查询和中断方式的接口电路
6、方式0输入时序datadata输入端口输入端口D0D7RD CS,A1,A0请体会这里请体会这里8255A8255A的数据缓冲作用的数据缓冲作用方式0输出时序WRdatadata输出端口输出端口D0D7 CS,A1,A08255A8255A对对CPUCPU通过它输出给外设的数据进行锁存通过它输出给外设的数据进行锁存方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入引脚:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBS
7、TBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能方式1输入联络信号nSTB选通信号,低电平有效n由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器nIBF输入缓冲器满信号,高电平有效n8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器nINTR中断请求信号,高电平有效n8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1输入时序dat
8、aINTRIBF data输入端口输入端口D0D7STBRDSTBSTB和和IBFIBF是外设和是外设和8255A8255A间间的一对应答联络信号,的一对应答联络信号,为的是可靠地输入数据为的是可靠地输入数据方式1中断控制n8255A的中断由中断允许触发器INTE控制n置位允许中断,复位禁止中断n对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器n选通输入方式下n端口A的INTEA对应PC4n端口B的INTEB对应PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号
9、表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器方式1输出联络信号nOBF输出缓冲器满信号,低有效n8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走nACK响应信号,低有效n外设的响应信号,指示8255A的端口数据已由外设接受nINTR中断请求信号,高
10、有效n当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口端口A A的的INTEAINTEA对应对应PCPC6 6端口端口B B的的INTEBINTEB对应对应PCPC2 2方式1输出时序 INTR datadata输出端口输出端口D0D7WROBFACK OBFOBF和和ACKACK是外设和是外设和8255A8255A间间的一对应答联络信号,的一对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据方式2双向方式n方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据n只有端口A可以工作于方式2,需要利用端口C的5个信号线,其
11、作用与方式1相同n方式2的数据输入过程与方式1的输入方式一样n方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号方式2双向时序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD9.4 8255A与系统总线的连接
12、n18255A与系统数据总线的连接n28255A与系统地址总线连接 n3端口地址范围的确定 n4其它控制信号的连接 9.5 8255A的应用举例 作为通用的并行接口电路芯片,825A具有广泛的应用n应用在IBM PC/XT微机上n应用于打印机接口电路n连接简易键盘n驱动LED数码管n8255A在IBM PC/XT上的应用n工作在基本输入/输出方式0n端口A为方式0输入,用来读取键盘扫描码n端口B工作于方式0输出,例如控制扬声器等n端口C为方式0输入,读取系统状态和配置n系统的初始化编程:mov al,10011001b;方式控制字99Hout 63h,al9.5.1 键盘及其接口n键盘是微机系
13、统最常使用的输入设备n小键盘:适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令及指令等的输入n独立键盘:通过5芯电缆与PC微机主机连接简易键盘的工作原理+5V+5V+5Vn最简单的线性结构键盘n每一个引脚连接一个键n输入0/1反映键是否按下简易键盘的工作原理+5V+5V控制线控制线检检测测线线n常用的矩阵结构键盘n每行连接一个引脚n每列连接一个引脚n利用控制线为低、读取检测线来识别闭合键1.扫描法n先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现)n此后,再将第1行接地,然后检测列线是否有变为低电位的线。如此往下一行一行地扫描,直到最后一行n在扫描过
14、程中,当发现某一行有键闭合时,便在扫描中途退出n通过组合行线和列线可识别此刻按下的是哪一键第1段:是否有键按下key1:mov al,00mov dx,rowportout dx,al;使所有行线为低电平使所有行线为低电平 mov dx,colport in al,dx;读取列值读取列值cmp al,0ffh;判定是否有列线为低电平判定是否有列线为低电平jz key1;无闭合键,循环等待无闭合键,循环等待call delay;有,延迟有,延迟20ms清除抖动清除抖动键盘扫描程序第2段:识别按键(扫描)mov cx,8;行数送行数送CXmov ah,0feh;扫描初值送扫描初值送AHkey2:m
15、ov al,ahmov dx,rowportout dx,al;输出行值(扫描值)输出行值(扫描值)mov dx,colportin al,dx;读进列值读进列值键盘扫描程序第2段:识别按键(判断)cmp al,0ffh;判断有无低电平的列线判断有无低电平的列线jnz key3;有,则转下一步处理有,则转下一步处理rol ah,1;无,则移位扫描值无,则移位扫描值loop key2;准备下一行扫描准备下一行扫描jmp key1;所有行都没有键按下,则返回继续检测所有行都没有键按下,则返回继续检测key3:;此时,此时,al列值,列值,ah行值行值键盘扫描程序2.反转法n首先,将行线作为控制线接
16、一个输出端口,将列线作为检测线接一个输入端口nCPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)n然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口n将刚才读得的列值从列线所接端口输出,再读取行线的输入值n这样,当一个键被按下时,必定可以读得一对唯一的行值和列值条件:连接行线和列线的接口电路条件:连接行线和列线的接口电路必须支持动态改变输入、输出方式必须支持动态改变输入、输出方式第1段:是否有键按下;设置行线接输出端口,列线接输入端口设置行线接输出端口,列线接输入端口key2:mov al,00mov dx,rowportou
17、t dx,al;设置行线全为低设置行线全为低mov dx,colportin al,dx;读取列值读取列值cmp al,0ffhjz key2;无闭合键,循环等待无闭合键,循环等待push ax;有闭合键,保存列值有闭合键,保存列值 push ax键盘扫描程序第2段:识别按键(反转法);设置行线接输入端口,列线接输出端设置行线接输入端口,列线接输出端mov dx,colportpop axout dx,al;输出列值输出列值mov dx,rowportin al,dx;读取行值读取行值pop bx;组合行列值组合行列值mov ah,bl;此时,此时,al行值,行值,ah列值列值键盘扫描程序行列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微型计算机 系统 PPT 课件

限制150内