第14章 电压表\电流表\显示器\计数器 通过本模块的学习制作,可以进一步熟悉高精度ADC的运用,单片机 内部DataFlash的读写、动态显示程序的编写(包括小数的显示)以及自 定义的SPI主从机数据通信原理,测试中,本模块可以直接插接到第一章 介绍的单片机实验板“通用计数器/显示器接口”上使用。 同一个模块,通过硬件上的简单设置可实现4种不同的功能
K3(P4.2) | K4(P4.3) | 模块功能 | | K1(P3.6) | K2(P3.7) | 电压表档位 | 输入阻抗 | 0 | 0 | 电流表 | | 0 | 0 | 2.0480V | 2MΩ | 0 | 1 | 计数器 | | 0 | 1 | 20.480V | | 1 | 0 | 显示器 | | 1 | 0 | 204.80V | | 1 | 1 | 电压表(默认) | | 1 | 1 | 20.480V(默 认) | |
① 电压表说明: 使用18位MCP3421A0T-E/CH芯片作ADC,通过软件校准的方式可使整个模块电压测量误差 最大值不大于量程的±0.05%,在电路上,2V档由外部信号直接输入ADC,其它档位使用 1MΩ电阻降压,然后使用MCP6V01T-E/SN 轨到轨自动调零运放作ADC输入电压跟随器,由 于精度要求高,普通运放无法满足要求。 ② 电流表说明: 使用0.1Ω/0.5W的电流取样电阻,可测量0~2A范围内的电流,取样出来的电压信号不经过电 压跟随器,直接送入ADC芯片。 ③ 通用显示器说明: 外部单片机通过CLK与DAT两条信号线向模块送入数据,模块能显示0~99999范围内整数或小 数值,外部单片机需要一次向模块发送5个字节的数据,第1字节表示模块地址,默认值为0 ,在多个模块CLK与DAT并接在一起的情况下,只有与发送地址相符的模块才接收与处理总线 上的数据,第2、3、4字节是需要显示的数据,第2字节是数据高字节,第3字节是数据中间 字节,4字节是数据低字节,第5字节确定需要显示的小数位数,所有字节都是按高位在前, 低位在后的顺序发送,每一位的发送是外部单片机先把数据位放到DAT线上,然后拉低CLK线 ,模块内部是在CLK下降沿后读取DAT线上的状态,经测试,模块在22.1184MHz工作频率下外 部单片机数据发送时钟脉冲高电平1uS、低电平5uS条件下工作正常,也就是说发送一组数据 的最短时间需要大约(1 + 5)×8×5 = 240uS,为了提高稳定性,可以适当降低通信时钟频 率(主要是延长脉冲低电平时间),但也不能过低,要求一组数据必须在0.2秒内传送完成 ,超过0.2秒,模块自动清除前面已收到的不完整的数据,这样保证了数据传送的可靠性。 ④ 计数器说明: 外部脉冲信号通过DAT线送入模块,每产生一个脉冲下降沿,计数器数值加1,超过最大值 99999后从0开始循环,要求外部脉冲信号低电平不能大于0.6V,高电平不能小于2V,高电平 最大值也不能超过40V,模块具有断电自动存储数据的功能,可通过开关将CLK线接GND,上 电瞬间即可将显示的计数值清零。
|