1、单片机原理及应用单片机原理及应用北京化工大学北京化工大学信息科学与技术学院信息科学与技术学院主讲教师:郭青主讲教师:郭青E-mail: 第六章单片机系统的扩展对于简单的应用场合,对于简单的应用场合,80C51的最小系统就能满足要求;的最小系统就能满足要求;对于复杂的应用场合,就需要利用单片机的扩展功能,构对于复杂的应用场合,就需要利用单片机的扩展功能,构成功能强,规模较大的系统。成功能强,规模较大的系统。系统扩展是指单片机内部各功能部件不能满足应用系统要系统扩展是指单片机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。求时,在片外连接相应的外围芯片以满足应用系
2、统要求。外部程序存储器外部程序存储器ROM / EPROM的扩展的扩展外部数据存储器外部数据存储器RAM的扩展的扩展I/O接口的扩展接口的扩展中断系统扩展中断系统扩展其它特殊功能扩展其它特殊功能扩展扩展内容扩展内容第六章第六章 单片机系统的扩展单片机系统的扩展一、一、80C5180C51的总线结构的总线结构当单片机进行外部并行扩展时,其外部连线就成为一当单片机进行外部并行扩展时,其外部连线就成为一般微型机的三总线结构形式般微型机的三总线结构形式6.16.1 概述概述扩展方法扩展方法并行扩展并行扩展串行扩展串行扩展利用三总线结构利用三总线结构利用利用SPI三线总线和三线总线和I2C双总线双总线8
3、0C5180C51总线结构总线结构ALE:当访问外部存储器时,:当访问外部存储器时,ALE信号的信号的负跳变负跳变将将P0口口上的上的低低8位地址送入地址锁存器位地址送入地址锁存器PSEN:在访问:在访问外部程序存储器外部程序存储器读取指令码时,每个机器读取指令码时,每个机器周期产生两次周期产生两次PSEN信号,与地址信号配合,选通相应的信号,与地址信号配合,选通相应的外部程序存储单元,读取指令码,外部程序存储单元,读取指令码,指令码从指令码从P0口输入口输入WR、RD:外部数据存储器外部数据存储器读、写选通,读、写选通,低电平有效低电平有效。由。由MOVX指令产生指令产生EA:访问内部或外部
4、程序存储器选择信号。:访问内部或外部程序存储器选择信号。EA=1,访问,访问内部程序存储器,当内部程序存储器,当PC超过片内存储器空间,自动转向外超过片内存储器空间,自动转向外部;部;EA=0,访问外部程序存储器。,访问外部程序存储器。二、外部串行扩展性能(略)二、外部串行扩展性能(略)控制总线作用简述控制总线作用简述一、外部程序存储器的扩展一、外部程序存储器的扩展单片微机的内外程序存储器最大可扩展至单片微机的内外程序存储器最大可扩展至64KB扩展芯片可采用扩展芯片可采用EPROM1、扩展的基本方法、扩展的基本方法地址线、数据线对应相连地址线、数据线对应相连单片机的单片机的PSEN线与扩展芯片
5、的线与扩展芯片的MEMR(OE)线相连)线相连扩展芯片的扩展芯片的片选线可接地片选线可接地或与或与线性选择线线性选择线或或译码输出线译码输出线相连相连ALE与地址锁存器选通与地址锁存器选通相连相连EA接地或接接地或接+5V6.2 单片机的外部并行扩展程序存储器扩展框图程序存储器扩展框图EA接地,外部程序存储器地址从接地,外部程序存储器地址从0000H开始开始2、锁存器、锁存器74HC373:锁存缓冲器:锁存缓冲器D0 D7:数据输入Q0 Q7:数据输出LE:锁存允许端 :输出允许端OE74HC373真值表真值表74HC373逻辑图逻辑图单片机外部程序存储器取指单片机外部程序存储器取指 操作时序
6、操作时序s1s2s3s4s5s6s1s2s3s4s5s6机器周期机器周期1机器周期机器周期2XTAL1ALEPSENPCHPCHP2PCHPCL指令指令P0PCL指令指令PCL指令指令P2口连续输出口连续输出PC高高8位地址,剩余位线不能再作为位地址,剩余位线不能再作为I/O口使用口使用80C5180C51扩展扩展27322732为程序存储器为程序存储器27324K8位EPROM12位地址线8位数据线片选线CE输出允许端OE2732的地址范围的地址范围1000H1FFFHVCCEA P2.0P2.3 ALE80C51 P0GND PSENA8A11 VCC2732A0A7 CEO0O7 GND
7、 OE+5V LE VCC Q074HC373 Q7OE D0D7+5V+5V8884EA上拉到上拉到+5 VPC小于小于0FFFH时,时,访问片内程序存储器;访问片内程序存储器;PC大于大于0FFFH时,时,访问片外程序存储器访问片外程序存储器2732。80C31扩展两片8 K8位片外程序存储器2764地址范围地址范围P2.5=0, 选中片选中片1:0000H1FFFHP2.5=1, 选中片选中片2:2000H3FFFH1、扩展概述、扩展概述最大可扩展最大可扩展64K字节,连接方法与程序存储器连接方字节,连接方法与程序存储器连接方法大致相同法大致相同地址线、数据线对应相连地址线、数据线对应相
8、连存储器读输入存储器读输入RD与单片机读输出与单片机读输出RD(P37)相连)相连存储器写输入存储器写输入WR与单片机写输出与单片机写输出WR(P36)相连)相连ALE连接方法同程序存储器连接方法同程序存储器二、外部数据存储器扩展二、外部数据存储器扩展MOVX A, DPTR MOVX A, DPTR 和和 MOVX DPTR,A MOVX DPTR,A 操作时序操作时序s1s2s3s4s5s6s1s2s3s4s5s6PCHDPHPCL指令指令DPL数据输入数据输入数据输出数据输出机器周期机器周期1机器周期机器周期2XTAL1ALEPSENP2P0RDP0WRPCL指令指令DPLs1s2s3s
9、4s5s6s1s2s3s4s5s6PCHP2口锁存器内容口锁存器内容PCL指令指令Ri数据输入数据输入PCL指令指令Ri数据输出数据输出机器周期机器周期1机器周期机器周期2XTAL1ALEPSENP2P0RDP0WRMOVX A, Ri 和 MOVX Ri, A 操作时序2、扩展片外数据存储器的硬件电路在在80C51的扩展系统中,片外数据存储器一般由随机存取的扩展系统中,片外数据存储器一般由随机存取存储器组成,最大可扩展存储器组成,最大可扩展64 KB由于面向控制,实际上扩展的容量都不会太大,一般采用由于面向控制,实际上扩展的容量都不会太大,一般采用静态静态RAM,如如6116(2 K8位)和
10、位)和6264(8 K8位)位)地址锁存器与扩展程序存储器时一样,采用地址锁存器与扩展程序存储器时一样,采用8D锁存器锁存器74HC273或锁存缓冲器或锁存缓冲器74HC373扩展片外数据存储器的硬件电路静态数据存储器(静态数据存储器(61166116)常用的静态数据存储器:常用的静态数据存储器: 6116(2K8);); 6264(8K8)静态数据存储器的特点:静态数据存储器的特点: 1)无需考虑保持数据而设置的刷新电路,扩展电路简单)无需考虑保持数据而设置的刷新电路,扩展电路简单 2)通过有源电路来保持存储器中的数据,消耗较多功率)通过有源电路来保持存储器中的数据,消耗较多功率 3)价格高
11、)价格高6116,采用,采用CMOS工艺制作,单一工艺制作,单一5V电源,额定功耗电源,额定功耗160mw,典型存取时间为,典型存取时间为200ns,24线双列直插式封装。线双列直插式封装。操作方式操作方式 操作方式操作方式 CE OE WE IO0IO7 写写 L H L Din 读读 L L H Dout 未选中未选中 H 任意任意 任意任意 高阻高阻 写写 L L L Din6116引脚及逻辑符号A7A6A5A4A3A2A1A0IO0IO1IO2GNDACCA8A9WEOEA10CEIO7 IO6IO5IO4IO31241213A10A011IO7IO08CEOEWEVCCGND5V扩展
12、扩展2K2K8 8位片外数据存储器位片外数据存储器静态数据存储器静态数据存储器626462646264,采用,采用CMOS工艺制作,单一工艺制作,单一5V电源,额定功耗电源,额定功耗200mw,典型存取时间为,典型存取时间为200ns,增加了两根地址线,增加了两根地址线,28线线双列直插式封装。双列直插式封装。 操作方式操作方式 CE1 CE2 OE WE IO0IO7 写写 L H H L Din 写写 L H L L Din 读读L H L H Dout 未选中未选中 H 任意任意 任意任意 任意任意 高阻高阻 未选中未选中 任意任意 L 任意任意 任意任意 高阻高阻 输出禁止输出禁止 L
13、 H H H 高阻高阻62646264引脚引脚A12A013IO8IO18CEOEWEVCCGND5V6264逻辑图逻辑图两片6264扩展16 K8位片外数据存储器当当P2.5=0时时,访问片访问片(1);当;当P2.5=1时,访问片时,访问片(2)。 片片(1)的地址范围为的地址范围为0000H1FFFH;片片(2)的地址范围为的地址范围为2000H3FFFH。三、扩展片外程序存储器和片外数据存储器1 1、 分别扩展片外程序存储器和片外数据存储器分别扩展片外程序存储器和片外数据存储器在单片机系统中,既需要扩展片外程序存储器,也需要扩展在单片机系统中,既需要扩展片外程序存储器,也需要扩展片外数
14、据存储器。片外数据存储器。分别扩展片外程序存储器和片外数据存储器l程序存储器和数据存储器都由程序存储器和数据存储器都由P2口提供高口提供高8位地址、位地址、P0口提供低口提供低8位地址和位地址和8位数据或指令,且公用一个地位数据或指令,且公用一个地址锁存器。址锁存器。l两者共处同一地址空间,即程序存储器地址范围为两者共处同一地址空间,即程序存储器地址范围为0000H 1FFFH,数据存储器的地址范围也是数据存储器的地址范围也是0000H1FFFH。l程序存储器由读选通信号程序存储器由读选通信号PSEN控制,数据存储器的读控制,数据存储器的读和写由和写由RD和和WR信号控制。信号控制。l由于控制
15、信号的不同,程序存储器和数据存储器的空由于控制信号的不同,程序存储器和数据存储器的空间在逻辑上是严格分开的,所以在访问它们时不会发间在逻辑上是严格分开的,所以在访问它们时不会发生总线冲突。生总线冲突。EEPROM:电擦写可编程只读存储器,特点是能在线:电擦写可编程只读存储器,特点是能在线+5V改写,掉电时原存信息不丢失。改写,掉电时原存信息不丢失。以以2817A为例介绍单片机扩展为例介绍单片机扩展EEPROM为通用存储器的方法为通用存储器的方法1、外特性、外特性 容量为容量为2KB外部外部EEPROMEEPROM存储器扩展存储器扩展工作方式工作方式 CE OE WE RDY/BUSY 输入输入
16、/输出输出 读读 0 0 1 高阻高阻 Dout 写写 0 1 0 0 Din 维持维持 1 X X 高阻高阻 高阻高阻字节擦除字节擦除 字节写入前自动擦除字节写入前自动擦除2、接口电路、接口电路地址线、数据线及片选线的连接与地址线、数据线及片选线的连接与RAM和和EPEOM相同相同因为因为EEPROM即可随机读写,又不会因掉电而丢失信息,即可随机读写,又不会因掉电而丢失信息,所以即可作为程序存储器又可作为数据存储器使用所以即可作为程序存储器又可作为数据存储器使用下图为下图为8031单片机扩展单片机扩展2817AEEPROM作为通用存储器的作为通用存储器的电路图电路图RDY/BUSY:写入写入
17、1字节时间为字节时间为16ms左右,在写入期间为低左右,在写入期间为低电平,电平,P10输入低电平;写入结束,输入低电平;写入结束,RDY/BUSY呈高阻状呈高阻状态,态,P10由由3K电阻及电阻及+5V电压上拉至高电平。电压上拉至高电平。8031单片机扩展单片机扩展 EEPROM 2817A作为通用存储器作为通用存储器3、程序举例、程序举例将将2817A的的0700H07FFH(256个)单元依次写入数个)单元依次写入数据据00HFFH的子程序段的子程序段ORG 0100HMOV DPL , #00HMOV DPH , #07HMOV A , #00HMOVX DPTR , AJNB P1.
18、0 , $INC DPTRINC AJNZ LOOPRETSTART:LOOP:; 置首地址置首地址;P10为为1,表示已写完;,表示已写完;为为0,表示正在写,等待,表示正在写,等待;写入最大值为;写入最大值为FFH,加加1为为00H,传送结束,传送结束四、通过并行总线扩展四、通过并行总线扩展I/OI/O口口I/O (输入输入/输出输出)接口是接口是MCS-51与外设交换数字信息的桥梁。与外设交换数字信息的桥梁。I/O扩展也属于系统扩展的一部分。扩展也属于系统扩展的一部分。真正用作真正用作I/O口线的只有口线的只有P1口的口的8位位I/O线和线和P3口的某些位线。口的某些位线。在多数应用系统
19、中,在多数应用系统中,MCS-51单片机都需要外扩单片机都需要外扩I/O接口电路。接口电路。I/O接口电路应满足以下要求: 1.实现和不同外设的速度匹配实现和不同外设的速度匹配 2. 输出数据锁存输出数据锁存 3. 输入数据三态缓冲输入数据三态缓冲 通过并行总线扩展通过并行总线扩展I/OI/O口口完成输入完成输入/输出口功能的扩展,可以利用简单的输出口功能的扩展,可以利用简单的TTL电路电路或或CMOS电路,也可以使用可编程接口芯片。电路,也可以使用可编程接口芯片。如:可编程并行接口(如:可编程并行接口(8155、8255) 可编程通用同步可编程通用同步/异步通信接口(异步通信接口(8251)
20、 可编程定时可编程定时/计数器(计数器(8253)等)等使用接口芯片优点:与使用接口芯片优点:与80C51信号体制一致,利用扩展片外信号体制一致,利用扩展片外数据存储器的并行总线进行访问,使用数据存储器的并行总线进行访问,使用MOVX指令,接口指令,接口非常方便。非常方便。1 1、80C5180C51扩展扩展8255A8255A接口电路接口电路8255A是是Intel公司生产的可编程并行公司生产的可编程并行I/O接口芯片接口芯片具有具有3个个8位的并行位的并行I/O口,口,3种工作方式种工作方式引脚图引脚图D7D0:三态双向数据线:三态双向数据线CS:片选信号线,低电平有效:片选信号线,低电平
21、有效RD:读出信号线:读出信号线WR:写入信号线:写入信号线Vcc:+5V电源电源PA7PA0:A口输入口输入/输出线输出线PB7PB0:B口输入口输入/输出线输出线PC7PC0:C口输入口输入/输出线输出线A1、A0:地址线,用来选择:地址线,用来选择8255A内部的内部的4个端口。个端口。 3个个8位的并行位的并行I/O口口 PA口:数据输出锁存和缓冲;数据输入锁存口:数据输出锁存和缓冲;数据输入锁存 PB口:数据输出锁存和缓冲;数据输入缓冲。口:数据输出锁存和缓冲;数据输入缓冲。 PC口:数据输出锁存;数据输入缓冲。口:数据输出锁存;数据输入缓冲。 PC口可在软件的控制下,分为两个口可在
22、软件的控制下,分为两个4位端口位端口 作为作为PA口、口、PB口选通方式操作时的状态控制信号口选通方式操作时的状态控制信号。8255A各端口编址各端口编址A1A0端口端口00A口口01B口口10C口口11控制字寄存器控制字寄存器A1A0RDWRCS工作状态工作状态00010读端读端A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线读端口读端口C C:C C口数据口数据数据总线数据总线010101001000100写端口写端口A A:总线数据总线数据A A口口写端口写端口B B:总线数据总线数据B B口口写端口写端口C C:总线数据总线数据C C口口
23、写控制字:总线数据写控制字:总线数据控制字寄存器控制字寄存器0110010100111001数据总线为高阻数据总线为高阻11010非法状态非法状态110数据总线为高阻数据总线为高阻8255A8255A端口工作状态选择端口工作状态选择8255A有三种工作方式:有三种工作方式:l 方式方式0:基本输入输出:基本输入输出l 方式方式1:选通输入输出:选通输入输出l 方式方式2:双向传送(仅:双向传送(仅A口有)口有)l 三种工作方式由方式控制字来决定三种工作方式由方式控制字来决定8255A8255A的工作方式的工作方式8255A8255A的工作方式的工作方式P0.0P0.774HC373ALED7D
24、0A1A02P2.7CS80C518255ARDWRRDWR8255A 各口地址:各口地址:A:8000HB:8001HC:8002H控制字寄存器:控制字寄存器: 8003H设未用地址线为设未用地址线为080C5180C51与与82558255接口电路接口电路初始化程序举例初始化程序举例 A组设置成方式组设置成方式2,B组为方式组为方式1,B口作为口作为输出口,控制字为输出口,控制字为 C4H MOV DPTR,#8003HMOV A,#0C4HMOVX DPTR, A输出缓输出缓冲器满冲器满乙机接收过程乙机接收过程 检测检测PC4 输入数据输入数据 通过通过PC0发应发应答信号答信号甲机发送
25、过程甲机发送过程发送数据发送数据 通过通过PC7硬硬件置低电平件置低电平检测检测PC6,准备下一组数准备下一组数据据INTRA2 2、扩展简单的输入、扩展简单的输入/ / 输出口输出口扩展扩展8个输出口的电路个输出口的电路 使用使用 MOVX Ri , A 时,口地址为时,口地址为00H07H 使用使用 MOVX DPTR , A 时,口地址为时,口地址为 0000H0007HWR有片外数据存储器时的扩展有片外数据存储器时的扩展P1.0口来选择口来选择I/O或或RAM(6264片选端有错)片选端有错)0 RAM 地址范围为地址范围为0000H1FFFH 1 I/O输入口输入口 地址任意地址任意
26、 外围设备向单片机输出数据时,有一选通信号连接在外围设备向单片机输出数据时,有一选通信号连接在74HC373的锁存允许端上,在选通信号的低电平期间将发的锁存允许端上,在选通信号的低电平期间将发来的数据锁存,同时向来的数据锁存,同时向CPU发出中断申请。发出中断申请。 在中断服务程序中由P0口读入锁存器中的数据。 例:将单片机从输入口读入的数据,存入片外数据存储器例:将单片机从输入口读入的数据,存入片外数据存储器6264的以的以1000H为首地址的区域。为首地址的区域。 初始化和中断服务程序如下。初始化和中断服务程序如下。中断系统初始化程序:中断系统初始化程序:INIT:CLR IT0 ; MO
27、V DPTR,#1000H SETB EX0 SETB EA;外部中断;外部中断0选为低电平触发选为低电平触发 ;置数据区首址置数据区首址;外部中断外部中断0允许允许;CPU开中断开中断中断服务程序:中断服务程序: ORG 0003H AJMP INT ORG 0100H INT: SETB P1.0MOVX A, DPTR CLR P1.0 MOVX DPTR, A INC DPTR RETI;外部中断外部中断0入口地址入口地址 ;中断服务程序;中断服务程序;指向输入口指向输入口;输入口数据读入累加器输入口数据读入累加器;指向;指向6264;存入数据区;存入数据区;调整地址指针;调整地址指针
28、;中断返回;中断返回6.36.3 单片机的外部串行扩展单片机的外部串行扩展80C51系列单片机的串行总线包括:系列单片机的串行总线包括: SPI 三线总线三线总线 和和 I2C 公用双总线公用双总线一、一、 I2C 公用双总线结构公用双总线结构在器件之间使用两根信号线(在器件之间使用两根信号线(SDA 和和SCL)以串行的方)以串行的方法进行信息传送,并允许若干兼容器件共享的双线总线,法进行信息传送,并允许若干兼容器件共享的双线总线,称为称为I2C 总线总线6.3.16.3.1 串行扩展串行扩展E E2 2PROMPROMI I2 2C C总线系统示意图总线系统示意图有有I2C 接口的接口的主
29、机主机有有I2C 接口的接口的从机从机有有I2C 接口的接口的从机从机 I2C总线总线SCLSDASDA称为串行数据线,用于传输双向数据称为串行数据线,用于传输双向数据SCL称为串行时钟线,用于传输时钟信号,来同步串称为串行时钟线,用于传输时钟信号,来同步串行数据线上的数据行数据线上的数据Vcc挂接在挂接在I2C 总线上的器件,根据其功能可以分为两种:总线上的器件,根据其功能可以分为两种: 主控器件和从控器件主控器件和从控器件主控器件:控制总线存取,产生串行时钟(主控器件:控制总线存取,产生串行时钟(SCL)信号,)信号,并产生启动传送及结束传送的条件,总线必须由一个主控并产生启动传送及结束传
30、送的条件,总线必须由一个主控器件控制。主控器件一般称为主器件。器件控制。主控器件一般称为主器件。从控器件:在总线上被主控器件寻址的器件,它们根据主从控器件:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。一般称为从器件。控器件的命令来接收和发送数据。一般称为从器件。数据传输协议:只有当总线不忙时,数据传输才能开始;数数据传输协议:只有当总线不忙时,数据传输才能开始;数据传送期间,无论何时串行时钟线为高,串行数据线必须保据传送期间,无论何时串行时钟线为高,串行数据线必须保持稳定;当串行时钟线为高时,串行数据线的改变将被认为持稳定;当串行时钟线为高时,串行数据线的改变将被认为
31、是传送的开始或停止。是传送的开始或停止。定义如下总线条件定义如下总线条件1、总线不忙、总线不忙 串行时钟线(串行时钟线(SCL)和串行数据线()和串行数据线(SDA)保持高电平)保持高电平2、开始数据传送、开始数据传送 在在SCL=1时,时,SDA上发生一个由高电平到低电平的变上发生一个由高电平到低电平的变化决定起始条件,或称起始信号(化决定起始条件,或称起始信号(START)。)。 总线上所有命令都在起始条件后进行。总线上所有命令都在起始条件后进行。3、停止数据传送、停止数据传送 在在SCL=1情况下,情况下,SDA上发生一个由低电平到高电平的过上发生一个由低电平到高电平的过程,称为停止条件
32、,或称停止信号(程,称为停止条件,或称停止信号(STOP)。)。 总线上所有操作必须在停止条件以前结束。总线上所有操作必须在停止条件以前结束。4 4、数据有效、数据有效 在开始条件后,在在开始条件后,在SCL=1 SCL=1 的周期期间,当的周期期间,当SDASDA稳定时,串稳定时,串行数据线的状态表示数据线是有效的行数据线的状态表示数据线是有效的 在在SCL 保持低电平(保持低电平(SCL=0)的周期期间,)的周期期间,SDA上的数上的数据应该改变。每位数据需要一个时钟脉冲。据应该改变。每位数据需要一个时钟脉冲。 每次数据传送在起始信号下启动,在停止信号下结束。重每次数据传送在起始信号下启动
33、,在停止信号下结束。重复的起始信号将结束前一个传送过程,但不释放复的起始信号将结束前一个传送过程,但不释放I2C 总线,可总线,可接着进行下一个传送过程。接着进行下一个传送过程。I2C总线上数据传送有两种方式,它们由总线上数据传送有两种方式,它们由START后的第一个后的第一个字节的最低位(即方向位字节的最低位(即方向位 )决定)决定WR/ 主发送到从接收主发送到从接收 从发送到主接收从发送到主接收二、利用模拟I2C扩展串行E2PROM1 1、串行、串行E E2 2PROM24LC32PROM24LC32的特点及引脚的特点及引脚 32 Kb(4 K8位)串行存取的电擦除可编程的只读存储器位)串
34、行存取的电擦除可编程的只读存储器具有如下特点:具有如下特点:n 芯片对快速写操作具有芯片对快速写操作具有8个个8字节页面、或者字节页面、或者64字节的字节的高速缓存器,并具有二线串行接口。高速缓存器,并具有二线串行接口。n在在I2C上作从器件使用上作从器件使用; 可在电源电压低到可在电源电压低到2.5V的条件下的条件下工作,芯片还有功率等待模式,以降低功耗;等待电流工作,芯片还有功率等待模式,以降低功耗;等待电流和额定电流分别为和额定电流分别为5 A和和3 mA;n地址线允许地址线允许8片片24LC32连接到相同的总线上,得到连接到相同的总线上,得到256 Kb位地址空间位地址空间1 1、串行
35、、串行E E2 2PROM24LC32PROM24LC32的特点及引脚的特点及引脚 24LC32引脚排列引脚排列 8脚和脚和14脚双列直插式封装脚双列直插式封装 24LC3224LC32的引脚功能的引脚功能 SDA: 串行地址串行地址/数据输入数据输入/输出端,双向输出端,双向u用于传送地址和数据进入器件或从器件发出数据。用于传送地址和数据进入器件或从器件发出数据。u漏极开路端,因此要求漏极开路端,因此要求接一个上拉电阻接一个上拉电阻到到Vcc(100 kHz时,电阻值为时,电阻值为10 k;400 kHz时,电时,电阻值为阻值为2 k)。)。u对于一般的数据传输,只有在对于一般的数据传输,只
36、有在SCL为低电平期间,为低电平期间,SDA才允许变化。在才允许变化。在SCL高电平期间,高电平期间,SDA的变的变化用于指示开始和停止条件。化用于指示开始和停止条件。SCL:串行时钟端,输入端串行时钟端,输入端 用于同步传输进入器件和从器件发出的数据。用于同步传输进入器件和从器件发出的数据。24LC3224LC32的引脚功能的引脚功能A0、A1、A2:芯片地址输入端。芯片地址输入端。l24LC32使用使用A0、A1、A2输入端来完成多器件操作,输入端来完成多器件操作,并且形成二线总线标准。并且形成二线总线标准。l加在这些端的电平决定了在地址区中器件所占有的加在这些端的电平决定了在地址区中器件
37、所占有的地址块。地址块。l在控制字节中发送的相应位(在控制字节中发送的相应位(A2、A1、A0)选择指选择指定的器件。定的器件。l最多可并联最多可并联8片片24LC32芯片芯片WP-写保护端。写保护端。WP=Vcc,器件只读;,器件只读;WP=0,器件能正常读写。,器件能正常读写。2 2、器件的寻址和操作、器件的寻址和操作1)控制字节和器件寻址控制字节和器件寻址 控制字节是跟随在主器件发出的开始条件后,器件首先控制字节是跟随在主器件发出的开始条件后,器件首先接收到的字节。接收到的字节。控制字节的配置控制字节的配置4位控制码位控制码器件选择位器件选择位选择选择8个从器件中的一个个从器件中的一个读
38、写选择位读写选择位start控制字节和器件寻址控制字节和器件寻址操作操作控制码控制码块选择块选择读读/写(写(R/W)读读1010块地址块地址1写写1010块地址块地址0读读/写操作的控制字格式写操作的控制字格式控制字节的前四位由控制字节的前四位由4位控制码组成位控制码组成当控制码为当控制码为1010时,表示对时,表示对24LC32的读和写操作的读和写操作在开始条件之后,在开始条件之后,24LC32监视监视SDA线,检查发送出的线,检查发送出的控制字节。当接收到控制字节。当接收到1010码和相应的器件选择位时,被码和相应的器件选择位时,被选中的器件在选中的器件在SDA线上输出一个应答信号线上输
39、出一个应答信号控制字节和器件寻址控制字节和器件寻址控制字节之后,控制字节之后,主器件紧接着发送两个字节的地址信息主器件紧接着发送两个字节的地址信息,定义了要访问从器件内定义了要访问从器件内第一个数据字节的地址第一个数据字节的地址。4K8位串行位串行EEPROM 字节地址为字节地址为12位位要访问的要访问的24LC32中中内第内第一个数据字节的地址一个数据字节的地址地址的最高有效字地址的最高有效字节的最高有效位最节的最高有效位最先发送先发送2 2)写操作)写操作 字节写主器件发出开始条件以后,再发送主器件发出开始条件以后,再发送R/W=0的控制字的控制字指示被寻址的从接收器的两个地址字及一个数据
40、字将跟在指示被寻址的从接收器的两个地址字及一个数据字将跟在第第9个时钟周期产生的确认(应答)位之后。个时钟周期产生的确认(应答)位之后。主器件发送的下一个字节是字地址的高地址字节,应答后,主器件发送的下一个字节是字地址的高地址字节,应答后,接着是低地址字节,再次应答后,它们将被写入接着是低地址字节,再次应答后,它们将被写入24LC32的的地址指针。随后主器件发送写入到被寻址的存储器里的数地址指针。随后主器件发送写入到被寻址的存储器里的数据字节。据字节。24LC32应答后,主器件发出停止条件。应答后,主器件发出停止条件。P 页面写写控制字、字地址和第一个数据字节以与字节写相同的方式写控制字、字地
41、址和第一个数据字节以与字节写相同的方式发送到发送到24LC32。但是替代产生停止条件,主器件可发送多达但是替代产生停止条件,主器件可发送多达8页的页的8个数据字节(总共个数据字节(总共64个字节)。个字节)。24LC32先将这些数据字节暂存在片内的页面高速缓存器中。先将这些数据字节暂存在片内的页面高速缓存器中。一旦接收到主器件的停止条件后,则内部的写周期开始,这一旦接收到主器件的停止条件后,则内部的写周期开始,这些数据字节将从页面高速缓存器中写入些数据字节将从页面高速缓存器中写入E2PROM阵列。接收阵列。接收到每一个字节后,到每一个字节后,24LC32的低的低6位顺序地址指针在内部加位顺序地
42、址指针在内部加1,高高7位顺序地址指针保持不变。位顺序地址指针保持不变。 应答登记由于在写周期期间,器件将不会应答,所以,这一点可由于在写周期期间,器件将不会应答,所以,这一点可以用来决定周期在什么时候完成。以用来决定周期在什么时候完成。一旦针对写命令的停止条件由主器件发出,器件开始进一旦针对写命令的停止条件由主器件发出,器件开始进行内部定时写周期,行内部定时写周期,ACK登记被立即启动。如果写周期登记被立即启动。如果写周期器件仍然很忙,则器件仍然很忙,则ACK信号将不会被恢复;如果周期已信号将不会被恢复;如果周期已经完成,则器件将恢复经完成,则器件将恢复ACK信号。主器件将可以进行下信号。主
43、器件将可以进行下一次的读或写操作。一次的读或写操作。3)读操作读操作 当控制字的当控制字的R/W位被置为位被置为“1”时,启动读操作。时,启动读操作。三种基本的读操作类型:三种基本的读操作类型:l 读当前地址内容读当前地址内容l 读随意地址内容读随意地址内容l 读顺序地址内容读顺序地址内容 读当前地址内容24LC32内部包含一个地址计数器,它保存被存取过的最内部包含一个地址计数器,它保存被存取过的最后一个字的地址,并在片内自动加后一个字的地址,并在片内自动加1。如果以前存取的地。如果以前存取的地址为址为n,下一次读操作则从下一次读操作则从n+1地址中读数据。地址中读数据。主器件发送一个读控制字
44、。主器件发送一个读控制字。在接收到的从地址中的在接收到的从地址中的R/W为为1的情况下,的情况下,24LC32发送一发送一个应答位,并且送出个应答位,并且送出8位数据字。位数据字。主器件发出非应答信号主器件发出非应答信号(NO ACK),使从器件释放数据线,使从器件释放数据线,以便主器件发出一个停止条件,从而终止数据传送。以便主器件发出一个停止条件,从而终止数据传送。 读随意地址内容这种方式允许主器件以任意方式读存储器任意地址的内容。这种方式允许主器件以任意方式读存储器任意地址的内容。l 先置字地址,即主器件将字地址作为写操作的一部分送先置字地址,即主器件将字地址作为写操作的一部分送给给24L
45、C32。l 发送字地址以后,主器件在应答位之后产生一个开始条发送字地址以后,主器件在应答位之后产生一个开始条件,以终止写操作。件,以终止写操作。l 主器件再次发主器件再次发R/W为为1的读操作控制字。的读操作控制字。24LC32将发出将发出应答位,并发送出应答位,并发送出8位数据字。位数据字。l 主器件将发送非应答信号,并产生一个停止条件,从而主器件将发送非应答信号,并产生一个停止条件,从而终止发送终止发送 读顺序地址内容l 读顺序地址内容方式与读随意地址内容方式的启动方法读顺序地址内容方式与读随意地址内容方式的启动方法一样,但是在一样,但是在24LC32发送第一个数据字节后,发送第一个数据字
46、节后,主器件不主器件不发出终止发送的信号。发出终止发送的信号。l 24LC32继续发送下一个地址的继续发送下一个地址的8位数据,其内部的地址位数据,其内部的地址指针在操作后自动加指针在操作后自动加1。地址指针允许在一次操作期间,地址指针允许在一次操作期间,连续顺序地读出整个存储器连续顺序地读出整个存储器l 当主器件接收到最后一个字节后,主器件将产生非应答当主器件接收到最后一个字节后,主器件将产生非应答信号及一个停止条件,终止传送信号及一个停止条件,终止传送3 3、80C5180C51与串行与串行2424LC32LC32的接口和编程的接口和编程 80 80C51C51与串行与串行 24 24LC
47、32LC32的接口的接口A2,A1,A0接地接地地址地址000BA2,A1接地接地A0接接+5V地址地址001B最多接最多接8片片24LC32作为从器件作为从器件主器件主器件从器件从器件模拟模拟I I2 2C C总线的编程总线的编程模拟模拟I2C总线时,一般需用两根总线时,一般需用两根I/O口线口线本例中,本例中,P1.6用作用作SCL线,线,P1.7用作用作SDA线线以下子程序中,设定单片机所使用的晶体振荡器为以下子程序中,设定单片机所使用的晶体振荡器为6MHz,即机器周期为即机器周期为2S。若晶体振荡器不是若晶体振荡器不是6MHz,则可根据情况增减程序中则可根据情况增减程序中的的NOP指令
48、即可。指令即可。定义以下模拟总线定义以下模拟总线:SDABITP1.7SCLBITP1.6数据传输规定数据传输规定l 发送起始条件发送起始条件l 数据传送,在数据传送,在SCL低电平期间,允许低电平期间,允许SDA状态改变;状态改变;l 发送停止条件发送停止条件启动与停止I2C总线子程序开始条件开始条件 SCL高电平期间,高电平期间,SDA由高到低表示启动由高到低表示启动I2C总线;总线;停止条件停止条件 SCL高电平期间,高电平期间,SDA由低到高表示停止由低到高表示停止I2C总线;总线;启动I2C总线子程序在在SCL高电平期间,发送一个低电平作为开始条件高电平期间,发送一个低电平作为开始条
49、件SDA由高到低表示启动由高到低表示启动STA:SETB SDASETB SCLNOPNOPCLRSDANOP NOPNOPCLRSCLNOPRET停止停止I I2 2C C总线子程序总线子程序在在SCL高电平期间,发送一个高电平作为停止条件高电平期间,发送一个高电平作为停止条件SDA由低到高表示停止由低到高表示停止STOP:CLRSDA NOP SETBSCL NOP NOP SETBSDA NOP NOP ; CLRSCL NOP RET发送与接收数据待发送的数据在待发送的数据在SCL低电平期间放到低电平期间放到SDA上;上;要接收的数据在要接收的数据在SCL高电平期间,高电平期间,SDA
50、稳定时,读入稳定时,读入I/O口。口。发送一个字节数据将累加器将累加器ACC中的待发送数据送上中的待发送数据送上SDA线线WRBYT: MOVR7, #8; 发送发送8位位WRBYT1: RLCA;将发送位移入将发送位移入C中中 JCWRBYT2;此位为此位为1,转转WRBYT2 CLRSDA;此位为此位为0,发送发送0 SETBSCL; 时钟脉冲开始时钟脉冲开始 NOP NOP CLRSCL; 时钟脉冲结束时钟脉冲结束 DJNZR7,WRBYT1 ;未发送完未发送完,转转WRBYT1RET发送一个字节数据WRBYT2: SETBSDA ; 此位为此位为1,发送发送1 SETBSCL ; 时钟
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。