《单片机系统扩展与接口.ppt》由会员分享,可在线阅读,更多相关《单片机系统扩展与接口.ppt(238页珍藏版)》请在三一办公上搜索。
1、Welcome to study,枣庄学院物理系,第六章 单片机系统扩展 及接口技术,内容提要,1、程序存储器扩展2、数据存储器扩展3、并行I/O接口4、显示器接口5、键盘接口6、串行通信接口7、模拟电路接口,6.1 系统扩展概述,1、最小应用系统,(a)8051/8751最小系统结构图;(b)8031最小系统结构图,MCS51单片机最小化系统,2、系统扩展的内容与方法,(1)系统的扩展的两个任务:A、把系统所需的外设与单片机连接起来,使单片机能够与外界进行信息交换。(即接口设计)B、扩大单片机的容量(外部程序存储器、外部数据存储器、输入/输出接口的扩展)。,(2)系统扩展的基本方法:扩展连接
2、的一般方法实际上是三总线对接。,注意:P0口线地址/数据分时复用,需用地址锁存器 74LS373锁存地址。,三总线的概念:地址总线 AB,P0口提供(A7 A0);P2口提供(A15 A8),共16位。数据总线 DB,P0口提供(D7 D0),共8位。控制总线 CB,ALE、等。,控制线的连接 对存储器来讲控制线无非是:芯片的选通控制、读写控制。单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。二是,同一时刻,CPU只能访问一个地址,即只能与一 个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。,A、以P0口的8位口线作地址数据线 P0口线既作地址
3、线使用又作为数据线使用,具有双重功能,因此需采用复用技术,对地址和数据进行分离,为此在构造地址总线时要增加一个8位锁存器。首先由锁存器暂存并为系统提供低8位地址,其后P0口线就作为数据线使用。通常使用的锁存器有74LS273或74LS373。,B、以P2口的口线作高位地址线 如果使用P2口的全部8位口线,再加上P0口提供的低8位地址,则形成了完整的16位地址总线。使单片机系统的扩展寻址范围达到64 K单元。,C、控制信号 除了地址线和数据线之外,在扩展系统中还需要单片机提供一些控制信号线,以构成扩展系统的控制总线。其中包括:*使用ALE作地址锁存的选通信号,以实现低8位地址的锁存;*以/PSE
4、N信号作扩展程序存储器的读选通信号;*以EA信号作为内外程序存储器的选择信号;*以/RD和/WR作为扩展数据存储器和1/O端口的读写选通信号,6.2 程序存储器的扩展,为什么要扩展?,用什么扩展?,1、访问程序存储器的控制信号*ALE作地址锁存的选通信号,以实现低8位地址的锁存;*/PSEN作扩展程序存储器的读选通信号;接EPROM的/OE*/EA作为内外程序存储器的选择信号;,外部程序存储器一般连接方法,2、扩展能力 根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64 KB,地址为0000HFFFFH。3、扩展8KB/16KB EPROM(1)常用程序存储器芯片 典
5、型产品有2716、2764、27128、27256、27512等,(2)扩展存储器所需芯片数目的确定 A、若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,B、若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,2764与8031的扩展连接图,a)不用片外译码器的单片程序存储器的扩展,(3)、扩展举例,上图所示连接电路的8个重叠的地址范围为,即0000H1FFFH;,即2000H3FFFH;,即4000H5FFFH;,即6000H7FFFH;,即8000H9FFFH;,即A000HBFFFH;,即C000HDFFFH;,
6、即E000HFFFFH。,b)采用线选法的多片程序存储器的扩展,例 使用两片2764扩展16 KB的程序存储器,采用线选法选中芯片。,左片:,即0000H1FFFH;,即2000H3FFFH;,即4000H5FFFH;,即6000H7FFFH;右片:,即8000H9FFFH;,即A000HBFFFH;,即C000HDFFFH;,即E000HFFFFH。,c)采用地址译码器的多片程序存储器的扩展,例 要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH。本例地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=40
7、00H=4 KB,2764为8 K8位,故需要两片。第1片的地址范围应为0000H1FFFH;第2片的地址范围应为2000H3FFFH。,由地址范围确定译码器的连接。为此画出译码关系图如下:,4、EEPROM接口设计,EEPROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。常用的EEPROM芯片主要有Intel 2817A、2864A等。,2817A,2864A管脚及原理框图(a)管脚;(b)原理框图,程序存储器E2PROM 2864A,2864A 工作方式,(1)维持和读出方式:2
8、864A的维持和读出方式与普通EPROM完全相同。(2)写入方式:2864A提供了两种数据写入操作方式,字节写入和页面写入。(3)数据查询方式:,EEPROM 2864 的扩展,6.3 数据存储器的扩展,常用静态RAM芯片的引脚图,1常用的数据存储器芯片 A、静态RAM芯片(6116、6264、62256、628128),6264的工作方式,2数据存储器的扩展举例,例1 采用6264芯片在8031片外扩展8 KB数据存储器。,6264的8KB地址范围不唯一(因为A14A13可为任意值),6000H7FFFH是一种地址范围。当向该片6000H单元写一个数据DATA时,可用如下指令:MOV A,D
9、ATA MOV DPTA,6000H MOVX DPTR,A从FFFH单元读一个数据时,可用如下指令:MOV DPTR,7FFFH MOVX,DPTR,2、兼有片外程序存储器和片外数据存储器的扩展举例例 采用2764和6264芯片在8031片外分别扩展24 KB程序存储器和数据存储器。,扩展连接电路如图所示。从图中可以看出,各有一片2764和一片6264的片选端并接在一根译码输出线上。即有2764和6264芯片相同的地址单元将会同时选通,这不会发生地址冲突,因为两种芯片的控制信号是不一样的。分析两种存储器及各芯片的地址范围。,6.4 并口的扩展方法,I/O口扩展的原则“输入三态,输出锁存”与总
10、线相连的原则,补充:接口概述,I/O接口(Interface)和I/O端口(Port)的区别:I/O Port:简称I/O口,指I/O接口中带有端口地址的寄存器或缓冲器,CPU通过端口地址就可以对Port中的信息进行读写。I/O Interface:指CPU与外设间的I/O接口芯片。通常,一个外设只需要一个I/O接口,但一个I/O接口可以有多个I/O端口,保存数据的端口叫数据口,保存来自CPU的控制命令的端口叫命令口,保存外设状态信息的端口叫状态口。I/O接口的扩展方法:类似与数据存储器RAM的扩展。关键是三总线。所有端口与CPU之间的数据传送都通过数据总线DB进行;由地址总线AB上的地址信号
11、经译码后进行芯片选择和端口选择;由控制总线CB上的信号控制数据信息的传送。,一、利用TTL、CMOS集成电路来扩展,1、用锁存器扩展简单的8位输出口,74LS377为8D锁存器,八入八出,一时钟CP,一锁存允许/E。/E=0时,CP 的上升沿,输入数据并锁存。,MOV DPTR,#7FFFH;指向74LS377MOV A,#data;取输出的数据MOVX DPTR,A;通过74LS377送出数据,P2.7接/E,所以,74LS377的口地址为7FFFH。,P0口是数据总线口,作I/O口用时只能分时使用,为此,输出数据时需要锁存。,2、用锁存器扩展简单的八位输入口,外设与单片机在传输数据速度上存
12、在着一定的差异,为了 保证数据能被单片机正确地接收,应采取以下电路:,输入设备STBIN7IN6IN5IN4IN3IN2IN1IN0,8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,74LS373 GQ7 D7Q6 D6Q5 D5Q4 D4Q3 D3Q2 D2Q1 D1Q0 D0,在STB的下降沿,将数据锁存入74LS373/E控制着74LS373的输出,由P2.6和/RD相或控制,所以,74LS373的口地址为BFFFH。,例、设将上图74LS373中数据送入8031片内数据存储器中首地址为50H的数据区。写出相应中断系统初始化及中断服务程
13、序。,中断系统初始化程序:PINT:SETB IT0;/INT0选为下降沿触发方式 SETB EA;CPU开中断 MOV R0,#50H;置数据区首址 SETB EX0;/INT0中断允许,中断服务程序:ORG 0003HPINT0:AJMP INT0 ORG 1000HINT0:MOV DPTR,#0BFFFH;指向74LS373扩展输入口 MOVX A,DPTR;8031读入数据 MOV R0,A;输入数据送数据区 INC R0 RETI,3、用三态门扩展8位输入并行口,74LS244是8位三态门,当/1G、/2G均为低电平时,允许输入数据;否则,为高阻态。,输入设备IN7IN6IN5IN
14、4IN3IN2IN1IN0,8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,74LS244 1Y1 1A11Y2 1A21Y3 1A31Y4 1A42Y1 2A12Y2 2A22Y3 2A32Y4 2A4,二、用串行口扩展并行I/O 接口,如果串口别无他用,则可让其工作于方式0,来扩展一个或多个8位并行I/O口,1、用74LS165扩展并行I/O口,74LS165是8位并入、串出移位寄存器。CP为移位脉冲输入端;S/L为移位/装入端,以P1.0控制。两片74LS165的首尾相连,即QH与SIN相连。,例、从上图两个八位并行口读入20H组(每组
15、两个字节)字节数据,并把它们转存到内部RAM(首址为30H)的数据区中。,解:以PSW中的用F0位来标志接收一组数中的前8位与后8位,74LS165(1)并行口输入数据时,置F0为1;74LS165(2)并行口输入数据时,置F0为0;P1.0高、低变化一次,就控制并行数据装入一次,即串行 口应接收到2个8位数据(一组)。串口工作在方式0,波特率为fosc/12=1Mb/s。,MOV R7,#20H;读入字节数组 MOV R0,#30H;内部RAM数据区首址 SETB F0;假定74LS165(1)先读入RCV0:CLR P1.0;165装入数据 SETB P1.0;允许165串行移位RCV1:
16、MOV SCON,#00010000B;串行口设定STP:JNB RI,STP;等待接收完一个八位数 CLR RI不胜数;清RI标志,以备下次接收 MOV A,SBUF;串口接收数据,8031 P3.0 P3.1 P1.0,A B C D E F G HAB 74LS164(1)/CR CP,A B C D E F G HAB 74LS164(2)/CR CP,D7.D0,D7.D0,2、用74LS164扩展并行输出口,74LS164是8位串入、并出移位寄存器,其中,CP为移位脉冲输入端;/CR为清除端。,上图接法中,由于移位寄存器无并行输出控制,在串行输入过程中,其输出状态会不断变化,故在某
17、些使用场合下,在74LS164的输出端应加接输出三态门控制,以便保证串行输入结束后再输出并行数据。,三、可编程并行接口芯片8255A,一、8255A的结构和操作方式1、8255A的组成及引脚,组成:,三部分:总线接口部分;内部逻辑部分;外设接口部分,(1)总线接口部分/CS 片选线A1、A0 端口选择线(选片内四个端口寄存器)/RD 读信号线/WR 写信号线,(2)内部逻辑部分PAPC7 PC4PBPC3 PC0,输入 输出 其它,A口 8位锁存/缓冲 8位锁存 双向B口 8位锁存/缓冲 8位缓冲C口 8位锁存/缓冲 8位缓冲 可分成两组分别作A 口、B口的选通联络线,(3)外设接口部分可由编
18、程决定三个端口的功能,1、8255A的工作方式(1)方式0 基本输入/输出方式 A口、B口、C口均有此方式,无选通,是单片机与外部设备之间的直接数据通道。,二、8255A的工作方式及方式选择,(2)工作方式1(选通输入输出方式),图 方式1下,A、B口均为输出的信号定义,(A)方式1下A口、B口均为输出,为输出缓冲器满信号,低电平有效。为外设响应信号,低电平有效。INTR为中断请求信号,高电平有效。INTE为中断允许状态。,图 方式1下的数据输出时序,(B)方式1下A口、B口均为输入,图 方式1下A、B口均为输入时的信号定义,与方式1下两口均为输出类似,为实现选通输入,则同样要利用C口的信号线
19、。其定义如图所示。,在口为输入时所用到的控制信号的定义如下:为低电平有效的输入选通信号。IBF为高电平有效的输入缓冲器满信号。INTR为中断请求信号,高电平有效。INTE为中断允许状态。,图方式1下数据输入时序,图 方式2下的信号定义,(3)方式2,图 方式2下的时序图,2.方式控制字及状态字 1)控制字 当控制字的bit7=0时,指定该控制字仅对C口进行位操作按位置位或复位操作。对C口按位置/复位操作的控制字格式如图7.14所示。如前所述,在必要时,可利用C口的按位置/复位控制字来使C口的某一位输出0或1。,图 8255的控制字格式,图 C口的按位操作控制字格式,2)状态字 当8255的A口
20、、B口工作在方式1或A口工作在方式2时,通过读C口的状态,可以检测A口和B口的状态。当8255的A口和B口均工作在方式1的输入时,由C口读出的8位数据各位的意义如图7.15所示。当8255的A口和B口均工作在方式1的输出时,由C口读出的状态字各位的意义如图所示。,图 A、B口均为方式1输入时的状态字,图 A、B口均为方式1输出时的状态字,图 A口在方式2工作时的状态字,2、8255A的方式控制字 用编程方法向8255A的控制口写控制字,可决定它的工作 方式。有两个控制字:(1)方式选择控制字,“1”方式控制标志位D6、D5决定A组的工作方式,0 0 方式0 0 1 方式1 1 方式2 D4 A
21、口的传输方向,1 入,0 出。D3 PC7 PC4的传输方向,1 入,0 出。D2 决定B组的工作方式,0 方式0,1 方式1。D1 B口的传输方向,1 入,0 出。D0 PC3 PC0传输方向,1 入,0 出。,(2)PC口置位/复位控制字,“0”标志位。D6、D5 不使用位。D3、D2、D1 位选择位,000 111 分别对应PC7 PC0。D0 位状态位,1 置位,0 复位。,三、8031和8255A的连接及应用 单片机 8255A A0 A0 A1 A1 A15 A2中任一线/CS P0 D7 D0/RD/RD/WR/WR RST RESET,应用,上图中,地址线连接采用线选法。825
22、5A的地址分布:A15 A14 A13A8 A7A1 A0 0 0 0 0 0 0 0 0000H 0 1 0001H 1 0 0002H 1 1 0003H 或 0 1 1 1 1 0 0 7FFCHPA 0 1 7FFDHPB 1 0 7FFEHPC 1 1 7FFFH控制,例、设单片机8031与微型打印机之间的数据传送采用查询方式。要求将存放在8031单片机内RAM中以30H为首地址的64个连续单元中的内容打印输出,试编程。,解:因为PC0连接BUSY,所以,PC3 PC0为输入 又因PC7连接/DATA STROBE,所以PC7 PC4为输出,STROBE 表示重复的意思。/DATA
23、STROBE 数据选通信号。作用是通知打印机,8255A要给它传数。PA口输出,PB口未用。故 8255A的控制字可设为:1 0 0 0 0 0 0 1B=81H,PA口地址:7FFCH PB口地址:7FFDH PC口地址:7FFEH 控制口:7FFFH,ORG 1000HPRINT:MOV DPTR,#7FFFH;控制口地址 MOV A,#81H;控制字 MOVX DPTR,A;写入控制字 MOV R1,#30H;数据指针 MOV R2,#40H;64个数,NEXT:MOV DPTR,#7FFEH;PC口地址 MOV A,#80H;使PC7为高电平 MOVX DPTR,A;输出/DATA S
24、TR OBE为;高电平;无效,不准备送数 WAIT:MOVX A,DPTR;查询打印机状态 JB ACC.0,WAIT;若PC0即BUSY=1忙,则等待 MOV DPTR,#7FFCH;若BUSY=0空闲,则指向PA口 MOV A,R1;输出数据 MOVX DPTR,A MOV DPTR,#7FFEH库;指向PC口 MOV A,#00H;8255A输出/DATA STR OBE信号;通知打印机,给它传数。,MOVX DPTR,A ACALL PDELAY;调延时子程序,以形成一个宽度;定时值的负脉冲为 INC R1 DJNZ R2,NEXT;判断打印输出完成否?SJMP$PDELAY:(延时程
25、序略)END,小结:1、8255A有几个并行I/O口?几种工作方式?2、工作方式控制字、置位/复位控制字是如何定义的?,四、扩展8155可编程外围并行接口芯片,常用Intel 系列可编程接口芯片,18155的结构和技术性能,在8155内部具有:(1)256字节的静态RAM,存取时间为400ns。(2)三个通用的输入/输出口。(3)一个14位的可编程定时/计数器。(4)地址锁存器及多路转换的地址和数据总线。(5)单一+5V电源,40脚双列直插式封装。,8155内部结构图与引脚图,各引脚含义,AD0 AD7 地址/数据线。传送地址、数据、命令、状态等。ALE 地址锁存(输入)IO/M IO口/RA
26、M选择;0:选内RAM;1:选内IO口/CE 片选线/RD、/WR 读、写控制 PA7 PA0 A口输入/输出线 PB7 PB0 B口输入/输出线 PC5 PC0 C口输入/输出线 TIMERIN 定时器输入(输入定时器所需时钟)TIMEROUT 定时器输出(输出所产生的方波脉冲),2、8155的RAM和I/O口地址编码,由AD7 AD0及IO/M决定,对于多数单片机应用系统来说,由于片外RAM区的容量较大(最大为64KB),因此通常采用线选法对接口芯片进行编址。对8155来说,常用高8位地址中的两位来选择 和IO/。例如将P2.7接至,将P2.0接至IO/,那么8155的RMA和I/O口的编
27、址为:RAM:P2.7=0,P2.0=0,其地址范围为:01111110 00000000B01111110 11111111B,即:7E00H7EFFH。I/O口:P2.7=0,P2.0=1,口地址范围为:01111111 00000000B01111111 00000101B,即7F00H7F05H。具体分配如下:命令口:7F00H A口:7F01H B口:7F02H C口:7F03H定时器低8位:7F04H定时器高8位:7F05H,3、8155的工作方式与基本操作,三种基本操作:1)作单片机片外256B数据存储器IO/M=0,与其它数据存储器统一编址。用MOVX访问。2)作扩展I/O口使
28、用IO/M=1,PA口、PB口、PC口,可通过编程决定如何使用。命令寄存器(命令控制字)I/O口工作方式状态标志寄存器 PA口、PB口状态标志。,I/O口工作方式有四种:A口、B口 基本I/O口,C口输入;A口、B口 基本I/O口,C口输出;A口选通I/O、B口基本I/O、C口作联络线;A口、B口选通I/O、C口作联络线。状态标志寄存器:BF 缓冲器满标志;INTR 端口中断请求标志;INTE 端口中断允许标志;TIMER 定时器中断请求。命令寄存器,只写不读状态标志寄存器,只读不写 二者使用同一地址,可以通过编程决定输出4种信号,即有四种工作台方式 单方波;连续方波;单脉冲;连续脉冲。由两个
29、8位寄存器,决定14位定时器计数常数及四种工作方式。由命令寄存器的最高两位对定时器进行四种控制。,3)作定时器扩展使用,4、8155的命令/状态字 8155有1个命令/状态寄存器,实际上这是两个不同的寄存器,分别存放命令字和状态字。由于对命令寄存器只能进行写操作,而对状态寄存器只能进行读操作,因此把它们编为同一个地址,合在一起称之为命令/状态寄存器。1)命令字 命令字共8位,用于定义I/O端口及定时器的工作方式。对命令寄存器只能写入不能读出(读出的将是状态寄存器的内容)。命令字的格式如图所示。,8155的命令字格式,对C口工作方式的说明:D3D2=00(ALT1):A口、B口为基本I/O,C口
30、为输入。D3D2=01(ALT2):A口、B口为基本I/O,C口为输出。D3D2=10(ALT3):A口选通I/O,B口基本I/O,C口低3位为联络信号,高3位输出(参阅表65)。D3D2=11(ALT4):A口、B口均为选通I/O,C口低3位作为A口联络信号,高3位作为B口联络信号,关于定时器运行控制位(TM2、TM1)补充说明如下:当TM2、TM1=11时,其操作为:当计数器未计数时,装入计数长度和方式后立即开始计数;当计数器正在计数时,待计数器溢出后以新装入的计数长度和方式进行计数。,2)状态字 8155的状态寄存器与命令寄存器共用1个地址,当使用读操作时,读入的便是状态寄存器中的内容。
31、,8155的状态字格式,5、8155的定时/计数器 8155的定时/计数器是1个14位的减法计数器,由两个8位寄存器构成,其格式如下:,D7,D0,其中低14位组成计数器,剩下的两个高位(M2M1)用于定义计数器输出的信号形式。8155的定时/计数器与MCS-51单片机芯片内部的定时/计数器在功能上是相同的,都有定时和计数两种功能。但是在使用上却有很多不同之处。具体表现在:(1)8155的定时/计数器为减法计数,而MCS-51单片机内部的定时/计数器却是加法计数。(2)MCS-51单片机内部的定时/计数器有多种工作方式,而8155的定时/计数器却只有一种固定的工作方式,即14位计数,通过软件方
32、法进行计数值的加载。,(3)MCS-51单片机内部的定时/计数器有两种计数脉冲:当定时工作时,由芯片内部按机器周期提供固定频率的计数脉冲;当计数工作时,从芯片外部引入计数脉冲。(4)MCS-51单片机内部的定时/计数器,在计数溢出时自动置位TCON寄存器中的计数溢出标志位TF,供用户以查询或中断方式使用;而8155的定时/计数器,在计数溢出时却是通过TIMEROUT引脚向外部发出1个脉冲信号。,定时/计数器输出方式,8155的定时器在计数过程中,计数器的值并不直接表示外部输入的脉冲。若作为外部事件计数,那么由计数器的现行计数值求输入脉冲数的方法为:(1)停止计数器计数(2)分别读出计数器的两个
33、字节内容。(3)取其低14位数作为现行计数值。(4)算出现行计数值与初始计数值之差即可。,6、8155和MCS-51单片机的接口电路 8155可以和MCS-51单片机直接相连,而不需外加逻辑电路。图616所示为8155和MSC-51相连的一种基本连接方法。按图616所示接法,8155的RAM和各端口地址如下:RAM的地址:0000H00FFH 命令口:0200H A口:0201H B口:0202H C口:0203H 定时器低位:0204H 定时器高位:0205H,图616 8155与MCS-51的连接方法,7、8155的初始化编程及应用举例 8155初始化编程的主要内容为写入8155的命令字和
34、定时/计数器的初值以及输出方式。例1:采用如图616所示的接口电路,设A口与C口为输入口,B口为输出口,均为基本I/O。定时器为连续方波工作方式,对输入脉冲进行24分频。试编写8155的初始化程序。,解:命令字可选取为 PA=0:A口输入 PB=1:B口输出 PC2、PC1=00:A口、B口基本I/O,C口输入 IEA=0,IEB=0:A口、B口均禁止中断 TM2、TM1=11:立即启动计数器 所以命令字为11000010B=C2H。,计数初值的选取方法为:由于计数值为24,所以定时器的低8位为18H,高6位为000000B。定时器的输出方式要求为连续方波,选M2M1=01,那么定时器的高8位
35、为01000000B=40H。RAM及端口地址与前面的相同。,初始化程序:MOV DPTR,0204H;指向定时器的低8位MOV A,18H;取定时器低8位的值MOVX DPTR,A;写入定时器低8位INC DPTR;指向定时器高8位MOV A,40H;取定时器高8位的值MOVX DPTR,A;写入定时器高8位MOV DPTR,0200H;指向命令口MOV A,C2H;取8155的命令字MOVX DPTR,A;写入命令字,例2:仍采用图616所示的接口电路,从8155的A口输入数据并进行判断:若不为0,则将该数据存入8155的RAM中(从起始单元开始存放,数据的总数不超过256个),同时从B口
36、输出,并将PC0置“1”;若为0,则停止输入输出,同时将PC0清“0”。试编写能完成上述任务的初始化及应用程序。,解:初始化及应用程序如下:MOV DPTR,0200H;指向命令口 MOV A,00000110B;取命令字 MOV X DPTR,A;写入命令字 MOV R0,00H;指向8155的RAM区首址 MOV R1,00H;数据总数为256个,LOOP1:MOV DPTR,0201H;指向A口 MOV X A,DPTR;从A口输入数据 JZ LOOP3;为0则转 MOV X R0,A;不为0,则存入RAM中 INC R0;指向下一单元 INC DPTR;指向B口 MOV X DPTR,
37、A;从B口输出 INC DPTR;指向C口,MOV X A,DPTR;取C口数据 SETB ACC,0;使PC0置1 MOV X DPTR,A;回送 DJNZ R1,LOOP1;未完则反复 LOOP2:SJMP$;暂停 LOOP3:MOV DPTR,0203H;指向C口 MOVX DPTR,A;回送 SJMP LOOP2,6.4 显示器接口,图 LED数码显示管,一、发光二极管显示器(LED)接口,1、LED结构与原理,2、LED静态显示接口电路,LED显示器有静态显示和动态显示两种方式。,这是一位共阳极LED静态显示驱动电路,P1口输出笔段代码,经7407驱动后,直接驱动LED。该电路的优点
38、是结构简单,直接利用P1 口输出锁存器作为笔段代码锁存器,缺点是占有了P1.0P1.6七根I/O线。,静态显示器的特点:优点:是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点:是位数较多时,所需的I/O口太多,硬件开销太大。,驱动程序如下:MOV DPTR,#2000H;把笔段代码表首地址放入DPTR中 MOVC A,A+DPTR;取相应数字的笔段代码,待显示的数字存放在A累加器中 MOV P1,A;把取出的笔段代码送P1口显示 ORG 2000H
39、;笔段代码存放在2000H开始的单元中 DB C0H,0F9H,0A4H,.;笔段代码表,3、LED动态显示方式,所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。在同一时刻只有一位显示器在工作(点亮),利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时”显示。,在动态显示方式中,各LED数码显示器轮流工作,为了防止产生闪烁现象,每个LED数码管刷新频率必须大于25 Hz,即相邻两次点亮的时间间隔要小于40 ms。对于具有N个LED数码管的动态显示电路来说,如果刷新频率为f,那么显示周期为1/f,则每一位的显示时间为1
40、/(fN)秒。每一位的显示时间越短,在驱动电流一定的情况下,亮度越低在动态LED显示电路中,要适当增大驱动电流,一般取20 mA35 mA,以抵消因显示时间短造成亮度下降。动态显示器的特点:优点是节省硬件资源,成本较低。缺点但在控制系统运行过程中,要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。,程序设计举例:对于下图所示的6位LED显示器,在单片机内部RAM中设置6个显示缓冲单元78H-7DH,存放6位欲显示的字符数据,8155的端口A扫描输出总是只有一位为高电平,即6位显示器中仅有一位公共阴极为低电平(
41、只选中一位),其他位为高电平,8155B口输出相应位的显示字符的段数据使该位显示出相应字符,其他位为暗。依次改变端口A输出为高电平的位及端口B输出对应的段数据,6位LED显示器就显示出缓冲器中字符数据所确定的字符。,扫描显示子程序如下:DIS:MOVR0,#7EH;显示缓冲区末址送R0 DB 3FH,06H,5BH,4FH,66H,6DHMOVR2,#01H;位选初值 DB 7DH,07H,7FH,6FH,77H,7CHMOVA,R2 DB 39H,5EH,79H,71H,40H,00HLP0:MOVDPTR,#7F01;8155 A口地址 DIMS:MOVR7,#02HMOVXDPTR,A
42、DL:MOVR6,#0FFHINCDPTR;8155 B口地址 DL1:DJNZR6,DL1 MOVA,R0;显示数据送A DJNZR7,DLADDA,#0DH RETMOVCA,A+PC;取字形码MOVX DPTR,A;送B口显示ACALLD1MS;延时DECR0;显示缓冲区地址减1MOVA,R2JBACC.5,LP1;扫描到最左的 LED,转RLA MOVR2,A AJMPLP0LP1:RET,4、LED点阵显示器,图 75点阵LED显示器结构及驱动电路(a)75点阵LED显示器结构;(b)驱动电路,二、七段码液晶显示器接口,1、LCD结构与特点,1)结构 液晶显示器(LCD)是一种功耗极
43、低的显示器件,它广泛应用于便携式电子产品中,它不仅省电,而且能够显示大量的信息,如文字、曲线、图形等,其显示界面较之数码管有了质的提高。近年来,液晶显示技术发展很快,LCD显示器已经成为仅次于显像管的第二大显示产业。,液晶显示器的结构图如图所示。不同类型的液晶显示器件,其组成可能会有不同,但是所有液晶显示器件都可以认为是由两片光刻有透明导电电极的基板,夹持一个液晶层,封接成一个偏平盒(有时在外表面还可能贴装上偏振片等)而构成的。,现将构成液晶显示器件的三大基本部件和特点介绍如下:(1)玻璃基板。这是一种表面极其平整的浮法生产薄玻璃片。其表面蒸镀有一层 In2O3或SnO2透明导电层,即ITO膜
44、层,经光刻加工制成透明导电图形。这些图形由像素图形和外引线图形组成,因此,外引线不能进行传统的锡焊,只能通过导电橡胶条或导电胶带等进行连接。如果划伤、割断或腐蚀,则会造成器件报废。(2)液晶。液晶材料是液晶显示器件的主体。不同器件所用液晶材料不同,液晶材料大都是由几种乃至十几种单体液晶材料混合而成。,液晶的物理特性是:当通电时导通,排列变的有秩序,使光线容易通过;不通电时排列混乱,阻止光线通过。让液晶如闸门般地阻隔或让光线穿透。从技术上简单地说,液晶面板包含了两片相当精致的无钠玻璃素材,称为Substrates,中间夹著一层液晶。当光束通过这层液晶时,液晶本身会排排站立或扭转呈不规则状,因而阻
45、隔或使光束顺利通过。大多数液晶都属于有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。将液晶倒入一个经精良加工的开槽平面,液晶分子会顺着槽排列,所以假如那些槽非常平行,则各分子也是完全平行的。,每种液晶材料都有自己固定的清亮点TL和结晶点TS,因此也要求每种液晶显示器件必须使用和保存在TsTL之间的一定温度范围内。如果使用或保存温度过低,结晶会破坏液晶显示器件的定向层;而温度过高,液晶会失去液晶态,也就失去了液晶显示器件的功能。(3)偏振片。偏振片又称偏光片,由塑料膜材料制成,涂有一层光学压敏胶,可以贴在液晶盒的表面。前偏振片表面还有一保护膜,使用时应揭去,偏振片怕高温
46、、高湿,在高温高湿条件下会使其退偏振或起泡。,2)LCD显示器的特点 液晶显示器有以下显著特点:(1)低压微功耗:工作电压只有35 V,工作电流只有几个。因此它成为便携式和手持仪器仪表的显示屏幕。(2)平板型结构:LCD显示器内由两片平行玻璃组成的夹层盒,面积可大可小,且适合于大批量生产,安装时占用体积小,减小了设备体积。(3)被动显示:液晶本身不发光,而是靠调制外界光进行显示。因此适合人的视觉习惯,不会使人眼睛疲劳。(4)显示信息量大:LCD显示器,其像素可以做得很小,相同面积上可容纳更多信息。(5)易于彩色化。(6)没有电磁辐射:在其显示期间不会产生电磁辐射,对环境无污染,有利于人体健康。
47、(7)寿命长:LCD器件本身无老化问题,寿命极长。,3)LCD显示器分类 通常可将LCD分为笔段型、字符型和点阵图形型。(1)笔段型。笔段型是以长条状显示像素组成一位显示。该类型主要用于数字显示,也可用于显示西文字母或某些字符。这种段型显示通常有六段、七段、八段、九段、十四段和十六段等,在形状上总是围绕数字“8”的结构变化,其中以七段显示最常用。它广泛用于电子表、数字仪表、笔记本计算机中。(2)字符型。字符型液晶显示模块是专门用来显示字母、数字、符号等的点阵型液晶显示模块。在电极图形设计上它是由若干个58或511点阵组成,每一个点阵显示一个字符。这类模块广泛应用于寻呼机、大哥大电话、电子笔记本
48、等类电子设备中。(3)点阵图形型。点阵图形型是在一平板上排列多行和多列,形成矩阵形式的晶格点,点的大小可根据显示的清晰度来设计。这类液晶显示器可广泛用于图形显示,如游戏机、笔记本电脑和彩色电视等设备中。LCD还有一些其它的分类方法。按采光方式可分为自然采光,背光源采光LCD。,三、字符型液晶显示器接口,字符型液晶显示模块是一类专用于显示字母,数字,符号等的点阵型液晶显示模块。字符型液晶显示模块是由若干个58或511点阵块组成的字符块集。每一个字符块是一个字符位,每一位都可以显示一个字符,字符位之间空有一个点距的间隔,起着字符间距和行距的作用。这类模块使用的是专用于字符显示控制与驱动的IC芯片,
49、因此,这类模块的应用范围仅局限于字符而显示不了图形,所以称其为字符型液晶显示模块。字符型液晶显示驱动控制器广泛应用于字符型液晶显示模块上。目前最常用的字符型液晶显示驱动控制器是HD44780U,最常用的液晶显示驱动器为HD44100及其替代品。,HD44780U由控制部,驱动部和接口部三部分组成。控制部是HD44780U的核心,它产生HD44780U内部的工作时钟,控制着各功能电路的工作。控制部控制全部功能逻辑电路的工作状态,管理字符发生器CGROM和CGRAM,显示存储器DDRAM。HD44780U的控制部由时序发生器电路、地址指针计数器AC、光标闪烁控制电路、字符发生器、显示存储器和复位电
50、路组成。驱动部具有液晶显示驱动能力和扩展驱动能力,由并/串数据转换电路、16路行驱动器和16位移位寄存器、40路列驱动器和40位锁存器、40位移位寄存器和液晶显示驱动信号输出和液晶显示驱动偏压等组成。接口部是HD44780U与计算机的接口,由I/O缓冲器,指令寄存器和译码器,数据寄存器,“忙”标志BF触发器等组成。,HD44780U与液晶显示器连接方框图如图所示。,HD44780U与液晶连接框图,6.5 键盘接口,键盘实际上是由排列成矩阵形式的一系列按键开关组成的,它是单片机系统中最常用的人机联系的一种输入设备。用户通过键盘可以向CPU输入数据、地址和命令。,键盘按其结构形式可分为编码式键盘和