碧波液压网 欢迎你,游客。 登录 注册

浮点数在E2PROM中存取方法的研究

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  

  

  1 引言

  在智能化的仪器仪表的设计中,许多传感器、检波器以及其他元件的输出信号与被测信号参数间存在明显的非线性,为了使仪器仪表直接显示各种被测参数,提高测量精度、控制精度,必须对器件的非线性进行矫正,通常的方法是采用硬件补偿的方法对其进行非线性补偿矫正,硬件补偿具有电路设计复杂、实现困难。而且,随着微处理器技术的发展,仪器仪表的标校逐步向数字化校准方向发展。所有这些赖以实现的基础是功能强大的微处理器技术、非易失性存储器技术,以及微处理器的仿真开发技术。非线性矫正数字技术的关键是校准矫正结果的保存与应用,非易失性存贮器与静态RAM和SRAM存取方式有很大区别,本文仅就C51单片机开发语言中,浮点数在不同的非易失性存储器的存取方法作一探讨。

  2 浮点数在并行E2PROM中的存取

  MCS-51单片机在智能化的仪器仪表的设计中得到了广泛的应用,同时C51单片机开发语言方便灵活的接口编程能力和强大的数据处理能力,在单片机的开发中占有重要地位,其特有的浮点数处理能力,为智能化仪表仪器的非线性矫正、数字化校准提供了方便,在C51中,如果浮点数被分配在RAM存储空间,如6264、6116、62256、62128等这些数据的存取由C51自动编译完成,不必编写专门的程序。

  非易失性存储器2817A、2864等,其硬件接口没有特殊要求,其读周期与RAM基本一致,但是其写周期比RAM要长得多,需要几十毫秒。每个C51浮点数占用连续的四个字节的存储单元,浮点数的存储也必须是连续的四个字节存储单元,因此必须为浮点数存储编写专门的存储程序。

  一般情况下,用户定义的浮点数在RAM中的地址、存储方式对用户是未知的,但是,用户可以通过C51的指针实现对C51浮点数的按字节访问,C51语言的指针是它的一大特色,表现出很强的数据处理能力和灵活性。

  使用指针可以有效地表示复杂的数据结构、动态分配存储器、直接处理内存地址等,简化程序设计。C51浮点变量为32位占四个字节,具有24位精度,尾数的高位始终为1不保存,即1位符号位,8位指数位,23位尾数位,内存中按字节存储如下:

  其中,S:为符号位,1表示负,0表示正。

  E:阶码(在两个字节中)偏移为127。

  M:23位尾数,最高位为1。

  例如浮点数变量K=-12.5的十六进制表示为:0xC1 48 00 00,它按图1方式保存于内存RAM的连续的四个字节中,可以随意使用。

  地址    内容

  ADD+000H  0x00

  ADD+001H  0x00

  ADD+002H  0x48

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论