自行车车速里程测量仪设计Word文档格式.docx

上传人:b****3 文档编号:6161492 上传时间:2023-05-06 格式:DOCX 页数:13 大小:63.14KB
下载 相关 举报
自行车车速里程测量仪设计Word文档格式.docx_第1页
第1页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第2页
第2页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第3页
第3页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第4页
第4页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第5页
第5页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第6页
第6页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第7页
第7页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第8页
第8页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第9页
第9页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第10页
第10页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第11页
第11页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第12页
第12页 / 共13页
自行车车速里程测量仪设计Word文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

自行车车速里程测量仪设计Word文档格式.docx

《自行车车速里程测量仪设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《自行车车速里程测量仪设计Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

自行车车速里程测量仪设计Word文档格式.docx

8结论14

1绪论

传感器,英文名字为Sensor或Transducer,亦称换能器、变换器。

在科技迅速发展的今天,传感器越来倍受重视。

在日常生活、航天、航空,常规武器、交通运输,机械制造、化工、生物医学工程、自动化检测工程及计量等各项领域都被广泛应用[6]。

目前,传感器已向新材料开发,集成化、智能化、数字化、新工艺,高精度化及高稳定、高可靠化等技术发展。

特别是霍尔传感器,鉴于它的价廉、易于使用,使它广泛运用于里程计、速度计等[6]。

单片微型计算机简称单片机,又称微控制器,特别适用于控制领域。

通常单片机由单块集成电路构成,内部包含有计算机的基本部件:

CPU(中央处理器),存储器和I/O接口电路等。

因此,单片机只需要与适当的软件及外部设备相结合,便可以成为一个单片机控制系统[4]。

目前,场上销售的单片机有4位、8、16位、32位,并且单片机朝着高性能多种方向发展,尤其是8位单片机以经成为当前单片机的主流,主要体现在CPU功能增强、内部资源增多、引脚的功能化、低电压和低功好耗化上[4]。

单片机因为其体积小、功能强,可靠性高,灵活方便等优点,所以可以用于各个领域,对各行各业的技术改造和产品更新换代起到重要的推动作用。

本人经过学习,用AT89C52设计了一个自行车里程/速度计。

本设计可轮流显示自行车行使的里程和速度,采用TC4024芯片作为计数器以及2C401存储数据,3个单级共阴数码管作为显示系统。

本系统具有超速信响提醒功能,里程数据自动记忆,也可应用于电动自行车、摩托车、汽车等机动车仪表上。

2AT89C52单片机

2.1AT89C52单片机简介

本设计选用AT89C52单片机,AT89C52是一种低功耗、高性能CMOS8位微控制器。

使用Atmel 

公司高密度非易失性存储器技术制造,可与工业AT89C51 

产品指令和引脚完全兼容。

2.2AT89C52的管脚及其含义[5]

AT89C52的管脚及各管脚含义如下:

图2.289C52管脚图

各引脚功能说明:

VCC——电源电压;

GND——接地;

P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用;

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻;

在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻;

P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流;

与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX);

FLASH编程和程序校验期间,P1接收低8位地址;

P1.0和P1.1的第二功能:

P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出;

P1.1T2EX(定时/计数2捕获/重装载触发和方向控制);

P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流;

在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容;

FLASH编程或校验时,P2亦接收高位地址和一些控制信号;

P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流;

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2INTO(外中断0)

P3.3INT1(外中断1)

P3.4TO(定时/计数器0)

P3.5T1(定时/计数器1)

P3.6WR(外部数据存储器写选通)

P3.7RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号;

RST——复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位;

ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲;

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG);

EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

3TC4024

本程序采用TC4024芯片,它是一个7位的计数器,计数器具有分频的作用,它包含有14个管脚,其7脚接地,14脚接+5V,1脚接AT89C52的INT0,即12脚,在系统中此芯片起到了二分频的作用。

424C01芯片

4.124C01简介

24C01是一个1K位串行CMOSEEPROM,内部含有128个8位字节,CATALYST的先进CMOS技术实际上减少了器件的功耗,24C01是一个8位字节页写缓冲器,该器件通过I2C总线接口进行操作,即此芯片采用I2C协议进行读写数据。

有一个专门的写保护功能。

24C01是I2C接口的,但标准51是不带I2C接口的,串口方式0是不行的,需要用IO模拟,所以随便接两个IO都可以,而且都要接上拉电阻,大概几K就行了,因为不是总线方式,所以不能用MOV指令,也不能用SBUF,要判断是否为满,可以在程序里设个变量。

在这里要注意E2P芯片的寿命(一般是读写100万次,足够了)。

存储数据的时候,可以对操作数和存储的数据进行比较,不相等则存储,这样可以增加使用寿命,比有些每隔1秒钟进行存储的会好多了。

以下是24C01的管脚图:

图4.1管脚图

表3.124C01的管脚描述

管脚名称

功能

A0、A1、A2

器件地址选择

SDA

串行数据/地址

SCL

串行时钟

WP

写保护

VCC

+1.8V—6.0V工作电压

VSS

接地

24C01芯片具有以下特性:

1.与400KHZ的I2C总线兼容;

2.+1.8-6.0V工作电压范围;

3.低功耗CMOS技术;

4.写保护功能:

当WP为高电平时进入写保护状态;

5.页写缓冲器;

6.自定时擦写周期;

7.1,000,000编程擦除/周期;

8.可保存数据100年;

9.8脚DIP、SOIC、TSSOP封装;

10温度范围:

商业级、工业级和汽车级。

5硬件电路的设计

5.1系统硬件电路

自行车里程/速度计能自动显示自行车行驶的总里程数及行车速度,具有超速信响提醒功能,里程数据自动记忆,也可应用于电动自行车、摩托车、汽车等机动车仪表上。

其硬件电路原理图如图5.1。

图5.1系统原理图

5.2系统的工作原理

本设计能实时地将所测的速度与累计里程数显示出来,主要是将24C01传感器输入到单片机的脉冲信号,将频率实时地测量出来,然后通过单片机计算出速度和里程,再将所得的数据存储到TC4024芯片中,通过AT89C52单片机计算出来的速度和里程的数据,必须通过BCD码的转换才能输出给数码管。

最后由共阴数码管显示所测速度与里程。

自行车里程/速度计采用AT89C52单片机作控制,速度及里程传感器采用霍尔元件,其电器原理图如图5.1所示。

P0口和P2口用于七段LED显示器的段码及扫描输出,在显示里程时,第三位小数点用17脚P3.7口控制点亮。

P1.0和P1.1口分别用于显示里程状态和速度状态。

P1.2、P1.3、P1.6和P1.7口分别用于设置轮圈的大小。

P3.0口的开关用于确定显示的方式,当开关闭合时,显示速度;

打开时显示里程。

第12脚外中断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个地电平脉冲。

第13脚外中断1用于控制定时器T1的启停,当输入为0时关闭定时器。

此控制信号是将轮子圈数的计数脉冲经二分频后形成(见图5.1),这样,每次定时器T1的开启时间刚好为转一圈的时间。

根据轮子的周长就可以计算出自行车的速度。

P1.4和P1.5口用于EEPROM存储器24C01的存取控制。

11脚输出用于速度超速时的报警。

6软件设计

6.1系统内存的规划

由于本系统处理功能较多,因而一部分内存单元用于特定的用处。

其主

要内存单元用处如下:

50H:

EEPROM器件寻址字节存放单元;

51H:

EEPROM传送字节数存放单元;

30H:

EEPROM发送数据缓冲单元;

40H:

EEPROM读出数据存放单元;

0A0H:

EEPROM寻址字节字节写;

0A1H:

EEPROM寻址字节字节读;

62H:

DPTR计数器扩展高8位;

6CH:

定时器T1计数器扩展高8位;

6DH:

定时器T1计数器扩展高8—16位;

60H、61H、62H:

里程计数单元;

68H、69H、6AH、6BH:

存放自行车每圈时间数;

70H、71H、72H、73H:

显示BCD码数据存放用;

11H—15H:

存放被除数;

16H—19H:

存放除数。

6.2系统的主要程序设计

1.初始化程序

在本系统初始化程序中,主要完成以下工作:

将T1设为外部控制定时器方式;

外中断0及外中断1设为边沿触发方式;

将部分内存单元清零;

设置轮子周长值;

开中断及定时器;

将EEPROM中的数据调入内存等。

2.轮圈设置出错处理程序

P1.2、P1.3、P1.6、P1.7端口的开关用于设定轮子的周长,当没有设定时(至少让一个开关闭合),能从P3.1口输出一个周期为0.5S的方波信号,用作发光管闪烁及信响器提醒。

3.主程序

主程序根据P3.0的开关状态选择里程或速度显示,其流程图如图6.2所示。

图6.2主程序流程图

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

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

60H为低位,62H为高位。

每计数一次后,对里程数据进行一次存储操作。

5.外中断1服务程序

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

当标志位(00H)为1时,说明计数器溢出,放入最大时间值(为#0FFH);

当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H—6BH单元。

6.EEPROM存取程序

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

7.显示子程序

当显示里程时,先要将圈数计数器中的数据进行运算,求出总里程。

当要

显示速度时,要将轮子的这周长和转一圈的时间数相除,然后换算成Km/h单位。

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

7系统调试

要完成一个产品的设计,有很多纷繁复杂的步骤和过程,其中最为重要

和最为关键的就是系统调试。

调试的步骤和方法有很多。

本人也看过不少,在这次系统调试的中调试的过程我充分的发挥了仿真器的作用。

7.1硬件调试

硬件的焊接是一个比较繁琐的过程,繁琐的地方在于3个单联数码管的

连接,线路较多,在焊接时要特别的细心,在焊接完成并烧入程序之后通电发现数码管不亮,检查了好几遍,电路无焊没有错误,于是我就怀疑可能是数码管的问题,拿去贝尔(学院的社团)测试没问题,数码管并没有烧坏。

在插入芯片时要特别注意不能把芯片插反,否则就会把芯片烧掉;

也要

注意极性电容的方向,长的脚为正,短的为负,不能把负的接+5V,正的接地;

在焊接三极管时也要注意其三个管脚的排布,还有为保护三极管不被烧换,所以3个三极管要各自接一个限流电阻(这里为4.7K)。

7.2软件调试

软件调试是调试的重点,同时也是出错最多的地方;

在整个软件调试调试过程中我采取先部分后整体的调试方法。

在整个程序的编写调试过程中我首先调试的是数码管显示系统,为此我编写了以下一段程序用于数码管显示调试,要求数码管显示0、1、2。

ORG0000H

MAIN:

MOVP2,#0FFH

MOVP0,0C0H

MOVP2,#0FEH

ACALLDELAY1

MOVP0,0F9H

MOVP2,#0FDH

MOVP0,0A4H

MOVP2,#OFBH

AJMPMAIN

DELAY1:

MOVR6,#02H

AGAIN:

MOVR7,#8FH

DELAY:

DJNZR7,DELAY

DJNZR6,AGAIN

RET

END

结果数码管正确显示了0、1、2这三个数,显示系统调试成功。

软件测试要注意一下几点:

1.在编写I2C串行归一化存储子程序时本来出了点错,后经过多次调试才运行正确。

2.里程/速度控制程序是系统程序的重点,所以它当然也是软件调试的重点。

3.显示系统最好先调试。

4.用韦幅软件进行仿真时要充分利用其逐步调试功能。

8结论

本设计能自动显示自行车行驶的总里程数及行车速度,具有超速信响报警提醒以及里程数据自动记忆的功能,也可应用于电动自行车、摩托车、汽车等机动车的仪表上。

由于本系统采用的是动态扫描LED显示且共阴数码管的驱动电流不是很大,所以数码管的显示不是特别亮。

但可以通过更换小点的电阻增大其驱动电流(最大驱动电流不能超过20毫安)使数码管变得更亮。

致谢

首先,我要感谢老师在本次课程设计中,给予充足的时间,让我完成此次设计。

另外,我还要感谢我的父母,没有他们的支持,我是无法完成这个系统设计的,他们给予我的,我将来一定会努力回报他们的。

最后,我还要感谢我身边的同学、朋友,他们也给了我很大的帮助。

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2