1、单片机原理及接口技术单片机原理及接口技术第第8章并行接口扩展章并行接口扩展本章学习要求:本章学习要求:1.1.掌握单片机最小应用系统;掌握单片机最小应用系统;2.2.掌握单片机并行扩展总线;掌握单片机并行扩展总线;3.3.掌握并行扩展的片选编址方法;掌握并行扩展的片选编址方法;4.4.掌握外部存储器的并行扩展;掌握外部存储器的并行扩展;5.5.掌握掌握I/OI/O口的并行扩展。口的并行扩展。第八章第八章 并行接口扩展并行接口扩展 但在有些应用中,片内的这些硬件电路还不够用,需要在但在有些应用中,片内的这些硬件电路还不够用,需要在单片机外增加新的电路(芯片),也就是所谓的扩展。单片机外增加新的电
2、路(芯片),也就是所谓的扩展。单片机内部的硬件电路已基本上构成具有基本形式的微机单片机内部的硬件电路已基本上构成具有基本形式的微机系统,可以满足许多控制场合的需要。这些电路包括定时器、系统,可以满足许多控制场合的需要。这些电路包括定时器、中断、串行接口、内部数据存储器、外部程序存储器等。中断、串行接口、内部数据存储器、外部程序存储器等。例如,对于例如,对于MP3来讲,由于需要存储大量的歌曲,仅仅使用来讲,由于需要存储大量的歌曲,仅仅使用128字节片内数据存储器是不够用的,就需要在外部扩展数据存字节片内数据存储器是不够用的,就需要在外部扩展数据存储器。储器。本章安排:本章安排:8-1 MCS-5
3、1单片机最小应用系统单片机最小应用系统 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 M
4、CS-51单片机最小应用系统单片机最小应用系统8.1 MCS-51单片机最小应用系统单片机最小应用系统3.关于复位电路关于复位电路两种复位电路两种复位电路上电复位上电复位按键复位按键复位复位电路在复位电路在RESET引脚上产生引脚上产生10mS以上的高电平。以上的高电平。复位电路目的复位电路目的PC指针指向程序存储器的指针指向程序存储器的0000H单元单元SFR全部置固定的初始值全部置固定的初始值SP 07HP0 FFHP1 FFHP2 FFHP3 FFH其它其它 00H8.1 MCS-51单片机最小应用系统单片机最小应用系统振荡周期,大小由外接晶体决定。如外接晶体为12MHz,则振荡频率(f
5、osc)为12MHz,振荡周期约为83.3ns外接晶体及电容内部振荡电路内部时钟分频电路状态周期,由fosc二分频获得。如focs为12MHz,则状态周期频率为6MHz.振荡周期约为167nsALE,地址锁存信号由fosc六分频得到。如focs为12MHz,则ALE脚输出脉冲频率为2MHz.脉冲周期为500ns机器周期,由fosc十二分频获得。如focs为12MHz,则机器周期频率为1MHz.机器周期为1us4.关于时钟电路关于时钟电路8.1 MCS-51单片机最小应用系统单片机最小应用系统fosc两个振荡周期构成一个状态周期;六个状态周期构成一个机器周期。8.1 MCS-51单片机最小应用系
6、统单片机最小应用系统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)A
7、LE:地址锁存信号,锁存:地址锁存信号,锁存P0口提供的口提供的A7:0;/WR:外部数据存储器写信号;:外部数据存储器写信号;/RD:外部数据存储器读信号;:外部数据存储器读信号;/PSEN:外部程序存储器读信号。:外部程序存储器读信号。8.2.1 MCS-51单片机的外部并行总线单片机的外部并行总线8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能写时序写时序MOV A,#4FHMOV DPTR,#300DHMOVX DPTR,A0DH30H4FH启动写操作启动写操作结束写操作结束写操作写入时间写入时间t指令指令-端口端口-时序时序8.2 MCS-51单片机的外部扩展性能单片机的
8、外部扩展性能读时序读时序已知已知300DH单元内数据为单元内数据为3FHMOV DPTR,#300DHMOVX A,DPTR0DH30H外部外部RAM输出输出300DH单元数据单元数据停止输出数据停止输出数据指令指令-端口端口-时序时序8D锁存器锁存器74HC3738.2.2 地址锁存地址锁存(P0口地址数据复用信号的分离口地址数据复用信号的分离)8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能LE信号为高,输入随输出变化;信号为高,输入随输出变化;LE信号为低,输出保持不变。信号为低,输出保持不变。什么是什么是D锁发器锁发器?8.2 MCS-51单片机的外部扩展性能单片机的外部扩
9、展性能外部总线写时序外部总线写时序8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能8.2.3 扩展并行接口的片选方法(寻址方式)扩展并行接口的片选方法(寻址方式)8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能6264 8KbyteA12:062648KbyteA12:062648KbyteA12:062648KbyteA12:0/WR/RDA15:0D7:0/CS/CS/CS/CSIIIIIIIV8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能一一 线选法寻址线选法寻址直接将未使用的高位地址线连到芯片的片选信号上。直接将未使用的高位地址线连到芯片的片选信号
10、上。该方法具有电路简单的特点,仅适合简单系统的扩展。该方法具有电路简单的特点,仅适合简单系统的扩展。A15/CS-IA14/CS-IIA13/CS-IIIA12:0 芯片寻址空间片选地址011xI6000H-7FFFH6000H101xIIA000H-BFFFHA000H110 xIII C000H-DFFFHC000H在编排片选地址在编排片选地址时时,将未参与片选将未参与片选的地址线赋的地址线赋0。选择芯片选择芯片选择单元选择单元二二 译码法译码法8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能将未使用的高位地址进行译码,以其译码输出作为扩展将未使用的高位地址进行译码,以其译码输
11、出作为扩展芯片的片选信号片的片选信号上。芯片的片选信号片的片选信号上。该方法是最常用的寻址方法,能有效地利用存储空间,该方法是最常用的寻址方法,能有效地利用存储空间,适用于大容量、多芯片系统的扩展。适用于大容量、多芯片系统的扩展。译码器?译码器?3-8译码器译码器74HC13874HC138真值表:真值表:8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能8.2 MCS-51单片机的外部扩展性能单片机的外部扩展性能CBA 芯片芯片 片选地址片选地址寻址空间寻址空间111/CS-IV E000H (E000H-FFFF)110/CS-III C000H (C000H-DFFF)101/
12、CS-II A000H (A000H-BFFF)100/CS-I 8000H(8000H-9FFF)/CS-I/CS-II/CS-III/CS-IV8.3 外部存储器的扩展外部存储器的扩展8.3.1 存储器分类存储器分类静态随机存储器SRAM,可写可读,掉电数据丢失6116,6264,62256动态随机存储器DRAM,可写可读,需要动态刷新,掉电数据丢失掩膜只读存储器ROM,数据由半导体工厂写入,定制一次可编程只读存储器OTP,只允许写入一次可擦除可编程只读存储器EPROM,可写入,需要紫外线擦除2716,2732,2764,27256电可擦除可编程只读存储器EEPROM,可写入,可擦除281
13、6,2817,2864闪存FLASH ROM,可写入,可擦除AT29C010,SST39F080,SST39F0168.3 外部存储器的扩展外部存储器的扩展随机存储器RAMRandom Access Memory只读存储器ROMRead Only Memory静态随机存储器SRAMStatic RAM动态随机存储器DRAMDynamic RAMEPROMErasable Programmable ROMEEROMElectrically Erasable Programmable ROM闪速存储器Flash ROM表:存储器常用术语8.3 外部存储器的扩展外部存储器的扩展8.3.2 外部数据存
14、储器的扩展外部数据存储器的扩展一一.SRAM芯片芯片6264只要保持芯片通电只要保持芯片通电,存储的内容就永久保持存储的内容就永久保持断电,存储的内容丢失断电,存储的内容丢失存储容量存储容量8KByte13根地址线,根地址线,A12:0寻址空间寻址空间0000H-1FFFH8位数据线,位数据线,D7:04根控制线根控制线/CS1:片选信号:片选信号1CS2:片选信号片选信号2/WE:写信号:写信号/OE:读信号:读信号二二.扩展扩展6264的电路连接的电路连接8.3 外部存储器的扩展外部存储器的扩展8.3 外部存储器的扩展外部存储器的扩展线选法线选法C000H-DFFFHA000H-BFFFH
15、8.3 外部存储器的扩展外部存储器的扩展片选地址片选地址:Y0:0000HY1:2000HY2:4000HY3:6000HY4:8000HY5:A000HY6:C000HY7:E000H译码法译码法0000H-1FFFH2000H-3FFFH8.3.3 外部程序存储器的扩展外部程序存储器的扩展8.3 外部存储器的扩展外部存储器的扩展一一.EPROM芯片芯片2725615根地址线,根地址线,A14:0寻址空间寻址空间0000H-7FFFH8位数据线,位数据线,D7:02根控制线根控制线/CE:片选信号:片选信号/OE:读信号:读信号需要专用编程器烧写程序需要专用编程器烧写程序;程序擦除需要专用紫
16、外线灯照射程序擦除需要专用紫外线灯照射;掉电数据不会丢失掉电数据不会丢失;单片机只能对单片机只能对EPROM进行读操作进行读操作;存储容量存储容量32KByte.二二.扩展扩展27256的电路连接的电路连接8.3 外部存储器的扩展外部存储器的扩展8.3 外部存储器的扩展外部存储器的扩展8.3.4 存储器小结存储器小结内部数据存储器00H-FFHMOV指令外部数据存储器0000H-FFFFHMOVX指令用/WR、/RD选通内部程序存储器0000H-FFFFHMOVC指令/EA接高电平外部程序存储器0000H-FFFFHMOVC指令/EA接低电平用/PSEN选通8.4 并行并行I/O口的扩展口的扩
17、展为什么要扩展为什么要扩展I/O口?口?如何扩展如何扩展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引脚图、逻辑图、真值表引
18、脚图、逻辑图、真值表74HC32引脚图、逻辑图、真值表引脚图、逻辑图、真值表8.4 并行并行I/O口的扩展口的扩展8.4 并行并行I/O口的扩展口的扩展8.4.2 可编程可编程I/O口的扩展口的扩展常用可编程外围扩展芯片:常用可编程外围扩展芯片:型号型号名称名称说明说明8155可编程可编程RAM/IO扩展接口扩展接口22个个I/O口口,256B的的SRAM,14位定时器位定时器/计数器计数器8255可编程外围并行接口可编程外围并行接口24个个I/O口口8251可编程串行通讯接口可编程串行通讯接口扩展异步串行接口扩展异步串行接口8253可编程定时可编程定时/计数器计数器扩展定时器扩展定时器827
19、9可编程键盘可编程键盘/显示接口显示接口扩展键盘和显示接口扩展键盘和显示接口1.8155内部结构与引脚内部结构与引脚8.4 并行并行I/O口的扩展口的扩展AD7AD0:地址数据线(地址数据复用):地址数据线(地址数据复用)/CE:片选信号,低电平选中:片选信号,低电平选中/WR:写信号,低电平有效:写信号,低电平有效/RD:读信号,低电平有效:读信号,低电平有效ALE:地址锁存信号:地址锁存信号IO/M:IO接口与接口与SRAM选择信号选择信号1选择选择IO接口,接口,0选择选择SRAMPA7PA0:端口:端口APB7PB0:端口:端口BPC5PC0:端口:端口CRESET:复位信号:复位信号
20、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位参与译码的地址为位参与译码的地址为101;IO/M接接A8,应该为低电平;,应该为低电平;因此因此,片选地址为片选地址为101x_xxx0_xxxx_xxxxB,A000H;前提为片选按照前页的电路连接。前提为片
21、选按照前页的电路连接。可寻址空间可寻址空间256字节:字节:101x_xxx0_0000_0000B101x_xxx0_1111_1111BA000HA0FFH前提为片选按照前页的电路连接。前提为片选按照前页的电路连接。例例5.1 将立即数将立即数32H存入存入8155中中SRAM的第的第5FH单元中。单元中。MOV DPTR,-;字节地址?字节地址?MOV A,#32HMOVX DPTR,A8.4 并行并行I/O口的扩展口的扩展4.8155芯片内芯片内IO口的使用口的使用(前提为电路按照前页的电路连接)(前提为电路按照前页的电路连接)端口地址端口地址/CE接接/Y5,因此高,因此高3位参与译
22、码的地址为位参与译码的地址为101;IO/M接接A8,应该为高电平;,应该为高电平;因此片选地址为因此片选地址为101x_xxx1_xxxx_xxxxB,A100H,可寻址空间可寻址空间256字节:字节:A100HA1FFH实际使用空间实际使用空间A100HA105H,分别对应分别对应6个寄存器如下表所示。个寄存器如下表所示。AD7AD0寄存器寄存器口地址口地址A7 A6 A5 A4 A3 A2 A1 A0 x x x x x 0 0 0命令寄存器命令寄存器A100H:101x_xxx1_xxxx_x000 x x x x x 0 0 1A口(口(PA7PA0)A101H:101x_xxx1_
23、xxxx_x001x x x x x 0 1 0B口(口(PB7PB0)A102H:101x_xxx1_xxxx_x010 x x x x x 0 1 1C口(口(PC5PC0)A103H:101x_xxx1_xxxx_x011x x x x x 1 0 0定时器低定时器低8位位-x x x x x 1 0 1定时器高定时器高6位位-如何确定口地址?8.4 并行并行I/O口的扩展口的扩展命令寄存器定义:命令寄存器定义:TM2TM1IEB IEA C2C1 B AD7D0A:定义:定义PA口方向,口方向,0定义定义PA口输入,口输入,1定义定义PA口输出;口输出;B:定义:定义PB口方向,口方向
24、,0定义定义PB口输入,口输入,1定义定义PB口输出;口输出;C2C1:定义:定义PC口方向,口方向,00定义定义PC口输入,口输入,11定义定义PC口输出,口输出,01和和10定义定义PC口为其它功能。口为其它功能。8.4 并行并行I/O口的扩展口的扩展A口寄存器与引脚对应关系口寄存器与引脚对应关系PA7PA6PA5PA4PA3PA2PA1PA0D7D0B口寄存器与引脚对应关系口寄存器与引脚对应关系PB7PB6PB5PB4PB3PB2PB1PB0D7D0C口寄存器与引脚对应关系口寄存器与引脚对应关系-PC5PC4PC3PC2PC1PC0D7D08.4 并行并行I/O口的扩展口的扩展例例5.2
25、 假定选择假定选择8155的的PA口为输出口,口为输出口,PB口为输入口,口为输入口,PC口为输出口,电口为输出口,电路连接如下图所示。(路连接如下图所示。(1)写出命令寄存器、)写出命令寄存器、PA口、口、PB口、口、PC口的口地址;口的口地址;(2)写出命令寄存器的命令字及初始化子程序;()写出命令寄存器的命令字及初始化子程序;(3)编写子程序,将立即)编写子程序,将立即数数53H输出到输出到PA口,立即数口,立即数2CH输出到输出到PC口,将口,将PB口的状态读入并存放到口的状态读入并存放到外部数据存储器的外部数据存储器的E000H单元中。单元中。(2)命令字为)命令字为0000_110
26、1B,PA口输出口输出,PB口输入,口输入,PC口输出口输出;子程序子程序1:8155初始化程序初始化程序;占用资源:占用资源:AINIT8155:MOV DPTR,#0F000H ;指针指向指针指向8155命令寄存器命令寄存器 MOV A,#0DH ;命令字命令字 MOVXDPTR,A ;初始化命令寄存器初始化命令寄存器 RET8.4 并行并行I/O口的扩展口的扩展(1)F000H,F001H,F002H,F003H命令寄存器:命令寄存器:1111_xxxx_xxxx_x000BPA口:口:1111_xxxx_xxxx_x001BPB口:口:1111_xxxx_xxxx_x010BPC口:口
27、: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口口 MOVX A,DPTR ;将;将PB口状态读入口状态读入A中中MOV DPTR,#E000H ;指向;指向E000H单元单元MOVX DPTR,A ;数据保存;数据保存RET8.4 并行并行I/O口的扩展口的扩展本章
28、小节本章小节1、明确最小应用系统组成;、明确最小应用系统组成;2、外部并行总线组成、读写时序、地址锁存、片选方式。、外部并行总线组成、读写时序、地址锁存、片选方式。3、外部数据存储器的扩展、外部程序存储器的扩展。、外部数据存储器的扩展、外部程序存储器的扩展。4、并行、并行I/O口的扩展。口的扩展。作业作业设计一个以设计一个以AT89S51单片机为中心的系统单片机为中心的系统,要求用要求用1片片6264扩扩展展8K字节的外部数据存储器字节的外部数据存储器,用用1片片8155扩展扩展16个输出口个输出口,6个输入口。个输入口。(1)试画出电路连接图;)试画出电路连接图;(2)写出)写出6264的片
29、选地址和寻址空间;的片选地址和寻址空间;(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个地址单元中个地址单元中。