版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与嵌入式设计单片机外部总线扩展第十章电子设计系列教材01单片机外部总线扩展原理单片机外部总线扩展原理01系统总线结构单片机虽然具有一定的片上资源,但终究有限,当本身资源少于实际需求时,就要进行系统扩展。对于单片机而言,它带有内部总线,可以扩展控制对象,其直接寻址能力从0X0000到0XFFFF。总线扩展一般包括存储器、I/O口、A/D和D/A、键盘/显示器等。在总线模式下,不同对象共享总线,独立编址、分时复用总线,单片机通过地址选择访问对象,完成与各对象之间的信息传递。单片机外部总线扩展原理01系统总线结构对于单片机而言,常用单片机的外部连线有地址总线(AB)、数据总线(DB)和控制总线(CB)。其三总线结构如图所示。单片机外部总线扩展原理01系统总线结构地址总线在地址总线上传送的是地址信号,用于存储单元和IO口的选择。地址总线是单向的,地址信号只能由单片机向外送出。地址总线的数目决定可直接访问的存储单元的数目,如n位地址,可以产生2"个连续地址编码,因此可访问2个存储单元,即通常所说的寻址范围为2地址单元。其中P2口用作高8位地址总线,PO口用作地址/数据分时复用口,它通过锁存器用作低8位地址总线。单片机外部总线扩展原理01系统总线结构数据总线数据总线用于在单片机与总线芯片之间或单片机与IO口之间传送数据。单片机系统数据总线的位数与单片机处理数据的字长一致。51单片机是8位字长,所以数据总线的位数也是8位。数据总线是双向的,可以进行两个方向的数据传送。单片机外部总线扩展原理01系统总线结构控制总线控制总线实际上是一组控制信号线,包括单片机发出的,以及从其他芯片传送给单片机的信号线,其方向为单向。PSEN:片外程序存储器访问允许信号,低电平有效。当CPU从外部程序存储器读取指令或常数时,该信号有效,CPU通过数据总线读指令或常数。扩展外部程序存储器时,用该信号作为程序存储器的独处允许信号。在CPU访问外部数据存储器期间,该信号无效。单片机外部总线扩展原理01系统总线结构控制总线控制总线实际上是一组控制信号线,包括单片机发出的,以及从其他芯片传送给单片机的信号线,其方向为单向。WR:片外数据存储器写信号,低电平有效。RD:片选数据存储器读信号,低电平有效。ALE:地址锁存信号。当CPU访问外部器件时,利用ALE信号的脉冲信号锁存出现在PO口的低8位地址,因此把ALE称为地址锁存信号。单片机外部总线扩展原理01系统总线结构单片机三总线时序如图所示。从图中可知,单片机完成一次总线(读、写)操作周期为T,PO口分时复用,在To期间,P0口送出低8位地址,在ALE的下降沿完成数据锁存,送出低8位地址信号。在T期间,PO口作为数据总线使用,送出或读入数据,数据的读写操作在读(RD)、写(WR)控制信号的低电平期间完成。单片机外部总线扩展原理01系统总线具体实现P0口作为地址/数据分时复用口,既作为地址线的低8位口,又作为数据通信口。如果系统功能需求较少,不需要进行16位地址寻址,则单片机的P2口可直接作为高8位地址总线使用,因此在一些简单系统电路中,常使用P2口直接编址驱动。例如,使用P2.7口(A15)直接译码驱动数码管显示,如图所示。单片机外部总线扩展原理01系统总线具体实现图中,读选通信号WR与A15(P2.7)经过或非门74HCO2来提供74HC573的使能信号。当执行外部寻址时,只有当地址A15满足“0”时,写信号才可作为74HC573的高电平使能信号输入,完成数据锁存。单片机外部总线扩展原理01系统总线具体实现P2口为地址线的A8~A15,因此可寻址8位,如实现8个数码管的驱动。使用P2口直接寻址方式的电路简单,但有效地址数太少,不适合复杂系统设计。单片机外部总线扩展原理01系统总线具体实现单片机的16位寻址功能是通过锁存器来实现的。常用的锁存器有74HC373、74HC573(功能与74HC373一致,引脚排布不一样)、74HC374等。通过锁存器可以实现高电平锁存或低电平锁存。锁存器主要用于锁存低8位地址。单片机外部总线扩展原理01总线上的地址译码总线上的地址译码就是选中总线上的电路设备(控制地址),一般外部设备为低电平选择有效。前文已经介绍了基于P2口的直接译码、锁存低8位的16位地址译码。对于更复杂的系统,可以采用外加译码器的方式实现更加灵活的地址译码。以常用的3-8译码器芯片74HC138为例讲解,电路如图所示。其中3-8译码器芯片74HC138的使能端OEi与OE2接地。OE3连接至A15,而对应的控制输入端A、B、C分别连接至A12、A13、A14。单片机外部总线扩展原理01总线上的地址译码从图中可知,地址ADD0~ADD7对应连接到74HC138的输出Y0~T,则ADD0~ADD7对应的控制地址分别如下。ADD0:0X8000~0X8FFF。ADD1:0X9000~0X9FFF。ADD2:0XA000~0XAFFF。ADD3:OXBO00~0XBFFF。ADD4:OXC000~0XCFFF。ADD5:OXD000~0XDFFF。ADD6:OXEO00~0XEFFF。ADD7:OXF000~~OXFFFF。单片机外部总线扩展原理01总线地址读写在图所示的电路中并没有加入WR、RD引脚就实现了对外部地址的选择控制,在实际应用中,更多的设计是加入WR、RD引脚进行读写控制,如图所示。当单片机不执行外部设备读写操作时,WR、RD两个信号均为高电平,与非门74HCO0输出低电平,74HC138不工作,输出高阻,单片机执行读写外部设备时,WR、RD两个信号中必有一个有效(要变为低电平),从而与非门输出高电平,74HC138开始工作,其输出Y0~Y7此时由A13、A14、A15控制。单片机外部总线扩展原理01总线地址读写在功能电路部分加入WR引脚控制,所设计电路如图所示。在74HC373的数据控制端LE采用或非门74HC02控制。当ADD0地址被选中的同时,WR此时也是低电平,两者经过或非门之后变成高电平。74HC373的数据控制端LE有效,74HC373的输出Q1~Q8等于输入D1~D8。而当地址ADDO没有被选中时,ADD0为高电平,即使有别的设备进行写操作,74HC373的数据控制端LE也一直为低电平。74HC373的输出被锁存在已建立的数据电平上,保持不变。单片机外部总线扩展原理01总线地址读写与不加入WR、RD引脚控制的电路相比,采用WR、RD引脚控制的方式节约了地址线,也更符合外部设备读写控制的本意,但增加了门电路译码,提高了外部电路成本。在应用C语言实现对外部地址读写时,使用地址指针XBYTE。它在库文件absacc.h中的定义:指向外部存储器的0000H单元,其宏定义如下。#define
XBYTE
[(unsigned
char
volatile
xdata*)0]因此,XBYTE后面方括号[中的内容是指数组首地址0000H的偏移地址,如XBYTE[OX2000]是访问偏移地址为0X2000的设备。单片机外部总线扩展原理01总线地址读写例如:XBYTE
[0x8000]=OX55;对外部地址0X8000写入0X55。其中高8位80为P2口输出,低8位00为PO口输出。先输出地址,然后送出数据。dat=XBYTE[0X8000];读取外部地址0X8000的值,赋给dat变量。读的过程也是先输出地址,然后再读入数据。02外部总线实现人机接口外部总线实现人机接口02总线扩展电路设计采用74HC573锁存单片机低8位地址总线电路如图所示。外部总线实现人机接口02总线扩展电路设计采用74HC138进行外部地址译码电路如图所示。74HC138的输出对应的控制地址分别如下。CS_LED:0X8000~0X8FFF。CS_KEY_WR:0X9000~0X9FFF。CSKEYRD:0XA000~0XAFFF。CS_AD:0XB000~0XBFFF。外部总线实现人机接口02总线扩展电路设计采用74HC138进行外部地址译码电路如图所示。74HC138的输出对应的控制地址分别如下。CS_DA:0XCO00~0XCFFF。CS_RTC:0XEO00~0XEFFFCS_LCD:0XD000~0XDFFF。CS_DS:0XF000~0XFFFF。外部总线实现人机接口02发光二极管与数码管驱动外部总线驱动发光二极管8路发光二极管的驱动电路如图所示。其中74HC573的LE引脚由地址选通信号CS_LED与WR信号共同控制。74HC573的输出为低电平时发光二极管发光,否则不亮。外部总线实现人机接口02发光二极管与数码管驱动外部总线驱动发光二极管宏定义发光二极管的控制地址:#define
LEDADDR
XBYTE[0X8000]对发光二极管进行控制时,只需对地址赋值即可,例如:LED_ADDR=0X0F;//高4位输出低电平,低4位输出高电平实验现象:D1~~D4不亮,D5~D8发光。LED_ADDR=0X0F;//高4位输出高电平,低4位输出低电平实验现象:D1~D4发光,D5~D8不亮。外部总线实现人机接口02发光二极管与数码管驱动外部总线驱动数码管共阳极数码管的驱动电路如图所示。其中74HC573的LE引脚由地址选通信号CS_Ds与WR信号共同控制。74HC573的输出连接至数码管的各位。74HC573各位输出为低时对应的数码管位发光,否则不亮。外部总线实现人机接口02发光二极管与数码管驱动外部总线驱动数码管宏定义数码管的控制地址:#define
Digital_ADDR
XBYTE[0XF000]共阳极数码管0~F的编码可定义为数组:unsignedcharcodeDigital_table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0×82,0xf8,0×80,0x90,0x88,0×83,0xc6,0xa1,0×86,0x8e};对数码管进行显示控制时,只需对地址赋值即可,例如:Digital_ADDR=Digital_table[0];//显示数字0Digital_ADDR=Digitaltable[10];//显示字符A外部总线实现人机接口02LCD1602驱动LCD1602是一款字符型液晶,是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5×7或5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。LCD1602可显示两行,每行16个字符,具有体积小、功耗低、显示内容丰富、超薄轻巧等优点。外部总线实现人机接口02LCD1602驱动LCD1602的外形与引脚分布如图所示。LCD1602引脚功能说明如下。第1脚:VSS为电源地。第2脚:VDD接5V电源正极。外部总线实现人机接口02LCD1602驱动LCD1602引脚功能说明如下。第3脚:VCC为液晶显示器对比度调整引脚,接正电源时对比度最低,接地电源时对比度最高。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。外部总线实现人机接口02LCD1602驱动LCD1602引脚功能说明如下。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E为使能(Enable)引脚,高电平时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据引脚。第15、16脚:空脚或背灯电源。15脚背灯正极,16脚背灯负极。外部总线实现人机接口02LCD1602驱动LCD1602操作说明如表所示。外部总线实现人机接口02LCD1602驱动LCD1602的驱动电路如图所示。其中,E引脚由地址选通信号CS_LCD与WR和RD信号共同控制。三者通过与非门连接至E引脚。根据LCD1602操作说明,当A0为高电平、A1为低电平时,读写信号为低电平,CS_LCD为低电平,此时E引脚为高电平,即可通过D0~D7写入数据。当A0为低电平、A1为低电平时,读写信号为低电平,CS_LCD为低电平,此时E引脚为高电平,即可通过DO~D7写入指令码。外部总线实现人机接口02LCD1602驱动对应电路连接,相关程序定义与函数如下。定义LCD1602操作地址:外部总线实现人机接口02LCD1602驱动发送命令函数:外部总线实现人机接口02LCD1602驱动发送命令函数:外部总线实现人机接口02LCD1602驱动向液晶写入数据函数:外部总线实现人机接口02LCD1602驱动液晶显示位置函数:外部总线实现人机接口02LCD1602驱动液晶显示字符函数:以在第1行第2个位置显示字符A为例,编写如下代码即可实现:外部总线实现人机接口02矩阵键盘驱动矩阵键盘的驱动电路如图所示。其中74HC573的LE引脚由地址选通信号CS_KEY_WR与WR信号共同控制,其引脚Q1~Q4输出按键扫描信号。74HC245的OE引脚由地址选通信号CSKEYRD与RD信号共同控制,从而实现对按键值(所对应的引脚BO~B3)读取。外部总线实现人机接口02矩阵键盘驱动宏定义按键的控制地址:#define
KEY_WR_ADDR
XBYTE[0x9000]
//写地址,实现按键扫描电平输出#define
KEY_RD_ADDR
XBYTE[0XA000]
//读地址,实现按键值读取外部总线实现人机接口02矩阵键盘驱动宏定义按键的控制地址:#define
KEY_WR_ADDR
XBYTE[0x9000]
//写地址,实现按键扫描电平输出#define
KEY_RD_ADDR
XBYTE[0XA000]
//读地址,实现按键值读取按键扫描函数获取按键值之后,可执行对应按键操作,相关操作代码如下。03外部总线实现A/D转换外部总线实现A/D转换03ADC0809是采用CMOS工艺的8通道、8位逐次逼近式A/D转换芯片。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其DIP-28封装与引脚分布如图所示。ADC0809芯片简介各引脚功能说明如下。INO~IN7:模拟量输入通道,表示芯片可分时地分别对8个模拟量进行测量转换。A~C:地址线。通过这三条地址线的不同编码来选择对哪个模拟输入通道进行测量转换。外部总线实现A/D转换03ADC0809是采用CMOS工艺的8通道、8位逐次逼近式A/D转换芯片。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其DIP-28封装与引脚分布如图所示。ADC0809芯片简介各引脚功能说明如下。ALE:地址锁存允许信号。在低电平时向A~C写地址,ALE跳至高电平后A~C上的数据被锁存。START:启动转换信号。它为上升沿后,将内部寄存器清零。当它为下降沿后,开始A/D转换。外部总线实现A/D转换03ADC0809是采用CMOS工艺的8通道、8位逐次逼近式A/D转换芯片。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其DIP-28封装与引脚分布如图所示。ADC0809芯片简介各引脚功能说明如下。D0~D7:数据输出口。转换后的数字数据量输出。OE:输出允许信号,是对D0~D7的输出控制端,OE=0,输出端呈高阻态,OE=1,输出转换得到的数据。外部总线实现A/D转换03ADC0809是采用CMOS工艺的8通道、8位逐次逼近式A/D转换芯片。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其DIP-28封装与引脚分布如图所示。ADC0809芯片简介各引脚功能说明如下。CLOCK:时钟信号。ADCO809内部没有时钟电路,需由外部提供时钟信号。CLOCK端可接入的时钟信号频率是10~1280kHz。EOC:转换结束状态信号。EOC=0,正在进行转换。EOC-1,转换结束,可以进行下一步操作。外部总线实现A/D转换03ADC0809是采用CMOS工艺的8通道、8位逐次逼近式A/D转换芯片。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。其DIP-28封装与引脚分布如图所示。ADC0809芯片简介各引脚功能说明如下。VREF+、VREF-:参考电压正端与负端。参考电压用来与输入的模拟量进行比较,作为测量的基准。VCC:电源引脚。GND:电源接地引脚。外部总线实现A/D转换03由高位地址线A13~A15通过74HC138组成译码电路产生ADC0809的片选信号CS_AD。CS_AD和WR信号共同控制ALE引脚和START引脚,实现启动信号。CS_AD和成RD信号共同控制OE引脚,实现转换数据的读取。地址线A~~C分别连接到A4、A3、A2,实现对各个通道的地址编码。转换结束状态信号EOC连接至P10口,实现对转换结束状态的获取。ADC0809的时钟信号由单片机的ALE引脚经过D触发器进行4分频后提供。如果单片机采用12MHz晶振,则单片机ALE引脚为晶振频率的1/6,经过分频后给ADC0809的频率为500kHz。ADC0809电路设计功能函数外部总线实现A/D转换03ADC0809应用电路如图所示ADC0809电路设计功能函数外部总线实现A/D转换03根据以上电路图定义ADCO809操作地址:ADC0809电路设计功能函数外部总线实现A/D转换03ADCO809的内部结构如图所示。ADC0809操作原理外部总线实现A/D转换03ADCO809的操作时序如图所示。ADC0809操作原理外部总线实现A/D转换03根据操作时序图,ADC0809初始化时,使START和OE信号全为低电平,将要转换的通道地址送到地址线A、B、C上。使ALE为高电平,将地址存入地址锁存器中,此地址经译码选通8路模拟输入之一到比较器。给START正脉冲信号,ADC0809在信号的上升沿将所有内部寄存器清零,下降沿时开始进行A/D转换。A/D转换结束后,EOC输出高电平,将OE设置为高电平,转换结果的数字量即可输出到数据总线上。ADC0809操作原理04外部总线实现D/A转换外部总线D/A转换04DAC0832芯片简介DAC0832是采用CMOS工艺的8位电流型D/A转换芯片,与微处理器完全兼容。它有价格低廉、接口简单、转换控制容易等优点,在单片机系统中应用广泛。其内部由8位输入锁存器、8位D/A转换器、8位D/A转换电路及转换控制电路构成。其DIP-20封装与引脚分布如图所示。外部总线D/A转换04DAC0832芯片简介引脚说明如下。CS:片选信号,与允许锁存信号ILE组合来决定WR1是否起作用。ILE:允许锁存信号。WR1:写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器中(此时,WR1必须和CS、ILE同时有效)。外部总线D/A转换04DAC0832芯片简介引脚说明如下。WR2:写信号2,将锁存在输入寄存器中的资料送到D/A转换器中进行锁存(此时,传输控制信号XFER必须有效)。XFER:传输控制信号,用来控制WR2。DI7~DIO:8位数据输入引脚。外部总线D/A转换04DAC0832芯片简介引脚说明如下。IOUT1:模拟电流输出引脚1。当D/A转换器中全为1时,输出电流最大,当D/A转换器中全为0时,输出电流为0。IOUT2:模拟电流输出引脚2。IOUT1+IOUT2=常数。外部总线D/A转换04DAC0832芯片简介引脚说明如下。RFB:反馈电阻引出引脚。DAC0832内部已经有反馈电阻,所以RFB引脚可以直接接到外部运算放大器的输出引脚。这相当于将反馈电阻接在运算放大器的输入引脚和输出引脚之间。VREF:参考电压输入引脚。可接电压范围为+10V。外部标准电压通过VREF与T形电阻网络相连。外部总线D/A转换04DAC0832芯片简介引脚说明如下。VREF:参考电压输入引脚。可接电压范围为+10V。外部标准电压通过VREF与T形电阻网络相连。VDD:芯片供电电压引脚。范围为+5~+15V,最佳工作状态是+15V。GND:电源接地引脚。外部总线D/A转换04DAC0832电路设计与功能函数DAC0832的应用电路如图所示。图中DAC0832的片选信号CSDA由74HC138译码器产生。DAC0832的CS、XFER连在一起由CS_DA控制,WRi、WR2同时被WR控制。当对DAC0832地址写入时,DAC0832工作在直通模式,输入总线上的8位数据信号被传入其内部进行转换。外部总线D/A转换04DAC0832电路设计与功能函数对应电路图定义DAC0832操作地址:#define
DAC0832_ADDR
XBYTE[0XC000]//DAC0832转换通道地址DAC0832写数据函数:调用D/A转换器写数据转换函数即可实现D/A转换,得到不同的电压值:DAC0832_set(0X00);//输出最小电压,0VDAC0832_set(0XFF);//输出最大电压,5V外部总线D/A转换04DAC0832操作原理DAC0832的内部结构如图所示。外部总线D/A转换04DAC0832操作原理DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为LE;第二级锁存器称为D/A转换器,它的锁存信号为传输控制信号。因为有两级锁存器,所以DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个D/A转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。外部总线D/A转换04DAC0832操作原理当ILE为高电平、CS和WR1为低电平时,LE1为高电平,输入寄存器的输出跟随输入的变化而变化;当WR1电平由低变高时,LE1为低电平,数据被锁存到输入寄存器中,这时的输入寄存器的输出不再跟随输入的变化而变化。对于第二级锁存器来说,XFER和WR2同时为低电平时,LE2为高电平,D/A转换器的输出跟随其输入的变化而变化;此后,当WR2由低变高时,LE2变为低电平,将输入寄存器的资料锁存到D/A转换器中。外部总线D/A转换04DAC0832操作原理DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。输入寄存器锁存,D/A转换器直通。具体地说,就是使WR2和XFER都为低电平,D/A转换器的锁存选通信号得不到有效电平而直通;输入寄存器的控制信号ILE处于高电平、CS处于低电平,这样,当WR1送来一个负脉冲时,就可以完成1次转换。输入寄存器直通,D/A转换器锁存。就是使WRi和CS为低电平,ILE为高电平,这样,输入寄存器的锁存选通信号因处于无效状态而直通;当WR2和XFER输入1个负脉冲时,使得D/A转换器工作在锁存状态,提供锁存数据进行转换。外部总线D/A转换04DAC0832操作原理根据上述对DAC0832的输入寄存器和D/A转换器不同的控制方法,DAC0832有如下3种工作方式。单缓冲方式。单缓冲方式是控制输入寄存器和D/A转换器同时接收数据,或者只用输入寄存器而把D/A转换器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。双缓冲方式。双缓冲方式是先使输入寄存器接收数据,再控制输入寄存器输出数据到D/A转换器,即分两次锁存输入数据。此方式适用于多个D/A转换同步输出的情形。直通方式。直通方式是数据不经两级锁存器锁存,即WRi、WR2、XFER、CS均接地,ILE接高电平。此方式适用于连续反馈控制线路。05外部总线实现实时时钟外部总线实现实时时钟05DS12887芯片简介DS12887是采用CMOS工艺的时钟芯片,它把时钟芯片所需的晶振和外部电池等相关电路集于芯片内部。DS12887在地址32H内增加了十几字节。对于少于31天的月份,所有器件的日期能够在月末自动调整,带有闰年补偿。它可配置为24小时或12小时格式,带AMPM指示。精确的温度补偿电路用于监视电源状态。一旦检测到主电源失效,器件就可以自动切换到备用电源。采用DS12887设计的时钟电路不需要任何外围电路并具有良好的微机接口。DS12887具有功耗低、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟场合。外部总线实现实时时钟05DS12887芯片简介其DIP封装与引脚分布如图所示。部分引脚功能说明如下。VCC:直流电源引脚,默认5V电压。当电压在正常范围内时,数据可读写;低于4.25V时,读写被禁止,计时功能仍继续;当下降到3V以下时,RAM和计时器被切换到内部电池。外部总线实现实时时钟05DS12887芯片简介部分引脚功能说明如下。MOT:模式选择,MOT引脚接到VCC时,选择MOTOROLA时序,当接到GND时,选择INTEL时序。SQw:方波输出,当VCC的电压低于4.25V时没有作用。ADO-AD7:双向地址/数据复用线,作为总线接口。外部总线实现实时时钟05DS12887芯片简介部分引脚功能说明如下。AS:地址选通输入,用于实现信号分离,在ALE的下降沿把地址锁入DS12887。外部总线实现实时时钟05DS12887芯片简介部分引脚功能说明如下。DS:数据选通或读输入,有两种操作模式,取决于MOT引脚的电平。当使用MOTOROLA时序时,DS是正脉冲,出现在总线周期的后段,称为数据选通。在读周期,DS指示DS12887驱动双向总的时刻;在写周期,DS的后沿使DS12887锁存写数据。当使用INTEL时序时,DS称作RD,RD与典型存储器的允许信号(OE)的含义相同。外部总线实现实时时钟05DS12887芯片简介部分引脚功能说明如下。R/W:读写输入,当使用MOTOROLA时序时,R/W指示当前周期是读还是写;当使用INTEL时序时,R/W信号是一低电平信号,称为WR,在此模式下,R/W引脚与通用RAM的写允许信号(WE)的含义相同。CS:片选输入,在访问DS12887的总线周期内,片选信号必须保持低电平。外部总线实现实时时钟05DS12887芯片简介部分引脚功能说明如下。iRQ:中断输出,低电平有效,可作为单片机的中断输入。没有中断条件满足时,RQ处于高阻态。IRQ线是漏极开路的,要求外接上拉电阻。RESET:复位输入。外部总线实现实时时钟05DS12887电路设计与功能函数DS12887的应用电路如图所示。图中DS12887的MOT引脚接地,芯片工作在INTEL时序,与单片机外部总线对应连接。DS12887不需要外围电路即可工作,其片选信号CS_RTC由74HC138译码器产生,地址为0XEO00H。外部总线实现实时时钟05DS12887电路设计与功能函数DS12887初始化函数,完成DS12887配置:外部总线实现实时时钟05DS12887电路设计与功能函数DS12887读数据函数:外部总线实现实时时钟05DS12887操作原理DS12887的内部结构如图所示,由振荡电路、分频电路、周期中断/方波选择电路、14字节时钟和控制单元、114字节用户非易失性RAM、十进制/二进制计数器、总线接口电路、电源开关写保护单元和内部肛电池等部分组成。外部总线实现实时时钟05DS12887操作原理DS12887的地址分配图如图所示,由114字节的用户非易失性RAM、10字节的存放实时时钟时间、日历和闹钟RAM以及用于控制状态的4字节特殊寄存器组成,几乎所有的128字节可直接读写。外部总线实现实时时钟05DS12887操作原理时间、日历和闹钟RAM时间和日历信息通过读相应的内存字节来获取,时间、日历和闹钟通过写相应的内存字节设置或初始化,其字节内容可以是十进制或BCD形式。时间可选择12小时格式或24小时格式,当选择12小时格式时,小时字节高位为逻辑“1”代表PM。时间、日历和闹钟字节是双缓冲的,总是可访问的。每秒钟这10字节((走时1s)检查一次闹钟条件,如在更新时,读时间和日历可能引起错误。3个闹钟字节有两种使用方法。第一种,当闹钟时间写入相应时、分、秒闹钟单元时,在闹钟位置位的条件下,闹钟中断每天准时启动一次。第二种,在3个闹钟字节中插入一个或多个不关心码。不关心码是从0XOC到OXFF的任意十六进制数。当小时字节的不关心码位置位时,闹钟为每小时发生一次;当小时、分钟闹钟字节不关心码位置位时,每分钟中断一次;当3字节不关心码位都置位时,每秒中断一次。外部总线实现实时时钟05DS12887操作原理用户非易失性RAM在DS12887中,114字节用户非易失性RAM不专用于任何特殊功能,它们可被处理器程序用作非易失性内存,在更新周期时也可访问。中断RTC实时时钟RAM向处理器提供3个独立的、自动的中断源。闹钟中断的发生率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms到122us中选择。更新结束中断用于向程序指示一个更新周期完成。中断控制和状态位在寄存器B和C中。外部总线实现实时时钟05DS12887操作原理晶振控制位DS12887出厂时,其内部晶振被关掉,以防止锂电池在芯片装入系统前被消耗。寄存器A的bit4~bit6为010时打开晶振,分频器复位,bit4~bit6的其他组合都是使晶振关闭的。方波输出选择15个分频器抽头中的13个可用于15选1选择器,选择分频器抽头的目的是在SQW引脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年福建省福安市高二生物下册期末考试模拟卷及参考答案(达标题)
- 2025年云南省大理市高二生物下册期末考试考试卷及答案【各地真题】
- 2025年青海省德令哈市高二生物下册期末考试模拟卷附答案【培优】
- 2026年贵州省兴义市高二生物下册期末考试试卷【学生专用】附答案
- 2026年青海省玉树市高二生物下册期末考试试卷及参考答案【典型题】
- 2025年山东省临清市高二生物下册期末考试试卷含答案(突破训练)
- 2026年山东省平度市高二生物下册期末考试模拟卷附参考答案(预热题)
- 2026年浙江省瑞安市高二生物下册期末考试考试卷带答案(满分必刷)
- 2025年黑龙江省密山市高二生物下册期末考试模拟卷及答案(典优)
- 2025年黑龙江省肇东市高二生物下册期末考试测试卷附参考答案【培优B卷】
- 中国2型糖尿病运动治疗指南(2024版)
- 影剧院防震应急预案范文(3篇)
- 2025年国家开放大学电大政治学原理期末考试题题库及答案
- 肉羊饲养管理课件
- 吉林省2025年初中学业水平考试(中考)语文真题试卷(含答案)
- 触电急救与安全用电
- DBJT15-162-2019 建筑基坑施工监测技术标准
- 工会代表选举程序及职责
- 安全生产管理制度-普货运输
- 汽车行走的艺术学习通超星期末考试答案章节答案2024年
- 中国产业政策研究综述
评论
0/150
提交评论