电动车速度里程计的设计.docx

上传人:b****4 文档编号:27487203 上传时间:2023-07-02 格式:DOCX 页数:38 大小:227.43KB
下载 相关 举报
电动车速度里程计的设计.docx_第1页
第1页 / 共38页
电动车速度里程计的设计.docx_第2页
第2页 / 共38页
电动车速度里程计的设计.docx_第3页
第3页 / 共38页
电动车速度里程计的设计.docx_第4页
第4页 / 共38页
电动车速度里程计的设计.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

电动车速度里程计的设计.docx

《电动车速度里程计的设计.docx》由会员分享,可在线阅读,更多相关《电动车速度里程计的设计.docx(38页珍藏版)》请在冰豆网上搜索。

电动车速度里程计的设计.docx

电动车速度里程计的设计

电动车速度/里程计的设计

第一章电动车速度/里程计的设计--------------------------------------------------------2

1.1系统结构-------------------------------------------------------------------------2

1.2各部分功能简介-------------------------------------------------------------------3

1.3工作原理-------------------------------------------------------------------------3

1.4功能介绍-------------------------------------------------------------------------3

第二章硬件设计-------------------------------------------------------------------------4

2.1电源部分设计---------------------------------------------------------------------4

2.2传感部分及接口设计---------------------------------------------------------------5

2.3主控器单元-----------------------------------------------------------------------5

2.4存储器EEPROM(AT24C01)--------------------------------------------------------6

2.5其它-----------------------------------------------------------------------------7

2.6硬件设计图-----------------------------------------------------------------------7

第三章I2C总线原理----------------------------------------------------------------------8

3.1I2C总线-------------------------------------------------------------------------8

3.2I2C总线特点---------------------------------------------------------------------8

3.3I2C总线工作原理-----------------------------------------------------------------9

3.4I2C总线基本操作-----------------------------------------------------------------9

3.5I2C总线的应用的注意事项总结-----------------------------------------------------9

第四章软件设计------------------------------------------------------------------------10

4.1程序设计------------------------------------------------------------------------10

4.2软件汇编编译、调试以及仿真-------------------------------------------------------10

4.3源程序--------------------------------------------------------------------------10

第五章结论------------------------------------------------------------------11

附录A----------------------------------------------------------------------------------12

附录B----------------------------------------------------------------------------------25

 

电动车的速度/里程计的设计

 

【引言】

随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的嵌入式智能系统开始进入了人们的生活,以单片机为核心的智能系统就是其中之一。

同时也标志了智能领域成为了数字化时代的一员。

它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。

它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。

21世纪,单片机的应用正在不断地走向深入,同时带动自动检测日新月益更新。

在实时检测的单片机应用系统中,单片机是作为一个核心部件来使用,完成对数据的采集、运算处理以及对数据的显示等。

仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

随着电子技术的迅速发展,特别是随大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。

目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机是踪影。

因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。

第一章电动车速度/里程计的设计简介

1.1系统结构图

如图

(1)所示:

电源部分

(1)系统结构图

1.2各部分功能简介

(1)电源部分:

首先我们要完成最基本,最必须的电源部分安装调试,任何电路都离不开电源部分,单片机系统也不例外,而且我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,其实有将近一半的故障或制作失败都和电源有关,电源部分做好才能保证电路的正常工作。

(2)传感部分:

主要完成对电动车转速的转换单元,将圈数转换为脉冲个数,便于单片机认识。

(3)主控器单元:

该单元是本系统的核心部分。

主完成对电动车速度、里程的运算以及显示功能。

(4)显示单元:

主要显示里程、速度。

(5)存储器:

单片机能读写存储器中的里程数,掉电不丢失数据。

(6)键盘:

调整车轮胎大小以及显示里程,速度之间的切换。

1.3工作原理

本次设计采用AT89C51单片机控制。

通过霍尔传感器对电动车圈数转换为脉冲个数,将传感信号送至单片机的外中断INT0、INT1。

通过单片机对脉冲个数运算,得到里程数以及速度数据。

1.3.1霍尔传感器

将电动车的轮子转动的圈数转换为脉冲个数。

1.3.2里程计数程序(外中断0服务程序)

外中断0服务程序用于对12脚输入的圈脉冲进行计数,为十六进制计数器。

60H为低位,62H为高位,每计数一次后,对里程数据进行一次存储操作。

1.3.3外中断1服务程序

外中断服务程序用于处理轮子转动一圈后的计时数据。

当标志位(00H)为1时,说明计数器溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的放入68H—6BH单元。

1.3.4EEPROM存取程序

本系统使用归一化I2C串口存取程序,使用一条数据和时钟,采用ATMEL公司的24C01串口存储器,应用简单方便。

1.3.5显示子程序

当显示里程时,先要将圈数计数器中的数据进行运算,求出总里程当要显示速度时,将轮子的周长和转一圈的时间数相除,然后换算成KM/H单位。

最后放入70H—73H,进行数据的显示。

1.4功能介绍

本系统设有五个按键分别为四个键设置轮胎大小和一个键是里程/速度切换,并设有报警装置,当速度超过40KM/H时自动启动报警装置。

四个按键:

A:

轮胎周长为22英寸B:

轮胎周长为24英寸

C:

轮胎周长为26英寸D:

轮胎周长为28英寸

第二章硬件设计

2.1电源部分设计

电源输出采用集成稳压管LM7805系列稳压输出+5V电压。

市电220V交流电经过变压器降至9V交流;再用桥式整流、滤波、稳压得到单片机所需要的电源。

如图

(2)所示:

(2)电源电路

2.2.传感部分及接口设计

2.2.1霍尔元件简介

DN8799是一种霍尔开关电路又称霍尔数字电路,主要由稳压器、霍尔片、差分放大器、斯密特触发器和输出级组成。

在外磁场的作用下,当B(磁感受应强度)超过导通阈值BOP(工作点)时,霍尔电路输出管导通,输出低电平。

B再增加,仍保持导通态。

若外加磁场的B值降低到BRP(释放点)时,输出管截止,输出高电平。

2.2.2内部等效图

如图(3)所示:

图(3)内部等效图

2.2.3与单片机接口

(1)接口电路如图(4)所示:

 

图(4)

(2)电动车每转一圈,DN8799将产生一个低脉冲如图(5)所示:

 

图(5)

2.3主控器单元

2.3.1采用AT89C51单片机作为主控单元。

AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。

AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。

2.3.2主要功能特性:

兼容MCS—51指令系统4k可反复擦写(>1000次)FlashROM

32个双向I/O口可编程UARL通道

两个16位可编程定时/计数器全静态操作0-24MHz

1个串行中断128x8bit内部RAM

两个外部中断源共5个中断源

可直接驱动LED3级加密位

低功耗空闲和掉电模式软件设置睡眠和唤醒功能

2.4存储器EEPROM(AT24C01):

AT24C01是Atmel公司生产的1024B串行电可擦的可编程存储器,任一单元的地址为8位,地址范围为0000~03FFH。

它采用8引脚封装,具有结构紧凑、存储容量大等特点,可以在2线总线上并接8片芯片,特别适用于具有大容量数据存储要求的数据采集系统,因此在测控系统中被大量采用。

AT24C01各引脚的功能如下:

①A0、A1、A2——地址选择输入端。

在串行总线结构中,如需连接8个AT24C01芯片,则可用A0、A1、A2来区分各芯片。

A0、A1、A2悬空时为0。

②SDA——双向串行数据输入输出口。

用于存储器与单片机之间的数据交换。

③SCL——串行时钟输入。

通常在其上升沿将SDA上的数据写入存储器,而在下降沿从存储器读出数据并送往SDA。

④WP——写保护输入。

此引脚与地相连时,允许写操作;与VCC相连时,所有的写存储器操作被禁止。

如果不连,该脚将在芯片内部下拉到地。

⑤VCC——电源。

GND接地。

NC悬空。

(1)与单片机接口如图(6)所示:

图(6)接口电路

(2)设备选址

在对AT24C01开始操作前,需要先发一个8位的地址字来选择芯片以进行读写。

其中“1010”为固定的4位二进制;A0、A1、A2用于对多个AT24C01加以区分;R/W为读写操作位,为1时表示读操作,为0时表示写操作。

(3)写操作

AT24C01的写操作有写字节和写页两种方式。

写字节时通常在向AT24C01发送设备地址字并接到应答信号后,还需要发送1个8位地址来选择要写数据的地址。

AT24C01接收到这个地址后会应答一个零信号,然后接收8位数据进来,并再返回一个零应答信号。

在写页方式时,AT24C01可以一次性写入一页128字节。

其初始化过程与写字节的方法基本相同。

不同的是:

当写入一个数据字节后,单片机不发停止状态,而是在应答信号后接着输入127个字节;每一个字节接收完毕后,AT24C01则照样输出一个零应答信号。

(4)读操作

读操作有当前地址读、随机读、读串三种方式。

其初始化过程基本与写操作相同,只是在设备选择字中的最低位要改成读而已。

在当前地址读操作方式时,内部数据的地址将保持在最后的读写操作地址加1上,直到读到最后字节后又回到最开始的位置。

而随机读操作之前先要向AT24C01写入一个字节地址,然后才能读。

读串操作既可以是当前地址读,也可以是随机地址读。

当单片机接收到一个数据字后,会回应一个应答信号。

AT24C01在接收到应答信号后会将地址加1,接着输出下一个字节。

当单片机接收到数据但不送应答信号时,读过程结束。

2.5其它

1)显示采用动态扫描方式对数码管住扫描,扫描频率在50HZ以上,并用三极管加以驱动

2)键盘采用单片机扫描方式对键盘逐个扫描处理相应程序。

3)分频器(TC4024)如图(7)所示:

 

TC4024

图(7)TC4024封装图

 

(4)内部等效图如图(8)所示:

图(8)内部等效图

(5)逻辑时序图

如图(9)所示:

 

Q2…Q7:

图(9)时序图

说明:

CLK:

为输入时钟信号。

RST:

复位信号输入端

Q1:

为CLK二分频输出端

Q2:

为CLK四分频输出端

Q3…Q7以此类推

本文只采用二分频,即Q1输端。

2.6硬件设计图

原理图在PROTEL99SE下完成设计的,并设计制作PCB板。

附录C

第三章I2C总线原理

3.1I2C总线

I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。

例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。

可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

3.2I2C总线特点

I2C总线最主要的优点是其简单性和有效性。

由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。

总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。

I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。

一个主控能够控制信号的传输和时钟频率。

当然,在任何时间点上只能有一个主控。

3.3I2C总线工作原理

I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。

在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。

各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。

CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。

这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

 I2C总线在传送数据过程中共有三种类型信号,它们分别是:

开始信号、结束信号和应答信号。

 开始信号:

SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

 结束信号:

SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

 应答信号:

接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。

CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。

若未收到应答信号,由判断为受控单元出现故障。

 目前有很多半导体集成电路上都集成了I2C接口。

带有I2C接口的单片机有:

CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。

很多外围器件如存储器、监控芯片等也提供I2C接口。

3.4总线基本操作

 I2C规程运用主/从双向通讯。

器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。

主器件和从器件都可以工作于接收和发送状态。

总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。

SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。

如图(10)所示。

 

图(10)串行总线上的数据传送顺序

3.4.1控制字节

 在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。

如图(11)所示。

图(11)控制字节配置

3.4.2写操作

 写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。

关于页面写的地址、应答和数据传送的时序如图(12)所示。

 

图(12)页面写

3.4.3读操作

 读操作有三种基本操作:

当前地址读、随机读和顺序读。

图4给出的是顺序读的时序图。

应当注意的是:

最后一个读操作的第9个时钟周期不是“不关心”。

为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。

如图(13)所示:

图(13)顺序读

3.5在I2C总线的应用中应注意的事项总结为以下几点:

1)严格按照时序图的要求进行操作。

2)若与口线上带内部上拉电阻的单片机接口连接,可以不外加上拉电阻。

3)程序中为配合相应的传输速率,在对口线操作的指令后可用NOP指令加一定的延时。

4)为了减少意外的干扰信号将EEPROM内的数据改写可用外部写保护引脚(如果有),或者在EEPROM内部没有用的空间写入标志字,每次上电时或复位时做一次检测,判断EEPROM是否被意外改写。

第四章软件设计

4.1程序设计

本文软件主要完成对信号采样,各种数据处理、以及对速度/里程数据显示的控制等, 并采用I2C总线对电动车的里程数据进行读写操作。

本系统软件是主要包括键开关扫描程序、I2C的软件模拟程序、里程计数程序(外中断0服务程序)、外中断1服务程序、定时器中断程序、显示程序等。

部分程序流程图见附录A

系统程序流程图如图(14)所示:

4.2软件汇编编译、调试以及仿真

本文的软件调试在51单片机开发系统Medwin环境下,对软件进行汇编编译、模拟仿真、调试等操作,最终完成软件设计。

4.3源程序

见附录B。

 

附录A:

定时器中断服务子程序

附录B:

;60H,61H,62H作里程计数单元,6CH,6DH作T1计数扩充单元,

;68H,69H,6AH,6BH存放自行车每圈时间数,70H,71H,72H,73H作显示BCD;码存放数用,11H~15H存放;;被除数,16H~19H存放除数

;定义

VSDAEQUP1.5

VSCLEQUP1.4

SLAEQU50H

NUMBYTEQU51H

MTDEQU30H

MRDEQU40H

SLAWEQU0A0H

SLAREQU0A1H

DPHHEQU62H

TH1HEQU6CH

TH1HHEQU6DH

;;;;;;;;;;;;;;;;;

;;PROGRAMINPUT;;

;;;;;;;;;;;;;;;;;

ORG0000H

LJMPSTART

ORG0003H

LJMPINTEX0

ORG000BH

RETI

ORG0013H

LJMPINTEX1

ORG001BH

LJMPINTT1

ORG0023H

RETI

;

;

;;;;;;;;;;;;;;;

;;PRGRAMCLEAR;

;;;;;;;;;;;;;;;

;上电初始化程序

CLEARMEN:

MOVTMOD,#90H

MOVSP,#75H

SETBPX0

SETBIT0

SETBIT1

CLRA

MOV20H,A

MOV6CH,A

MOV6DH,A

MOV70H,A

MOV71H,A

MOV72H,A

MOV73H,A

MOV60H,A

MOV61H,A

MOV62H,A

MOV63H,A

DECA

MOV68H,A

MOV69H,A

MOV6AH,A

MOV6BH,A

MOVP1,A

CLEAR1:

JBP1.2,KEY1

MOV21H,#0FH

LJMPCLEAR2

KEY1:

JBP1.3,KEY2

MOV21H,#12H

LJMPCLEAR2

KEY2:

JBP1.6,KEY3

MOV21H,#14H

LJMPCLEAR2

KEY3:

JBP1.7,ERR

MOV21H,#19H

CLEAR2:

SETBTR1

SETBEA

SETBEX0

SETBET1

SETBP3.1

LCALLVIICREAD

RET

ERR:

CPLP3.1

LCALLDL5S

LJMPCLEAR1

;

;;;;;;;;;;;;;;;;;

;;PROGRAMSTART;;

;;;;;;;;;;;;;;;;;

;

START:

LCALLCLEARMEN

START1:

JBP3.0,DISPLAYS

LCALLDISPLAYV

START2:

SJMPSTART1

;

;;;;;;;;;;;;;;;;;;

;;INTEX0PROGRAM;;

;;;;;;;;;;;;;;;;;;

;里程计数程序,用外中断0实现,计数用60H~62H内存单元

INTEX0:

PUSHACC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1