STM32F103单片机的简易测速计设计方案随着微电子技术的迅猛发展,单片机在汽车、通信、办公自动化、工业控制、高级玩具、家用电器等方面都得到了广泛的应用。北京首矽致芯科技有限公司是一家专业从事PCB抄板、电路板抄板(克隆)、芯片解密、PCB设计、PCB生产加工、抄数、元器件仿制克隆、软硬件开发设计的技术服务型企业。如果将Proteus作为单片机系统仿真工具,则不用制作电路板,而可以使用Proteus进行系统虚拟实现,这样不仅能完成所需功能设计验证,还能降低硬件成本的耗用,从而缩短整个设计周期,从根本上提高了电子产品的开发效率。STM32F103单片机中有两个CCP模块,其构造基本相同,分别记为CCP1和CCP2.每个CCP模块可以任意配置为捕捉、比较和脉宽调制3个功能模式之一。STM32F103的CCP1模块工作于捕捉模式时,当特定的跳变沿出现时,TMR1定时器的计数值会立即复制到CCPR1H和CCPR1L中并产生中断信号,通过在中断服务程序中读取这个16位计数值。当使用CCP1模块的捕捉功能实现相邻两次上升沿时间间隔的测量时,此时间间隔就是输入信号的周期g-Period.由于主频是4MHz,即每个指令周期为1μs,将预分频比设置为1:1,测得周期结果单位为微秒级。所以最终测得的速度值speed通过以下公式得出:测速计功能的实现可由基于STM32F103的主控制模块、显示模块、齿轮和光电传感器构成的被测模块等几部分构成。通过单片机的RC2/CCP1引脚分别连接被测模块和测量子模块,在Proteus软件仿真时,分别由信号发生器SG1和频率计作为硬件设备连接。SG1用来模拟被测模块产生信号,F1采用频率计方式运行,用来显示当前信号频率,用来做参考值与显示模块数据,即测速计测速结果值进行比较,以验证测速计测速结果的正确与否。各模块之间的连接关系如图1所示。该简易速度计的设计实现主要基于STM32F103的CCP模块功能,这里我们首先将STM32F103的CCP1配置为捕捉模式,预分频比设置为1:1,每个上升沿触发。当捕捉到跳变后CPP1中断标志位置位,直接采用中断方式进行处理,即在中断服务子程序中处理相关寄存器的数值或状态变化,计算并储存相关物理量,以上设置均由软件编程来完成。本文提出了一种基于STM32F103单片机捕捉功能实现的简易测速计设计方案,经过Proteus软件下的仿真验证,该设计方案基本符合预期结果。方案中的整个测速计设计简单方便、成本低、测速误差较小、易于实现,在模块化后,可作为一个集成测速模块直接应用于其他设计当中。