已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 单片机并行I/O扩展,7.1 单片机I/O扩展基础知识 7.2 可编程并行接口芯片8255 7.3 键盘接口技术 7.4 LED显示器接口技术 7.5 打印机接口技术,7.1 单片机I/O扩展基础知识,7.1.1 I/O接口电路的功能 外部设备的速度十分复杂,必须通过I/O接口电路实现。 1. 速度协调 面对各种设备的速度差异,单片机无法按固定的时序以同步方式进行I/O操作,只能以异步方式进行,也就是只有在确认设备已为数据传送做好准备的前提下才能进行I/O操作。为此需要接口电路产生状态信号或中断请求信号,表明设备是否做好准备。即通过接口电路来进行单片机与外部设备之间的速度协调。 2. 输出数据锁存 由于CPU与外设速度的不一致,需要有接口电路把输出数据先锁存起来,待输出设备为接收数据做好准备后,再传送数据。这就是接口电路的数据锁存功能。,3. 数据总线隔离 线上可能连接着多个数据源(输入设备)和多个数据负载(输出设备)。一对源和 负载的数据传送正在进行时,所有其他不参与的设备在电性能上必须与总线隔 开。这就是接口电路的总线隔离功能。 为了实现总线隔离,需要有接口电路提供具有三态缓冲功能的三态缓冲电路。 4. 数据转换 外部设备种类繁多,不同设备之间的性能差异很大,信号形式也多种多样。单 片机只能使用数字信号,如果外部设备所提供或需要的不是电压形式的数字信 号,就需要有接口电路进行转换,其中包括模/数转换和数/模转换等。 5. 增强驱动能力 通过接口电路为输出数据提供足够的驱动功率,以保证外部设备能正常、平稳 地工作。,7.1.2 关于接口电路的更多说明,1. 接口与接口电路 “接口” (Interface),具有界面、相互联系等含义,通过接口能使两个被连接的器件协同工作。单片机接口,则是研究单片机与外部设备之间的连接问题。单片机与外部设备之间接口的硬件电路称为接口电路,或称为I/O接口电路。 2. 口或端口 为了实现I/O接口电路的界面功能,在接口电路中应包含一些寄存器,通常把接口电路中这些已编址并能进行读或(和)写操作的寄存器称为端口或简称口(Port)。完整的接口功能是靠软硬件相结合实现的,而口则是供用户使用的硬件内容,用户在进行扩展连接和编写相关程序时,要用到接口电路中的各个口,为此就需要知道这些口的设置和编址情况。,7.1.3 I/O编址技术,为了对I/O接口电路中的寄存器(端口)进行读/写操作,就需要对它们进行编址,所以就出现了I/O编址问题。有两种I/O编址方式: 统一编址方式和独立编址方式。在80C51单片机系统中,采用统一编址方式。 所谓统一编址方式,就是把I/O接口中的寄存器与外扩展的数据存储器中的存储单元同等对待,合在一起使用同一个64 KB的外扩展地址空间。I/O和存储器的统一编址,使得I/O口也采用16位地址编址,并使用数据存储器读/写指令进行I/O操作,而不需要专门的I/O指令 所谓独立编址方式,就是把I/O与存储器分开进行编址。这样,在一个单片机系统中就形成了两个独立的地址空间: 存储器地址空间和I/O地址空间。独立编址方式的优点是两个地址空间相互独立界限分明,但同时也存在许多麻烦并增加系统开销,所以独立编址方式在单片机中较少采用。,7.1.4 单片机I/O控制方式,1. 无条件方式 无条件传送也称为同步传送。只有那些能一直为I/O操作作好准备的设备,才能使用无条件传送方式。在进行无条件I/O操作时,无需测试设备的状态,可以根据需要随时进行I/O操作。 无条件传送适用于两类设备的I/O操作。一类是具有常驻的或变化缓慢的数据信号的设备,例如,机械开关、指示灯、发光二极管、数码管等。另一类则是工作速度非常快,足以和单片机同步工作的设备,例如数/模转换器(DAC)。 2. 查询方式 查询方式又称有条件传送方式,在I/O操作前,要检测设备的状态,只有在确认设备已“准备好”的情况下,单片机才能执行I/O操作。检测也称为“查询”,所以就把这种有条件的I/O控制方式称为查询方式。 为实现查询方式的I/O控制,需要由接口电路提供设备状态,接口电路中的状态寄存器或状态位就是为此而准备的。查询方式只适用于规模比较小的单片机系统。,3. 中断方式 中断方式与查询方式的主要区别在于如何知道外部设备是否为I/O操作做好准备。采用中断方式进行I/O控制时,当设备做好准备之后,就向单片机发出中断请求。单片机接收到中断请求之后作出响应,暂停正在执行的原程序,而转去执行中断服务程序,通过执行中断服务程序完成一次I/O操作,然后程序返回,单片机再继续执行被中断的原程序。 中断方式效率较高,所以在单片机系统中被广泛采用。但中断请求是一种不可预知的随机事件,所以实现起来对单片机系统的硬件和软件都有较高的要求。,7.2 可编程并行接口芯片8255,8255是Intel公司产品,因其工作方式和操作功能等可通过程序进行设置和改变,称为可编程接口芯片。 7.2.1 8255硬件逻辑结构 8255的全称是“可编程并行输入/输出接口芯片”,具有通用性强且使用灵活等优点,可用于实现80C51系列单片机的并行I/O口扩展。,8255是一个40引脚的双列直插式集成电路芯片,其引脚排列如下图。 8255芯片引脚图,按功能可把8255的内部结构分为3个逻辑电路部分,分别为: 口电路、总线接口电路和控制逻辑电路。如下图。,1. 口电路 8255共有3个8位口,其中A口和B口是单纯的数据口,而C口则既可以作 数据口使用,又可以作控制口使用,主要用于实现A口和B口的控制功能。 把A口和C口高位部分合在一起称为A组;把B口和C口低位部分合在一起称 为B组。 2. 总线接口电路 总线接口电路用于实现8255和单片机芯片的信号连接。其中包括: 数据总线缓冲器。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送的。 读/写控制逻辑。相关的控制信号有: /CS片选信号(低电平有效)。 /RD读信号(低电平有效)。 /WR写信号(低电平有效)。 A0、A1低位地址信号,用于端口选择。8255共有4个可寻址的端口。 RESET复位信号(高电平有效)。芯片复位后,控制寄存器清0,各端口被置为输入方式。,3. A组和 B组控制电路 A组控制和B组控制合在一起构成8255的控制电路,其中包括一个8位控制寄存器,用于存放编程命令和实现各口操作控制。 4. 中断控制电路 8255逻辑电路中还包含一个中断控制电路。中断控制电路中对应A、B两个口各有一个中断触发器,即触发器A和触发器B,用于对中断的允许和禁止进行控制。置位为允许,复位为禁止。对两个触发器的置位和复位控制是通过口C的有关位进行的。,1. 方式0(基本输入/输出方式) 方式0适用于无条件数据传送。两个8位口(A口和B口)和两个4位口(C口高位部分和C口低位部分)都可以分别或同时设置为方式0。 2. 方式1(选通输入/输出方式) 方式1是选通输入/输出方式。8255的“选通”是通过信号的“问”与“答”,以联络方式(或称握手方式)实现的。所以这种数据传送方式是有条件的,适用于以查询或中断方式进行控制。 在方式1下,A口和B口是数据口,C口是控制口,用于传送和保存数据口所需要的联络信号都有具体的定义。见后表。 3. 方式2(双向数据传送方式) 方式2是在方式1的基础上加上双向传送功能,只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。如果把A口置于方式2下,则B口只能工作于方式0。方式2适用于查询或中断方式的双向数据传送。在这种方式下需使用C口的5位口线作控制线。,7.2.2 8255工作方式,C口联络信号定义,7.2.3 8255的编程内容,8255是可编程接口芯片,主要编程内容是两条控制命令 ,即工作方式命令和C口位置位/复位命令。 1. 工作方式命令 工作方式命令用于设定各数据口的工作方式及数据传送 方向。命令的最高位(D7)是标志位,其状态固定为1。 命令格式如下图所示。 对工作方式命令有如下两点说明: A口有3种工作方式,而B口只有两种工作方式; 在方式1和方式2下,对C口的定义(输入或输出)不影响作为联络信号使用的C口各位的功能。,8255工作方式命令格式,2. C口位置位/复位命令 在方式1和方式2下,C口用于定义控制信号和状态信号,因此, C口的每一位都可以进行置位或复位。对C口各位的置位或复位是 由位置位/复位命令进行的。8255的位置位/复位命令格式如下图。,3. 初始化编程 8255初始化的内容就是向控制字寄存器写入命令。 例如,若对8255各口作如下设置: A口方式0输入,B口方式1输出,C口高位部分为输出、低位部分为输入。设控制寄存器地址为0003H。按各口的设置要求,工作方式命令字为10010101,即95H。则初始化程序段应为: MOV R0, 03H MOV A, 95H MOVX R0, A,8255端口选择及读/写控制表,键盘是单片机不可缺少的人机交互设备。 7.3.1 键扫描和键码生成 1. 键盘举例 为说明键盘的工作原理,以一个8行4列的矩阵键盘为例,如下图所示。 键盘上有行线和列线之分,本键盘共有8条行线4条列线。在行线和列线的交点处有一个键,由于行线与列线分别与键的不同端相连,平时键处于断开状态,所以行线和列线互不相通。接口时,行线一端接输出口,另一端悬空;而列线一端经电阻接+5 V电源,另一端接输入口。由于列线通过电阻与+5 V电源相连,所以列线的初始状态为高电平。,7.3 键盘接口技术,键盘扫描示意图,2. 键码 键盘上的每个键都担负一项处理功能,而处理功能是通过软件实现的,所以键盘接口必须有软件配合。为此,键盘上每个键都对应有一个处理程序段,键的功能是通过运行这个程序段实现的。为了在程序中能顺利地分支到键处理程序段,就需要对键进行编码,称为键码,以便能按键码进行程序分支。键的编码没有统一标准,存在多种多样的键编码方法。 最常用的编码方法是以键在键盘矩阵中的位置,从0开始按自然数顺序进行编码,键码以十六进制数表示。 下表是键盘扫描示意图中各键的键码,左边第一列的内容对应各行的扫描码,最后一行的内容是对应列有闭合键时的状态码(或称返回码)。表中内容为键码,注意键码排列的规律性。,键码表,3. 键盘扫描 通常把键盘上被按下的键称为闭合键。为了识别闭合键,有行扫描法和线反转法两种方法可供选用,在单片机中常用的是行扫描法,简称扫描法。 这里介绍的键盘扫描是由软件实现的,扫描过程也就是扫描程序的执行过程。 开始前,通过程序反复不断地进行闭合键查找,即看看键盘中是否有闭合键,为此,应先使行线输出全0,再读回列线状态,若列线状态为全1,则表明没有键被按下;若不为全1,则表明有键被按下。因为当有键被按下时,由于行线与列线在闭合键交点处接通,使穿过闭合键的那条列线变为低电平。发现闭合键后才接着进行键盘扫描,判定闭合的是哪个键;若无闭合键,就返回去重复进行闭合键的查找。 键盘扫描过程是依次使行线中的每一条输出低电平,接着输入列线状态进行有无闭合键的判定发现闭合键后,扫描并未结束。因为还要判定是否还有其他键被同时按下,所以扫描还应继续下去,直至最后在行线上输出7FH为止。,4. 键盘扫描程序流程,5. 去抖动 每当确认有键被按下后,都应当进行去抖动处理。因为键在被按下时,由于机械触点的弹性以及电压突跳等原因,在触点闭合及释放的瞬间将出现电压抖动,如下图。 去抖动处理有软件和硬件两种方法。软件去抖动方法是采用时间延迟以躲过抖动(延时时间为1020 ms即可), 硬件方法是在键盘中附加去抖动电路,以抑制抖动的产生,具体可使用双稳态电路或滤波电路等,但硬件去抖动需增加成本。,键闭合和断开时的电压抖动,7.3.2 用8255实现键盘接口 以8255作84键盘的接口为例。A口为输出口,接键盘行线。 C口为输入口,以PC3PC0接键盘的4条列线。如下图。假定 A 口地址为8000H,则B口地址为8001H,C口地址为8002H,控制 寄存器地址为8003H。,判断有无闭合键的子程序 判断有无闭合键的子程序为KS,以供在键盘扫描程序中调用。执行KS子程序的结果是:有闭合键,则(A)0;无闭合键,则(A)0。程序如下: KS: MOV DPTR, #8000H MOV A, #00H ;A口送00H MOVX DPTR, A INC DPTR INC DPTR ;建立C口地址 MOVX A, DPTR ;读C口 CPL A ;A取反,若无键按下,则全为0 ANL A, #0FH ;屏蔽A高半字节 RET,键盘扫描程序 在单片机应用系统中常常是键盘和显示器同时存在,因此,可以把键盘程序和显示程序配合起来使用,即把显示程序作为键盘程序中的一个延时子程序使用。这样既不耽误显示驱动,又可以起到键盘定时扫描的作用。 假定本系统中显示器驱动程序为DIR,执行时间约为6 ms。键盘扫描程序如下,程序中R2为扫描码寄存器,R4为行计数器。,KEY: ACALL KS;检查是否有键闭合 JNZLK1;A非0,则转移 ACALL DIR;驱动显示器(延时6 ms) AJMP KEY LK1: ACALL DIR;有键闭合2次驱动显示器 ACALL DIR;延时12 ms进行去抖动 ACALL KS;再检查是否有键闭合 JNZ LK2;有键闭合,转LK2 ACALL DIR AJMP KEY;无键闭合,延时6 ms后转KEY LK2 :MOV R2, #0FEH;扫描初值送R2 MOV R4, #00H;扫描行号送R4 LK4: MOV DPTR, #8000H;建立A口地址 MOV A, R2 MOVX DPTR, A;扫描初值送A口,扫描开始 INC DPTR INC DPTR;指向C口 MOVX A, DPTR;读C口 JB ACC.0, LONE;ACC.01,第0列无键闭合,转LONE MOV A, #00H;装第0列状态码起始值 AJMP LKP LONE:JB ACC.1, LTWO;ACC.11,第1列无键闭合,转LTWO MOV A, #08H;装第1列状态码起始值,AJMP LKP LTWO:JB ACC.2, LTHR;ACC.21,第2列无闭合,转LTHR MOV A, #10H;装第2列状态码起始值 AJMP LKP LTHR:JB ACC.3, NEXT;ACC.31,第3列无键闭合,则转NEXT MOV A, #18H;装第3列状态码起始值 LKP:ADD A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院护理纠纷应急处置演练脚本
- 幼儿园水彩画主题绘画作品展示
- 蒸压加气混凝土砌块专项施工方案
- 自考00467课程与教学论2024年10月试题及答案
- 中国汽拖修配行业市场前景预测及投资价值评估分析报告
- 2026年智能交通行业研究报告
- 2026年信息技术基础与应用测模拟试卷(含答案)
- 信息技术伦理与2026年模拟试卷(含答案)
- 罗城2026年事业单位招聘考试模拟题及答案详解
- 2026年剪辑模拟试卷(含答案)
- 2025-2030中国全氟聚醚油市场发展态势与未来供需平衡趋势预测研究报告
- 2026年高考日语试题及答案(全国卷)
- 冠脉介入培训试题及答案
- 会计风险管理基础培训
- 三大类人员安全生产制度
- 《公路中等跨径钢-混组合桥梁养护技术规程(征求意见稿)》
- 2026年永州职业技术学院单招职业技能考试题库附答案
- 临床经鼻高流量湿化氧疗护理
- 2025中智信通第三批社会招聘笔试题库附答案解析
- 综合实践 探索年月日的秘密 畅谈年月日 课件 2025-2026学年北师大版三年级数学上册
- 红色科技风学校月考表彰大会
评论
0/150
提交评论