第七章单片机接口技术.ppt
《第七章单片机接口技术.ppt》由会员分享,可在线阅读,更多相关《第七章单片机接口技术.ppt(139页珍藏版)》请在三一文库上搜索。
1、第七章 单片机接口技术,7.4 8253及其与单片机接口扩展,7.5 键盘及其接口,7.6 显示接口电路,7.7 A/D、D/A转换及其接口电路,7.3 I/O口扩展,7.1 系统扩展概述,7.2 存储器扩展,7.1 系统扩展概述,单片机的系统扩展是通过单片机外总线进行的。系统外总线包括地址总线,数据总线和控制总线。图7-1为单片机系统外总线结构图。,图7-1 单片机系统总线图,地址总线:51单片机的地址总线为16位,分为高8位地址线和低8位地址线两部分,高8位地址线由P2口提供,低8位地址线由P0口分时提供。P2口做地址线时具有输出锁存功能,输出地址信息能够保留,直到下一次输出新的地址;P0
2、口是数据和地址分时复用的端口,为保留其输出的地址信息,需要在外部加地址锁存器锁存输出的地址信息。,控制总线:对51单片机进行系统扩展时,用到的控制信号主要有地址锁存信号ALE,片外程序存储器读信号,外部数据存储器和I/O口读写控制信号等。,数据总线:51单片机的数据总线为8位,由P0口提供。当P0口用做数据总线时是双向且输入三态的通道口,使用时不必外加其他芯片。,地址锁存器的控制信号由单片机的地址锁存控制信号ALE提供,由ALE的下降沿控制锁存时刻。,7.2 存储器扩展,存储器是用来存放程序和数据的。,51单片机的存储器采用哈佛结构,程序存储器和数据存储器的地址空间是完全独立的,各为64KB,
3、其控制信号也是相互独立的。,存储器的扩展包括:存储器的地址线与单片机的地址线间的连接、相应的数据线间的连接以及控制线的连接等。,程序存储器扩展,常用的程序存储器芯片有 ROM(只读存储器) EPROM(电写入、紫外线擦除型存储器) EEPROM(电写入、电擦除型存储器) RAM(静态随机型存储器)等。,程序存储器的扩展是通过外部系统总线进行的。在扩展时程序存储器的地址线A0An对应的连接到单片机的地址总线A0An上;程序存储器的数据线D0D7连接到单片机的P0口上;程序存储器的输出允许控制端连接到单片机的片外程序存储器读控制线上。,图7-2 程序存储器扩展电路,当扩展的程序存储器芯片为一片时,
4、程序存储器的片选端应当接地;当扩展的程序存储器多于一片时,程序存储器的地址线、数据线和输出允许控制线的连接与扩展单片程序存储器时相同,片选信号线不能接地而应分别连接到由单片机高位地址线经译码器译码产生的片选信号上。,当单片机内部无程序存储器,单片机的端应接地;当单片机的片内片外程序存储器同时使用时,应通过上拉电阻接高电平。,图7-3 访问外部程序存储器的时序图,1.EPROM扩展电路,图7-4 常用EPROM引脚图,典型的EPROM程序存储器扩展电路见图7-5。,图7-5 典型的EPROM程序存储器扩展电路图,在该图中用一片2764EPROM存储器扩展8KB的程序存储器,2764的片选端接地,
5、输出允许端接单片机的上,程序存储器的地址范围为:0000H1FFFH共8KB。,2.EEPROM扩展电路,图7-6 EEPROM程序存储器扩展电路联接图,EEPROM是电写入电擦除存储芯片,应用该种芯片作为程序存储器的扩展电路与用EPROM扩展电路相同,图7-6为采用两片EEPROM2864A扩展的16KB外部程序存储器电路联接图。2864(1)的地址范围为0000H至1FFFH,2864(2)的地址范围为2000H至3FFFH,两片加起来一共16KB。,2864A的片选端接到74LS138译码器的输出端Y0,Y1上,138译码器的输入端连接到单片机的地址线的高位P2.5、P2.6、P2.7上
6、。,2864(1)的地址范围为0000H至1FFFH,2864(2)的地址范围为2000H至3FFFH,两片加起来一共16KB。,数据存储器扩展,数据存储器是用来存放数据的。,数据存储器扩展时其地址线和数据线的联接方法与程序存储器扩展的联接方法相同,数据存储器的控制信号线为数据存储器的读写控制WR和RD。,图7-7为采用6264构成的8KB的数据存储器扩展电路。,多片扩展时存储器的片选控制端由单片机的高位地址线决定,可采用线选法或全地址译码法获得。,采用全地址译码法扩展的数据存储器地址是连续的,而采用线选法进行数据存储器扩展其扩展地址是不连续的。,图7-7 数据存储器的扩展,数据存储器与程序存
7、储器的统一编址,51单片机程序存储器和数据存储器进行统一编址,此时数据存储器及I/O口和程序存储器共同占用64KB存储空间。,统一编址的控制电路见图7-8,单片机与存储器的地址线、数据线和控制线及片选线的联接与独立编址时相同。,图7-8 程序存储器与数据存储器的统一编址,图7-9 数据存储器与程序存储器统一编址扩展电路,串行存储器扩展,1 AT93CXX系列串行EEPROM存储器,图7-10为AT93CXX系列EEPROM存储器外引脚图。AT93CXX系列EEPROM存储器是ATMEL公司生产的电写入电擦除、串行3线制、宽电压、8脚封装的非易失芯片。,图7-10 AT93CXX系列EEPROM
8、存储器外引脚图,管脚描述:,CS(1脚):片选信号。高电平有效,当其有效时可对其进行操作低电平时进入等待模式。在连续的指令之间,信号必须持续至少的低电平,才能保证芯片正常工作。,SK(2脚):串行时钟信号,产生串行操作时序。在SK的上升沿,操作码、地址和数据位进入器件或从器件输出。在发送序列时,SK最好不停止,以防止读写数据的错误。,DI(3脚):串行数据输入端,可在SK的同步下输入开始位、操作码、地址位和数据位。,DO(4脚):串行数据输出端,在SK同步下读周期时,用于输出数据;而在地址擦写周期或芯片擦写周期时,该端用于提供忙闲信息。,VCC(8脚) :电源,电压范围2.5V5.5V。,GN
9、D(5脚) :电源地。,DC(7脚):存贮器构造配置端。该端接或悬空时,输出为位;接时,输出为位。,(6脚):空脚,不连接。,AT93CXX系列串行EEPROM存储器包括:AT93C46、AT93C56、AT93C66和AT93C86几种,它们的管脚排列完全相同,只是存储容量不同,它们的存储容量分别为1Kb、2Kb、4kB和16Kb。,AT93CXX系列串行EEPROM存储器的系统指令见表7-2。,表7-2 AT93CXX系列EEPROM系统指令表,()擦写允许指令(EWEN) 由于在上电复位后AT93C465666/86首先将处于禁止擦写状态。故该指令必须在所有编程模式前执行,一旦该指令执行
10、后,只要外部没有断电就可以对芯片进行编程。,()数据擦除指令(ERASE) 该指令用于强迫指定地址中所有数据位都为“”。一旦信息在端上被译码,就需使信号保持至少250ns的低电平,然后将置为高电平,这时,端就会指示“忙”标志。为“”,表示编程正在进行;为“”,表示该指定地址的存储器单元已擦完,可以执行下一条指令。,()写数据指令(WRITE) 写指令时,先写地址,然后将位或位数据写入到指定地址中。当端输出最后一个数据位后,在SK时钟的下一个上升沿以前,必须为低,且需至少保持250ns,然后将置为高电平。需要说明的是:写周期时,每写一个字节需耗时4ms。,()读数据指令(READ) 读指令用于从
11、指定的单元中把数据从高位到低位输出至端,但逻辑“”位先于数据位输出。读指令在SK的上升沿触发,且需经过一段时间方可稳定。为防止出错,建议在读指令结束后,再输出个SK脉冲。,()芯片擦指令(ERAL) 该指令可将整个存贮器阵列置为,其它功能与数据擦除指令相同。,()芯片写指令(WRAL) 该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与数据写指令相同。该指令周期所花费时间的最大值为30ms。,()擦写禁止指令(EWDS) 使用该指令可对写入的数据进行保护,操作步骤与擦写允许指令相同。,图7-11 51系列单片机与AT93C46的连接图,7.3 I/O口扩展,I/O口的扩展主要有以下几种方
12、法: 1.简单的I/O口扩展 2.通过可编程通用I/O扩展芯片进行扩展 3.通过串行口扩展,简单I/O扩展,简单I/O口的扩展是通过系统外总线进行的。简单的I/O口扩展芯片可选用带输出锁存端的三态门电路,如74LS373、74LS377、74LS273、74LS245及8282等。,图7-12为由74LS373及8282构成的8位并行输入输出I/O口,其中74LS373用作输出口,8282用作输入口,口地址为:BFFFH(输出口)7FFFH(输入口)。,图7-12 简单I/O口扩展,数据的输入与输出通过下述指令进行: 输出数据: MOV DPTR,#0BFFFH ;指向输出口 MOVX DPT
13、R,A ;输出数据 输入数据: MOV DPTR,#7FFFH ;指向输入口 MOVX A,DPTR ;输入数据, 8255A可编程并行I/O扩展接口,8255A是Intel公司生产的可编程通用并行输入输出标准接口芯片,单一+5V电源供电,通过系统总线可方便地与51单片机联接,实现I/O口的扩展。8255A有三个8位并行I/O口PA、PB和PC,具有三种工作方式,通过对8255A的控制寄存器编程可改变其接口功能,实现单片机与外部设备之间的数据交换。,1.8255A内部结构,图7-13 8255内部结构,8255A内部由数据缓冲器、读/写控制逻辑、控制寄存器及数据输入输出端口等部分组成。,数据缓
14、冲器与内部总线和外部数据线D0D7相连,是单片机与8255A进行数据交换和控制命令字写入及状态字传送的缓冲部分。,读/写控制逻辑用于实现单片机对8255A的数据、控制字和状态字传送的控制。它由读写控制逻辑、地址译码逻辑组成。,内部总线是8255A内部单元电路数据公共通道,可传递数据、控制命令或端口工作状态。,控制信号间的相互配合完成单片机对8255A的控制和数据传送。8255A的端口地址和控制信号功能见表7-2。,表7-2 8255A工作状态表,2.8255的工作方式,8255A有三种基本的工作方式:基本输入输出方式;选通输入输出方式;双向传送方式。其工作方式的选择由控制寄存器中的内容确定。控
15、制寄存器为8位,通过对控制寄存器的编程可改变8255A的工作方式。,工作方式0(基本输入、输出方式) 在方式0下,三个端口可通过控制字设置成输入口或输出口,并可分成两个8位I/O口和两个四位I/O口,任何端口都可独立设定成输入口或输出口。在方式0下输出数据将被锁存,数据输入时不锁存,CPU可直接通过简单的指令对端口进行读写操作。,图7-14 8255 方式控制字格式,在此方式下,虽然数据的输入与输出没有固定的应答信号,但PA口和PB口做I/O口使用时,PC口仍可作为这两个端口的控制/状态信号端,因此端口PA、PB可工作在查询方式下。,工作方式1(选通输入输出方式) 工作方式1是一种选通输入输出
16、工作方式。在此方式下,端口被分成组和组,组由端口和端口的上半部组成,口做输入输出口,口的上半部四位做口的控制信号或状态信号。组由端口和端口的下半部组成,口做输入输出口,口的下半部四位做口的控制信号或状态信号。在方式1下,端口输出和输入的数据均可锁存。,方式1输入时,口控制联络信号如图7-15,控制信号的功能如下:,图7-15 方式1输入口控制联络信号图,选通输入信号,低电平有效。此信号是外设送来的输入选通信号,当其有效时将输入数据输入到输入锁存器锁存。,IBF:输入缓冲器满信号,高电平有效,当其有效时表示输入数据已送入输入锁存器,它由输入选通信号的下降沿置位,当输入数据被CPU读走时,由读信号
17、的上升沿复位。,INTR:中断申请信号,高电平有效。在中断方式下,这是8255A向CPU发出的中断申请信号,当 、IBF和INTE(中断允许)均为高电平时INTR有效,INTR由CPU读信号的下降沿复位。当单片机与8255A联接且工作在中断方式下时,应注意单片机的中断输入信号为低电平有效,而8255A的中断申请信号为高电平有效。,INTE:中断允许控制位。当INTE=1时允许8255A中断,当INTE=0时禁止8255A中断。INTE由PC口的PC4(INTE A)和PC2(INTE B)的置位和复位来控制。,工作方式2(双向传输方式) 仅A口有此工作方式。在此方式下A口成为双向数据式端口,可
18、发送数据,也可接受数据。在方式2下C口的高五位作为A口的控制联络线,控制联络线的功能见图7-17。,图7-17 方式1 C口输出控制联络信号图,:选通输入信号,低电平有效。此信号是外设送来的输入选通信号,当其有效时将输入数据输入到输入锁存器锁存。,IBF:输入缓冲器满信号,高电平有效,当其有效时表示输入数据已送入输入锁存器。,INTR:中断申请信号,高电平有效。在中断方式下,输出数据被外设取走或输入数据缓冲器满时向CPU发出的中断申请信号。,INTE1:输出中断允许控制位。当INTE1=1时允许8255A输出中断,当INTE1=0时禁止8255A输出中断。INTE1由PC口的PC6控制。,OB
19、F:输出缓冲器满信号,低电平有效。此信号为8255A给外设的联络信号,当其有效时,表示CPU已将输出数据送入A口输出缓冲器,外设可从A口取走输出数据。,ACK:外设响应应答信号,低电平有效。此信号是外设给8255A的应答信号,当其有效时,A口三态缓冲器输出数据。,INTE2:输入中断允许控制位。当INTE2=1时允许8255A输入中断,当INTE2=0时禁止8255A输入中断。INTE2由PC口的PC4控制。,当A口工作于方式2时,B口可工作于方式0或方式1,C口的低三位用于B口的控制联络线。 C口除工作于方式0和做A口及B口的控制联络线外,还可工作在位控方式下按位输出数据。,38031单片机
20、与8255A的接口,由于8255A是标准的通用可编程I/O口,因此单片机与8255A的接口电路相当简单,单片机的数据线与8255A的数据线对应相连;8255A的地址线A0、A1连接到单片机的地址总线A0、A1上,8255A的片选线连接到单片机的地址线的高位上;单片机的读写线对应地连接到8255A的读写线上;其他口线的连接取决于8255A的工作方式。,图7-18为8255A与8031单片机的一种接口电路,8255A工作于方式0:基本的输入输出方式。,8255的口地址为:PA口 7FFCH PB口 7FFDH ; PC口 7FFEH ;控制口 7FFFH,图7-18 8255A与8031的接口,设
21、8255的A口作输出,B口作输入,其控制程序如下:,PIO: MOV DPTR,#7FFFH ;指向控制口 MOV A,#10000001B ;方式控制字,A口输出,B口输入 MOVX DPTR,A ;输出控制字到8255控制口 MOV DPTR,#7FFCH ;指向A口 MOV A,R0 ;取输出数据到累加器A MOVX DPTR,A ;输出数据到A口 INC DPTR ;指向B口 MOVX A,DPTR ;从B口输入数据到累加器A MOV R1,A ;存数据 , 8155可编程并行I/O扩展接口,8155/8156是Intel公司生产的片内含有256个字节RAM,一个十四位定时/计数器和两
22、个8位、一个六位可编程并行I/O口的多功能通用接口芯片。8155与8156的功能相同,所不同的是8155的片选信号为低电平有效,而8156的片选信号为高电平有效。8155/8156的管脚排列见图7-19。,1.引脚功能简介,8155/8156可编程并行接口芯片单一+5V电源供电,其管脚由控制引脚、I/O口引脚、时钟输入输出引脚等部分组成,其功能如下:,AD0AD7(1219脚):地址/数据总线。单片机与8155/8156间的数据、地址、控制命令状态信息均通过此组端口进行传输的。,CE(8脚):片选信号,8155低电平有效,8156高电平有效。,RD(9脚):存储器读信号,低电平有效。,WR(1
23、0脚):存储器写信号,低电平有效。,ALE(11脚):地址及片选信号锁存信号,高电平有效。当其为高时8155/8156接收地址及片选信号,高电平的下降沿锁存地址及片选信号。,REST(4脚):复位信号线,高电平有效。,TIMIN(3脚):定时/计数器脉冲信号输入端。,IM OUT(6脚):定时/计数器输出端。,PA0PA7(2128脚):A口数据输入/输出线。,PB0PB7(2936脚):B口数据输入/输出线。,PC0PC5(3739,1,2,5脚):C口数据输入/输出线及控制联络线。,IO/M(7脚):I/O口与存储器RAM选择线。当其为高电平时选择I/O口;当其为低电平时选择存储器RAM。
24、8155/8156的地址分配见表7-4。,表7-4 8155/8156地址分配表,2.8155/8156工作方式,8155/8156的工作方式由8155/8156的内部控制寄存器的内容决定。控制寄存器只能写入不能读出,控制字的格式为:,TM2 TM1:计数器启停控制位 0 0 :不影响计数器操作。 0 1 :计数器停止计数工作。 1 0 :计数长度减为0时停止计数。 1 1 :启动计数器工作。当方式和计数值设定后立即启动计数器;若计数器正在计数则计数结束后,按新的工作方式和计数值进行计数。,IEB:B口中断控制位。IEB=1允许B口中断,IEB=0禁止B口中断。,IEA:A口中断控制位。IEA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 单片机 接口 技术
链接地址:https://www.31doc.com/p-2913068.html