![](https://csdnimg.cn/release/download_crawler_static/87989967/bg6.jpg)
3、 软件部分
模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许
多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方
法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以
根据功能设置找出问题的根源,从而更快地解决问题。所以说,在整个设计过程
中,软件设计必须与硬件设计紧密地结合在一起。
软件设计包括初始化程序、主程序、行车过程中里程和速度计算子程序、延
时子程序、中断服务子程序、显示子程序等。
系统软件总体流程图如图 3.1 所示
总体设计思路:首先进行初始化,选择车轮周长,P3.0 是用于里程和速度切
换的,低电平为显示速度,高电平为显示里程。根据 P3.0 的状态来决定显示内
容,P3.0=1 时,转到计算速度子程序并进行显示;P3.0=0 时,转到计算里程子程
序并进行显示。P1.0 和 P1.1 口分别用于显示里程状态和速度状态。P1.2、P1.3、
P1.6 和 P1.7 口分别用于设置轮圈的大小,低电平有效。中断 0 用于对轮子圈数
的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存
器中的内容计算和判断出行驶里程数。中断 1 用于控制定时器 T1 的启/停,当输
入为 0 时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,
每次定时器 T1 的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出
自行车的速度。
图 3.1 系统整体流程图 5