内容发布更新时间 : 2024/12/24 11:22:12星期一 下面是文章的全部内容请认真阅读。
河南大学本科毕业生学士学位论文
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 -