版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8 系统扩展与应用,本章学习目标,掌握MCS-51单片机基本I/O口的应用 与扩展串行通信控制寄存器 掌握键盘与显示器的扩展原理及方法 掌握常用外围电路接口芯片8255、8155、 8279的性能特点及使用方法。 掌握存储器的扩展原理与方法,9.1 I/O扩展概述,I/O接口电路也叫做输入/输出接口电路,9.1.1 I/O接口电路的功能并行通信 1速度协调 2数据锁存 3三态缓冲 4信息转换,9.1.2 I/O端口的编址,1I/O端口和存储器统一编址方式 I/O端口和存储器公用一个地址空间,端口与存储器统一编址,即把每个I/O端口当做一个存储单元,给它分配存储空间的一个地址。 2I/O端口独立
2、编址方式 这种方式是端口地址与存储器地址分开编址。对I/O端口独立编址,需要专门的I/O指令和接口信号访问I/O端口。,9.2 基本I/O口的应用与扩展,9.2.1 I/O口的直接应用,从P1.0P1.3输入开关状态,再经P1.4P1.7输出去驱动发光二极管,使发光二极管显示开关的状态。,程序如下:,ORG0000H AJMP MAIN ORG0030H MAIN:MOVA,#0FH MOVP1,A;熄灭发光二极管 MOVA,P1;读入开关状态 SWAPA;A高低半字节交换 MOVP1,A;开关状态输出 AJMP MAIN END,扩展I/O接口所用的芯片主要有通用可编程I/O芯片和TTL、C
3、MOS锁存器、三态门电路芯片两大类。,9.2.2 简单并行I/O接口的扩展,采用74LS244做扩展输入、74LS273做扩展输出的简单I/O扩展电路。,程序如下:,ORG0000H AJMP MAIN ORG0030H MAIN:MOV DPTR,#0FEFFH;数据指针指向I/O口地址 MOVX A,DPTR;从244读入数据,检测按键 MOVX DPTR,A ;向273输出数据,驱动LED AJMP MAIN END,9.3 键盘与显示器的扩展,9.3.1 基本LED显示原理 1LED显示器的结构与原理,共阴极,共阳极,十六进制数字形代码表,2LED显示器接口方法,(1)以硬件为主的接口
4、方法,(2)以软件为主的接口方法,9.3.2 矩阵式键盘的扩展,键盘上的键按行列构成矩阵,在行列的交点上都对应有一个键。 所谓键实际上就是一个机械开关,被按下则其交点的行线和列线接通。非编码键键盘接口技术的主要内容就是如何确定被按键的行列位置,并根据此产生键码。,1键输入过程与软件结构,2键盘输入接口与软件应解决的任务,(1)键开关的可靠输入 抖动的处理有硬件处理和软件处理两种。 (2)按键编码与键号定义 (3)键盘检测与编制键盘程序,3矩阵式键盘电路的结构及工作原理,一个44的行、列结构可以构成一个含有16个按键的键盘。,扫描方法:先令列线Y0为低电平(0),其余3根列线Y1、Y2、Y3都为
5、高电平,读行线状态。如果X0、X1、X2、X3都为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态;如果Y0这一列上没有键闭合,接着使列线Y1为低电平,其余列线为高电平。用同样的方法检查Y1这一列上有无键闭合,依次类推,最后使列线Y3为低电平,其余列线为高电平,检查Y3这一列有无键闭合。,4键盘接口举例,82行列式键盘扫描接口电路,键盘扫描的程序(采用查询方法),KS:MOVDPTR,#7FFFH;键扫描程序 CLRP1.0;先扫描第1列(即07号键) MOVXA,DPTR;读入按键状态 MOV37H,A;暂存按键状态 CPLA; J
6、ZKSK1;07号键没有键操作,则跳 LCALLDL20;07号键有操作,则延时去抖 MOVXA,DPTR;再读键状态 XRLA,37H;和延时前的状态一样吗? JZKS1;一样,则转去查询键号 KSK1:SETBP1.0;开始扫描第2列,8F号键 CLRP1.1 MOVXA,DPTR;读入按键状态 MOV37H,A;暂存按键状态 CPLA JZKSK2;8F号键没有键操作,则跳 LCALLDL20;8F号键有操作,则延时去抖,MOVXA,DPTR;再读键状态 XRLA,37H;和延时前的状态一样吗? JZKS1;一样,则转去查询键号 KSK2:AJMPKS9;8F号键也不存在操作,则跳 KS
7、1:MOVXA,DPTR;再读按键状态 CPLA JNZKS1;按键没有松开,则等待松开 MOVA,37H;查询有键操作的键号 JBACC.0,KS2;不是第1个键,则跳 MOV37H,#00H;赋键初值 AJMPKS10 KS2:JBACC.1,KS3;不是第2个键,则跳 MOV37H,#01H;赋键初值 AJMPKS10 ,9.3.4 8255A的应用,8255A是可编程的并行输入/输出接口芯片,通用性强且使用灵活,常用来实现与MCS-51系列单片机的并行I/O扩展。,18255A的逻辑结构和信号引脚,2总线接口电路,(1)数据总线缓冲器 (2)读/写控制器 38255A的工作方式 825
8、5A共有三种工作方式,即方式0、方式1和方式2。,(1)方式0 基本输入/输出方式,方式0适合于无条件数据传送,可供使用的是两个8位口(A口和B口)及两个4位口(C口高位部分和低位部分)。,(2)方式1 选通输入/输出方式,方式1下,A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。具体定义见表。,(3)方式2 双向数据传送方式,只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。在这种方式下需使用C口的五位口线作控制线。方式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,则B口只能工作于方式0。,58255A控制字及初始化编程,(1)工作方式控制字
9、,(2)C口位置位/复位位控制字,68255A的应用,ORG0000H AJMPMAIN ORG0030HMAIN:MOVA,#90H;方式0,A口输入C口输出MOVDPTR,#7FFFH;控制寄存器地址DPTRMOVXDPTR,A;写入控制寄存器MOVDPTR,#7FFCH;A口地址DPTRMOVXA,DPTR;接收A口数据MOVDPTR,#7FFEH;C口地址DPTRMOVXDPTR,A;将A口读入数据送C口输出 END,8255A芯片的PA端口的地址为7FFCH,PB端口的地址为7FFDH,PC端口的地址为7FFEH,控制寄存器的地址为7FFFH。可用“MOVX”指令来访问这些端口。,9
10、.3.5 8155的应用,1.主要接口信号引脚,AD7AD0:地址数据复合线。 ALE:地址信号锁存信号,除进行AD7AD0的地址锁存控制外,还用于把片选信号和等信号进行锁存。 :读选通信号。 :写选通信号。 :片选信号。 :I/O与片内RAM选择信号。8155内部的I/O口与RAM是分开编址的,要使用控制信号进行区分。 RESET:复位信号。8155以600ns的正脉冲进行复位后,复位后A、B、C口均为输入方式。,PA和PB都是8位通用输入/输出口,只有输入/输出两种工作方式。而PC口则为6位口,它既可以作为数据口用于数据的I/O传送,也可以用于传送控制信号和状态信号,对PA和PB的I/O操
11、作进行控制。PC口具有4种工作方式,即输入方式、输出方式、PA口控制端口方式以及PA和PB口控制端口方式。,RAM单元及I/O编址,8155共有256个RAM单元,加上6个可编址的端口。为此8155引入了8位地址AD7AD0,无论是RAM还是可编址端口都使用这8位地址进行编址。可编址的6个端口地址是:命令/状态寄存器、PA口、PB口、PC口、定时器/计数器低8位以及定时器/计数器高8位。,28155的命令/状态字,8155有一个命令/状态寄存器,实际上这是两个不同的寄存器,分别存放命令字和状态字。 (1)命令字 命令字共8位,用于定义端口及定时器/计数器的工作方式。对命令寄存器只写不能读。 A
12、LT1:A口、B口基本输入输出,C口输入。 ALT2:A口、B口基本输入输出,C口输出。 ALT3:A口选通输入输出,B口基本输入输出,PC0: AINTR,PC1:ABF,PC2: ,PC5PC3:输出。 ALT4:A口、B口选通输入输出,PC0:AINTRPC1:ABF, PC2:,PC3:BINTR,PC4:BBF,PC5: 。,8155命令字格式,8155状态字格式,38155的定时器/计数器,8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,其中的低14位组成计数器,剩下的两个高位(M2、M1)用于定义计数器输出的信号形式。T13T0为计数器的计数初值,M2、M
13、1表示计数器的输出方式。,48051单片机与8155的接口及应用,程序:,ORG0000H AJMPMAIN ORG0030H MAIN:MOVDPTR,#7F00H;指向命令字端口 MOVA,#02H;A口为输入,B口、C口为输出 MOVXDPTR,A;送命令字 MOVDPTR,#7F01H;指向A口地址 MOVXA,DPTR;读入A口的数据 INCDPTR;指向B口 MOVXDPTR,A;数据送入B口 AJMPMAIN END,9.3.6 8279的应用,18279的内部结构原理,28279的管脚及引线功能,(1)D0D7:双向、三态数据总线。用与CPU和8279之间数据、命令和状态的传送
14、。 (2)CLK:时钟输入线,用于产生内部时钟。 (3)RESET:复位输入线,该引脚输入一个高电平以复位8279。其复位状态为:16个字符显示左边输入;编码扫描键盘双键锁定;时钟系数为31。 (4) :读有效输入线,低电平有效。读有效时将数据读出,送外部数据总线。 (5) :写有效输入线,低电平有效。写有效时接收外部数据总线上的数据。,引线功能,6)A0:缓冲器地址输入线。当A0=1时CPU写入8279的数据为命令字,CPU从8279读出的数据为状态字;当A0=0时,CPU读、写的信息均为数据。 (7) :片选信号。当为低电平时,CPU才选中8279进行读写。 (8)IRQ:中断请求输出线,
15、高电平有效。在键盘工作方式中,当FIFO RAM缓冲器中存有键盘上闭合键的编码时,IRQ线升高,向CPU请求中断 (9)SHIFT:换挡输入线,高电平有效。 (10)CNTL/STB:控制/选通输入线,高电平有效。在键盘工作方式时,该输入信号是键盘数据的最高位。在选通输入方式时,该信号的上升沿可把来自RL0RL7的数据存入FIFO RAM中。在传感器方式下,该信号无效。,引线功能,(11)RL0RL7:输入线,它们是键盘矩阵或传感器矩阵的列(或行)信号输入线。作为键输入线,由内部上拉电阻拉成高电平,也可由键盘上按键拉成低电平。 (12)SL0SL3:扫描输出线,用于对键盘显示器扫描。 (13)
16、OUTA0OUTA3:显示段数据输出线。 (14)OUTB0OUTB3:显示段数据输出线。OUTB0OUTB3和OUTA0OUTA3可分别作为两个半个字节输出,也可作为8位段数据输出口,此时OUTB0为最低位,OUTA3为最高位。 (15)BD:显示消隐输出线,低电平有效。,38279的命令格式与命令字,8279控制命令字,4状态格式与状态字,其中:NNN(D2、D1、D0)为表示FIFO RAM中字符的个数(闭合键次数);FIFO中无字符(无键闭合)时,该3位为000;F(D3)为FIFO满标志。当F=1时,表示FIFO RAM已满(存入8个键入数据);U(D4)为读空标志。当FIFO RA
17、M中没有输入字符时,CPU对FIFO RAM读,该位置“1”;O(D5)为FIFO RAM溢出标志。当FIFO已满,又输入一个字符时发生溢出,该位置“1”;S/E(D6)为S/E用于传感器矩阵输入方式,几个传感器同时闭合时置“1”;DU(D7)为显示无效特征位。,5输入数据格式,(1)在键扫描方式中,键输入数据格式如下:,(2)传感器方式或选通方式中,输入数据格式为:,68279与键盘/显示器的接口,初始化程序:,Z8279EQU7FFFH;8279状态口地址 D8279EQU7FFEH;8279数据口地址 INIT8279:MOVDPTR,#Z8279;指向命令/状态口 MOVA,#0D1H
18、;送清除命令 MOVXDPTR,A WAIT:MOVXA,DPTR;读入8279状态字 JBACC.7,WAIT;等待清除命令完成 MOVA,#00H;送方式字 MOVXDPTR,A MOVA,#2AH;设置分频命令字 MOVXDPTR,A SETBEA,读取键盘子程序:,PINT1:PUSHPSW PUSHDPH PUSHDPL PUSHA MOVDPTR,#Z8279 MOVXA,DPTR;读8279状态 ANLA,#07H JNZGETVAL;判断是否有键输入 MOVA,#00H;置无键输入标志 SJMPNKBHIT GETVAL:MOVA,#40H;输出读FIFO命令 MOVXDPTR
19、,A MOVDPTR,#D8279;读键输入值,MOVXA,DPTR ANLA,#3FH;屏蔽SHIFT和CTRL键 MOVDPTR,#KEYCODE;键码表起始地址 MOVCA,A+DPTR;查表 MOVB,A;置返回键值 MOVA,#0FFH;置有键输入标志 PRI1:POPA POPDPL POPDPH POPPSW RET,显示字符子程序:,DISLED:PUSHDPH PUSHDPL PUSHA MOVDPTR,#Z8279H;输出写显示RAM命令 MOVA,#90H MOVXDPTR,A MOVR0,#70H;显示数据的起始地址 MOVR7,#08H MOVDPTR,#D8279H
20、 DL0:MOVA,R0 ADDA,#05H MOVCA,A+PC;显示数据转换为段码 MOVXDPTR,A;写入显示RAM INCR0,DJNZR7,DL0 RET LEDSEG:DB3FH,06H,5BH,4FH,66H,6DH;DB7DH,07H,7EH,6FH,77H,7CH DB39H,5EH,79H,71H,9.4 存储器扩展,9.4.1 利用P0口与P2口扩展数据存储器 1典型数据存储器的扩展方法 访问片外数据存储器时,仅用4条寄存器间接寻址指令: MOVXA,Ri MOVXA,DPTR MOVXRi,A MOVXDPTR,A,2典型数据存储器的扩展电路,(1)6116静态RAM
21、的扩展 A10A0:地址线 D7D0:数据线 :片选信号 :数据输出允许信号 :写选通信号 VCC:电源(+5V) GND:地,6116工作方式选择,扩展6116静态RAM,9.4.2 串行数据存储器的扩展,传统扩展数据存储器的并行方法占用了CPU的P0口和P2口以及部分P3口的宝贵端口I/O线资源,而状态显示、键盘操作、A/D转换等所需要的I/O口往往还要进行扩充,其结果是电路结构复杂,总线外置,抗干扰性能差。解决这个问题可采用串行扩展数据存储器的方法。,1. X24128引脚说明,X24128有三种封装形式:14-SOIC、16-SOIC和8-PDIP VCC、VSS:为电源的正、负极输入
22、端。 SCL:串行时钟输入端。 SDA:串行数据输入与输出的共用管脚。漏极输出。 WP:硬件写保护输入管脚 。 S0、S1、S2:器件选择输入端。,2地址选择,X24128内部EEPROM由16K8位组成 ,地址为0000H3FFFH。 在器件地址中,高四位必须为1010,这是X24128的识别码。S0、S1、S2三位为所选器件的地址码,它们必须与所选器件的输入管脚S0、S1、S2相一致。例如所选器件的S2管脚接VCC,S1、S0两个输入管脚连接VSS,则器件地址应为1010100。位为读、写选择位,位为时,选择读:位为时,选择写。,3写保护寄存器,WEL:为EEPROM阵列写使能锁存器,WEL=1时,写使能锁存器置位,可进行写操作;WEL=0时,写使能锁存器复位,拒绝一切写操作。 RWEL:为“写保护寄存器”写使能锁存器,RWEL=1时,可对“写保护寄存器”进行改写;RWEL=0时,写使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基层业务工作制度
- 基本医保工作制度
- 外事办工作制度
- 大课间工作制度
- 妇女之家工作制度
- 妇联执委工作制度
- 孕前优检工作制度
- 学校三创工作制度
- 学校调研工作制度
- 学生部门工作制度
- Unit2HealthyLifestyle单词讲解课件-高中英语人教版选择性
- 2025至2031年中国荧光增白剂ER行业投资前景及策略咨询研究报告
- 学校教师成长师徒结对手册
- 2025年国航机务系统AMECO工程师岗位校园招聘笔试参考题库附带答案详解
- 【校园足球的推广对S市小学校园体育发展的影响探究(定量论文)7400字】
- 机床出厂检验报告模板
- 《宠物营养与食品》课件-1.5宠物的脂肪营养
- 鼻肠管留置及维护
- 山东高速集团有限公司社会招聘考试试题及答案
- 眼的解剖结构与生理功能课件
- 再回首混声合唱谱
评论
0/150
提交评论