8155详细说明文档格式.docx
《8155详细说明文档格式.docx》由会员分享,可在线阅读,更多相关《8155详细说明文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
1,选中IO口。
地址锁存信号。
除了进行,的地址锁存控制
外,还用于把片选信号和等信号进行锁存。
读选通信号。
写选通信号。
复位信号。
复位后A口、B口和C口均为数据输入方式。
定时器/计数器的计数脉冲输入端。
定时器/计数器。
2.内部逻辑结构
8155的内部逻辑结构如图7.17所示。
由图可以看出,8155由三部分组成,即:
存储单元为256字节的静态RAM;
3个可编程的I/O,其中2个口(A口和B口)为8位口,1个口(C口)为6位口;
1个14位的定时器/计数器
图7.178155的内部逻辑结构
由以上可知8155有A口、B口、C口和定时器/计数器低8位以及定时器/计数器高8位五个端口,另外8155内部还有一个命令/状态寄存器,所以8155内部共有6各端口。
对它们只需要使用即可实现编址,如表7-5所示。
表7-58155的端口地址编码
ADADADADADADADAD对应端口76543210
命令/状态寄×
×
000
存器×
001A口
×
010B口×
011C口
定时器/计数×
100
器低8位
101
器高8位7.4.28155的命令/状态字
1.8155的命令字
由以上内容可知,8155的A口有输入和输出两种工作方式,B口也有输入和输出两种工作方式,而C口有输入方式(ALT),输出方式(ALT),A口控制端口方式(ALT)123以及A口和B口控制端口方式(ALT)四种工作方式。
这4
些端口的工作方式是由8155内部的命令寄存器(命令字)来控制的。
命令字除了规定端口的工作方式还规定了定时器/计数器的工作方式。
命令字只能进行写操作。
其格式如图7.18所示。
图7.188155的命令字
当以无条件方式进行数据输入输出时,由于不需要任何联络信号,因此这时A口、B口和C口都可以进行数据的输入输出操作。
当A口或者B口以中断方式进行数据传送时,所需要的联络信号由C口提供,其中为A口提供,为B口提供。
各联络信号的定义如表7-6所示。
表7-6联络信号
对A口控制对A口和B口控
C口
(ALT3)制(ALT4)
AINTRAINTR
ABFABF
输出BINTR
输出BBF
输出
联络信号共有三个,其中:
INTR:
中断请求信号(输出),高电平有效。
送给MCS-51单片机的外中断请求
BF:
缓冲器满状态信号(输出),高电平有效。
选通信号(输入),低电平有效。
数据输入时,是外设送来的选通信号;
数据输出时,是外设送来的应答信号。
以中断方式进行数据输入输出时,其过程和8255基本相同,在此不作赘述。
2.8155的状态字
状态字只能读不能写,所以8155的命令字和状态字共用一个地址。
当对命令/状态字进行写操作时,写进去的是命令,当对命令/状态字进行读操作时,读出来的是状态。
状态字用于寄存各端口及定时器/计数器的工作状态。
其格式如图7.19所示。
图7.198155的状态字
7.4.38155的扩展逻辑电路
8155与MCS-51单片机的连接比较简单,因为8155的许多信号与MCS-51单片机兼容,可以直接连接。
表7-7列出了这些信号的对应关系。
表7-78155与MCS-51单片机兼容的信号
MCS-51单MCS-51单
81558155
片机片机
口
ALEALE
RESETRST
时数据地址复用线,之所以能与口线直接相连而不需地址锁存器,是因为8155内部已有锁存器,可以进行地址锁存,因此连接时不需要再加锁存器。
8155与MCS-51单片机连接的主要麻烦在信号上。
因为是8155特有的信号,MCS-51单片机中没有相应的信号。
因此要设法形成这个信号,提供给8155使用。
信号的
形成有多种方法,不同的形成的方法对应着不同的编址方法。
下面介绍比较常用的一种方法。
用高位地址线作信号
这种方法实际就是编址技术中的线选法。
例如以接,则8155与8051的连接如图7.20所示。
这种信号产生方法中,对8155需要使用16位地址进行编址。
这种方法适应于有多片I/O扩展及存储器扩展的较大单片机系统中,因此要使用片选信号。
例如图中使用作为片选信号与直接相连。
图7.20高位地址直接作为信号
假设没有用到的地址位其值为系统复位后的值,即为1。
则时,端口地址范围为:
0FDF8H,
0FDFDH;
时,8155内部RAM地址范围是:
0FC00H,0FCFFH。
7.4.48155的定时器/计数器
1.8155定时器/计数器的计数结构
8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,如图7.21所示。
以其中的低14位组成计
数器,剩下的两个高位(,)用于定义计数器输出的信号形式。
图7.218155定时器/计数器的计数结构
2.定时器/数器的使用
8155的定时器/计数器与MCS-51单片机芯片内部的定时器/计数器,在功能上是完全相同的,同样具有定时和计数两种功能。
但是在使用上却与MCS-51单片机的定时器/计数器有许多不同之处。
具体表现在:
8155的定时器/计数器是减法计数,而MCS-51单片机的定时器/计数器却是加法计数,因此确定计数初值的方法是不同的。
MCS-51单片机的定时器/计数器有多种工作方式,而8155的定时器/计数器只有一种固定的工作方式,即14位计数。
通过软件方法进行计数初加载。
MCS-51单片机的定时器计数器有两种计数脉冲。
定时功能时,以机器周期为计数脉冲;
计数功能时,从芯片外部引入计数脉冲。
但8155的定时器/计数器,不论是定时功能还是计数功能都是由外部提供计数脉冲,其信号引脚是TIMERIN。
MCS-51单片机的定时器/计数器,计数溢出时,自动置位TCON寄存器的计数溢出标志位(TF),供用户查询或中断方式使用;
但8155的定时器/计数器,计数溢出时向芯片外部输出一个信号(TIMEROUT)。
而且这一信号还有脉冲和方波两种形式,可由用户进行选择。
具体由,两位定义:
=00单个方波
=01连续方波
=10单个脉冲
=11连续脉冲
这四种输出形式如图7.22所示。
图7.228155信号输出形式
3.定时器/计数器的控制
8155定时器/计数器的工作方式由命令字中的最高两位进行控制(见图7.18)。
具体说明如下:
DD=00不影响计数器工作。
76
DD=01停止计数。
如计数器未启动则无操作,如计76
数器正运行则停止计数。
DD=10达到计数值(计数器减为0)后停止。
D7D6=11启动,如果计数器没运行,则在装入计数值后开始计数;
如果计数器已运行,则在当前计数值计满后,再以新的计数值进行计数。
7.4.58155的初始化
要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIAMEROUT端电平状态发生变化,并重新置数以产生连续方波。
此外假定A口为输出方式,允许中断;
B口为输入方式,不允许中断;
C口为对A口控制方式(ALT3)。
请编写初始化程序。
解:
要求输出连续方波,所以定时器/计数器的最高两位MM,01。
计数器的其它14位装入计数初值。
8155为减法21
计数,所以计数初值为1000,化为16进制数为03E8H。
则定时器/计数器的高8位为:
43H,低8位为:
0E8H。
命令名字的设置如下:
计数器B口A口C口B口A口
允
不允
装入后启许输
许中ALT3输出
动中入
断
11011001
因此,命令字的内容为0D9H。
假定命令/状态寄存器的地址为0FDF8H。
则初始化程序为:
MOVDPTR,#0FDF8H;
命令/状态寄存
器地址
MOVA,#0D9H;
命令字
MOVX@DPTR,A;
装入命令字
MOVDPTR,#0FDFEH;
计数器低8位
地址
MOVA,#0E8H;
低8位计数值
写入计数值低8
位
INCDPTR;
计数器高8位
MOVA,#43H;
高8位计数值
写入计数值高8
7.4.68155的应用举例
8155有很强的功能,在此以8155作单片机键盘接口为例进行说明。
在讲此例之前首先说明单片机的键盘接口和键功能的实现。
1.单片机的键盘接口处理
单片机的键盘接口处理的内容包括以下几个方面:
键扫描
首先是判定有没有键被按下。
如图7.23所示,键盘的行线一端经电阻接,5V电源,另一端接单片机的输入口线。
各列线的一端接单片机的输出口线,另一端悬空。
为判定有没有键按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。
若行线全为高电平,则表明无键按下;
若行线状态中有低电平,则表明有键被按下。
然后再判定被按键的位置。
因为键盘矩阵有键被按下时,被按键处的行线和列线被接通,使穿过闭合键的那条行线变为低电平。
假定图中A键被按下,则判定键位置的扫描是这样进行的:
先使输出口输出0FEH,然后输入行线状态,测试行线状态中是否有低电平的(7.23a)。
如果没有低电平,再使输出口输出0FDH,再测试行线状态(7.23b)。
到输出口输出0FBH时,行线中有状态为低电平者,则闭合键找到(图7.23c),通过此次扫描的列线值和行线值就可以知道闭合键的位置。
至此扫描似乎可以结束,但是实际上扫描往往要继续进行下去,以发现出现的多键同时被按下。
图7.23键扫描示意图
去抖动
当扫描表明有键被按下之后,紧接着应进行去抖动处理。
因为常用键盘的键实际上就是一个机械开关结构,被按下时,由于机械触点的弹性及电压突然跳变等原因,在触点闭合或断开的瞬间会出现电压的抖动,如图7.24所示。
抖动时间长短与键的机械特性有关,一般为5,10ms。
而键的稳定闭合时间和操作者的按键动作有关,约为十分之几到几秒不等。
为保证键扫描的正确,需要进行去抖动处理。
去抖动有硬件和软件两种方法。
硬件方法就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性;
而软件方法则是采用时间延迟以躲过抖动(大约延迟20,30ms即可),待行线上
状态稳定之后,在进行行状态输入。
一般为简单起见多采用软