自行车里程表设计资料.docVIP

  • 22
  • 0
  • 约9.02千字
  • 约 14页
  • 2016-07-30 发布于湖北
  • 举报
单片机课程设计报告 PAGE  PAGE 14 南京航空航天大学 本科生实验报告 项目名称: 《单片微控制器原理及应用》综合实验 设计专题: 自行车里程表设计 2014年5月25日 一、综合实验题目和要求 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本文章主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 AT89C51 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C01 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。 硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然??单片机系统将信号经过处理送显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。我组成员参照前人的设计方案,对其进行了一些改进,用汇编语言编写了代码,用Proteus软件进行了仿真。 本课程设计主要是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的自行车的速度里程表。以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS-51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。 二、硬件框图 三、程序流程图 1、主程序流程图 初始化 P3.0=1? 计算里程 显示里程 计算速度 显示速度 N 开始 软件总体流程图 开始 初始化 P1.2=1? N P1.3=1? P1.6=1? P1.7=1? 出错提示 将车圈周长调入21H 开中断,启动定时器 P3.0=1? 调用里程处理子程序 调用速度处理子程序 N N N Y Y Y Y N Y 主程序流程图 子程序流程图 关中断 开始 现场保护 开中断 中断处理 关中断 现场恢复 开中断 中断返回 中断子程序流程图 点亮里程指示灯 开始 将车圈数转换成里程 显示里程值 返回 里程处理子程序流程图 开始 开速度指示灯 计算速度 报警 显示速度 N Y 是否超速? 返回 速度处理子程序流程图 开始 显示单元首址 取显示数据 送段码到P0口 取段码表首址 调用延时 送位选到P2口 4位显示结束 返回 Y N 修改显示单元地址 求下一位位选码 显示子程序流程图 四、实验结果和分析 1、软件的调试结果,包括所调试出内容等的图片、数据、程序出现的现象或界面等 2、结果分析(程序结果与实验要求之间的差别和原因分析) 本设计的任务是:以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS-51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。 本系统总体思路如下:假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n轮圈的周长为L的乘积为里程值。计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。 要求达到的各项指标及实现方法如下: 1. 利用霍尔传感器产生里程数的脉冲信号。 2. 对脉冲信号进行计数。 实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。 3. 对数据进行处理,要求用LED显示里程总数和即时速度。 实现:利用软件编程,对数据进行处理得到需要的数值。 最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。 在软件仿真过程中遇到了一些问题,具体故障和解决方法如下: 1、数码管不显示 本次设计的电路数码管采用共阴极接法,在仿真时错用共阳极数码管,导致数码管不显示。

文档评论(0)

1亿VIP精品文档

相关文档