基于52单片机来控制24C02保存数据,实现实时速度以及总里程
简易数字里程表作为测量的一大辅助工具也随着这个需求而面世,其功能也逐渐从单一的里程显示发展到速度、时间显示。本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,它能自动地显示当前自行车行驶的里程及速度。 本课题主要任务是利用霍尔元件、单片机等部件设计一个可用1602液晶显示里程和速度。本文主要介绍了自行车的速度里程表的设计思想、电路原理和元件的选择等内容,整体上分为硬件部分设计和软件部分设计。 具体的硬件电路包括STC89C52单片机的外围电路以及液晶显示电路等。 软件设计包括:芯片的初始化程序、定时中断子程序、显示子程序等,软件采用C语言编写。本文档主要阐述一种基于霍尔元件的自行车速度里程表的设计。以 STC89C52单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量,采用1602LCD显示自行车的里程数及速度。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
二、方案论证 本设计的任务是:以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS-51的定时/计数器测出单位时间的脉冲数,再经过单片机的计算得出,其结果通过LED显示器显示出来。 本系统总体思路如下:假定轮圈的半径为R,在轮圈上安装a个永久磁铁,经综合分析,本设计中取a=16。当轮子每转一圈,通过开关型霍尔元件传感器采集到16个脉冲信号,并从引脚P3.4定时计数器1端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。通过定时器0的定时中断,将每秒采集到的脉冲数 要求达到的各项指标及实现方法如下: 1. 利用霍尔传感器产生里程数的脉冲信号。 2. 对脉冲信号进行计数。 实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。 3. 对数据进行处理,要求用LED显示里程总数和即时速度,并且将里程数存入24c02c中。 实现:利用软件编程,对数据进行处理得到需要的数值。 最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。 图1 系统框图 三、方案设计 1.时钟电路 STC89C51系列是1T的8051单片机,STC89C51系统时钟兼容传统8051。系列单片机有两个时钟源:内部R/C振荡时钟和外部晶体时钟。 在单片机内有一个高增益反相放大器,反相放大器的输入端为XTAL,输出端为XTAL2,由该放大器、晶振和两个33PF的电容构成的振荡电路做单片机的时钟电路,如图2所示。 图2 时钟电路 2.复位电路 复位电路原理是单片机RST引脚接收到2us以上电平信号,只要保证电容的充放电时间大于2us,即可复位,所以电路中的电容是可改变的,按键按下,电容处于一个短路电路中,电容释放所有的电能,电阻两端电压升高系统复位。且 振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周 期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,如图3所示。 图3 复位电路 3.24c02c 24c02c是一个2K位串行EEPROM,内部含有256个8位字节。2C02c持2I2总线传输协议。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器和接收器,由主器件控制传送数据(发送或接收)的模式。元器件图如图4所示。 图4 24c02c元器件图 我们对引脚的功能做一个简单的解释: VCC,GND:电源、地引脚 A2A1A0:地址引脚 SCLK、SDA:通信地址 WP:写保护地址 4.显示模块 显示模块主要由LCD1602,上拉电阻组成,其电路图如图5所示。 图5 液晶显示模块图
1602引脚说明表格如下:
液晶引脚与单片机连接: 第1脚:VSS接地。 第2脚:VDD接5V正电源。 第3脚:VO接3K的电位器调整对比度。 第4脚:RS为寄存器选择。 第5脚:R/W为读写信号线。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线接单片机P0口。 第15脚:背光源正极接电源。 第16脚:背光源负极接地。 4. 霍尔传感器的测量原理 霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会出现一个电势差Uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域,如图6所示。 图6 霍尔传感器 1.主程序 通过定时器0中断定时1s来计算1s内定时计数器1的计数次数,通过对计数值的计算,得到瞬时速度,以及通过速度来刷新里程数,并通过1602显示出来,其主程序框图如图7所示。
图7 主程序流程图 2.显示流程图 该子程序用LCD动态扫描显示方式。先将单片机的P2.2口连接使能端口E。接着将单片机的P2.0口连接数据/命令选择端RS,P0口连接数据端D0~D7,然后将要显示的数字的值发送给P0口。然后调用延时,接着将P2.2口置0,P2.0口置1,写指令,将P2.2口置1,P2.0口置1,写数据,直到要显示的数字全部显示在液晶上。显示流程图如图8所示。
图8 显示流程图
3.速度及里程处理流程图 速度及里程数的确定,由定时器0产生1S定时在定时期间,定时计数器1读取中断次数并计数,定时器0中断发生,读取定时计数器的计数值进行计算,对于产生的计数值进行显示前的计算及处理,其程序框图如图9所示。
图9 速度和里程处理框图 4 仿真结果
图10 仿真结果Ⅰ
图11 仿真结果Ⅱ 测试速度结果与理论值(单位:km/h) 表1 测试结果与理论值 误差分析:定时误差,定时器0定时并不是准确的定时一秒,而是少于一秒,导致采集的脉冲数少于准确的脉冲数,其次计算误差也是存在。 基本满足设计项目要求,在速度小于200km/h的时候,测量误差相对较小。 五、设计体会 通过本次设计,使我对单片机知识和理解更一步加深了,掌握了简易数字里程表的设计,组装和调试方法。并且使我更加熟练的应用仿真软件,让我学到了如何运用软件测试电路的可行性,并且对电路的调试改进都有一个很大的提高。 这个过程中我遇到了很多困难,比如如何运用仿真软件画图,如何组织一些比较专业的语言,以及上网查阅资料。虽说费劲,但是乐趣也不少。通过这次设计,我们了解到平时知识的积累真的很重要,在遇到困难时一定要向认真思考,查阅相关资料,不可盲目退缩,努力后就一定会有收获。 这次设计收获颇丰,不仅是对自己个人能力的提高,也让我认识到了自己的局限,通过这次的设计为以后的学习奠定了一个更好的基础。 参考文献 - 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社, 1994
- 张毅刚, 刘杰. MCS-51单片机原理及应用. 哈尔滨工业大学出版社,2004
- 楼然苗, 李光飞. 51系列单片机设计实例. 北京航空航天大学出版社, 2006
- 松井邦彦, 梁瑞林. 传感器应用技术141例. 科学出版社, 2006
- 张洪润, 张亚凡. 传感器技术与应用教程. 清华大学出版社, 2005
- 刘灿军. 实用传感器. 国防工业出版社, 2004
- 何希才. 传感器及其应用. 国防工业出版社, 2001
- 刁文兴. 自行车电子里程表的初步设计. 南京工业职业技术学院学报, 2004
- 安宗权. 电动电子车速里程表分频电路设计. 自动化与仪器仪表, 2001
- 阎焕忠, 王长涛, 马斌. 单片机控制里程转速表的设计. 沈阳建筑工程学院学报(自然科学版),2002
- 谢自美. 电子线路设计.实验.测试[M].武汉:华中科技大学出版社,2000
附录Ⅰ 总电路图 附录Ⅱ 元器件清单
以上内容的Word格式文档51黑附件下载:
综合课设报告.docx
(387.81 KB, 下载次数: 30)
|