10.RESET(复位输入):复位引脚对时钟、日历、RAM无效。系统上电时,复位脚要保持2O0ms以上DS12C887才能正常工作。通常情况下把复位RESET和电源Vcc连接。这样可以使得DS12C887在不影响内部控制寄存器的情况下实现启动和关闭。在本设计中,该管脚接电源。
3.4 存储单元的设计
射击记录仪需要存储大量的数据,光靠单片机内部的随机存储器RAM不但不能满足容量要求,而且不能满足对射击数据进行保存的目的,因此需要对系统进行数据存储器的扩展。
系统扩展是指在单片机内部各功能部件不能满足应用系统的要求时,在片外接相应的外围芯片来满足应用系统的要求。AT89C51单片机有很强的外部扩展功能,扩展要通过单片机的地址总线、数据总线和控制总线来实现。AT89C51的P1.3和Pl.4口分别用来接外部数据存储器(AT24C04)的串行时钟控制线和串行数据输入输出端,实现对外部数据存储器的控制。
AT89C51单片机地址总线的宽度为16位(A0~A15),因此在片外可扩展64KB的数据存储器,根据本课题的设计要求,枪支的寿命大约为3000发,每条记录占用5个字节,其中年、月、日分别占用一个字节,发数占用两个字节。为此本文选用ATMEL公司的4KB容量的存储器AT24C04。
AT24C04的前两个字节保存的是最近一条记录的首地址,在首次使用新的外部存储器之前,应对其0000H和000lH写入00。第一条记录从O002H开始,每条记录5个字节。在每次开机时都会把外部数据存储器0000H和0O01H两个字节的内容读入到内部RAM设定的某一内存单元中。然后比较这两个字节是否为O,若为0,则表明存储器无记录,射击值将被保存在以O002H开始的以下5个字节中。然后还要比较存储器是否己满,如果已满则调用显示子程序,显示:存储器已满。
3.4.1 外部数据存储器AT24C04
美国Atmel公司生产的可擦除可编程只读存储器E2PROM,既具有ROM的非易失性优点,也能像RAM一样随机地进行读/写,且具有掉电记忆功能,数据可保存10年以上。工作时只需+5V电源,在单片机应用系统中可直接使用单片机的+5V电源。在单片机应用系统中既可以扩展为片外E2PROM,也可以扩展为片外RAM。AT24C04读取速度快,读取时间为150ns;具有字节和页两种写模式,可提供数据保护功能,具有卓越的抗干扰能力。本文AT24C04通过串行接口作为片外静态SRAM[12]。AT24C04的外部引脚如图3.8所示:
图 3.8 AT24C04的外部引脚图
引脚说明:
SCL:串行移位时钟输入,写入时上升沿作用,读出时下降沿作用。
SDA:串行数据输入输出,这是一个漏极开路结构的引脚,可将多片24系列芯片的SDA脚直接相连,实际使用时需通过上拉电阻接至正电源。
A0A1A2:器件地址选择脚,由硬件配置成不同的码值.如这三个引脚均有效,则同一串行总线上可同时扩展最多8片这样的芯片。
WP:硬件写保护控制引脚,当为低电平时正常写操作;当为高电平时,对24系列串行E2PROM部分存储区域提供硬件写保护功能,即对这部分存储区域的内容只能读不能写。
24C系列串行E2PROM严格遵守I2C总线的时序和数据格式。起始位、停止位由SCL高电平期间SDA的跳变决定:下跳变时启动I2C总线,上跳变时停止总线,见图3.9所示。
图3.9 起始、停止控制时序
3.4.2 AT24C04与系统的连接
80C51与AT24C04硬件连接图如图3.10所示。由单片机P1.3口控制AT24C04的SCL,当SCL高电平期间,SDA的跳变决定起始位、停止位,其读写约定步骤为: 单片机发送起始信号(S),占据串行总线,随后发送7位从AT24C04地址和一位读写方向位。从AT24C04接收到单片机发送的器件寻址信号后,将在SDA总线上返回单片机一个确认信号A(低电平有效),表示作好读写准备。单片机在收到从器件的确认信号后,向从AT24C04发送要访问的数据地址(即片内地址),从AT24C04收到后又向单片机返回一个确认信号A,至此EEPROM的读写准备工作完成。若为写EEPROM,则单片机向从AT24C04发送所写数据;若是读EEPROM,则由单片机接收从器件发送的指定单元的8位数据。数据读写操作结束,单片机将发送停止信号(P)。 MedWin+AT89C51单片机武器射击记录仪设计+PCB图纸(7):http://www.youerw.com/zidonghua/lunwen_2571.html