第7章单片机系统功能扩展

上传人:飞*** 文档编号:3976729 上传时间:2017-08-05 格式:PPT 页数:28 大小:515KB
返回 下载 相关 举报
第7章单片机系统功能扩展_第1页
第1页 / 共28页
第7章单片机系统功能扩展_第2页
第2页 / 共28页
第7章单片机系统功能扩展_第3页
第3页 / 共28页
第7章单片机系统功能扩展_第4页
第4页 / 共28页
第7章单片机系统功能扩展_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第7章单片机系统功能扩展》由会员分享,可在线阅读,更多相关《第7章单片机系统功能扩展(28页珍藏版)》请在金锄头文库上搜索。

1、第7章 单片机系统功能扩展,单片机原理、接口及应用,内 容 提 要,并行I/O接口的扩展 *中断扩展 *定时器扩展 小结,7.1 并行I/O接口的扩展,MCS-51单片机共有4个8位并行I/O口, 在外部扩展时, P0和P2口做为总线使用, 因而提供给用户的 I /O口就只有P1或P3口的部分口线所接的外设较多时, 就必须扩展I/O接口。 MCS-51单片机扩展的I/O口和外部数据存储器统一编址、 采用相同的控制信号、 相同的寻址方式和相同的指令。 扩展I/O所用的芯片有通用可编程芯片 ( 如8251, 8155, 8255等)和TTL, CMOS锁存器,缓冲器(如273, 377, 244,

2、 245等),用户可根据系统对输入输出的要求适当选择芯片。,图9-24为8XX51 扩展一个输入接口244 和一个输出接口273 的电路.,244的选通信号由RD和P2.0相或产生,当执行读该片的指令时, RD和P2.0有效, 打开244控制门, 从而把数据通过244读入8XX51。 273的选通信号由WR和P2.0相或产生,通过执行对该片的写指令,WR和P2.0有效,使8XX51的数据往273输出。 8XX51内部有ROM/EPROM, 不用扩展外部程序存储器, 所以P0口作为双向数据线连在的数据端。 273、244有相同的地址FEFFH(实际上只要保证P2.0=0,其他地址位无关紧要),

3、然而由于使用不同的控制信号RD或WR ,它们地址相同却不会发生数据传送冲突。,例如将244的输入数据从273输出只需使用如下指令:MOV DPTR, #0FEFFH ;DPTRZ指向扩展I/O地址MOVX A, DPTR ;从244读入数据MOVX DPTR,A ;向273输出数据,多个芯片扩展实例,图9-25是一个用8031/80C31扩展1片2716(EPROM), 2片6116(SRAM)和1片8255(可编程并行接口)的电路。,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 07FFH 0 0

4、1 1 0 0 0 0 0 0 0 0 0 0 0 0 3000H 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 37FFH 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 2800H 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 2FFFH 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1800H 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1803H,2716仅一片, 片选端接地。 图中采用线选法: P2.3 6116(1) P2.4 6116(2) P2.5 8255,P2.7 P2.6 P2.5

5、P2.4 P2.3 P2.2 P2.1 P2.0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0,每个芯片片内地址填写全“0”全“1”,片选地址必须填“0”,无关位填“0”或填“1”均可,但要避免和别的同类芯片片选相同。,8255为可编程并行接口芯片,它有3个8位数据口:A口,B口,C口(其中C口可作为两个四位口),一个控制口,口地址由A1,A0决定。图中8255的三个数据口地址分别为1800H1802H,控制口地址为1803H。 8255有三种工作方式:方式0(基本方式), 方式1(选通方式 ,此时C口高四位为A口的联络线,低四位为B

6、口联络线) , 方式2(双向方式,仅A口有)。 8255的方式控制字格式为:,例7-1 将8255A口输入的数据从B口输出,C口不用,均采用方式0 。MOV DPTR, #1803H ;DPTR指向控制口MOV A, #10010000B ;设定A口方式0输 入,B口方式0输出MOVX DPTR, A ;写入控制口MOV DPTR, #1800H ;DPTR指向A口MOVX A, DPTR ;从A口输入数据 到A累加器INC DPTR ;DPTR指向B口MOVX DPTR, A ;A的内容从B口输出SJMP $,7.2 中断扩展,标准的8051单片机只有两个外部中断输入端。而当系统的外部中断源

7、大于或等于3个时,则考虑通过中断扩展获得更多的外部中断端口。中断扩展的基本思想就是,通过系统的标准外部中断端口(一级中断)的复用来扩展若干个二级中断。当有扩展的中断请求输入时,系统响应后首先进入复用的一级中断服务程序,在中断服务程序的开始处,读入二级中断向量,依据不同的中断向量来区别不同的中断请求源,然后执行对应的中断服务程序代码。常见的中断扩展有编码器线和与两种方式。前者适合中断源较多的情况,后者电路简单,但只适合中断源扩展较少的情况。编码器方式的扩展电路如图7.6所示。,图7.6 编码器方式的中断扩展电路,在图7.6中,使用一片优先编码器74148,扩展了8个中断源。编码器产生83线的中断

8、向量码的同时,通过GS产生复用的中断请求信号输入至单片机的外部中断输入口INT0或INT1。中断向量码由P1口或中断向量数据端口(需另加三态数据缓冲器)在进入中断后读入。148优先编码器优先级别从IN7到IN0依次变低,向量码分别为111、110、000。 一般扩展中断不需要8路,只需要4路左右。此时可以用线与方式扩展完成,其电路如图7.7所示。,图7.7 线与方式的中断扩展电路,在图7.7中,直接使用二极管的“线与”操作来实现中断输入的判别。当INT0到INT3的某个扩展中断源有中断请求时,因二极管的“线与”功能,使得INT为低电平,从而引起系统中断。进入中断后,通过查询P1.0到P1.3便

9、可知道应该执行哪一部分中断服务程序。假设INT接至51单片机的脚,对应的中断服务程序的框架结构为:ORG 0013HJMP INTSERV INTSERV: ;现场保护JNB P1.0,INT0SERV ;是中断INT0请求,则执行INT0对应的中断服务程序JNB P1.1,INT1SERV ;是中断INT1请求,则执行INT1对应的中断服务程序,JNB P1.2,INT2SERV ;是中断INT2请求,则执行INT2对应的中断服务程序JNB P1.3,INT3SERV ;是中断INT3请求,则执行INT3对应的中断服务程序INT0SERV: ; INT0的中断服务程序JMP RETUINT1

10、SERV: ; INT1的中断服务程序JMP RETUINT2SERV: ; INT2的中断服务程序JMP RETUINT3SERV: ; INT3的中断服务程序RETU: ;恢复现场RETI,7.3定时器的扩展,8254 是8253 的改进型,具有3个独立的功能完全相同的16位计数器,每个计数器都有6种工作方式,这6种工作方式可以由控制字设定,因而能以6种不同的工作方式满足不同的接口要求。CPU还可以随时更改他们的方式和计数值,并读取他们的计数状态。7.3.1 8254的结构和引脚 8254的外部引脚如图7-8所示。其内部主要由数据总线缓冲器、读写逻辑、控制字寄存器和计数器等4个部分构成。,

11、图7-8 8254的引脚,1) 数据总线缓冲器 数据总线缓冲器是三态、双向、8位的缓冲器。用于系统数据总线和8254的接口,写控制字到8254的控制寄存器、写计数初值到指定的计数器、读取某个计数器的计数的现行值等,均是通过缓冲区输出输入实现和CPU的互传。 2) 读/写控制逻辑 接收系统总线的5个输入信号,控制操作。其中RD、WR 读、写控制信号操控制8254读、写操作。 CS片选信号,低电平有效,芯片使能 A1、A0计数器通道选择。A1A0的取值00、01和10时分别选择计数器0、计数器1和计数器2,当A1A011时选择控制寄存器。 CS、RD、WR、A1、A0组合起来所完成的选择和操作功能

12、如下表7.3所示。,表7.3 8254内部寄存器读/写操作表,3) 计数器 计数器0、计数器1和计数器2有着相同的结构,见图7-9 写入计数器的初始值保存在计数初值寄存器中,由CLK脉冲的一个上升沿或一个下降沿将其装入减1计数器。减1计数器在CLK脉冲(GATE允许)作用下进行递减计数,直至计数值为0,输出OUT信号。输出寄存器的值跟随减1计数器变化,仅当写入锁存控制字时,它锁存减1计数器的当前计数值(减1计数器可继续计数),CPU读取后,它自动解除锁存状态,又跟随减1计数器变化。所以在计数过程中,CPU随时可以用指令读取任一计数器的当前计数值,这一操作对计数没有影响。每个计数器对输入的CLK脉冲可按二进制减计数也可按十进制减计数。,图7-9 计数器的结构,8254可作为计数器,也可作为定时器,若输入的CLK是频率精确的时钟脉冲,计数器可作为定时器。此时定时时间计数初值TCLK 在计数过程中,计数器受门控信号GATE的控制。计数器的输入CLK与输出OUT以及门控信号GATE之间的关系,取决于计数器的工作方式。 4)控制和状态寄存器 当A1A011时选择控制或状态寄存器。控制寄存器存放计数器的工作方式控制字和对输出寄存器发的锁存命令;状态寄存器存放8254当前的工作状态,三个控制字共用一个口地址,通过标识位区别是什么控制字和写入哪个计数器。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号