MCS-51单片微型计算机及其应用:第8章 单片微机系统功能扩展_第1页
MCS-51单片微型计算机及其应用:第8章 单片微机系统功能扩展_第2页
MCS-51单片微型计算机及其应用:第8章 单片微机系统功能扩展_第3页
MCS-51单片微型计算机及其应用:第8章 单片微机系统功能扩展_第4页
MCS-51单片微型计算机及其应用:第8章 单片微机系统功能扩展_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

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

文档简介

1、作业讲解3机器周期2us,定时分别为2ms和400us,计算初值:400us定时,X=256-400/2=56=38H,400us*5=2ms;每次定时中断后,P1.1取反;定时中断5次后P1.0取反.根据题意,利用定时器0,设置为定时方式3,利用TL0作为定时计数器 作业讲解3初始化:设置参数和中断入口地址设置ORG0000HAJMPMAINORG000BHAJMPINTT0MAIN:MOVR0,#05H;保存中断次数MOVTMOD,#03H;T0方式3,定时器中断MOVTL0,#38H;TL0定时400usSETBTR0;开启定时器TL0CLRTR1SETBET0;开定时器TL0中断SET

2、BEA;开启中断总开关SJMP$;中断等待中断服务子程序:INTT0:MOVTL0,#38H;TL0定时400us重置CPLP1.1;400us定时到,p1.1输出变反DJNZR0,RETURN;2ms定时未到,不作处理MOVR0,#05H;2ms定时到,重置5次CPLP1.0; 2ms定时到,p1.0输出变反RETURN:RETIEND作业讲解3作业讲解31、不加以说明;2、用A作为计数寄存器;3、中断入口地址标号与寄存器和常用标识符相同;4、分别用两个中断;5、用一个中断定时200us,可简化,不需要定时100us,然后两个都需要循环;6、方式3下,TF1给定时器0使用;7、定时400us

3、,5次后得到2ms,但是用定时器来完成5次,不合适。因为两个不同步,需要硬件配合。第8章 单片微机系统功能扩展8.1 系统扩展概述8.2 常用扩展器件简介8.3 存储器的扩展8.4 I/O扩展8.5 串行标准接口的扩展8.6 按键、键盘及其接口8.7 显示及显示器接口8.1 系统扩展概述8.1.1 最小应用系统(a) 8051/8751最小系统结构图;(b) 8031最小系统结构图图8.1 MCS51单片机最小化系统 8.1.2 单片机系统扩展的内容与方法 1单片机的三总线结构 图8.2 MCS51单片机的三总线结构形式 总线定义:主机与各外部扩展的部器件之间的连接线。总线分为:地址总线,数据

4、总线和控制总线8051单片机地址总线:P2.7P2.0(高八位),P0.7P0.0(低八位)。 数据总线:P0.7P0.0(与低八位地址总线复用)。控制总线信号主要有:ALE(低八位地址锁存信号) /PSEN(外部程序存贮器读信号) /RD(外部数据存贮器读信号) /WR(外部数据存贮器写信号) 2系统扩展的内容与方法 (1) 系统的扩展一般有以下几方面的内容: 外部程序存储器的扩展。 外部数据存储器的扩展。 输入/输出接口的扩展。 管理功能器件的扩展(如定时器/计数器、键盘/显示器、中断优先级编码器等)。 (2) 系统扩展的基本方法:一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为

5、三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。8.2 常用扩展器件简介表8.1 常用的扩展器件表8.1 常用的扩展器件8.2.1 8D锁存器74LS373图8.3 74LS373结构示意图 图8.4 74LS373用作地址锁存器 8.2.2 3-8译码器74LS138图8.8 74LS138引脚图 表8.2 74LS138的译码逻辑关系 8.3 存储器的扩展8.3.1 存储器扩展概述 1MCS-51单片机的扩展能力 根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64 KB,地址为0000HFFFFH。

6、片外可扩展的程序存储器与数据存储器分别为64 KB。 2扩展的一般方法 存储器芯片与单片机扩展连接具有共同的规律。不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。 存储器芯片的控制线:ALE(低八位地址锁存信号) /PSEN(外部程序存贮器读信号) /RD(外部数据存贮器读信号) /WR(外部数据存贮器写信号) 存储器芯片的数据线:数据线的数目由芯片的字长决定。8位字长的芯片数据线有8根。存储器芯片的数据线与单片机的数据总线(P0.0P0.7)按由低位到高位的顺序顺次相接。 存储器芯片的地址线:地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N

7、。存储器芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。8K存贮器:13根地址线A0A12 (如8K EPROM 2764, 8K RAM 6264)16K存贮器:14根地址线A0A13(如16K EPROM 27128)32K存贮器:15根地址总线A0A14(如32 EPROM27256)64K存贮器:16根地址总线A0A15(如64K EPROM 27512) 对存储器芯片访问时,片选信号必须有效,即选中存储器芯片。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。一般单片机的剩余高位地址线的译码及译码输出与存储器芯片的片选信号线的连接,这是存

8、储器扩展连接的关键问题。3、线选法片选信号的产生用P2.7 、P2.6、 P2.5作片选信号,其它十三位 (P2.4P2.0,P0.7P0.0)作为地址线。1)P2.7有效时的地址范围2)P2.6有效时的地址范围0110 0000 0000 0000 0111 1111 1111 1111地址范围为6000H7FFFH(8K范围)1010 0000 0000 0000 1011 1111 1111 1111地址范围为A000HBFFFH(8K范围) )P2.5有效时的地址范围 地址范围为C000HDFFFH(8K范围) 用P2.7,P2.6作片选信号,其它十四位(P2.5P2.0,P0.7P0

9、.0) 作为地址线 1)P2.7有效时的地址范围 地址范围为4000H7FFFH(16K范围 ) 2)P2.6有效时的地址范围 地址范围为8000HBFFFH(16K范围)P2.7作片选信号,其它十五位(P2.6P2.0,P0.7P0.0) 作为地址线地址范围为0000H7FFFH(32K范围) 4、译码法片选信号的产生 通常采用 P2.7 P2.6 P2.5 与三八译码器74LS138产生片选信号P2.7(C)P2.6(B)P2.5(A)片选信号 地址范围 000/Y00000H1FFFH (8K)001/Y12000H3FFFH (8K)010/Y24000H5FFFH (8K)011/Y

10、36000H7FFFH (8K)100/Y48000H9FFFH (8K)101/Y5A000HBFFFH (8K)110/Y6C000HDFFFH (8K)111/Y7E000HFFFFH (8K)8.3.2 程序存储器的扩展8.3.2.1程序存贮器扩展概述1、 地址选择多采用简易的线选法。2、 程序存储器与数据存储器共用地址总线与数据总线。3、 8051访问外部程序存储器时,所使用的控制信号有:ALE:低8位地址锁存控制;/PSEN:外部程序存储器“读取”控制。 4、扩展电路芯片EPROM典型系列芯片:2716(2K*8)2732(4K*8)27256(32K*8)/OE:读选通信号/PS

11、EN/CE:片选信号线地址锁存器:因为P0口是分时提供低8位地址和数据信息, 所以必须用锁存器把地址锁存住。 以下三个地址锁存器管脚互不兼容。74LS373:带三态缓冲输出的8D锁存器,锁存控制端G直接接ALE8282:带三态缓冲输出的8D锁存器,锁存控制端STB直接接ALE74LS273:带清除端的8D锁存器,锁存控制端接ALE的反相器5、P2口即使没有全部占用,但空余的几根已不宜作通用I/O线。8.3.2.2 程序存储器扩展举例1、不用片外译码器的单片程序存储器的扩展 例1 试用EPROM2764构成8031的最小系统。 2764是8K8位程序存储器,芯片的地址引脚线有13条,顺次和单片机

12、的地址线A0A12相接。由于不采用地址译码器,所以高3位地址线A13、A14、A15不接,故有23=8个重叠的8 KB地址空间。因只用一片2764,其片选信号CE可直接接地(常有效)。其连接电路如图 所示。图所示连接电路的8个重叠的地址范围为00000000000000000001111111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH

13、;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;11100000000000001111111111111111,即E000HFFFFH。2、 采用线选法的多片程序存储器的扩展 例2 使用两片2764扩展16 KB的程序存储器,采用线选法选中芯片。扩展连接图如图4.12所示。以P2.7作为片选,当P2.7=0时,选中2764(1);当P2.7=1时,选中2764(2)。因两

14、根线(A13、A14)未用,故两个芯片各有22=4个重叠的地址空间。它们分别为图8.12 用两片2764 EPROM的扩展连接图 左片:000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9F

15、FFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 111000000000000001111111111111111,即E000HFFFFH。 3 采用地址译码器的多片程序存储器的扩展 例3 要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH。 本例要求的地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为16 KB,2764为8 K8位,故需要两片。第1片的地址范围应为0000H1FFFH

16、;第2片的地址范围应为2000H3FFFH。 由地址范围确定译码器的连接。为此画出译码关系图如下:8.3.3 数据存储器的扩展一、数据存贮器的扩展概述1、 数据存储器的/OE、/WE信号线分别为输出允许和写允许 控制端,由单片机的/RD和/WR信号控制。2、 访问片外扩展数据存储器仅可用下面4条寄存器间址指令.MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A3、 典型系列芯片:2114(2K*4),6116(2K*8),6264(8K*8) 二数据存储器芯片图8.14 常用静态RAM芯片的引脚图图8.15 iRAM芯片的引脚图 三数据存储器的扩展举例例4 采用2114芯

17、片在8031片外扩展1 KB数据存储器。图8.16 用两片2114 EPROM的扩展连接图 8.3.4 兼有片外程序存储器和片外数据存储器的扩展举例举例:片外扩展16K字节数据存储器和16K字节程序存储器1、线选法 2、译码法 分析两种存储器及各芯片的地址范围 0100 0000 0000 0000 -0101 1111 1111 1111IC0:程序存储器空间:IC1:程序存储器空间:0010 0000 0000 0000 -0011 1111 1111 1111IC0:0000H-1FFFH(Y0) IC1:2000H-3FFFH(Y1)IC2:0000H-1FFFH(Y0) IC3:40

18、00H-5FFFH(Y2)8.4 I/O 扩 展8.4.1 I/O口扩展概述 1MCS-51单片机I/O口扩展性能 单片机应用系统中的I/O口扩展方法与单片机的I/O口扩展性能有关。 (1) 在MCS-51单片机应用系统中,扩展的I/O口采取与数据存储器相同的寻址方法。所有扩展的I/O口或通过扩展I/O口连接的外围设备均与片外数据存储器统一编址。任何一个扩展I/O口,根据地址线的选择方式不同,占用一个片外RAM地址,而与外部程序存储器无关。 (2) 利用串行口的移位寄存器工作方式(方式0),也可扩展I/O口,这时所扩展的I/O口不占用片外RAM地址。 (3) 扩展 I/O口的硬件相依性。在单片

19、机应用系统中,I/O口的扩展不是目的,而是为外部通道及设备提供一个输入、输出通道。因此,I/O口的扩展总是为了实现某一测控及管理功能而进行的。例如连接键盘、显示器、驱动开关控制、开关量监测等。这样,在I/O口扩展时,必须考虑与之相连的外部硬件电路特性,如驱动功率、电平、干扰抑制及隔离等。 (4) 扩展I/O口的软件相依性。根据选用不同的I/O口扩展芯片或外部设备时,扩展I/O口的操作方式不同,因而应用程序应有不同,如入口地址、初始化状态设置、工作方式选择等。 2I/O口扩展方法 根据扩展并行I/O口时数据线的连接方式,I/O口扩展可分为总线扩展方法、串行口扩展方法。 (1) 总线扩展方法。扩展

20、的并行I/O芯片,其并行数据输入线取自MCS-51单片机的P0口。这种扩展方法只分时占用P0口,并不影响P0口与其它扩展芯片的连接操作,不会造成单片机硬件的额外开销。因此,在MCS-51单片机应用系统的I/O扩展中广泛采用这种扩展方法。 (2) 串行口扩展方法。这是MCS-51单片机串行口在方式0工作状态下所提供的I/O口扩展功能。串行口方式0为移位寄存器工作方式,因此接上串入并出的移位寄存器可以扩展并行输出口,而接上并入串出的移位寄存器则可扩展并行输入口。这种扩展方法只占用串行口,而且通过移位寄存器的级联方法可以扩展多数量的并行I/O口。对于不使用串行口的应用系统,可使用这种方法。但由于数据

21、的输入输出采用串行移位的方法,传输速度较慢。 3I/O口扩展用芯片两大类:通用I/O口芯片,选用Intel公司的芯片,其接口最为简捷可靠,如8255、8155等。8255可编程通用并行接口 8155带256字节RAM和14位定时/计数器的可编程并行接口TTL、CMOS锁存器、缓冲器电路芯片,具有体积小、成本低、配置灵活的特点。一般在扩展8位输入或输出口时十分方便。可以作为I/O扩展的TTL芯片有: 74LS373、74LS277、74LS244、74LS273、74LS367等。8255A芯片的内部结构图 8.4.2 8255可编程并行I/O口 扩展1芯片引脚及其内部结构 (1) 数据总线缓冲

22、器:是一个8位的双向三态驱动器,用于与单片机的数据总线相连。 (2) 读/写控制逻辑:根据单片机的地址信息(A1、A0)与控制信息(RD、WR、RESET),控制片内数据、CPU控制字、外设状态信息的传送。 (3) 控制电路:根据CPU送来的控制字使所管I/O口按一定方式工作。对C口甚至可按位实现置位或复位。控制电路分为两组:A组控制电路控制A口及C口的高4位(PC7PC4),B组控制电路控制B口及C口的低4位(PC3PC0)。 (4) 三个并行I/O端口:A口可编程为8位输入,或8位输出,或双向传送;B口可编程为8位输入,或8位输出,但不能双向传送;C口分为两个4位口,用于输入或输出,也可用

23、作A口、B口的状态控制信号。 8255A芯片的引脚图 表8.3 8255芯片的引脚信号说明续表 CS: 片选信号,低电平有效D0D7: 数据线/RD : 读信号/WR : 写信号A1 A0 : 地址线,通道选择信号端,与/CS,/RD,/WR的信号端组合,用来控制PA、PB、PC三个通道口和控制字端口及其功能选择。它通常与地址总线的最低位A0,A1相连。端口地址/CSA1A0选中端口000PA口001PB口010PC口011控制口(控制寄存器)PA0PA7:I/O口(PA口)8位数据输出锁存/缓冲而输入锁存功能。PB0PB7:I/O口(PB口)8位数据输出锁存/缓冲而输入缓冲功能。PC0PC7

24、:I/O口(PC口)8位数据输出锁存/缓冲而输入缓冲功能。作为输入/输出口可在“方式字”控制下分成两个4位端口,作为PA口和PB口选通方式操作时的状态控制信号,可作按位置位/复位操作。VCC :+5VGND:地28255的操作方式1) 读/写控制逻辑操作选择 表8.4 8255的口操作状态 组合功能表见书中P217,表8.72)三种基本操作方式方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向传送方式(仅PA口有)3) 8255A的编程控制字方式选择控制字8255A的操作方式: 通过软件编程将方式选择控制字写入8255A的控制字寄存器,选择操作方式。 PC口按位置位/复位控制字

25、8255的PC通道中的任一位,均可通过软件编程使指定的位单独实现置位/复位操作。控制字格式见图b 不论哪一种控制字均通过向控制口寄存器写入来实现。通过写入内容的特征位来区分。3、8051配置8255的硬件接口书中P219确定端口地址设随机地址信号为“0”。则: PA口地址:4000H PB口地址:4001H PC口地址:4002H 控制地址:4003H设随机地址信号为“1。则: PA口地址:5FFCH PB口地址:5FFDH PC口地址:5FFEH 控制地址:5FFFH 假设8255 PA口基本输入,PB口基本输出,PC7PC4基本输出, PC3PC0基本输入。则工作方式控制字为:1001 0

26、001 (91H)MOV DPTR,#4003H;控制寄存器地址(或5FFFH)MOV A,#91H;控制字MOVX DPTR,A ;控制字写入控制寄存器假设PC口用于位置位/复位方式,且要求PC5位置位,则8255的PC口置位/复位的控制字为00001011B=0BHMOV DPTR,#4003H;控制寄存器地址(5FFFH)MOV A,#0BH;控制字MOVX DPTR,A ;控制字写入控制寄存器工作方式控制字与置位/复位控制字同用一个地址“11”,8255根据控制字的特征位把它们分别送入对应的控制寄存器。 4. 8255A的三种工作方式1).方式0基本的输入/输出方式。外设的I/O数据可

27、在8255A的各端口得到锁存和缓冲。MCS-51可对8255A进行数据的无条件传送 例如:从口线读入一组开关状态,向端口输出数字量,控制一组指示灯的亮、灭。不需要联络信号,基本功能为:(1)具有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)。(2)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成16种组合。(3)数据输出锁存,输入不锁存。2). 方式1 选通输入/输出工作方式。A口和B口通常用于I/O数据传送,C口用作A口和B口的联络线,以中断方式传送数据。 方式1输入 控制联络信号如图9-5所示,STB*与IBF构成了一对应答联络信号,联络信号的功能如下图:STB*

28、:选通输入,是由输入外设送来的输入信号。IBF:输入缓冲器满,高电平有效。表示数据已送入 8255A的输入锁存器,它由STB*信号的下降沿置 位,由信号的上升沿使其复位INTR:中断请求信号,高电平有效。由8255A输出, 向单片机发中断请求。INTE A:A口中断允许,由PC4控制, INTE B:B口中断允许,由PC2控制。A口的方式1输入工作方式见图9-6。 方式1输出 如图9-7所示。OBF*与ACK*构成了一对应答联络信号,各信号的功能如下:OBF*:输出缓冲器满信号,8255A给外设的联络信号,外设可以将数据取走。ACK*:外设的响应信号,外设已将数据取走。INTR*:中断请求信号

29、。表示该数据已被外设取走, 请求单片机继续输出下一个数据。INTE A:中断允许,由PC6控制。INTE B:中断允许,由PC2控制。B口的方式1输出如图9-8所示:3).方式2只有A口才能设定为方式2。图9-9为方式2工作示意图。在方式2下,PA7PA0为双向I/O总线。 当输入时,PA7PA0受STBA*和IBFA控制,其工作过程和方式1输入时相同; 当输出时,PA7PA0受OBFA*、ACKA*控制,其工作过程和方式1输出时相同。4. MCS-51单片机和8255A的接口1).硬件接口电路 如图9-10是8031扩展1片8255A的电路图。74LS373是地址锁存器,P0.1、P0.0经

30、74LS373与8255A的地址线A1、A0连接; P0.7经74LS373与片选端相连,其他地址线悬空。2).端口地址确定图9-10中8255A各端口寄存器的地址为:A口: FF7CHB口: FF7DHC口: FF7EH控制寄存器: FF7FH 3).软件编程例 要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,MOV A,#90H ;控制字送AMOVDPTR,#0FF7FH ;控制寄存器地址DPTRMOVX DPTR,A ;方式控制字控制寄存器MOVDPTR,#0FF7CH ;A口地址DPTRMOVX A,DPTR ;从A口读数据MOV DPTR,#0FF7DH ;B口地址D

31、PTRMOV A,#DATA1 ;要输出的数据DATA1AMOVX DPTR,A ;将DATA1送B口输出MOV DPTR,#0FF7EH ;C口地址DPTRMOV A,#DATA2 ;DATA2AMOVX DPTR,A ;将数据DATA2送C口输出例 对端口C的置位/复位。把PC5置位,控制字为0BH MOV R1,#7FH ;控制口地址R1 MOV A,#0BH ;控制字AMOVX R1,A ;控制字控制口,PC5=1把PC5复位,控制字为0AHMOV R1,#7FH ;控制口地址R1 MOV A,#0AH ;控制字AMOVX R1,A ;控制字控制口,PC5=08.4.3 用74LSTT

32、L电路扩展并行I/O口 利用74LS273和74LS244,将P0口扩展成简单的输入、输出口的电路。 74LS273输出端接8个LED发光二极管,以显示8个按钮开关状态,某位低电平时二极管发光。 74LS244是缓冲驱动器,扩展输入口,接8个按钮开关。 74LS273和74LS244的工作受8031的P2.0、RD*、WR*三条控制线控制。电路的工作原理如下: 当P2.0=0,WR*=0(RD*=)选中写74LS273, 8031通过P0口输出数据到74LS273,; 当P2.0=0,RD*=0(WR*=1)时选中读74LS244, 某开关按下时则对应位输入为“0”。输出程序段:MOV A,#

33、data ;数据AMOV DPTR,#0FEFFH;I/O地址DPTRMOVX DPTR,A ;WR*为低,数据经74LS273口输出输入程序段: MOV DPTR,#0FEFFH ;I/O地址DPTR MOVX A,DPTR;RD*为低,74LS244口 ;数据读入内部RAM例 编写程序把按钮开关状态通过图9-20中的发光二极管显示出来。程序如下:DDIS:MOV DPTR,#0FEFFH ;输入口地址DPTRLP:MOVX A,DPTR ;按钮开关状态读入A中MOVX DPTR,A ;A中数据送输出口SJMP LP ;反复连续执行8.4.4. 用MCS-51的串行口扩展并行口1 用74LS

34、165扩展并行输入口例 从16位扩展口读入5组数据(每组二个字节),并把它们转存到内部RAM 20H开始的单元中。MOV R7,#05H ;设置读入组数MOV R0,#20H ;设置内部RAM数据区首址START: CLR P1.0;并行置入数据,S/L*=0 SETB P1.0;允许串行移位,S/L*=1 MOV R1,#02H;设置每组字节数,即外扩 ;74LS165的个数RXDAT: MOV SCON,#10H ;设串口方式0,允许接收,启动MOV A,SBUF;读入数据MOV R0,A;送至RAM缓冲区INC R0;指向下一个地址DJNZ R1,RXDATA ;未读完一组数据,继续DJ

35、NZ R7,START;5组数据未读完重新并行置入 ;对数据进行处理WAIT: JNB RI,WAIT ;未接收完一帧,循环等待CLR RI ;清RI标志,准备下次接收2 用74LS164扩展并行输出口.74LS164:8位串入并出移位寄存器。 图9-22是利用74LS164扩展二个8位并行输出口的接口电路。例 编写将内部RAM单元30H、31H的内容经串行口 由74LS164并行输出子程序。START: MOV R7,#02H;设置要发送的字节个数 MOV R0,#30H;设置地址指针 MOV SCON,#00H ;设置串行口为方式0SEND: MOV A,R0 MOV SBUF,A ;启动

36、串行口发送过程WAIT: JNB TI,WAIT ;1帧数据未发完,循环等待 CLR TI INC R0 ;取下一个数 DJNZ R7,SEND ;未完,发完从子程序返回 RET8.5 串行标准接口的扩展8.5.1 为什么要进行串行口扩展1、 单片机的串行口以TTL电平传送数据信息,其抗干扰能力 较差,只能在几米的范围内传输数据信息。2、为提高串行通讯的可靠性,增大串行通讯的距离,采用标准串行接口,重新定义信号电平,使“1”和“0”的信号电平之差增大,克服信号电平在传输线上的衰减,增强抗干扰能力,提高可靠性,实现较远距离的信息通信。标准串行接口:RS-232、RS-422A、RS-485等标准

37、。 1. 电气特性(1)采取不平衡传输方式,是为点对点(即只用一对收、 发设备)通信而设计的;(2)采用负逻辑。(3)适用于传送距离不大于15m,速度不高于20kb/s的本 地设备之间通信的场合。RS-232是由美国电子工业协会(EIA)于1962年制定的标准。8.5.2 RS-232C标准串行口定义数据终端设备(DTE)和数据通讯设备(DCE)之间的串行接口标准。2、RS-232C的电平转换RS-232C采用负逻辑,逻辑“1”:-5V -15V 逻辑“0”:+5V +15VMCS-51采用TTL正逻辑:逻辑“1”:3.6V 逻辑“0”:0.3V3、电平转换常用芯片传输驱动器MC1488,输入

38、为TTL电平,输出为RS-232C电平传输接收器MC1489,输入为RS-232C电平,输出为TTL电平管脚书中P2434、连接方式 2计算机 或终端 3 72 计算机 或终端7发送数据发送数据接收数据接收数据信号地书中P244,8051与RS-232C硬件接口图 MAX232芯片是Maxim公司生产的低功耗、单电源、双RS-232发送/接收器,可实现TTL到EIA的双向电平转换。其引脚排列如下图所示。 EIA RS-232C与单片机系统的接口 RS-232C与单片机系统的接口电路如图下所示。MAX232外围的4个电解电容Cl, C2, C3, C4,是内部电源转换所需电容,其取值均为1F/2

39、5V,C5为0.1F的去耦电容。MAX232的引脚T1IN, T2IN, R1OUT, R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT, T2OUT, R1IN, R2IN为接RS-232C电平的引脚。 所以,T1IN, T2IN引脚应与MCS-51的串行发送引脚TXD相连接。R1OUT, R2OUT应与MCS-51的串行接收引脚RXD相连接。T1OUT, T2OUT应与PC机的接收端RD相连接。R1IN, R2IN应与PC的发送端TD相连接。 8.5.3 RS-422A标准串行口 1、主要技术指标(1)全双工方式;RS-232C是利用传输信号线与公共地之间的电压差传输信号;RS-4

40、22A利用信号导线之间的信号电压差,其标准是双端线传送信号。(2)最大传输速度可达10Mbit/s,此时最大传送距离为300M。 如果采用较低的传输速率,例如 90000波特率时,最大距离可达 1200M。 2、常用芯片驱动器75174:将串行输出的TTL电平转换成标准的RS-422A电平;接收器75175:将RS-422A接口信号还原成TTL电平信号3、接线方式书中P246,RS-422A接口电平转换电路8.5.4 RS-485标准接口RS-485是RS-422A的变型,它与RS-422A的区别在于:RS-422A为全双工,采用两对平衡差分信号线;而RS-485为半双工,采用一对平衡差分信号

41、线。RS-485对于多站互连是十分方便的。RS-485标准允许最多并联32台驱动器和32台接收器。1. 电气特性 RS-485的信号传输采用两线间的电压来表示逻辑“1”和逻辑“0”,由于收发方需要两根传输线。数据采用差分传输,所以干扰抑制性好。又因无接地问题,所以传输距离可达1200米,传输速率可达10Mbit/s。总线两端接匹配电阻(1000左右),驱动器负载为54。驱动器输出电平在1.5V以下时为逻辑“1”,在1.5V以上时为逻辑“0”。接收器输入电平在0.2V以下时为逻辑“1”,在0.2V以上为逻辑“0”。普通的PC机一般不带RS-485接口,因此要使用RS-232/RS-485转换器。

42、对于单片机可以通过芯片MAX485来完成TTL/RS-485的电平转换。2. 电平转换在RS-422A标准中所用的驱动器和接收器芯片,在 RS-485中均可以使用。除了RS-422A电平转换中所列举的驱动器和接收器外,还有收发器SN75176芯片,该芯片集成了一差分驱动器和一差分接收器 ,如图13-9所示。RS-485点对点远程通讯电路如图13-10所示。图13-16给出了其RS- 485双机通讯接口电路。将1台IBM-PC机和若干台MCS-51单片机构成的小型分布式测控系统,如图13-20所示。1台PC机与数台8031单片机进行多机通讯的RS-485串行通讯接口电路如图13-21所示。主控计

43、算机RS232串口RXDTXDRTSMAX232RS232-TTL转换主控台单片机TXDRXDSN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DEABABABAB学生机学生机学生机 学生机学生机学生机 学生机学生机学生机 学生机学生机学生机 主控计算机主控台8.6 按键、键盘及其接口8.6.1 键输入过程与软件结构图 MCS51单片机键输入过程 8.6.2 键盘接口和键输入软件中应解决的几个问题 1消除键抖动键稳定键按下前沿抖动前沿抖动图 键合断时的电压抖动图 消除键抖动电路 2键编码及键值 (1) 用键盘连接的I/O

44、线的二进制组合表示键码。例如用4行、4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4位口线的二进制数的组合表示16个键的编码,如图 (a)所示。各键相应的键值为88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键值编码软件较为简单直观,但离散性大,不便安排散转程序的入口地址。 (2) 顺序排列键编码。如图 (b)所示。这种方法,键值的形成要根据I/O线的状态作相应处理。键码可按下式形成:键码=行首键码+列号图 行列式键盘的编码与键值 (a) 二进制组合编码;(b) 顺序排列编码 3键盘的监测方法 对

45、于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下时才有意义。对是否有键按下的信息输入方式有中断方式与查询方式两种。8.6.3 独立式按键1独立式按键接口结构图 独立式按键的接口电路示意图中断方式查询方式 2独立式按键的软件结构 下面是查询方式的键盘程序。K0K7为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节,PROM0PROM7分别为每个按键的功能程序。设I/O为P1口。START:MOV A,#0FFH ; MOV P1,A ;置P1口为输入状态 MOV A,P1 ;键状态输入 JNB ACC.0,K0 ;检测0号键是否按下,按下转 JNB ACC.1,K1

46、 ;检测1号键是否按下,按下转JNB ACC.2,K2 ;检测2号键是否按下,按下转 JNB ACC.3,K3 ;检测3号键是否按下,按下转 JNB ACC.4,K4 ;检测4号键是否按下,按下转 JNB ACC.5,K5 ;检测5号键是否按下,按下转 JNB ACC.6,K6 ;检测6号键是否按下,按下转 JNB ACC.7,K7 ;检测7号键是否按下,按下转 JMP START ;无键按下返回,再顺次检测K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 PROM0: ;0号键功能程序 JMP START ;0号键功能程序执行完返回PROM1:

47、;0号键功能程序 JMP START ;1号键功能程序执行完返回 ;7号键功能程序PROM7: JMP START ;7号键功能程序执行完返回8.6.4 行列式键盘 行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如44的行列结构可组成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。 1行列式键盘的接口及原理 行列式键盘的接口方法有许多,例如直接接口于单片机的I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接口;利用一种可编程的键盘、显示接口芯片8279进行接口等。其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。

48、图 8155扩展I/O口组成的行列式键盘 行线PC0-PC3输入状态,列线PA0-PA7为输出状态;按键设置在行、列线交点上,行、列线分别连接到按键开关的两端;读取PC0-PC3的状态可知道有无键按下;判断哪一个键按下?由列线逐列置低电平后,检查行输入状态确定。键盘进行扫描:逐列检查键盘状态的过程 2、键盘的工作方式 编程扫描方式(查询方式、定时扫描方式)和中断扫描方式编程扫描方式:利用CPU的工作空余,调用键盘扫描子程序,响应键输入要求,在执行键功能程序时,CPU不再响应键输入要求。判断键盘上有无键按下。PA口输出全扫描字“0”时,读PC口状态,若PC0-PC3全为“1”,则键盘无键按下,若

49、不全为“1”,则有键按下。去除键的抖动影响。在判断有键按下后,软件延时一段时间,一般为10ms左右,在判断键盘状态,如果仍有键按下状态,则认为有一个确定的键被按下,否则按键抖动处理。 扫描键盘,得到按下的键值。键值用十六进制数码表示, X为任意值,而二进制“0”所在位置恰为行列号。FEXEFDXEFBXEF7XEEFXEDFXEBFXE7FXEFEXDFDXDFBXDF7XDEFXDDFXDBFXD7FXDFEXBFDXBFBXBF7XBEFXBDFXBBFXB7FXBFEX7FDX7FBX7F7X7EFX7DFX7BFX77FX7 判别闭合的键是否释放,等键释放后进行键功能操作。键扫描子程序

50、框图图 键盘扫描子程序流程框图有键按下否调用6 ms延时子程序开 始有键按下否判断闭合键,键码入栈保存闭合键释放否键码 A返 回YYYNNN调用12 ms延时子程序 中断工作方式 计算机应用系统工作时,并不经常需要键输入。但无论是查询工作方式还是定时扫描工作方式,CPU经常处于空扫描状态。为了提高CPU的效率,可采用中断工作方式。这种工作方式是当键盘上有键按下时,向CPU发一个中断请求信号,CPU响应中断后,在中断服务程序中扫描键盘,执行键功能程序。中断服务程序中应完成键识别、消除抖动、排除多次执行键功能操作等功能,可参考查询工作方式键盘程序。8.7 显示及显示器接口8.7.1 LED显示器结

51、构与原理图 七段显示块管脚与结构图 怎样点亮共阴极LED显示器 使共阴极字位控制端(COM)为低电平即可点亮共阴极LED显示器;当某发光二极管的阳极为高电平时,此二极管点亮。怎样点亮共阳极LED显示器 使共阳极字位控制端(COM)为高电平即可点亮共阳极LED显示器。当某发光二极管的阴极为低电平时,此二极管点亮。 Dp g fedcba字形字形码 D7 D6 D5D4D3D2D1D0 0 0 11111103FH 0 0 0001101O6H 0 1 01101125BH 0 1 00111134FH 0 1 100110466H 0 1 10110156DH 0 1 11110167DH 0

52、0 000111707H 0 1 1 1111187FH 0 1 10111196FH 1 0 1111110.BFH 共阴极选码表 七段LED的段选码显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“灭”00HFFHA77H88HB7CH83H8.7.2 LED显示器与显示方式图 N位LED显示器 1LED静态显示

53、方式 LED工作在静态显示方式下,共阴极接地或共阳极接+5 V;每一位的段选线(ag、dp)与一个8位并行I/O口相连,如图所示。该图表示了一个4位静态LED显示器电路,显示器的每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时刻各位可以显示不同的字符。 N位静态显示器要求有N8根I/O口线,占用I/O口线较多。故在位数较多时往往采用动态显示方式。2LED动态显示方式图 8位LED动态显示器电路 所有位的段选线并接在一个I/O口上,共阴极端或共阳极端分别由相应的I/O口线进行位控制。显示方式:1、从段选线I/O口上

54、按位次分别送显示字符的段选码;2、在位选控制口也按相应的次序分别选通相应的显示位;3、选通位就显示相应字符,并保持几毫秒的延时;4、未选通位不显示字符(保持熄灭);5、分时轮流选通数码管的公共端,使得各个数码管轮流导通,循环进行;6、由于数码管的余辉及人眼的视觉残留,所以感觉所有数码管是同时点亮的。8.7.3 键盘、显示器组合接口举例1、利用单片机通过扩展的8255,控制8255的PA,PB口,使6个LED分别显示1,2,3,4,5,6控制寄存器地址:0C003H(/CS接Y6) PA口地址:0C000H PB口地址:0C001H PC口地址:0C002H工作方式控制字:80H(PA,PB输出)MOVDPTR,#0C003HMOVA,#80HMOVXDPTR,A 各端口地址及8255的初始化LED动态显示方式(PA口控制“段”,PB口控制“位”)8位LED动态显示器电路 8255PA口PA7PA6PA5PA4PA3PA2PA1PA0显示字型显示MC1413A7A6A5A4A3A2A1LED共阴dpabcdefg110011110CFH11001001092H2字型表分析位控制:8255 MC1413 LED 输出

温馨提示

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

评论

0/150

提交评论