8155详细说明_第1页
8155详细说明_第2页
8155详细说明_第3页
8155详细说明_第4页
8155详细说明_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、155可编程通用并行接口芯片7.4.1 8155的外部引脚及内部逻辑结构1 .外部引脚8155芯片为40引脚双列直插封装,单一的+5V电源,其引脚排列如图7.16所示。其中:PA。-%:A口的输入输由信号线。该口作输入还是输由,由软件决定。PElPB:b的输入输由信号线。该口作输入还是输由,由软件决定。FCPG:c信号线。该口可作输入、输由口外,还可以传送控制和状态信号,因此C共有四种工作方式,即:输入方式(ALT1),输由方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)。其工作方式由软件决定。皿ad,:地址数据复用线。CS:片选信号。低电平有效。叱IEO图

2、7.168155外部引脚1。丽:IO和RAM的选择信号。I。丽=0,选中RAM;1。血=1,选中IO口。ALE:地址锁存信号。除了进行皿A6的地址锁存控制外,还用于把片选信号函和I。短等信号进行锁存。而:读选通信号。丽:写选通信号。RESET:复位信号。复位后A口、B口和C口均为数据输入方式。TIMEKIN:定时器/计数器的计数脉冲输入端。TIMEORT:定时器/计数器2 .内部逻辑结构8155的内部逻辑结构如图7.17所示。由图可以看由,8155由三部分组成,即:存储单元为256字节的静态RAM;3个可编程的I/O,其中2个口(A口和B口)为8位口,1个口(C口)为6位口;1个14位的定时器

3、/计数器10/M-ADq-ADuJ2CSWR*RDALEaRESET-TIMERINTIMEOUT-<=>PAqaPA7<=>PC0aPCJ图7.178155的内部逻辑结构由以上可知8155有A口、B口、C口和定时器/计数器低8位以及定时器/计数器高8位五个端口,另外8155内部还有一个命令/状态寄存器,所以8155内部共有6各端口。对它们只需要使用ADH即可实现编址,如表7-5所示。表7-58155的端口地址编码AD7AD6AQAD4AD3AD2ADA。对应端口XXXXX000命令/状态寄存器XXXXX001A口XXXXX010B口XXXXX011CHXXXXX100

4、定时器/计数器低8位XXXXX101定时器/计数器高8位7.4.2 8155的命令/状态字1.8155的命令字由以上内容可知,8155的A口有输入和输由两种工作方式,B口也有输入和输由两种工作方式,而C口有输入方式(AL),输由方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)四种工作方式。这些端口的工作方式是由8155内部的命令寄存器(命令字)来控制的。命令字除了规定端口的工作方式还规定了定时器/计数器的工作方式。命令字只能进行写操作。其格式如图7.18所示。%D,%乌%定时卷工作kX:00:贡糙作01:降上计裁10:计格后静止11:R箱计次A口工作方式。二

5、辎人B口工作方父QfA1;货必cornx00:1LT1OliALTE10: 1LT511: 1LT1坊LI河中寄光O:步上讦中祭允GQ1图7.188155的命令字当以无条件方式进行数据输入输由时,由于不需要任何联络信号,因此这时A口、B口和C口都可以进行数据的输入输生操作。当A口或者B口以中断方式进行数据传送时,所需要的联络信号由C口提供,其中PCPJ为a口提供,P%"C5为B口提供。各联络信号的定义如表7-6所示。表7-6联络信号CH对A口控制(ALT3)对A口和B口控制(ALT4)AINTRAINTRABFABFASTBASTBPR输由BINTR叫1输由BBF输由BSTB联络信号

6、共有三个,其中:INTR:中断请求信号(输由),高电平有效。送给MCS-51单片机的外中断请求BF:缓冲器满状态信号(输由),高电平有效。STB:选通信号(输入),低电平有效。数据输入时,STB是外设送来的选通信号;数据输由时,STB是外设送来的应答信号。以中断方式进行数据输入输由时,其过程和8255基本相同,在此不作赘述。2. 8155的状态字状态字只能读不能写,所以8155的命令字和状态字共用一个地址。当对命令/状态字进行写操作时,写进去的是命令,当对命令/状态字进行读操作时,读由来的是状态。状态字用于寄存各端口及定时器/计数器的工作状态。其格式如图7.19所示。X%口0TIKTRA:A口

7、中区请求I1EF:1口接i+嚣徜/安,INTEA:A口中断尤存lira;e口中联请求RRMR幅冲盘酒在INTZB;R中段允才TIMER.定,器中快计物循忖为博电平,拿出代态邛it就杆品位为低电平图7.198155的状态字7.4.3 8155的扩展逻辑电路8155与MCS-51单片机的连接比较简单,因为8155的许多信号与MCS-51单片机兼容,可以直接连接。表7-7列由了这些信号的对应关系。表7-78155与MCS-51单片机兼容的信号8155MCS-51单片机8155MCS-51单片机AD°AD?p口口RDRDALEALEWRWRRESETRSTA/AD,时数据地址复用线,之所以能

8、与环口线直接相连而不需地址锁存器,是因为8155内部已有锁存器,可以进行地址锁存,因此连接时不需要再加锁存器。8155与MCS-51单片机连接的主要麻烦在I。短信号上。因为是8155特有的信号,MCS-51单片机中没有相应的信号。因此要设法形成这个信号,提供给8155使用。I。丽信号的形成有多种方法,不同的形成的方法对应着不同的编址方法。下面介绍比较常用的一种方法。用高位地址线作10/M信号这种方法实际就是编址技术中的线选法。例如以pio接D/M,贝U8155与8051的连接如图7.20所示。这种10/m信号产生方法中,对8155需要使用16位地址进行编址。这种方法适应于有多片I/O扩展及存储

9、器扩展的较大单片机系统中,因此要使用片选信号。例如图中使用pn作为片选信号与CS直接相连。图7.20高位地址直接作为10面信号假设没有用到的地址位其值为系统复位后的值,即为1。则I0/M=l时,端口地址范围为:0FDF8H0FDFDH;I。丽二。时,8155内部RAM地址范围是:0FC00H0FCFFH。7.4.4 8155的定时器/计数器1.8155定时器/计数器的计数结构8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,如图7.21所示。以其中的低14位组成计数器,剩下的两个高位()用于定义计数器输生的信号形式1*口,口,T.,T,几3丁力土ifr±*sft

10、口.*%口%°,口*T图7.218155定时器/计数器的计数结构2.定时器/数器的使用8155的定时器/计数器与MCS-51单片机芯片内部的定时器/计数器,在功能上是完全相同的,同样具有定时和计数两种功能。但是在使用上却与MCS-51单片机的定时器/计数器有许多不同之处。具体表现在:8155的定时器/计数器是减法计数,而MCS-51单片机的定时器/计数器却是加法计数,因此确定计数初值的方法是不同的。MCS-51单片机的定时器/计数器有多种工作方式,而8155的定时器/计数器只有一种固定的工作方式,即14位计数。通过软件方法进行计数初加载。MCS-51单片机的定时器计数器有两种计数脉冲

11、。定时功能时,以机器周期为计数脉冲;计数功能时,从芯片外部引入计数脉冲。但8155的定时器/计数器,不论是定时功能还是计数功能都是由外部提供计数脉冲,其信号引脚是TIMERINMCS-51单片机的定时器/计数器,计数溢由时,自动置位TCON寄存器的计数溢由标志位(TF),供用户查询或中断方式使用;但8155的定时器/计数器,计数溢由时向芯片外部输由一个信号(TIMEROUT)o而且这一信号还有脉冲和方波两种形式,可由用户进行选择。具体由,此两位定义:M2Mi=00单个方波%I%=01连续方波Ml=10单个脉冲M川1=11连续脉冲这四种输由形式如图7.22所示。MjM,耳甥谛聚眸法讣第t0触中大

12、愈11'91腰型立式1.能个版作!WWrt,II图7.228155信号输由形式3.定时器/计数器的控制8155定时器/计数器的工作方式由命令字中的最高两位叼%进行控制(见图7.18)o具体说明如下:D7D6=00不影响计数器工作。口7口6=01停止计数。如计数器未启动则无操作,如计数器正运行则停止计数。D7D6=10达到计数值(计数器减为0)后停止D7D6=11启动,如果计数器没运行,则在装入计数值后开始计数;如果计数器已运行,则在当前计数值计满后,再以新的计数值进行计数。7.4.5 8155的初始化要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIAMEROU

13、T端电平状态发生变化,并重新置数以产生连续方波。此外假定A口为输由方式,允许中断;B口为输入方式,不允许中断;C口为对A口控制方式(ALT3)o请编写初始化程序。解:要求输由连续方波,所以定时器/计数器的最高两位M2M1=01o计数器的其它14位装入计数初值。8155为减法计数,所以计数初值为1000,化为16进制数为03E8Ho则定时器/计数器的高8位为:43H,低8位为:0E8H。命令名字的设置如下:计数器B口A口CHB口A口装入后启动不允许中断允许中断1ALT3输入输由%巴以%以%11011001因此,命令字的内容为0D9Ho假定命令/状态寄存器的地址为0FDF8H。MOVMOVMOVX

14、MOVMOVMOVXINCMOVMOVX则初始化程序为:DPTR#0FDF8HA,#0D9HDPTRADPTR#0FDFEHA,#0E8HDPTRADPTRA,#43HDPTRA;命令/状态寄存器地址;命令宇;装入命令字;计数器低8位地址;低8位计数值;写入计数值低8位;计数器高8位地址;高8位计数值;写入计数值高8位7.4.6 8155的应用举例8155有很强的功能,在此以8155作单片机键盘接口为例进行说明。在讲此例之前首先说明单片机的键盘接口和键功能的实现。1.单片机的键盘接口处理单片机的键盘接口处理的内容包括以下几个方面:键扫描首先是判定有没有键被按下。如图7.23所示,键盘的行线一端

15、经电阻接+5V电源,另一端接单片机的输入口线。各列线的一端接单片机的输由口线,另一端悬空。为判定有没有键按下,可先经输由口向所有列线输由低电平,然后再输入各行线状态。若行线全为高电平,则表明无键按下;若行线状态中有低电平,则表明有键被按下。然后再判定被按键的位置。因为键盘矩阵有键被按下时,被按键处的行线和列线被接通,使穿过闭合键的那条行线变为低电平。假定图中A键被按下,则判定键位置的扫描是这样进行的:先使输由口输由0FEH,然后输入行线状态,测试行线状态中是否有低电平的(7.23a)o如果没有低电平,再使输由口输由0FDH,再测试行线状态(7.23b)。到输由口输由0FBH时,行线中有状态为低

16、电平者,则闭合键找到(图7.23c),通过此次扫描的列线值和行线值就可以知道闭合键的位置。至此扫描似乎可以结束,但是实际上扫描往往要继续进行下去,以发现由现的多键同时被按下。善A口图7.23键扫描示意图去抖动当扫描表明有键被按下之后,紧接着应进行去抖动处理。因为常用键盘的键实际上就是一个机械开关结构,被按下时,由于机械触点的弹性及电压突然跳变等原因,在触点闭合或断开的瞬间会由现电压的抖动,如图7.24所示。抖动时间长短与键的机械特性有关,一般为510ms。而键的稳定闭合时间和操作者的按键动作有关,约为十分之几到几秒不等。为保证键扫描的正确,需要进行去抖动处理。去抖动有硬件和软件两种方法。硬件方

17、法就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性;而软件方法则是采用时间延迟以躲过抖动(大约延迟2030ms即可),待行线上状态稳定之后,在进行行状态输入。一般为简单起见多采用软件方法。图7.24键闭合和断开时的电压抖动键码计算被按键确定下来之后,接下来的工作是计算闭合键的键码,因为有了键码,才好通过散转指令把程序执行转到闭合键对应的中断程序上去。本来可以直接使用该闭合键的行列值组合产生键码,但这样做会使各子程序的入口地址比较散乱给JMP指令的使用带来不便。所以通常都是以键的排列顺序安排键号,例如图7.25所示的键号是按从左到右、从上向下的顺序编排的00H|01H|02H|03H06H

18、|(FH06H间OAH0BK10X11H12H13H17H18H|1SK|pAJi|1BK|1EK|1FH图7.25键码图这样安排,使键码既可根据行号列号以查表求得,也可通过计算得到。图7.25所示的键码编排规律,各行首号依次是00H、08H、10H、18H,如列号按07顺序,则键码的计算公式为:题守首号+列号等待键释放计算键码后,再以延时后进行行扫描的方法等待键释放。等待释放是为了保证键的一次闭合仅进行一次处理。2 .键盘接口的控制方式在单片机的运行过程中,何时执行键盘扫描和处理,可有下列三种情况:l随机方式,每当CPU空闲时执行键盘扫描程序l中断方式,每当有键闭合时才向CPU发生中断请求,

19、中断响应后执行键盘扫描程序l定时方式,每隔一定时间执行一次键盘扫描程序,定时可由单片机的定时器完成。3 .键处理子程序在计算机中每一个键都对应一个处理子程序,得到闭合键的键码后,就可以根据键码,转到相应的键处理子程序(分支以JMP等散转指令实现),进行字符、数据的输入或命令处理。这样就可以实现该键设定的功能。总结以上内容,键处理的流程如图7.26所示。图7.26键处理的流程图4,用8155作单片机键盘接口接口电路逻辑图以8155作8必键盘的接口为例。A口为输由口,接键盘列线。C口为输入口,以PCrPC。接键盘的4条行线。如图7.27所示。而csIO/MALERSTALERESET8031815

20、51151Kk4-m-CZI-CZH图7.278155作键盘接口贝UA口地址为0FDF9H,C口地址为0FDFBH判定有无闭合键的子程序判定有无闭合键的子程序为KSI,供在键盘扫描程序中调用。程序如下:KSI:MOVMOVMOVXINCINCMOVXCPLANLRETDPTR#0FDF9H;A口地址A,#00HDPTRADPTRDPTRA,DPTRAA,#0FH执行KSI子程序的结果是:有闭合键则;A口送00H;C口地址;读C口;屏蔽高四位,无闭合键则二。键盘扫描程序如前所述,在单片机应用系统中常常是键盘和显示器同时存在,因此可以把键盘扫描程序和显示程序配合起来使用,即:把显示程序作为键扫描程序的延时子程序。这样做既省去了一个专门的延时子程序,又能保证显示器常亮的可观效果。假定本系统中显示程序为DIR,执行时间约为6mso键盘扫描程序如下:ACALLKSI;检查是否有键闭合JNZLK1;A非“0”则转移ACALLDIR;显示一次(“延时6s)AJMPKEY1ACALLDIR;有键闭合二次延

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论