基于单片机控制的数字温度计的设计
等精度测频功能的实现需要单片机与CPLD的协调合作实现。计数器1用单片机的定时器1实现,计数器2用CPLD来配置。单片机部分的主要作用是:负责控制外部计数器和内部定时器计数器的开启与关闭;外部计数器和内部定时器计数器的数据的读取;处理以及数据输出缓存。测量开始,单片机首先发出清零信号,对外部CPLD计数器清零,然后将内部定时器清零,配置成外部时钟控制方式,然后发出计数启动信号,随后进入等精度频率测量计数模式,单片机通过查询计数器,判断计数时间,该计数时间必须小于外部32 bit计数器溢出时间,时间一到,单片机发出停止计数信号,查询引脚P3.2,确认计数停止,读回外部计数结果和内部计数器计数结果,假设分别为N1和N2,定时器计数时间间隔为T1,那么被测信号的频率F=(N1/N2)T1,将计算出的数据输送到频率温度转化模块等待数据转换。
CPLD部分主要完成对被测信号的测量计数和总线设计。由于所用CPLD芯片内资源较少,其内部只能设置一个32位计数器。这部分在Max+p lusII环境下完成电路的硬件设计与仿真,采用原理图输入。硬件设计共包括4个部分:输入、输出、计数器和总线接口部分。总体设计结构如图5所示,其中mcu_ctrl模块为总线接口模块,frequency模块为测量计数模块。
3 软件部分设计
源程序流程图如图6所示。
计算单片机的计数并根据基准时钟的脉冲数目,时钟周期由被测信号脉冲数目计算出待测信号频率。
4 实验结果
通过与基准温度对比的方法对设计的温度计精度进行验证。首先使用精度较高的温度计测得实际温度作为基准温度,然后利用设计好的数字温度计测量实际温度与基准温度进行对比,测量结果如表1所示。通过对比测试结果,发现设计的数字温度计测量的温度与基准温度相差很小,绝对误差小于0.1℃,相对误差小于0.3%,达到了设计的精度要求。
总之,通过利用单片机与CPLD的配合完成频率的精确测量,实现了等精度测频功能。利用等精度测频功能确保了测量温度数据处理的精确性,使设计的温度计的精度达到实际应用的要求。在系统中等精度频率测量模块采用8位51单片机定时器作为基准信号的计数器,由于该基准信号频率较低,对精度有一定影响。如果采用更高频率基准信号,测频精度还可提高,从而提高测量温度的精度。
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)