版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、可编外围接口芯片8255A及其应用精A组控制B组控制DBRDWRA0A1RESETCS读/写控制逻辑A口B口上C口下C口PA7PA0PC7PC4PC3PC0PB7PB0内部总线总线缓冲器内部控制逻辑电路与CPU连接的接口电路与外设连接的数据端口一、构造和工作原理 1、 数据端口 三个8bit的数据端口PA、PB、PCPA:可用于输入、输出或双向PB:可用于输入、输出, 但不能用于双向PC:可用于输入、输出。 可分为二个4bit端口作为PA、PB口状态、控制信号的通路B口PA7PA0PC7PC4PC3PC0PB7PB0内部总线上C口下C口A口 2、 控制逻辑 控制存放器:存放来自CPU对8255
2、的控制命令字。以决定PA、PB、PC端口的工作方式。 A组控制电路的控制对象: PA口、PC口上半部(PC7PC4) B组控制电路的控制对象: PB口、PC口下半部(PC3PC0)A组控制B组控制内部总线A口上C口下C口B口 3、数据总线缓冲器 8bit三态数据缓冲器: 连通CPU的DB与8255的内部总线是CPU执行IN、OUT指令的数据通道。RESET读写控制逻辑DBRDWRA0A1CS内部总线至数据端口至控制寄存器数据总线缓冲器 4、 读/写控制逻辑 与CPU的AB、CB连接,实现CPU对8255的控制。 A15A2 A1 A0 端口 0 0 PA 0 1 PB 1 0 PC 1 1 控
3、制口系统接口地址译码确定CS RD CPU从8255读入数据或状态 WR CPU向8255写出数据或命令 RESET 总清,使PA、PB、PC初始化为输入状态 CS、A1、A0 选择8255内部的4个寄存器RESET读写控制逻辑DBRDWRA0A1CS内部总线至数据端口至控制寄存器数据总线缓冲器 4、8255与CPU的连接8255(1)A0A1CSD7D0RDWRRESETPAPBPC8255(2)A0A1CSD7D0RDWRRESETPAPBPCA0A1译码200H208HD7D0RDWRRESET8088CPU208H20BH200H203HA15A2M/IO 二、8255A的控制字1、工
4、作方式控制字2、位控(置位/复位)方式的数据输出端口C有一种特殊的控制方式,可以将端口C的某一位置1或清0,而不影响端口C其他位的状态 三、8255A的工作方式 1、方式 0 根本输入输出方式适用于不需要握手信号的简单I/O场合。 2、方式 1选通输入输出方式指定端口有PA、PB、PC输入或输出都通过选通握手信号实现。 指定端口有PA、PB;握手信号专用通道是PC,不再作为数据端口。 在满足握手条件时,8255向CPU申请中断,在中断服务程序中执行IN或 OUT指令对指定端口读入或写出。选通输入方式CPU 8255 外设PA 数据线 INTRA PC3PC4 STBA PC5 IBFAPB 数
5、据线 INTRB PC0PC1 IBFBPC2 STBB选通输出方式CPU 8255 外设PA 数据线 INTRA PC3PC6 ACKA PC7 OBFAPB 数据线 INTRB PC0PC1 OBFBPC2 ACKB方式1 选通输入输出方式选通输入信号说明IBF输入缓冲器满信号,高电平有效。由8255A输出的状态信号,表示输入锁存器已满,向外设指明不能再送入数据。INTE 中断允许信号。是控制8255A能否向CPU发中断恳求信号,它没有外部引脚,INTEA、INTEB是由用户对PC4、PC2按位置位实现的。INTR中断请求信号,高电平有效。是8255A向CPU发出的请求中断信号,要求CPU
6、服务。当 IBF =1、STB =1且 INTE =1时,INTR =1。STB选通输入,低电平有效,外设数据输入送输入缓冲器;STBAIBFAINTRAI/O线PA7PA08PC3PC6PC7&INTEARD方式1输入 (A口)PC5PC4方式1输入时序图 选通输出信号说明ACK外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。OBF输出缓冲器满信号,输出,低电平有效。表示CPU已输出数据到指定端口。INTR中断请求信号,高电平有效。INTE中断允许信号。 INTEA、INTEB是由用户对PC6、 PC2按位置位实现的PA7PA08PC6ACKAPC
7、7OBFAPC3INTRAPC4PC5I/O线&INTEAWR方式1输出 (A口)方式1输出时序图 3、方式2双向总线方式 仅适用于A口PA7PA0作为双向数据总线,PC3 PC7用作A口的联络控制信号。PC2PC0可用作B口的应答信号线,或作I/O线。PC3INTRAPA78PC7PC6OBFAACKAPC4PC5PC2PC03STBAIBFAINTE2&PA0&INTE11WRRD8255A的应用举例例:检测开关状态(断开/闭合)并在LED显示(亮/暗)K7K0LED7LED0PA7PA0PB0PB7D7D0RDWRRESETG1G2AG2BCBAY4CSA1A0D7D0RDWRRESET
8、M/IOA4A5A6A7A3A0A2A18255A808674LS138+5VPA口:11110000 0FOHPB口: 11110010 0F2HPC口:11110100 0F4H控制口:11110110 0F6HR+5VK上拉电阻K状态PA7断开1闭合0开关状态的检测PA78255限流电阻LEDPB78255PB7LED状态1亮0暗发光二极管的控制下C口 I/O1=输入0=输出B口I/O1=输入0=输出B组方式0=方式0 1=方式1上C口I/O1=输入0=输出特征位 D7=1A组方式: 00=方式0 01=方式1 1x=方式2A口I/O1=输入0=输出D0D1D2D3D4D5D6D7A 组
9、B 组1A口:基本输入,方式0B口:基本输出,方式01 0 0 1 0 0 0 0MOV DX ,0F6HMOV AL ,90HOUT DX,AL ;向控制口写方式控制字TEST:MOV DX,0F0HIN AL,DX ;从PA口读入8个开关状态MOV DX,0F2HOUT DX,AL ;开关状态送PB口,由LED显示JMP TEST ;不断循环CALL DELAY ;延时二、键盘接口矩阵键盘接口的特点:1、键盘由触点按键(开关)组成的矩阵形式。在行与列的穿插点位置安装按键。当按键闭合,相应的行和列连接。0123456789ABCDEFVcc10K10K2、按键具有弹性,在闭合和断开的过程中有
10、抖动。需要采取消抖措施。抖动抖动断开闭合闭合1采取延时10ms,再检测的消抖措施例:用8255A芯片端口A做行线端口,端口B做列线端口,构成扫描键盘两种键盘扫描方法正向扫描法: A口输出00H,B口读入键盘列线值。假设无键按下,那么B口读入低4位值为0FH,否那么,就有键按下。假设有键按下, A口输出FEH,假设B口读入有0,那么第一行有键按下;假设没有, A口输出FDH,再查下去反转扫描法:A口输出,B口输入。A口输出00H,B口读入键盘列线值。假设无键按下,那么B口读入低4位值为0FH,否那么,就有键按下。假设有键按下,将8255A的A口设置为输入,B口为输出。把B口读入的列值从B口输出,
11、同时从A口读入行值。用读入的行、列值查表,可以确定是哪一个键被按下KEYSCANPROCNEAR BEGIN:MOVDX,XXH;置8255A控制口地址MOVAL,82H;A方式0输出,B方式0输入OUTDX,AL;输出8255A方式控制字LOOP1:MOVDX,XXH;A口地址送DXMOVAL,00HOUTDX,AL;A口输出00H扫描键盘MOVDX,XXH;B口地址送DX中INAL,DX;读入键盘列值ANDAL,0FH;保存低4位CMPAL,0FHJELOOP1;无键按下,重新扫描CALL DELAY;有键按下,延时去抖动反转扫描法程序INAL,DX;再次读B口,检查有无键按下ANDAL,
12、0FH;保存低4位CMPAL,0FHJELOOP1;无键按下,重新扫描MOVKEY,AL;有键按下,列值保存在KEY单元MOVDX,XXH;置8255A控制口地址MOVAL,90H;B口方式0输出,A口方式0输入OUTDX,AL;输出8255A方式控制字MOVDX,XXH;B口地址送DX中MOVAL,KEY;从KEY单元取出列值OUTDX,AL;向B口输出列值,反向扫描MOVDX,208H;A口地址送DXINAL,DX;从A口读入行值ANDAL,1FH;保存低5位CMPAL,1FHJEBEGIN;无键按下,重新扫描CALLKEYVALUE;查表获得按键编码MOVDX,XXH;B口地址送DX中M
13、OVAL,0OUTDX,AL;向B口输出列值,反向扫描MOVDX,XXH;A口地址送DXW2:INAL,DX;从A口读入行值ANDAL,1FH;保存低5位CMPAL,1FHJNEW2;未释放,等待RETKEYSCANENDP三、七段LED显示器及接口电路DPadbcfegDPgfedcba阴极共阴极LEDDPgfedcba阳极共阳极LED+VCC反相驱动器PA0PA1PA2PA3PA4PA5PA6PA78255ADB7DB0共阴极LED显示器接口电路DPgfedcba阴极共阴极LEDadbcfegDP g f e d c b aD6 D5 D4 D3 D2 D1 D00 1 0 0 0 0 0
14、 0 40H1 1 1 1 1 0 0 1 79H2 0 1 0 0 1 0 0 24H3 0 1 1 0 0 0 0 30H4 0 0 1 1 0 0 1 19HE 0 0 0 0 1 1 0 06HF 0 0 0 1 1 1 0 0EH 显 示 代 码DB 40H,79H,24H,30H,19H,12H,02H,78HTABLE DB 40H,79H,24H,30H,19H,12H,02H,78HDISPY: MOV BX,OFFSET TABLEMOV AL,COUNTXLATMOV DX, POR OUT DX, AL 查表显示数字的程序例:8255A作为开关K0K3及七段LED显示器
15、接口。要求开关设置的二进制信息,由PC0PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。8255APA7PA0驱动+5V5VK0K1K2K3PC3PC2PC1PC0D7D0 RD WR A0 A1 CSD7D0RD WR A0 A1 A B C G2A G2B G1 Y0 Y1 Y2 O O O&A2 A3 A9M /IO8088LS138CPU8255A各端口地址确定:由图可知: A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 1 0 各端口地址为:388H38BH8255A方式选择控制字:按题意设置端口A方式0输出,下C口输入.控制字为:100001 = 81H (或83H等)LED显示器的字形代码表存放在TABLE单元开始的内存中.TABLE DB 40H,79H,24H,30H,19H,12H,02H,78H DB 40H,79H,24H,30H,19H,12H,02H,7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024建筑砂石买卖合同
- 2024版变压器购买三方合同范本
- 2024版购房三方合同
- 境外投资备案合同2024年
- 二零二五年度新型房屋买卖合同货币补偿细则3篇
- 木材运输企业聘用合同模板
- 企业幼儿园幼师聘用合同模板
- 垃圾处理工程队合同
- 二零二五年度办公楼施工合同纠纷处理协议
- 2025年度生态环境修复分包合同汇编
- 防暴反恐设施配置
- 体育行业新媒体营销策划方案之在社交平台上推广体育赛事和运动品牌
- 血透室护理安全隐患
- 期末复习计划:部编版六年级上册道德与法治教案
- 2023年亚马逊主管年终业务工作总结
- 2024年中国华电集团招聘笔试参考题库含答案解析
- 为时代而歌 与人民同行-写在音乐家姚牧百年诞辰之际
- 《头痛》医学课件
- 通用质量特性基本概念和理论
- 平台经济的典型特征、垄断分析与反垄断监管
- 交房安保方案
评论
0/150
提交评论