3.2.2 软件结构划分
采用结构化软件设计的方法,使得设计简单,易于调试和移植,提高编程效率。采用结构化设计软件的方法将本系统软件划分为图4所示的4个模块:齿数计数模块、计时模块、转速计算模块和转速显示模块。其中最主要的是计时模块和转速计算模块

(1) 计时模块
由图2可知当红外线发射管发射的红外线未被轮齿挡住时,接收管受红外线照射呈导通状态,经反相器输入到单片机中断端口的电压为高电平,不产生中断;而当红外线发射管发射的红外线被轮齿挡住时,接收管不受红外线照射则呈截止状态,经反相器输入到单片机中断端口的电压跳变为低电平。从而激活中断程序对脉冲进行计数。计数流程图如图5所示。由于计数需要与计时同步,所以需要在产生第一次红外光被挡住时(红外光被挡住时Pass=0,反之Pass=1),也即中断口电位由高变低时打开定时器。由于实验中的齿盘共有108个齿,为了提高测量的实时性,把108个齿分成9等份
,当计数值(Num)为12时关闭定时器并读取定时器的计时值。

(2) 转速计算模块
由于系统采用同步M/T法测量转速,所以计算转速时,需要的参数有盘脉冲数和计时值。本系统中AT89C52单片机采用频率为12MHz的外接晶振,则每个机器周期为1us。单片机定时器的计数脉冲周期为一个机器周期,若定时器从零开时计数,关闭定时器时其计数值为m,则计时时间就是m微秒。计算转速部分程序如下。
m=TH0×256 //读出计数器的计数变量TH0,并将其左移8位
m=TH0+TL0 //获得时钟脉冲数
time=m //计算出计时时间
n=60*106/(9*time) //计算转速r/min
5 结束语
本文作者的创新点是以红外传感器代替了传统的电磁式传感器,系统的硬件电路简单,测量转速范围较宽,且具有较高的测量精度,对于低转速的测量也有相当高的精度。并充分利用了单片机的内部资源,有很高的性价比。可用于各行业转速的非接触式检测和控制中。
参考文献
[1] 钱建强,薛敏.红外光电转速测量仪[J].工业计量2003,6:33~35
[2] 鲍鸿,刘明建. 数字化霍尔转速仪的研究[J].广东工学院学报.1996,9(3):67~70
[3] 田国华,杨青等,实时操作系统μC/OS- II 在LPC2210 上的移植研究与实现[J].微计算机信息,2005,21-12:33-36。