2.3 设计与实现
该简易速度计的设计实现主要基于PIC16F877 的CCP 模块功能,这里我们首先将PIC16F877 的CCP1 配置为捕捉模式,预分频比设置为1:1,每个上升沿触发。
当捕捉到跳变后CPP1 中断标志位置位,直接采用中断方式进行处理,即在中断服务子程序中处理相关寄存器的数值或状态变化,计算并储存相关物理量,以上设置均由软件编程来完成。
3 功能仿真
3.1 Proteus 下仿真电路的搭建
要在Proteus下完成测速计功能的仿真,首先应在其界面新建设计文件并搭建仿真电路图,本例的测速计功能电路图如图4 所示。
在Proteus 软件下进行仿真时,库里各电子模块本身集成有驱动功能,故各模块与单片机之间只需要用连接线简易连接即可,而无需外加任何驱动电路。但是,实际制作电路版时,还是需外加各模块的驱动电路,并考虑各器件之间的间距,以避免电磁干扰。
3.2 功能仿真
在 PIC 系列单片机的专用开发环境MPLAB IDE 8.90 下分别完成各个模块的代码编写,编译运行后,用调试工具Proteus VSM加载Proteus 软件下建立好的设计文件,并运行,其结果如图5 所示。
3.3 仿真结果分析
如上图5 所示,当信号频率配置为3 000 Hz 时,仿真结果即测速计的速度显示为5 660 m/s, 且以速度值为中心, 小范围内上下波动。而经过理论计算的速度值约为5 655 m/s,与仿真值基本相同。事实上,经过连续测量n 个周期后求平均值的办法,其理论值与仿真值之间的误差会明显减小。
4 结语
本文提出了一种基于PIC16F877 单片机捕捉功能实现的简易测速计设计方案,经过Proteus 软件下的仿真验证,该设计方案基本符合预期结果。方案中的整个测速计设计简单方便、成本低、测速误差较小、易于实现,在模块化后,可作为一个集成测速模块直接应用于其他设计当中。
用户评论
共 0 条评论