![8255A与系统总线的连接_第1页](http://file4.renrendoc.com/view/3b33f5fd63e8d0718b4fa248b0427f58/3b33f5fd63e8d0718b4fa248b0427f581.gif)
![8255A与系统总线的连接_第2页](http://file4.renrendoc.com/view/3b33f5fd63e8d0718b4fa248b0427f58/3b33f5fd63e8d0718b4fa248b0427f582.gif)
![8255A与系统总线的连接_第3页](http://file4.renrendoc.com/view/3b33f5fd63e8d0718b4fa248b0427f58/3b33f5fd63e8d0718b4fa248b0427f583.gif)
![8255A与系统总线的连接_第4页](http://file4.renrendoc.com/view/3b33f5fd63e8d0718b4fa248b0427f58/3b33f5fd63e8d0718b4fa248b0427f584.gif)
![8255A与系统总线的连接_第5页](http://file4.renrendoc.com/view/3b33f5fd63e8d0718b4fa248b0427f58/3b33f5fd63e8d0718b4fa248b0427f585.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8255A与系统总线的连接
1.8255A与系统数据总线的连接2.8255A与系统地址总线连接
3.端口地址范围的确定
4.其它控制信号的连接
18255A的应用举例
作为通用的并行接口电路芯片,825A具有广泛的应用连接简易键盘驱动LED数码管应用在IBMPC/XT微机上应用于打印机接口电路……键盘输入信息的过程:(1)检测是否有键按下;(2)查出按下的是哪一个键;(3)将该键所代表的信息翻译成计算机能识别的内部代码。如ASCII码或其他预先约定的编码。简易键盘的工作原理+5V+5V+5V最简单的线性结构键盘每一个引脚连接一个键输入0/1反映键是否按下简易键盘的工作原理+5V+5V控制线检测线常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、
读取检测线来识别闭合键1.扫描法先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现)此后,再将第1行接地,然后检测列线是否有变为低电位的线。如此往下一行一行地扫描,直到最后一行在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出通过组合行线和列线可识别此刻按下的是哪一键8255的A口工作在方式0,B口工作在方式0、用作输入口。在按下一个键时,与它对应的行和列短接,形成了通路,通过查找闭合键所在的行和列的位置,程序就能决定被按下的键所代表的代码(称为键号)。使用行扫描方式寻找按下键的编号(键号)的程序如下:
…PORTA EQU 0FFF8HPORTB EQU 0FFFAHPORTC EQU 0FFFCHPORTCN EQU 0FFFEH MOV DX,PORTCN ;初始化8255 MOV AL,10000011B OUT DX,ALWAITK: MOV DX,PORTA ;判读是否有键按下
MOV AL,0 OUT DX,AL
MOV DX,PORTB IN AL,DX CMP AL,0FFH JZ WAITK;无键按下继续等待, MOV BL,0 ;有键按下判断具体按键
;BL为键号,初始值=0 MOV BH,11111110B ;行扫描码
MOV CX,8;扫描8行FNDROW: MOV AL,BH ;输出行扫描码
MOV DX,PORTA OUT DX,AL ROL BH,1 ;下一行扫描码
MOV DX,PORTB ;读取检测码 IN AL,DX
CMPAL,0FFH;检测码有零位, JNZFNDCOL ;表示找到按键所在行了 ADDBL,8 ;检测码全1,按键在后面行
;键号加8,继续扫描下一行
LOOPFNDROW JMPDONE FNDCOL: ROR AL,1;找按键所在列 JNC RIGHT;检测码中的第一个零位;就是按键所在列。 INC BL JMP FNDCOLRIGHT: …
DONE: …
2.反转法首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口CPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)然后,将行线和列线的作用互换,即将列线作为控制线接输出端口,行线作为检测线接输入端口将刚才读得的列值从列线所接端口输出,再读取行线的输入值这样,当一个键被按下时,必定可以读得一对唯一的行值和列值条件:连接行线和列线的接口电路必须支持动态改变输入、输出方式3.抖动和重键问题机械按键存在抖动现象当按下或释放一个键时,往往会出现按键在闭合位置和断开位置之间跳几下才稳定到闭合状态抖动的持续时间通常不大于10ms采用硬件消抖电路或软件延时方法解决重键指两个或多个键同时闭合出现重键时,读取的键值必然出现有一个以上的0是否给予识别和识别哪一个键重键问题的处理简单情况:不予识别,认为是错误的按键通常情况:只承认先识别出来的键连锁法:直到所有键都释放后,读入下一个键巡回法:等被识别的键释放以后,就可以对其他闭合键作识别,而不必等待全部键释放正常的组合键:都识别出来LED数码管及其接口发光二极管LED是最简单的显示设备由8段LED组成的LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中LED数码管可以显示内存地址和数据等1.LED数码管的工作原理主要部分是7段LED发光管各段顺时针排列,分别称为a、b、c、d、e、f、g、dp(或h,即小数点,有时不用)通过7个发光段的不同组合可显示可显示0~9十个数码也可以显示A~F(实现16进制数的显示)还可以显示个别特殊字符,如-、P、H等abcdefgLED数码管的结构共阳极共阳极+5Vabcdefgh共阴极abcdefgh共阴极2.单个LED数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7同相驱动电路abcdefghcom+5V对一般数字电路而言,其灌电流(输出低电平)的能力要大于拉电流(输出高电平)的能力共阳数码管送0点亮送0点亮3.多个LED数码管的显示以动态扫描显示8个数码管为例硬件——使用两个8位的输出端口,其中:锁存输出七段码的端口,通过公用的段驱动电路来驱动多个数码管各段锁存输出位选通码的端口,每次只点亮一个数码管软件——用轮流点亮(扫描)的方法实现多位数码显示,扫描频率应控制在16次/秒以上,当扫描频率达50次/秒时,显示将无闪烁感。多个LED数码管的显示8锁存同相驱动锁存反相驱动七段码端口位选通码端口8共阳数码管控制控制数据送0时点亮相应段,七段码:11111001B将显示数码“1”送1时选通相应数码管,选通码:00000001B将选中最左边的数码管1段控制端口电路D0D1D2D3D4D5D6D7阳极位0abcdefgh位1位2段码D0~D7段控制锁存/同相驱动segport,-IOW段控制端口作用控制哪些段点亮,决定具体显示什么数码段控制端口送出七段码到数码管段控制端此端口为8个数码管的共用端口段控制:Di=0,相应段点亮D7D6D5D4D3D2D1D0hgfedcba通过位、段控制端口的共同作用才能确定哪个数码管显示什么数码位控制端口电路D7D6D5D4D3D2D1D0共阳极数位0数位1数位2位码D0~D7位控制锁存/反相驱动bitport,-IOW共阳极共阳极位控制端口作用位控制端口控制点亮哪位数码管(其余数码管暂不点亮)当位控制端口的控制码某位为0时,经反相驱动,便在相应数码管的公共阳极上加了高电平,该数码管将点亮并显示数据位控制:Di=0,相应数位的数码管可以发光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0
…
SSEGCODE DB0C0H DB0F9H DB0A4H DB0B0H DB99H DB92H DB82H DB0F8H DB80H DB98H DB88H DB83H DB0C6H
DB0AlH DB86H DB8EHFOURBYTE EQUTHISBYTEDBLWORD DD12345678H
… MOVAL,10000000B;初始化 MOVDX,0FFFEH OUTDX,AL
… CLDAGAIN: MOVCX,4 MOVSI,OFFSETFOURBYTE
MOVAH,11111110BLOOPDISP:LODSB MOVDI,AX ANDAL,0FH;取低四位 MOVBX,OFFSETSSEGCODE XLATSSEGCODE ;取段选码 MOVDX,0FFFAH OUTDX,AL MOVAL,AH ;送位选码 MOVDX,OFFF8H OUTDX,AL PUSHCX MOVCX,NDELAY
;延时IDLE: NOPNOP LOOPIDLE
… MOVAL,0FFH;全灭 OUTDX,AL MOVAX,DI;取高四位 MOVCL,4 SHRAL,CL MOVBX,OFFSETSSEGCODE XLATSSEGCODE;取高四位对应的位码 MOVDX,0FFFAH OUTDX,AL ROLAH,1
;下一个led管显示
MOVAL,AH MOVDX,0FFF8H OUTDX,AL MOVCX,NDELAY IDLE2: NOP NOP LOOPIDIE2 ROLAH,1 MOVAL,0FFH OUTDX,AL POPCX LOOPLOOPDISP JMPAGAIN
…
思考题:利用一片8255设计一个具有16个按键和8位LED数码管的键盘显示电路,使之能相互协同工作,不互相影响。(每组交一份设计报告!)参考李顺增《微机原理与接口技术》机械工业出版社2006.打印机接口
1.并行接口标准(Centronice)
该标准规定了一个36芯的连接口。
:数据选通接口;由主机送往打印机的选通信号,有效时,打印机接收主机送来的8位并行数据。
DATA:数据信号;主机送往打印机的8位并行数据。
:响应信号;打印机送给主机的回答信号。主机在收到该信号后,才能继续发送下一个数据。BUSY:忙信号。由打印机送给主机的状态信息。低电平,表示打印机正处于空闲状态,主机可以向打印机传送数据。高电平,表示打印机不能接受数据。
PE:纸尽信号。
SLCT:选中信号。:初始化信号。:出错信号。:自动走纸信号。:低电平时,打印机处于被选择状态32最重要的是8位并行数据线,2条联络线和,一条忙线BUSY。下图为打印机的工作时序:(1)(2)(3)(4)33 2.打印机的工作过程及接口电路 打印机接口电路也称打印机适配器,可以用锁存器、三态缓冲器等器件实现,也可用通用的可编程并行接口芯片实现。下图就是用8255A作为接口的逻辑图。8255的A口工作于方式1,并为数据输出端口,用于传送主机送来的数据信息DATA1-DATA8。此时,PC6、PC7、PC3分别规定为配合方式1工作的和INTR信号。PC4定义为输入,作为打印机送来的SLCT状态信息。8255A的B组工作于方式0,PB口作为输出控制口,利用PB3-PB0产生控制信号,而PC2-PC0用作输入状态口,分别定义为打印机的PE、ERR、BUSY状态信号。3435若上图采用中断控制方式,中断请求INTR应连接到中断优先权控制器8259A的IR端,作为一个中断源,由8259A产生中断类型码,以便CPU响应本中断时,自动进入打印机中断服务程序。36(1)8255A的初始化程序段(设8255A的I/O端口地址为2C0H-2C3H):
… MOV DX,02C3H MOV AL,10101001B OUT DX,AL MOV AL,00001101B OUT DX,AL MOV DX,02ClH MOV AL,00001100B OUT DX,AL
…37(2)打印机中断服务程序PRINTPROC NEAR PUSHAX PUSHDX MOVDX,02C0H MOVAL,[BX] OUT DX,AL MOVDX,02C1H IN AL,DX38 OR AL,01H OUT DX,AL AND AL,0FEH OUT DX,AL INC BX POP DX POP AX IRETPRINT ENDP39作业习题教材P15~16页中并口芯片练习:
6.27,6.29,6.30,6.31,6.36自学串口通信芯片8251,完成习题教材P14~15页的练习:6.3,6.8,6.9,6.11
40打印机接口
用8255A方式0与打印机接口BUSYDATA0~78255APC7PC2PA0~PA7打印机STROBE后面内容可选学!41打印机接口的信号与时序BUSYDATA0~7ACKSTROBE主机把数据送给引脚DATA0~DATA7同时送出数据选通信号STROBE打印机在BUSY信号线上发出忙信号打印机处理好输入的数据时撤消忙信号同时又送出一个响应信号ACK428255A的初始化
movdx,0fffeh ;控制端口地址:FFFEH moval,10000001B ;方式控制字:91H outdx,al ;A端口方式0输出,C端口上输出、下输入
moval,00001111B ;端口C的复位置位控制字,使PC7=1 outdx,al打印机程序143打印子程序:查询printc proc pushax pushdxprn: movdx,0fffch ;读取端口C inal,dx ;查询打印机状态
andal,04h ;PC2=BUSY=0?
jnzprn ;PC2=1,打印机忙,则循环等待打印机程序144打印子程序:输出
movdx,0fff8h ;PC2=0,打印机不忙,则输出数据
moval,ah outdx,al ;将打印数据从端口A输出打印机程序145打印子程序:打印
movdx,0fffeh ;从PC7送出控制低脉冲
moval,00001110B ;置STROBE=0 outdx,al nop ;产生一定宽度的低电平
nop moval,00001111B ;置=1 outdx,al ;最终,STROBE产生低脉冲信号打印机程序146打印子程序:返回
popdx popax retprintc endp打印机程序147用8255A方式1与打印机接口1000pf2K15321441LS123单稳电路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印机ACKACKOBFSTROBE488255A方式1与打印机接口时序配合PA0~PA7(DATA0~7)ACKOBFSTROBE498255A的初始化
movdx,0fffeh moval,0a0h outdx,al moval,0ch ;使INTEA(PC6)为0,禁止中断
outdx,al …… movcx,counter ;打印字节数送CX movbx,offsetbuffer ;取字符串首地址
callprints ;调用打印子程序打印机程序250打印子程序:输出prints proc pushax ;保护寄存器
pushdxprint1: moval,[bx] ;取一个数据
movdx,0fff8h outdx,al ;从端口A输出打印机程序251打印子程序:查询
movdx,0fffchprint2: inal,dx testal,80h ;检测(PC7)为1否? jzprint2 ;为0,说明打印机没有响应,继续检测打印机程序252打印子程序:返回
incbx ;为1,说明打印机已接受数据
loopprin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年江苏公务员考试行测试题(B卷)
- 2024-2025学年第13课清朝前中期的鼎盛与危机-勤径学升高中历史必修上同步练测(统编版2019)
- 2025年共同发展协议书细目
- 2025年全球化学品物流协议
- 2025年仓储物流租赁合同文件
- 2025年四人股东策划经营合作协议书
- 2025年特种自行车项目立项申请报告模板
- 2025年公共服务设施建设策划管理协议书
- 2025年肥料级磷酸氢钙项目规划申请报告模板
- 2025年公共环卫设施:环卫垃圾桶项目立项申请报告模板
- 月老合婚真经
- DB63-T 1987-2021干拌水泥碎石桩施工技术规范
- (完整版)欧姆龙E3X-HD光纤放大器调试SOP
- 2022年高级统计师考试真题及参考答案解析
- 1小时:让孩子踏上阅读快车道课件
- 2022-2023年(备考资料)医技类-病理学技术(师)代码:208历年真题精选一含答案试卷6
- 老年社会工作完整版ppt-全体教学教程课件最新
- 2022年《国民经济行业分类》
- 2第二章 保护煤柱的设计
- 人教鄂教版科学六年级下册全册教案
- (精心整理)三角函数w的取值问题
评论
0/150
提交评论