学习情境2基于DS1302和LCD1602的可调数字钟(4)

2019-04-23 10:14

作者 张小波

MOVX @DPTR,A ;P0口将数据通过74LS377输出 (2)用74LS374扩展并行输出口

74LS374是具有三态输出的8D边沿触发器,其功能与74LS377相似, 74LS374与单片机接口电路如图3-10所示,74LS374的地址为7FFFH。74LS374具有较强的驱动能力,输出低电平电流IOL最大可达24mA,是74LS377的3倍。在有较强驱动能力要求场合,可选用74LS374作为并行口扩展器件。

图3-10 74LS374与单片机接口电路

2.扩展并行输入口

并行输入扩展口比较简单,只需采用8位缓冲器即可。常用的缓冲器有74LS244, 74LS244为单向总线缓冲器,只能一个方向传输数据。并行输入接口与单片机连接如图3-11所示。

图3-11 扩展74LS244并行输入口

【例3.2】 如图3-10所示,扩展并行输入口,将输入口中的8位数据送片内51H单元。程序清单如下:

MOV DPTR,#7FFFH ;数据指针指向74LS244

作者 张小波

MOVX A,@DPTR ;外部数据经过74LS244送入累加器A MOV 51H,A ;数据送51H单元保存

将上述输入输出电路合并即如图3-12所示。在图3-12的输入输出接口电路中,输入采用三态门74HC244,输出采用8D触发器(锁存器)74HC374。P0口为双向数据线,既能从74HC244输入数据,又能将数据通过74HC374输出。输出控制信号由P2.0和WR合成,当两者同时为低电平时,或门输出0,将P0口数据锁存到74HC374,其输出控制着发光二极管LED。当某线输出为0时,该线上的LED发光。输入控制信号由P2.0和RD合成,当二者同时为低电平时,或门输出为0,选通74HC244,将外部信息输入到总线。与74HC244相连的按键开关没有按下时,输入全为1;若按下某键则所在的线输入为0。可见,输入输出都是在P2.0为0时有效,因此它们的口地址为0FEFFH,即占用相同的地址空间。但是由于分别用RD和WR信号控制,因此不会发生冲突。

图3-12 合并输入输出口

正如前面所提到的,扩展I/O口和扩展外部RAM一样,因此访问外部I/O口就像访问外部 RAM一样,用的是 MOVX类指令。对于图3-11,如果需要实现的功能是按下任意一个按键,对应的LED发光,则程序如下:

LOOP: MOV DPTR,#0FEFFH ;数据指针指向扩展I/O地址

MOVX A,@DPTR ;从74HC244读入数据,检测按键 MOVX @DPTR,A ;向74HC374输出数据,驱动LED SJMP LOOP ;循环

三、可编程并行I/O口的扩展

1、RAM/IO扩展芯片8155

Intel 8155是一个具有RAM、I/O和计数器的通用可编程接口多功能芯片。其具有的资源为:256B的静态RAM;两个可编程的8位并行I/O口PA和PB;一个可编程的6位并行I/O口PC;一个可编程14位减计数器TC;8位地址锁存器。 (1)8155的结构及引脚功能

8155的引脚如图3-13(a)所示,逻辑框图如图3-13(b)所示。8155引脚符号的含义和功能如下:

AD0~AD7: 地址数据线;

IO/M: IO/RAM选择信号端,输入高电平选择I/O操作,低电平选择访问片内RAM;

作者 张小波

CE: 片选信号输入端,低电平有效; RD: 读选通输入端,低电平有效; WR: 写选通输入端,低电平有效; TI: 计数器计数脉冲输入端;

TO:计数器的输出信号端,输出波形由内部定时工作方式决定; PA0~PA7: 8位并行I/O口; PB0~PB7: 8位并行I/O口; PC0~PC5: 6位并行I/O口;

ALE: 地址锁存信号输入端,其下降沿时,锁存AD0~AD7上的地址。 RESET: 复位输入引脚,高电平复位。 Vcc: 电源+5V; Vss: 接地。

图3-13 8155引脚及逻辑框图

(2)8155的RAM和I/O地址编码

8155的I/O端口及RAM地址在单片机应用系统中与外部数据存储器是统一编址的,其控制操作见表 3-4,对应I/O口寄存器的地址编码见表3-5。

8155当IO/M为0时,单片机对8155的RAM进行操作,共256B,低八位的地址为:00H—0FFH。8155当IO/M为1时,单片机对8155的I/O口进行操作。

表3-4 8155控制操作表 低八位地址 xxxxx000B xxxxx001B xxxxx010B xxxxx011B xxxxx100B xxxxx101B I/O口 命令/状态口 PA口 PB口 PC口 定时器/计数器低字节寄存器 定时器/计数器高字节寄存器

作者 张小波

表3-5 8155的端口地址编码 AD7 × × × × × × AD6 AD5 × × × × × × × × × × × × AD4 × × × × × × AD3 × × × × × × AD2 0 0 0 0 1 1 AD1 0 0 1 1 0 0 AD0 0 1 0 1 0 1 对应端口 命令/状态寄存器 A口 B口 C口 定时器/计数器低8位 定时器/计数器高8位 (3)命令/状态寄存器 8155的命令/状态寄存器物理上只有一个端口地址(见表3-5)。对该口写操作,命令字被写入命令寄存器; 对该口读操作,则从状态寄存器读出状态字。8155所提供的每个I/O口和定时器都是可编程的。I/O的工作方式选择,定时器/计数器的工作控制都是通过对8155内部命令寄存器设定命令控制字的方式来实现的,通过对状态字的读取来判别它们的工作状态。命令/状态寄存器共用一个口地址,通过读/写信号加以区分。命令字寄存器只能写不能读,状态寄存器只能读不能写。

8155命令字格式见表3-6; 8155状态字格式见表3-7。

表3-6 8155命令字格式表

TM2TM1IEBIEAPC2PC1PBPAP A口方 B 口方 00 11 01 10 A0:输入1:输出 B 00:空操作 01:停止计数 计数器 10:计满后停止 方式 11:开始计数 0:禁止中断1:允许中断方式1:A、B口基本I/O;C口输入 方式2:A、B口基本I/O;C口输出 方式3:A口选通I/O;B口基本I/O 方式4:A、B口选通I/O 信号说明:INTRA、INTRB: 中断请求输出线,高电平有效。

STBA、STBB: 设备选通信号输入线,低电平有效。 BFA、BFB: 口缓冲器满信号,高电平有效。

作者 张小波

表3-7 8155状态字格式表

(4)接口与编程

①硬件连接。

8155可以直接与MCS-51单片机连接,不需要任何外加逻辑。扩展一片8155系统将增加256B片外RAM,22位I/O口线及1个14位减法计数器。MCS-51与8155的连接方法如图3-14所示。P0口不需要加锁存器,可以直接与8155的 AD0~AD7相连,它既是低8位地址线也是8位数据线。8155的锁存信号ALE直接引自单片机ALE输出,用以在内部锁存地址。

图3-14 MCS-51与8155的一种接口逻辑

CE及IO/M与MCS-51的连接方式决定了8155的地址范围: ? RAM字节地址范围: 7E00H~7EFFH

? 命令/状态寄存器: 7F00H PA口: 7F01H


学习情境2基于DS1302和LCD1602的可调数字钟(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程地质及土力学复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: