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

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

图5-15 声光报警电路

本设计的报警电路采用声和光双重报警提示。当速度V超过了设定值时,P2.3口就会产生一个高电平,驱动报警器工作。报警指示灯D1会亮,蜂鸣器也会发出警报声,直到手动复位或按了停止按钮。报警电路可以提醒人们控制自己的骑车速度,有助于安全和更好的锻炼。

- 28 -

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

第6章 软件设计

6.1 软件设计概述

在硬件设计完毕之后,接下来设计核心就是软件部分设计。所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,而不需要从头到尾检查整个程序,这样便可以更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。

基于AT89C51单片机自行车里程速度计的软件设计包括上中断子程序、速度调用子程序、里程调用子程序、LCD显示子程序、延时子程序和报警子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析并画出了对应的流程图。

6.2 主程序设计

在主程序模块中,需要完成对各接口芯片的初始化、自行车速度和里程的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器、速度寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别完成启动、清除、计速和计程等不同的操作。

主程序流程如图6-1所示。

- 29 -

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

开 始 初始化 调显示子程序 N 是否有键 按下? Y 求键值 调键盘子程序 读车速值 求车速 求里程 Y 车速>设 定值? N

图6-1 主程序流程图

- 30 -

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

6.3 中断子程序的设计

定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。

定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的速度和行程进行计数。中断子程序流程图如图6-2所示。

开 始 开 中 断 中断处理 关 中 断 现场恢复 开 中 断 中断返回

6-2 中断子程序流程图

- 31 -