位置:51电子网 » 技术资料 » 初学园地

数据存储在EEPROM中实现掉电不丢失

发布时间:2013/11/27 20:09:48 访问次数:4319

     由于单片机的功能很强, HMC207S8同时也有EEPROM,可以方便地存储数据,所以我设计了一个菜单来方便功能的设置,设置数据存储在EEPROM中实现掉电不丢。

    现在功能菜单也有了,就可以完全任凭自己的想象力来发挥了,因为MCU拥有无限可能。我目前实现的功能有数据保持、串口发送测量值设定、工作频设定、小数点位置设定、菜单超时退出和还原出厂设置等。未来要实现的功能有:开关短按功能设置、电压超阈值报警、平均值计算、差值计算、软件校准蚁及自动控制等。板子上只设计了一个轻触开关,基本够用了。长按按键进入设置菜单,短按按键数据保持。以后要增加短按功能设置,可以更改短按的功能。这个程序也是我第一次使用定时器来进行按键检测,我没有使用常用的件延时和中断检测法。因为单片机要不断扫描数码管,不能打断扫描太长时间不然数字显示会闪烁或中断。

     不使用中断的原因是单片机外部中断资比较有限,我想把中断1端口预留给以后控制使用+另外程序编写的循环很快,每次循环只扫描一个数码管,这样一次循环的时间就很短,不会影响到按键的判断。程序也有向上位机发送测量结果的功能,如果设置打开了串口发送数据,那么每次测量结束就会将测量结果以BCD码通过串口发送出去。多参考单片机的数据手册,再开动脑筋就可以做出很多很有意思的功能。编写程序的时候要注意1/0口的工作模式,数据收要设为开漏,数据发送和发送接收口要设为准双向口,数码管段驱动口要根选取的数码管类型(共阴或共阳)设为推挽或开漏,数码管位驱动口同样,要设为开漏或推挽。

     当程序编写调试完成后,在投入使用前最后一个重要工作就是对表头进行校准,以保证测量的准确性。原则上应该使用4i/2及以上住数的数字电压表或万用表,将其输入端与表头输入端并联,并输入一个1V左右稳定的电压,调节电位器,使二者显示一致的方式来调整。但是考虑可能没有4i/2或以上位数的仪表,也可以用精度良好的31/2或3%J位万用表来简单调整。

   首先对表头进行自检,记下读数若自检读数低于9995就应该考虑更换更优质的积分电容了。然后使用万用表00.OmV或400.OmV量程电压挡,将其入端与本机输入端并联,并输入一个100~200mV的稳定电压,调节电位器,使二者显示一致即可。

     最后就可以将表头投入使用了。由于我没有更好的积分电容,所以表头度略差,实际满量程误差是正负十几个字左右,整机耗电在30mA左右。目前工作正常,与上位机通信也很稳定。

     由于单片机的功能很强, HMC207S8同时也有EEPROM,可以方便地存储数据,所以我设计了一个菜单来方便功能的设置,设置数据存储在EEPROM中实现掉电不丢。

    现在功能菜单也有了,就可以完全任凭自己的想象力来发挥了,因为MCU拥有无限可能。我目前实现的功能有数据保持、串口发送测量值设定、工作频设定、小数点位置设定、菜单超时退出和还原出厂设置等。未来要实现的功能有:开关短按功能设置、电压超阈值报警、平均值计算、差值计算、软件校准蚁及自动控制等。板子上只设计了一个轻触开关,基本够用了。长按按键进入设置菜单,短按按键数据保持。以后要增加短按功能设置,可以更改短按的功能。这个程序也是我第一次使用定时器来进行按键检测,我没有使用常用的件延时和中断检测法。因为单片机要不断扫描数码管,不能打断扫描太长时间不然数字显示会闪烁或中断。

     不使用中断的原因是单片机外部中断资比较有限,我想把中断1端口预留给以后控制使用+另外程序编写的循环很快,每次循环只扫描一个数码管,这样一次循环的时间就很短,不会影响到按键的判断。程序也有向上位机发送测量结果的功能,如果设置打开了串口发送数据,那么每次测量结束就会将测量结果以BCD码通过串口发送出去。多参考单片机的数据手册,再开动脑筋就可以做出很多很有意思的功能。编写程序的时候要注意1/0口的工作模式,数据收要设为开漏,数据发送和发送接收口要设为准双向口,数码管段驱动口要根选取的数码管类型(共阴或共阳)设为推挽或开漏,数码管位驱动口同样,要设为开漏或推挽。

     当程序编写调试完成后,在投入使用前最后一个重要工作就是对表头进行校准,以保证测量的准确性。原则上应该使用4i/2及以上住数的数字电压表或万用表,将其输入端与表头输入端并联,并输入一个1V左右稳定的电压,调节电位器,使二者显示一致的方式来调整。但是考虑可能没有4i/2或以上位数的仪表,也可以用精度良好的31/2或3%J位万用表来简单调整。

   首先对表头进行自检,记下读数若自检读数低于9995就应该考虑更换更优质的积分电容了。然后使用万用表00.OmV或400.OmV量程电压挡,将其入端与本机输入端并联,并输入一个100~200mV的稳定电压,调节电位器,使二者显示一致即可。

     最后就可以将表头投入使用了。由于我没有更好的积分电容,所以表头度略差,实际满量程误差是正负十几个字左右,整机耗电在30mA左右。目前工作正常,与上位机通信也很稳定。

上一篇:PCB布线要点

上一篇:RIGOL生产基地参

热门点击

 

推荐技术资料

FU-19推挽功放制作
    FU-19是国产大功率发射双四极功率电二管,EPL20... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式