没有合适的资源?快使用搜索试试~ 我知道了~
首页基于AT89S51的智能电子里程表设计详解
基于AT89S51的智能电子里程表设计详解
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
本文档详细介绍了一种基于AT89S51单片机的智能电子式里程表的设计。随着电子技术的进步,传统的机械式里程表由于功能单一且易磨损的问题,逐渐被电子式里程表所取代。电子式里程表以其数字化、多功能和可靠性成为现代车辆仪表的标准配置。设计的核心是采用无接触测量的光电传感器,通过安装在汽车转轴上的测量盘,捕捉转速的脉冲信号。 光电传感器负责检测车轮转动产生的脉冲,这些脉冲代表了车辆的实际转速。在脉冲状态下,转速的变化会导致光通量的相应变化,光电转换元件能将光通量的变化转化为电信号。接下来,频率测量电路将这些脉冲信号传输到AT89S51单片机,单片机通过处理这些电信号并运用电量与转速的函数关系,精确地测量出车辆的实时车速。 除了实时车速显示,该电子式里程表还能计算并显示车辆的总里程和阶段里程,提供超速报警功能。这样的设计使得里程表具有更高的智能化水平和实用性。此外,里程数值会被存储在非易失性EEPROM存储器中,即使在车辆断电的情况下,这些数据也不会丢失,确保了数据的持久性和准确性。 这个基于AT89S51单片机的电子里程表项目展示了单片机技术在汽车电子设备中的广泛应用,不仅提升了驾驶者的信息获取体验,也为后续的升级和定制提供了灵活的平台。同时,它也体现了现代电子技术对传统仪表系统的革新和优化。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/88274590/bg9.jpg)
示器显示是单班里程还是总里程。为了节约成本,本作品选用简易键盘即两个按键开关
来实现车速与里程的转换显示。
2.2.4显示模块
单片机所用的显示有 LED 和 LCD 两种,从设计的难度和成本造价来说 LCD 都要高于
LED。
液晶显示器 LCD 的最大优点是电源电压低和功耗低,但液晶为非发光型物质,它是
利用外界光源的被动式显示器件,环境越明亮显示越清晰,不能用于暗处。白天靠日光
显示,夜间必须使用照明光源。而且它的工作温度范围不宽,低温条件下灵敏度较低,
有时甚至不能正常工作。寿命与使用条件有关,强光下使用寿命会减小。此外,它的响
应速度较低(在 10~200ms 范围),这就限制了它在快速系统中的应用。
LED 数码管是目前最常用的数字显示器,一个LED数码管可用来显示一位0~9十进
制数和一个小数点,在小型专用微机系统和单板机等场合,它是主要的显示器件,在通
用微机系统中,也常用来作为状态等显示。对于共阳极显示器,要点亮的显示段引脚需
接低电平“0”。
本作品要显示的是总里程、单班里程以及车速,为数字显示。基于液晶显示器的成
本以及在实际应用中的需要,因此,本作品选用了由LED组成的共阳极7段发光显示器,
它有简单、经济、易于与单片机接口等优点。
2.2.5存储模块
此部分是整个系统的关键部分之一,它的工作情况直接决定了系统数据安全保存的
可靠性。
EEPROM是电可擦除可编程只读存储器。在平常情况下,EEPROM与EPROM一样
是只读的,需要写入时,在指定的引脚加上一个高电压即可写入或擦除,而且其擦除的
速度极快!通常EEPROM芯片又分为串行EEPROM和并行EEPROM两种,串行EEPROM
在读写时数据的输入/输出是通过2线、3线、4线或SPI总线等接口方式进行的,而并行
EEPROM的数据输入/输出则是通过并行总线进行的。在汽车上串行EEPROM用得最多,
防盗汽车音响解码,液晶里程表,安全气囊电脑等等单元模块都大量采用这种芯片。并
行EEPROM用的相对少些。
经过翻阅大量的文献资料,发现使用串行 EEPROM 芯片作为本系统的外部存储器,
是比较常用的一种方法,而且在做电路板时布线简单,单片机编程时也稳定可靠,当失
电时数据能得以安全的保存,因而采用了串行 EEPROM 芯片 24C16。
本系统所用的24C16是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含2K×8位
存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快
(小于10ms)等特点。
![](https://csdnimg.cn/release/download_crawler_static/88274590/bga.jpg)
24C16的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在AT89S51试验开发
板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,
数据通过这条双向I2C总线串行传送,在AT89S51试验开发板上和单片机的P1.4连接。第
6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P1.3连接。SDA和SCL都
需要和正电源间各接一个10K的电阻上拉。第7脚需要接地。
24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动
加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的
写入时间,一次操作可写入多达8个字节的数据。
2.3 软件模块
通过上面分析,设计中决定选用S51系列单片机作为控制器,那么它的软件编写就
要按照单片机语言:C语言或汇编语言来编写,这里我选用执行效率高的汇编语言编写。
开发工具为keil c51,它的功能强大,支持c语言和汇编语言的编写与调试,其软件模拟I/O
口将会给软件调试带来极大的方便。
2.3.1脉冲测量部分
本单元需要两个I/O口,我选用了单片机的P1.5和P1.6。
由于脉冲测量过程中,开始检测时脉冲宽度已小于机器周期T,因而会导致脉冲的
丢失。为了避免脉冲的丢失,可用门电路实现记数开始与脉冲上升沿的同步控制。所以
在控制时,首先由P1.6发一个清0负脉冲,其输出封锁与门G1和G2。接着由P1.5发一个
启动正脉冲,从而将门G2打开。之后,被测脉冲上升沿通过G2送T1计数;同时Q2输出
的高电平使INT0=1,定时器0的门控GATE有效,启动T/C0开始定时。直到定时结束时,
从P1.6发出一个负脉冲,将U2清零,从而封锁G2,使T/C1停止计数,至此一次频率采
样过程结束。计数器1采用计数值满后自然清零再计数的方法。将T/C0设为高优先级,
允许计数过程中定时中断。
2.3.2键盘输入部分
本单元采用了单片机的P1.1和P1.2口,通过外接两个按键开关,从而控制一个6位
LED显示器的总里程和单班里程的显示。
由于机械开关在状态转换时有信号的抖动,故在接入开关的同时,必须考虑防抖动
的问题。防抖动的方法之一是软件延时去抖动。既在开关状态改变时,执行一个延时程
序,待电平稳定后再读入开关状态信息。而采用的键盘分析程序应包括:是否有键按下
以及识别哪个键按下。一旦找到某键,是否按下此键,即可将程序转到该键的功能程序
段。
![](https://csdnimg.cn/release/download_crawler_static/88274590/bgb.jpg)
2.3.3存储器部分
本系统采用的是串行EEPROM芯片24C16,24C16的1-3脚分别为器件编址端A0、A1、
A2(用于与系统中的同类器件编码),4脚为电源地,5脚为I2C总线的数据线SDA,6脚
为I2C总线的时钟SCL,7脚为测试输入端,在系统中接地,8脚为电源。当时钟线SCL为
高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号;当SCL线为高电平
时,SDA线发生低电平到高电平的跳变为“结束”信号。
程序中多处调用了DELAY子程序(仅两条NOP指令),这是为了满足I2C总线上数据
传送速率的要求,只有当SDA数据线上的数据稳定下来之后才能进行读写(即SCL线发出
正脉冲)。另外,在读最后一个数据字节时,置应答信号为“1”,表示读操作即将完成。
2.3.4超速报警部分
本单元采用一个蜂鸣器和一个红色发光二极管与单片机的P1.0口相接的报警实现
方式,光电传感器检测汽车转轴的脉冲信号,并经过频率测量电路,输入到单片机的T1
口,通过单片机的T1口记数,由单片机进行数据处理,转换成车速值。这实时的车速值
与单片机设定的最大车速值相比较,当车速值大于最大车速值时,通过单片机的软件中
断请求,以1秒钟为周期,实现蜂鸣器的嘀嘀声及发光二极管的闪烁显示。当车速值回
落到最大车速值以下时,则通过单片机控制,关闭超速报警功能。
2.3.5显示部分
本单元采用一个6位共阳极LED显示器中实现系统总里程和单班里程的显示,而车速
则通过另一个4位的共阳极LED显示器实时显示。其中LED显示器的段选码都由单片机的
P0口连接控制,4位LED显示器的位选码由单片机的P2.6和P2.7口通过译码器74LS139控
制,译码器74LS139对单片机的P2.6和P2.7口分时选通,这样任何一个时刻,都只有一
位LED在点亮,也即动态扫描显示方式。74LS139是一个2-4译码器,它将单片机输出的
地址信号译码后动态驱动相应的LED。但74LS139电流驱动能力较小,为此,我使用了未
级驱动PNP三极管C9015作为地址驱动。而6位LED显示器的位选码,则由单片机的P2.0至
P2.5口控制。
经过翻阅大量的技术资料,对具体要求实现的功能进行完整的系统分析,我认为我
的电子式里程表的系统设计基本符合实际情况,可以完成设计任务所要求实现的基本功
能。
3 硬件单元电路设计
3.1 传感器的设计
汽车开动后,监测传感器对汽车转轴的转动进行采样,将脉冲采样信号输入到单片
机管脚,单片机的定时计数器 T1 工作于计数器方式,累计脉冲个数,根据一段时间内
剩余51页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/5d3d17b770eb4c6785682f01b138d5bc_z9894.jpg!1)
悠闲饭团
- 粉丝: 182
- 资源: 3378
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-2.8b825a4e.png)
电子书特权
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)