论文导读:以AT89C52单片机为核心,采用霍尔传感器,实现对自行车行驶里程、速度的测量,并能选择显示自行车行驶里程值或速度值。硬件部分主要完成自行车行驶里程里程的检测、LED显示、按键检测、灯光指示和声音报警等功能。软件部分主要完成自行车行驶里程和速度的计算、速度值里程值的选择显示、按键控制、超速时进行声光报警提示等功能。霍尔传感器AH20安装在自行车轮子上,当轮子每转一圈,霍尔传感器就输出一个低电平脉冲。LED数码管采用动态扫描的方式,P0口和P2口作为数码管的段码及位码的输入端。
关键词:AT89C52,LED数码管,霍尔传感器,速度,里程
1 设计任务及要求
以AT89C52单片机为核心,采用霍尔传感器,实现对自行车行驶里程、速度的测量,并能选择显示自行车行驶里程值或速度值。可以实现对自行车车轮大小的设置等。自行车超过一定限速时可以进行声光报警提示。
2 系统组成及工作原理
本系统由硬件和软件两部分组成。硬件部分主要完成自行车行驶里程里程的检测、LED显示、按键检测、灯光指示和声音报警等功能。软件部分主要完成自行车行驶里程和速度的计算、速度值里程值的选择显示、按键控制、超速时进行声光报警提示等功能。电路的系统结构框图如图1所示。

图1 电路的系统结构框图
3 硬件电路及工作原理
电路原理图如图2所示。霍尔传感器AH20安装在自行车轮子上,当轮子每转一圈,霍尔传感器就输出一个低电平脉冲。CD4024作为二分频器使用,将霍尔传感器的输出信号进行二分频,从而控制定时器启动和停止。LED数码管采用动态扫描的方式,P0口和P2口作为数码管的段码及位码的输入端。LED1和LED2是里程显示和速度显示的状态指示灯。S1~S4是自行车车轮大小的选择开关。S5是里程/速度显示的切换开关,当S5闭合时,显示速度,当S5断开时,显示里程。LED3和蜂鸣器是超速报警指示。发表论文。

图2 电路原理图
4 软件设计
本系统的软件采用汇编语言编写。20H~23H单元存放车轮大小的数值,60H~62H单元存放圈数,68H、69H单元存放轮子转一圈所用的时间。发表论文。源程序主要分为主程序、初始化子程序、里程/速度测量子程序、显示子程序等。
4.1初始化子程序
初始化子程序主要完成以下工作:设置定时器1为外部控制定时方式、外中断0和外中断1为边沿触发方式。当开关S1~S4都断开时,发出错误警报。
4.2主程序
根据开关S5的状态选择里程值显示或速度值显示。调用其他子程序。
4.3里程速度测量程序
采用外部中断0对行驶圈数的计数,该计数值为十六进制数。轮子每转一圈,即产生一次外部中断,计数值加1。
采用外部中断1控制定时器T1的启动和停止。当外部中断1输入为0时,定时器T1停止,当外部中断1输入为1时,定时器T1启动。外部中断1的输入信号是将轮子圈数的计数脉冲经二分频后形成,这样每次定时器T1的计数时间正好为轮子转一圈所用的时间。
4.4显示子程序
当显示里程时, 先要点亮里程显示指示灯,熄灭速度显示指示灯,再将圈数计数器中的数值进行计算,求出总里程值(km)并显示。计算公式为:
里程=计数值*轮子周长
当要显示速率时,先要点亮速度显示指示灯,熄灭里程显示指示灯,再将轮子的周长数值和车轮转一圈所用的时间数值进行计算,求出实时速度值并显示,速度的单位为Km/h。速度计算公式为:
速度=轮子周长/定时时间
4.5 主程序流程图、里程/速度测量流程图、里程速度显示流程图,如图3~图7所示。
  
图3 主程序流程图图4 里程测量流程图图5 速度测量流程图
 
图6 里程显示流程图 图7 速度显示流程图
5、结束语
在制作过程中要注意一下几点:一、单片机AT89C52的31脚要和电源接一起。二、霍尔传感器安装在自行车前轮,永久磁铁固定在车轮辐条上,AH20作防潮密封后固定在前叉上,使车轮在转动时磁铁和AH20相遇,并且相遇时间尽量短。三、磁铁的S极面向AH20的正面,之间的间距调整到5mm左右。发表论文。
经实践表明,本文所设计制作的自行车里程/速度计数据显示准确、使用方便、占用硬件资源少。且在不改变硬件电路,仅通过软件编程就可以计时、定时等功能。
[参考文献]
[1] 崔华,蔡炎光.单片机使用技术[M].北京:清华大学出版社
[2] 林伸茂. 89C51单片机彻底研究基础篇[M].北京:人民邮电出版社
[3] 杨崇志,康博南. 电子爱好者实用技术手册[M].福建:福建科学技术出版社
[4] 郝建国,郑燕.单片机在电子电路设计中的应用[M].北京:清华大学出版社,2006
|