大学单片机原理及应用设计-胡辉-PPT文稿资料课件PPT
收藏
资源目录
压缩包内文档预览:
编号:21836208
类型:共享资源
大小:18.53MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
单片机
原理
应用
利用
运用
设计
胡辉
ppt
文稿
资料
课件
- 资源描述:
-
大学单片机原理及应用设计-胡辉-PPT文稿资料课件PPT,大学,单片机,原理,应用,利用,运用,设计,胡辉,ppt,文稿,资料,课件
- 内容简介:
-
第9章 并行I/O口的应用与扩展 北华航天工业学院 电子工程系Prof. 胡辉 Tel:2083013Email: huhui本章学习目标 掌握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端口独立编址方式这种方式是端口地址与存储器地址分开编址。对I/O端口独立编址,需要专门的I/O指令和接口信号访问I/O端口。9.2 基本I/O口的应用与扩展 9.2.1 I/O口的直接应用 从P1.0P1.3输入开关状态,再经P1.4P1.7输出去驱动发光二极管,使发光二极管显示开关的状态。 程序如下: ORG0000H AJMP MAIN ORG0030HMAIN:MOVA,#0FHMOVP1,A;熄灭发光二极管MOVA,P1;读入开关状态SWAPA;A高低半字节交换MOVP1,A;开关状态输出AJMP MAINEND扩展I/O接口所用的芯片主要有通用可编程I/O芯片和TTL、CMOS锁存器、三态门电路芯片两大类。9.2.2 简单并行I/O接口的扩展 采用74LS244做扩展输入、74LS273做扩展输出的简单I/O扩展电路。程序如下: ORG0000H AJMP MAIN ORG0030HMAIN:MOV DPTR,#0FEFFH;数据指针指向I/O口地址 MOVX A,DPTR;从244读入数据,检测按键MOVX DPTR,A ;向273输出数据,驱动LEDAJMP MAINEND9.3 键盘与显示器的扩展 9.3.1 基本LED显示原理 1LED显示器的结构与原理 共阴极共阳极十六进制数字形代码表 2LED显示器接口方法(1)以硬件为主的接口方法 (2)以软件为主的接口方法 9.3.2 矩阵式键盘的扩展 键盘上的键按行列构成矩阵,在行列的交点上都对应有一个键。所谓键实际上就是一个机械开关,被按下则其交点的行线和列线接通。非编码键键盘接口技术的主要内容就是如何确定被按键的行列位置,并根据此产生键码。1键输入过程与软件结构2键盘输入接口与软件应解决的任务 (1)键开关的可靠输入 抖动的处理有硬件处理和软件处理两种。(2)按键编码与键号定义 (3)键盘检测与编制键盘程序 3矩阵式键盘电路的结构及工作原理一个44的行、列结构可以构成一个含有16个按键的键盘。 扫描方法:先令列线Y0为低电平(0),其余3根列线Y1、Y2、Y3都为高电平,读行线状态。如果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;JZKSK1;07号键没有键操作,则跳LCALLDL20;07号键有操作,则延时去抖MOVXA,DPTR;再读键状态XRLA,37H;和延时前的状态一样吗?JZKS1;一样,则转去查询键号KSK1:SETBP1.0;开始扫描第2列,8F号键CLRP1.1MOVXA,DPTR;读入按键状态MOV37H,A;暂存按键状态CPLAJZKSK2;8F号键没有键操作,则跳LCALLDL20;8F号键有操作,则延时去抖MOVXA,DPTR;再读键状态XRLA,37H;和延时前的状态一样吗?JZKS1;一样,则转去查询键号KSK2:AJMPKS9;8F号键也不存在操作,则跳KS1:MOVXA,DPTR;再读按键状态CPLAJNZKS1;按键没有松开,则等待松开MOVA,37H;查询有键操作的键号JBACC.0,KS2;不是第1个键,则跳MOV37H,#00H;赋键初值AJMPKS10KS2:JBACC.1,KS3;不是第2个键,则跳MOV37H,#01H;赋键初值AJMPKS10 9.3.4 8255A的应用8255A是可编程的并行输入/输出接口芯片,通用性强且使用灵活,常用来实现与MCS-51系列单片机的并行I/O扩展。 18255A的逻辑结构和信号引脚 2总线接口电路(1)数据总线缓冲器 (2)读/写控制器 38255A的工作方式8255A共有三种工作方式,即方式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)工作方式控制字 (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口输出 END8255A芯片的PA端口的地址为7FFCH,PB端口的地址为7FFDH,PC端口的地址为7FFEH,控制寄存器的地址为7FFFH。可用“MOVX”指令来访问这些端口。9.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操作进行控制。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位,用于定义端口及定时器/计数器的工作方式。对命令寄存器只写不能读。ALT1: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、M1表示计数器的输出方式。48051单片机与8155的接口及应用 程序:ORG0000H AJMPMAINORG0030HMAIN:MOVDPTR,#7F00H;指向命令字端口MOVA,#02H;A口为输入,B口、C口为输出MOVXDPTR,A;送命令字MOVDPTR,#7F01H;指向A口地址MOVXA,DPTR;读入A口的数据INCDPTR;指向B口MOVXDPTR,A;数据送入B口AJMPMAINEND9.3.6 8279的应用 18279的内部结构原理 28279的管脚及引线功能 (1)D0D7:双向、三态数据总线。用与CPU和8279之间数据、命令和状态的传送。(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:中断请求输出线,高电平有效。在键盘工作方式中,当FIFO RAM缓冲器中存有键盘上闭合键的编码时,IRQ线升高,向CPU请求中断 (9)SHIFT:换挡输入线,高电平有效。(10)CNTL/STB:控制/选通输入线,高电平有效。在键盘工作方式时,该输入信号是键盘数据的最高位。在选通输入方式时,该信号的上升沿可把来自RL0RL7的数据存入FIFO RAM中。在传感器方式下,该信号无效。引线功能(11)RL0RL7:输入线,它们是键盘矩阵或传感器矩阵的列(或行)信号输入线。作为键输入线,由内部上拉电阻拉成高电平,也可由键盘上按键拉成低电平。 (12)SL0SL3:扫描输出线,用于对键盘显示器扫描。(13)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 RAM中没有输入字符时,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;送清除命令MOVXDPTR,AWAIT:MOVXA,DPTR;读入8279状态字JBACC.7,WAIT;等待清除命令完成MOVA,#00H;送方式字MOVXDPTR,AMOVA,#2AH;设置分频命令字MOVXDPTR,ASETBEA读取键盘子程序: PINT1:PUSHPSWPUSHDPHPUSHDPL PUSHAMOVDPTR,#Z8279MOVXA,DPTR;读8279状态ANLA,#07HJNZGETVAL;判断是否有键输入MOVA,#00H;置无键输入标志SJMPNKBHITGETVAL:MOVA,#40H;输出读FIFO命令MOVXDPTR,AMOVDPTR,#D8279;读键输入值 MOVXA,DPTR ANLA,#3FH;屏蔽SHIFT和CTRL键 MOVDPTR,#KEYCODE;键码表起始地址 MOVCA,A+DPTR;查表 MOVB,A;置返回键值 MOVA,#0FFH;置有键输入标志PRI1:POPA POPDPL POPDPH POPPSW RET显示字符子程序: DISLED:PUSHDPHPUSHDPLPUSHAMOVDPTR,#Z8279H;输出写显示RAM命令MOVA,#90HMOVXDPTR,AMOVR0,#70H;显示数据的起始地址MOVR7,#08HMOVDPTR,#D8279HDL0:MOVA,R0ADDA,#05HMOVCA,A+PC;显示数据转换为段码MOVXDPTR,A;写入显示RAMINCR0 DJNZR7,DL0RETLEDSEG:DB3FH,06H,5BH,4FH,66H,6DH;DB7DH,07H,7EH,6FH,77H,7CHDB39H,5EH,79H,71H9.4 存储器扩展9.4.1 利用P0口与P2口扩展数据存储器1典型数据存储器的扩展方法 访问片外数据存储器时,仅用4条寄存器间接寻址指令:MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A2典型数据存储器的扩展电路 (1)6116静态RAM的扩展 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:为电源的正、负极输入端。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:为“写保护寄存器”写使能锁存器,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。