《第8章并行接口扩展.ppt》由会员分享,可在线阅读,更多相关《第8章并行接口扩展.ppt(48页珍藏版)》请在三一办公上搜索。
1、单片机原理及接口技术,第8章并行接口扩展,本章学习要求:,1.掌握单片机最小应用系统;2.掌握单片机并行扩展总线;3.掌握并行扩展的片选编址方法;4.掌握外部存储器的并行扩展;5.掌握I/O口的并行扩展。,第八章 并行接口扩展,但在有些应用中,片内的这些硬件电路还不够用,需要在单片机外增加新的电路(芯片),也就是所谓的扩展。,单片机内部的硬件电路已基本上构成具有基本形式的微机系统,可以满足许多控制场合的需要。这些电路包括定时器、中断、串行接口、内部数据存储器、外部程序存储器等。,例如,对于MP3来讲,由于需要存储大量的歌曲,仅仅使用128字节片内数据存储器是不够用的,就需要在外部扩展数据存储器
2、。,本章安排:8-1 MCS-51单片机最小应用系统 8-2 MCS-51单片机的外部扩展性能 8-3 外部存储器的扩展 8-4 并行I/O口的扩展,8.1 MCS-51单片机最小应用系统,8.1 MCS-51单片机最小应用系统,1.89S51单片机的内部电路:4KB片内程序存储器128字节片内数据存储器2个定时器1个全双工异步串行通讯接口,2.89S51单片机最小系统需要的外部电路:时钟电路复位电路,8.1 MCS-51单片机最小应用系统,8.1 MCS-51单片机最小应用系统,3.关于复位电路两种复位电路上电复位按键复位复位电路在RESET引脚上产生10mS以上的高电平。复位电路目的PC指
3、针指向程序存储器的0000H单元SFR全部置固定的初始值SP 07HP0 FFHP1 FFHP2 FFHP3 FFH其它 00H,8.1 MCS-51单片机最小应用系统,如外接晶体为12MHz,则振荡频率(fosc)为12MHz,振荡周期约为83.3ns,如focs为12MHz,则状态周期频率为6MHz.振荡周期约为167ns,如focs为12MHz,则ALE脚输出脉冲频率为2MHz.脉冲周期为500ns,如focs为12MHz,则机器周期频率为1MHz.机器周期为1us,4.关于时钟电路,8.1 MCS-51单片机最小应用系统,fosc,两个振荡周期构成一个状态周期;六个状态周期构成一个机器
4、周期。,8.1 MCS-51单片机最小应用系统,8.2 MCS-51单片机的外部扩展性能,8.2 MCS-51单片机的外部扩展性能,8.2 MCS-51单片机的外部扩展性能,地址总线(AB-AddressBus)地址总线宽度16bit(A15:0),寻址空间64KByte;P0口提供低8位地址A7:0;P2口提供高8位地址A15:8;数据总线(DB-DataBus)数据总线宽度为8bit(D7:0);P0口提供8位数据总线;控制总线(CB-ContolBus)ALE:地址锁存信号,锁存P0口提供的A7:0;/WR:外部数据存储器写信号;/RD:外部数据存储器读信号;/PSEN:外部程序存储器读
5、信号。,8.2.1 MCS-51单片机的外部并行总线,8.2 MCS-51单片机的外部扩展性能,写时序,MOV A,#4FHMOV DPTR,#300DHMOVX DPTR,A,0DH,30H,4FH,启动写操作,结束写操作,写入时间t,指令-端口-时序,8.2 MCS-51单片机的外部扩展性能,读时序,已知300DH单元内数据为3FHMOV DPTR,#300DHMOVX A,DPTR,0DH,30H,外部RAM输出300DH单元数据,停止输出数据,指令-端口-时序,8D锁存器74HC373,8.2.2 地址锁存(P0口地址数据复用信号的分离),8.2 MCS-51单片机的外部扩展性能,LE
6、信号为高,输入随输出变化;LE信号为低,输出保持不变。,什么是D锁发器?,8.2 MCS-51单片机的外部扩展性能,外部总线写时序,8.2 MCS-51单片机的外部扩展性能,8.2.3 扩展并行接口的片选方法(寻址方式),8.2 MCS-51单片机的外部扩展性能,/WR,/RD,A15:0,D7:0,8.2 MCS-51单片机的外部扩展性能,一 线选法寻址,直接将未使用的高位地址线连到芯片的片选信号上。该方法具有电路简单的特点,仅适合简单系统的扩展。,在编排片选地址时,将未参与片选的地址线赋0。,选择芯片,选择单元,二 译码法,8.2 MCS-51单片机的外部扩展性能,将未使用的高位地址进行译
7、码,以其译码输出作为扩展芯片的片选信号片的片选信号上。该方法是最常用的寻址方法,能有效地利用存储空间,适用于大容量、多芯片系统的扩展。,译码器?,3-8译码器74HC138,74HC138真值表:,8.2 MCS-51单片机的外部扩展性能,8.2 MCS-51单片机的外部扩展性能,CBA 芯片 片选地址寻址空间111/CS-IV E000H(E000H-FFFF)110/CS-III C000H(C000H-DFFF)101/CS-II A000H(A000H-BFFF)100/CS-I 8000H(8000H-9FFF),8.3 外部存储器的扩展,8.3.1 存储器分类,8.3 外部存储器的
8、扩展,表:存储器常用术语,8.3 外部存储器的扩展,8.3.2 外部数据存储器的扩展,一.SRAM芯片6264,只要保持芯片通电,存储的内容就永久保持断电,存储的内容丢失存储容量8KByte,13根地址线,A12:0寻址空间0000H-1FFFH8位数据线,D7:04根控制线/CS1:片选信号1CS2:片选信号2/WE:写信号/OE:读信号,二.扩展6264的电路连接,8.3 外部存储器的扩展,8.3 外部存储器的扩展,线选法,C000H-DFFFH,A000H-BFFFH,8.3 外部存储器的扩展,片选地址:Y0:0000HY1:2000HY2:4000HY3:6000HY4:8000HY5
9、:A000HY6:C000HY7:E000H,译码法,0000H-1FFFH,2000H-3FFFH,8.3.3 外部程序存储器的扩展,8.3 外部存储器的扩展,一.EPROM芯片27256,15根地址线,A14:0寻址空间0000H-7FFFH8位数据线,D7:02根控制线/CE:片选信号/OE:读信号,需要专用编程器烧写程序;程序擦除需要专用紫外线灯照射;掉电数据不会丢失;单片机只能对EPROM进行读操作;存储容量32KByte.,二.扩展27256的电路连接,8.3 外部存储器的扩展,8.3 外部存储器的扩展,8.3.4 存储器小结,8.4 并行I/O口的扩展,为什么要扩展I/O口?如何
10、扩展I/O口:外部I/O口与外部数据存储器统一编址。,8.4 并行I/O口的扩展,对于功能复用引脚,一旦用作第二功能,该引脚就不能再用做第一功能。,8.4 并行I/O口的扩展,使用8D锁存器74HC373扩展8位输出接口;使用8位三态缓冲器74HC244扩展8位输入接口.,8.4.1 简单并行I/O口扩展,8.4 并行I/O口的扩展,口地址,口地址,8.4 并行I/O口的扩展,74HC02引脚图、逻辑图、真值表,74HC32引脚图、逻辑图、真值表,8.4 并行I/O口的扩展,8.4 并行I/O口的扩展,8.4.2 可编程I/O口的扩展,常用可编程外围扩展芯片:,1.8155内部结构与引脚,8.
11、4 并行I/O口的扩展,AD7AD0:地址数据线(地址数据复用)/CE:片选信号,低电平选中/WR:写信号,低电平有效/RD:读信号,低电平有效ALE:地址锁存信号IO/M:IO接口与SRAM选择信号1选择IO接口,0选择SRAMPA7PA0:端口APB7PB0:端口BPC5PC0:端口CRESET:复位信号VCC:电源+5VVSS:地,8.4 并行I/O口的扩展,8.4 并行I/O口的扩展,2.8155与MCS-51单片机的连接,8.4 并行I/O口的扩展,3.8155芯片内SRAM的使用(前提为片选按照前页的电路连接)256字节片内SRAM端口地址:/CE脚接/Y5,高3位参与译码的地址为
12、101;IO/M接A8,应该为低电平;因此,片选地址为101x_xxx0_xxxx_xxxxB,A000H;前提为片选按照前页的电路连接。可寻址空间256字节:101x_xxx0_0000_0000B101x_xxx0_1111_1111BA000HA0FFH前提为片选按照前页的电路连接。例5.1 将立即数32H存入8155中SRAM的第5FH单元中。MOV DPTR,-;字节地址?MOV A,#32HMOVX DPTR,A,8.4 并行I/O口的扩展,4.8155芯片内IO口的使用(前提为电路按照前页的电路连接)端口地址/CE接/Y5,因此高3位参与译码的地址为101;IO/M接A8,应该为
13、高电平;因此片选地址为101x_xxx1_xxxx_xxxxB,A100H,可寻址空间256字节:A100HA1FFH实际使用空间A100HA105H,分别对应6个寄存器如下表所示。,如何确定口地址?,8.4 并行I/O口的扩展,命令寄存器定义:,D7,D0,A:定义PA口方向,0定义PA口输入,1定义PA口输出;B:定义PB口方向,0定义PB口输入,1定义PB口输出;C2C1:定义PC口方向,00定义PC口输入,11定义PC口输出,01和10定义PC口为其它功能。,8.4 并行I/O口的扩展,A口寄存器与引脚对应关系,D7,D0,B口寄存器与引脚对应关系,D7,D0,C口寄存器与引脚对应关系
14、,D7,D0,8.4 并行I/O口的扩展,例5.2 假定选择8155的PA口为输出口,PB口为输入口,PC口为输出口,电路连接如下图所示。(1)写出命令寄存器、PA口、PB口、PC口的口地址;(2)写出命令寄存器的命令字及初始化子程序;(3)编写子程序,将立即数53H输出到PA口,立即数2CH输出到PC口,将PB口的状态读入并存放到外部数据存储器的E000H单元中。,(2)命令字为0000_1101B,PA口输出,PB口输入,PC口输出;子程序1:8155初始化程序;占用资源:AINIT8155:MOV DPTR,#0F000H;指针指向8155命令寄存器 MOV A,#0DH;命令字 MOV
15、XDPTR,A;初始化命令寄存器 RET,8.4 并行I/O口的扩展,(1)F000H,F001H,F002H,F003H,命令寄存器:1111_xxxx_xxxx_x000BPA口:1111_xxxx_xxxx_x001BPB口:1111_xxxx_xxxx_x010BPC口:1111_xxxx_xxxx_x011B,(3)8155OPR:MOV DPTR,#F001H;指针指向PA口MOV A,#53HMOVX DPTR,A;将53H输出到PA口MOV DPTR,#F003H;指针指向PC口MOV A,#2CH MOVX DPTR,A;将2CH写入PC口DEC DPL;指针指向PB口 MO
16、VX A,DPTR;将PB口状态读入A中MOV DPTR,#E000H;指向E000H单元MOVX DPTR,A;数据保存RET,8.4 并行I/O口的扩展,本章小节,1、明确最小应用系统组成;2、外部并行总线组成、读写时序、地址锁存、片选方式。3、外部数据存储器的扩展、外部程序存储器的扩展。4、并行I/O口的扩展。,作业,设计一个以AT89S51单片机为中心的系统,要求用1片6264扩展8K字节的外部数据存储器,用1片8155扩展16个输出口,6个输入口。(1)试画出电路连接图;(2)写出6264的片选地址和寻址空间;(3)编写子程序,将内部数据存储器的30H-5FH单元内的数据保存到6264的低48个地址单元中;(4)写出8155命令寄存器、PA口、PB口、PC口的口地址,以及命令字。(5)编写8155的初始化子程序。,作业,2 假定选择8155的PA口为输出口,PB口为输出口,PC口为输入口,电路连接如下图所示。(1)写出命令寄存器、PA口、PB口、PC口的口地址;(2)写出命令寄存器的命令字及初始化子程序;(3)编写子程序,将8155内部 SRAM的第10和第11个地址单元的数据分别输出到PA口和PB口,PC口的状态读入并保存到8155内部 SRAM的第100个地址单元中。,