单片机自行车速度里程计论文 下载本文

河南大学本科毕业生学士学位论文

6.4 键盘子程序的设计

6.4.1 功能选择键S1程序的设计

内存30H用来存放按键次数,31H用来存放报警车速设定值,32H用来存放车轮尺寸编号(22寸、24寸、26寸、28寸编号为1、 2、 3、 4) S1的程序流程图如下图6-3所示

开 始 (30H)+1 Y (30H)=05H? N (30H)←01H

返 回

图6-3 按键S1程序流程图

6.4.2 增加键S2程序的设计 S2的程序流程图如图6-4所示

- 32 -

河南大学本科毕业生学士学位论文

开 始 Y (30H)=01H? Y (32H)+1 N (32H)=05H? Y N (32H) ← 01H Y (30H)=02H? (31H)+1 N 返回

图6-4 增加键S2程序流程图

6.4.3 减少键S3程序的设计 S3的程序流程图如图6-5所示

- 33 -

河南大学本科毕业生学士学位论文

开 始 Y (30H)=01H? Y (32H)-1 Y N (32H)=00H? N (32H) ← 05H Y (30H)=02H? N (31H)-1 返回

图6-5 减少键S3程序流程图

6.5 数据处理子程序的设计

6.5.1 速度计算子程序的设计

外中断1服务程序用于处理轮子转动一圈后的计时数据。当标志位(00H)为1时,计数溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H~6BH单元。定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度。速度处理子程序流

- 34 -

河南大学本科毕业生学士学位论文

程图如图6-6所示。

开 始 计算速度V=n*L/t N V>=V0? Y 报 警 返 回

图6-6 速度处理子程序流程图

显示V

6.5.2 里程计算子程序的设计

外中断0服务程序用于对单片机P3.2口输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出行程数。里程处理子程序流程图如图6-7所示。

开 始 计算行程S=n*L 显示S 返 回

图6-7 里程处理子程序流程图

- 35 -