单片机时钟上的时间怎么保存,请教一个问题恩比如说用52的单片机做的一个秒表如何存储多组
来源:整理 编辑:八论文 2024-01-31 01:21:02
1,请教一个问题恩比如说用52的单片机做的一个秒表如何存储多组
开一个二维数组,一维存暂停的次数,二维存暂停时候的时间。时间也可以开数组,在定时中断中变化,按键按下就存他单片机里就集成了cpu,ram,rom,寄存器等。。。。排阻是上拉p0口电平的,晶振提供稳定的时钟周期,30pf电容是配合晶振震荡电路,9脚的电解电容是产生复位高电平的,电阻通常是下拉或上拉或是限流作用,开关就看你程序定义了。。。。
2,单片机如何保存得到的数据比如我通过温度传感器获得了某个时间
首先单片机存储某个程序都会把程序存储到内部程序存储器中 也就是所说的ROMEEPROM是电可擦除编辑只读存储器 这个主要的特性是掉电不会擦除 上电之后可继续执行在单片机里面有ROM和RAM ROM主要用作程序存储器 相当于计算机的硬盘 而RAM只存储数据 相当于计算机的内存一样这个除了E2PROM 貌似还真的没有了 你可以问问高人 兴许他们知道 O(∩_∩)O~温度传感器一般输出是模拟信号,要输入到单片机就需要经过模数(ad)转换,可以考虑加ad转换芯片,当然有些单片机本身是有模拟输入口的,由内部进行ad转换。也有数字温度传感器,那就可以直接连接到单片机的普通io口进行处理了。
3,DS12C887芯片如何存储上次上电时的日期时间
DS12C887中带有128字节RAM,其中11字节用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节RAM供用户使用。作为时钟芯片,基本都是使用晶振来进行时间的计算,然后内部带有一个电池,所以不是断电之前保存当前日期时间,而是它芯片内部的始终在运行如果你的引脚很多很充足,选择并行的话,速度会快些,但是pcb布线会麻烦点。如果引脚剩余不多,比较少,那么就选择串行比较合适。串行速度比较慢点,但是pcb布线简单。况且时钟芯片这东西,速度本身要求就不高,快慢无所谓。ds12887里面有eeprom可以存储数据,并行存储也快些。具体要看你的项目需求。没有好坏之分。
4,51单片机EEPROM电子钟掉电保存怎么做
1、首先你要明确,电子钟需要一直运行,如果断电了就停了,那么你断电1分钟和断电1小时候怎么才能保证上电后时间是对的2、一般电子钟需要用专用芯片,由单片机直接读取时间数据,如PCF8563或DS1302等,1302有后备电池的接入管脚,8563则需在设计电路时提供单独的后备电源如果以上均满足了,则没有频繁读写EEPROM的问题了3、数码管如果直接用单片机驱动一般显示频率应大于50HZ,即两次扫描间隔时间小于20ms,或者换用74hc595(串入并出带有锁存功能8位移位寄存器)等驱动数码管程序存储区不能存储数据,可以用eepram来存储数据。不外加存储器也可以实现,就用stc单片机它内部有eepram。
5,如何将时间值存入到单片机的AT24C芯片中
只要会写入和读出即可,写入时先发一个字节为写命令(最低位是读写命令其余7位可做为高7位地址),再发一个低8位地址,然后再发要写入的数据 读出时先发一个字节为写命令(同样含高7位地址),再发一个低8位地址,然后再发一次读命令,即可读出数据. 对于24C02 高7位地址的前4位内部已规定为1010 另3位为器件上三根地址线的地址 若全接地,则为000,因此读此器件的命令即为0xa1 写此器件的命令即为0xa0 低8位刚好寻址内部256字节地址空间 下面给出单字节写入和读出的程序/////////24C02读写驱动程序////////////////////void delay1(unsigned char x)//24C02比较慢,要延时等待 for(i=0;i<x;i++); ;}void flash()//短延时void x24c08_init() //24c02初始化子程序 void start() //启动I2C总线void stop() //停止I2C总线void writex(unsigned char j) //写一个字节 temp=j; for (i=0;i<8;i++) scl=0; flash(); sda=1; flash();}unsigned char readx() //读一个字节 unsigned char i,j,k=0; scl=0; flash(); sda=1; for (i=0;i<8;i++) if (sda==1) j=1; else j=0; k=(k<<1)|j; scl=0;} flash(); return(k);}void clock() //I2C总线时钟 unsigned char i=0; scl=1; flash(); while ((sda==1)&&(i<255))i++; scl=0; flash();}////////从24c02的地址address中读取一个字节数据/////unsigned char x24c02_read(unsigned char address) //address 要读的存储单元地址 unsigned char i; start(); writex(0xa0); //写入器件地址 clock(); writex(address);) //写入读取的内部存储单元地址 clock(); start(); writex(0xa1); clock(); //再向此器件写入读命令 i=readx(); stop(); //获得数据 delay1(10); return(i);}//////向24c02的address地址中写入一字节数据info/////void x24c02_write(unsigned char address,unsigned char info)//写入时要有地址和数据2个参数 EA=0; start(); writex(0xa0); clock(); writex(address); clock(); writex(info); clock(); stop(); EA=1; delay1(50);}这个芯片与单片机的连接非常简单,芯片的两个引脚sck,sda,可以连接到单片机的任意两个i/o脚上的。引脚确定后,就可以定义引脚,写程序了。比较难的是写程序。
文章TAG:
单片机时钟上的时间怎么保存单片机 时钟 上的