基于单片机的轨道压力测试仪的实现
[09-12 16:03:34] 来源:http://www.88dzw.com 单片机学习 阅读:8453次
文章摘要:图4 显示与报警电路系统软件设计1 采样和数据处理①AD7705的读写时序AD7705通过四线SPI与单片机通信,其读写时序图如图5(a)、(b)所示,读写过程中串行数据高位在前,低位在后。DRDY为低电平说明A/D已经转换完毕,数据已准备好,可以启动读写指令。任何时候要对AD7705进行读写操作都须检查DRDY是否为低。图5 AD7705读写时序图②AD7705的寄存器第一个是通信寄存器(communication Register),选择采集通道、下一次操作是读还是写,以及下一次读写哪一个寄存器。第二个是设置寄存器(Setup Register),决定校准模式、增益设置、极性设置以及缓冲模
基于单片机的轨道压力测试仪的实现,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com图4 显示与报警电路
系统软件设计
1 采样和数据处理
①AD7705的读写时序
AD7705通过四线SPI与单片机通信,其读写时序图如图5(a)、(b)所示,读写过程中串行数据高位在前,低位在后。DRDY为低电平说明A/D已经转换完毕,数据已准备好,可以启动读写指令。任何时候要对AD7705进行读写操作都须检查DRDY是否为低。
图5 AD7705读写时序图
②AD7705的寄存器
第一个是通信寄存器(communication Register),选择采集通道、下一次操作是读还是写,以及下一次读写哪一个寄存器。
第二个是设置寄存器(Setup Register),决定校准模式、增益设置、极性设置以及缓冲模式。
第三个是时钟寄存器(CLOCK Register),设置滤波器记忆时钟控制位。
软件编程思路也是按这个顺序写的,先设置通信寄存器,其次写设置寄存器,最后设置时钟寄存器。设置完之后,只要检测到DRDY为低电平,就可以启动时钟来读取AD7705数据寄存器中已转换好的数据。
2 数据处理算法思路
数据处理主要是将电压信号转换成压力值,将采集来的数据进行转换。已知:传感器的参数为10mV对应的是30kN,A/D的满量程电压为1.5V,设采集的A/D值为K,设换算后的压力为X,10mV对应的A/D值为D,增益为64,则由以上参数可求出:
式(2)就是转换后的压力值和采集的A/D值的关系。
因为单片机不支持浮点运算,为了能精确的显示结果,用软件模拟浮点除法运算,其主要思想是:定义一整型变量INTD,将除的结果存入INTD中,因为是整型变量,所以除法的结果只取了整数部分,例如5/4=1,模拟除法的算法主要依据这一特性。
第一步,如果采集来的值K大于932,K/932存入整型变量中即可得到整数部分。
第四步,与逻辑零点进行比较,得到理论压力值,并进行BCD转换在数码管上显示。
图6 软件流程图
3 程序编程思路及流程图
系统软件编程采用状态机机制,上电之后进行各个模块的初始化,包括I/O口初始化、定时器初始化、SPI初始化等。初始化完后进入系统循环,在循环体中根据任务标志位进行任务处理,主要任务有:欠压处理、数据采集、睡眠、关机等。在数据处理时,先采集通道2的值,然后采集通道1,如果传感器未接,则采集来的值为零或者近似零,系统报警等待。如果采集来的值大于零,则参与运算。求出理论值显示。
《基于单片机的轨道压力测试仪的实现》相关文章
- › 基于单片机的直接数字频率合成器的设计
- › 基于单片机P89C61X2的FPGA配置
- › 基于单片机的直流调速系统设计
- › 基于单片机仿真器的设计
- › 基于单片机和DSP的被动声目标探测平台设计
- › 基于单片机的电子导游系统设计
- 在百度中搜索相关文章:基于单片机的轨道压力测试仪的实现
- 在谷歌中搜索相关文章:基于单片机的轨道压力测试仪的实现
- 在soso中搜索相关文章:基于单片机的轨道压力测试仪的实现
- 在搜狗中搜索相关文章:基于单片机的轨道压力测试仪的实现