基于51单片机的自行车码表设计_第1页
基于51单片机的自行车码表设计_第2页
基于51单片机的自行车码表设计_第3页
基于51单片机的自行车码表设计_第4页
基于51单片机的自行车码表设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学院毕业设计(论文)毕业设计(论文)系系 所:所: 电子工程系 专专 业:业: 嵌入式系统工程 学生姓名:学生姓名: 学生学号:学生学号: 指导教师:指导教师: 导师职称:导师职称: 讲师 论文题目论文题目:基于基于 5151 单片机的自行车码表设计及实现单片机的自行车码表设计及实现 完成日期:完成日期: dalian neusoft institute of information technology 摘要i基于 51 单片机的自行车码表设计及实现摘 要随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越

2、来越多,能带来大家更多的健康与快乐。自行车码表作为自行车的一大辅助工具迅速发展起来。它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动。本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 at89c51 单片机为核心,a44e 霍尔传感器测转数,并通过 led 实时显示。文章详细介绍了自行车的速度里程表的硬件电路和软件设计。本设计以 89c51 单片机为主控芯片,把霍尔传感器传来的脉冲信号进行处理,预算,精确的计算出行驶的速度和里程,然后在传送给 lcd 显示器,从 lcd 上显示出运动的一系列数据,

3、而且还可以通过显示器进行人机对话,可以通过显示器和键盘进行一些参数的设置,比如像将要安装的自行车的轮圈的半径设置,以及预设运动量的和时间的设置。这些都需要通过显示器进行设置,其中的时间是用芯片内自带的计数器进行计数的。程序用 c 语言编写,由主程序、外部中断服务程序、定时器中断服务程序、延时子程序等模块组成。主程序主要完成程序的初始化和键盘处理,外部中断服务程序由测量、计算、读数等部分组成。关键词关键词:at89c51 单片机,霍尔传感器,速度,里程 abstractiidesign and implementation of bicycle mileage count tableabstra

4、ct with the improvement of life level, bike is not only the transport tool but also its auxiliary function become more and more import. therefore, people hope that the function of amusement, leisure and exercise of bike become more and more; and bring more health and happy. as one import auxiliary f

5、unction of bike stopwatch develops quickly. the design of stopwatch is scientific, reasonable and beautiful; and it also has its practical value. stopwatch can calculate speed and distance, reflects true exercise state; based on this exerciser can adjusts exercise strength so that it can reach the b

6、est effect of healthy exercise. this project takes sst89e516 mcu as main control chip and takes 128*64 lcd as terminal display which displays speed per hour, distance and system set. in the system set menu people can set install information to improve measure precision. besides, it appends alerting

7、function. when reach the distance and speed set in advance, the system will alert automatically to remind exerciser that he has reached exercise strength set in advance. this project mainly includes bicycle wheel pulse acquisition, keyboard input and data shows. the main program is compiled by c lan

8、guage which is to do initialization and keyboard dealing; the compiler and simulation download of program are done by keil c and sstflashflex51, and the various functions of the bicycle are realized concretely by the scm experiment development board.key words: at89c51 single chip microcomputer, hall

9、 sensors, speed, mileage大连东软信息技术职业学院毕业设计(论文) 目录iii目 录摘 要 .iabstract.ii第第 1 1 章章项目概述项目概述 .11.1 项目背景.11.2 项目简介.11.3 本课题对于专业知识的综合应用情况.1第 2 章项目实施方案 .32.1 概述.32.1.1 霍尔测速模块论证与选择.32.1.2 显示模块论证与选择 .42.1.3 电源模块论证与选择.42.1.4 单片机与测量方法模块论证与选择 .42.1.5 总体方案总结.52.2 开发环境.52.3 硬件设计.52.4软件设计 .52.4.1 速度程序设计思路.62.4.2 时间

10、程序设计思路.62.4.3 行程程序设计思路.7第 3 章项目实施过程 .83.1 硬件电路设置.83.1.1 单片机模块.83.1.2 处理执行元件.83.1.3 时钟电路.113.1.4 复位电路.11大连东软信息技术职业学院毕业设计(论文) 目录iv3.1.5 显示电路.123.2 软件实现过程.133.2.1 转速部分软件设计思路.133.2.2 软件工作流程.133.2.3 确保自行车里程表的工作性能稳定的相关措施.143.2.4 自行车里程计 c 语言程序.143.3 实物调试 .16第 4 章项目成果.17第 5 章结 论.19参考文献.20致 谢.21大连东软信息技术职业学院毕

11、业设计(论文)-1-第第 1 章章项目概述项目概述随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动员的训练效果

12、进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。1.1 项目背景项目背景本设计以 89c51 单片机为主控芯片,把霍尔传感器传来的脉冲信号进行处理,预算,精确的计算出行驶的速度和里程,然后在传送给 lcd 显示器,从 lcd 上显示出运动的一系列数据,而且还可以通过显示器进行人机对话,可以通过显示器和键盘进行一些参数的设置,比如像将要安装的自行车的轮圈的半径设置,以及预设运动量的和时间的设置。这些都需要通过显示器进行设置,其中的时间是用芯片内自带的计数器进行计数的。1.2 项目简介项目简介本设计能实时地将所测的速度与累计里程数显示出来,主要

13、是将传感器输入到单片机的脉冲信号的频率实时地测量出来,然后通过单片机计算出速度和里程,并显示所测速度与里程。程序用 c 语言编写,由主程序、外部中断服务程序、延时子程序、定时中断服务程序等模块组成。主程序的功能主要负责程序的初始化和键盘处理工作,而外部中断服务程序则是由测量、计算、读数等部分组成。1.3 本课题对于专业知识的综合应用情况本课题对于专业知识的综合应用情况因为学习的知识深度的限制以及实际情况的考虑,我设计的自行车里程计的功能确定为能够正确显示自行车的里程。在学院三年的单片机学习过程中,我们学习单片机都是采用学院设计的单片机开发板以及 c 语言进行学习,学院的 51 单片机开发板在单

14、片机最小系统的基础上配置了数码管显示、lcd 显示区、lcd 显示区、独立键盘输入区以及模拟量输入、a/d 转换等资源,满足了单片机实际开发的绝大部分要求。同时开大连东软信息技术职业学院毕业设计(论文)-2-发板上的电路结构也能够较好地锻炼自己电路方面的知识。采用 c 语言进行编程能够综合锻炼自己的实际程序编写的能力以及程序的调试功能。本课题的选题难度适中,能够对应用电子技术专业学习的专业课程有较为全面的应用与掌握,同时也与自己的专业能力符合。大连东软信息技术职业学院毕业设计(论文)-3-第第 2 章章项目实施方案项目实施方案2.1 概述概述图 2.1 系统整体结构图本系统由信号处理电路、单片

15、机、lcd 显示模块、按键控制和系统软件组成,如图2.1 所示。每一个模块的功能独立,又相互联系,相互依赖,最终以霍尔传感器获得的脉冲为参数,构成一个完整的测速器。项目的实施需要电路原理设计、器件选择、电路焊接、代码设计等步骤,下面介绍了系统原理及部分关键器件的介绍和选择方案。2.1.12.1.1 霍尔测速模块论证与选择霍尔测速模块论证与选择方案一:采用霍尔元件传感器即霍尔片;霍尔片可分为贴片型和直插型。由于贴片型不常用,因此选择直插型。霍尔片体积小,安装灵活,可用于测速,且与普通的磁钢片配套使用,价格一般为 2.55 元。方案二:采用霍尔传感器;选型号为 chv-25p/10 的霍尔传感器。

16、体积大,价格一般为 40120 元之间不等。从性价比方面综合考虑因此选择方案一。霍尔传感器是对磁敏感的一种传感元件,常用于信号采集的有 cs3020、cs3040 等,这种传感器有 3 个管脚,外形与三极管相似,连上地和电源之后就可以工作,一般是集电极的开路门输出,工作的电压范围比较宽,使用很方便。如图 2-2 所示是 cs3020传感器的外形图,管脚分辨方法:将有字面的一端对准自己,从左向右的三根管脚分别是 vcc,地,输出端。复位电路cpu执行单元显示电路时钟电路启动和设置电路大连东软信息技术职业学院毕业设计(论文)-4-图 2.2 cs3020 外形图用霍尔传感器去获取脉冲信号,它的机械

17、结构较为简单,只需将一个磁铁片放在钢圈的圆周上,让传感器靠与磁铁片的距离在 1 厘米之内,就会有信号传出,当转轴转动的时候,受磁铁片的作用,就会不断地产生脉冲信号。如果在圆周上粘上多个磁铁片,就可以实现旋转一周,获得多个脉冲信号。在安装磁铁片的时候需要注意安装的方向,安装之前可以用传感器接近后试验一下是否有信号,如果没有信号,就换一个方向再试一试。这种传感器不受灰尘、温度、油污的影响,在工业上有广泛的应用。2.1.22.1.2 显示模块论证与选择显示模块论证与选择方案一:采用 8 段 led 数码管作为显示模块核心。数码管显示器件相对便宜,但是耗能大、编写程序相对麻烦,工作量大。方案二:采用

18、lcd 液晶显示器作为显示模块核心。lcd 显示器工作原理简单,编程方便,节能环保。因此选择方案二。2.1.32.1.3 电源模块论证与选择电源模块论证与选择方案一:采用交流 220v/50hz 电源转换为直流 5v 电源作为电源模块。该方案实施简单,但需持续供电,不能移动。方案二:采用干电池串并联达到 5v 作为电源模块。该方案实施简单,无需搭建电路,可嵌入码表中,随之移动。针对该设计要求性价比低。因此选择方案二。2.1.42.1.4 单片机与测量方法模块论证与选择单片机与测量方法模块论证与选择选用 stc89c52 的单片机速度快、功耗低、体积小、资源丰富。转速的测量方法转速的测量方法方案

19、一:测频法:利用定时器,定时某一固定时间段,并在此时间段内计算脉冲输入的个数。方案二:周期法:定时两段输入脉冲的时间。由于自行车并非高速运转,当速度转动较慢时,测频法接受的脉冲个数过少,若大连东软信息技术职业学院毕业设计(论文)-5-此时处理数据会产生较大的误差。而方案二,无论速度如何,都能有极高的灵敏度。经过权衡,决定掌用方案二。2.1.52.1.5 总体方案总结总体方案总结传感器采用霍尔器件将自行车的转速转化为脉冲信号,处理器采用 stc89c52 单片机.计数器采用单片机片内汁数器完成对脉冲的计数,显示器采用字符型液晶显示器12864 进行显示。系统原理框图如图所示。系统工作过程:测量转

20、速的霍尔传感器与自行车轮胎一侧近距相接,自行车每转二周,用定时器精确测得时间,即可实现对应车轮的转速值。单片机 cpu 将数据处理后,通过 lcd 显示出来。2.2 开发环境开发环境keil c51 vision3microsoft office visioprotel 99 se2.3 硬件设计硬件设计硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。自行车码表部分的硬件设计思路:本次设计单片机部分的硬件框图如图 2.3。图 2.3:单片机部分硬件框图 2.4软件设计软件设计自行车码表程序可以分为若干模块,然后在主程序中

21、调用各个模块,流程图如图2-4。复位电路cpu执行单元显示电路时钟电路启动和设置电路信号获取电路大连东软信息技术职业学院毕业设计(论文)-6-开始定时器和外部中断初始化是否切割执行外部中断0函数,执行定时器0函数是否按下切换按钮显示里程显示速度显示0.0.0.0nyyn图 2.4 系统流程图2.4.12.4.1 速度程序设计思路速度程序设计思路实现自行车转速的测量显示需要 4 个步骤:1、将速度非电信号转化为电脉冲信号。2、单片机对脉冲信号进行计数。3、单片机对输入的电信号进行一系列处理;4、输出显示到 lcd 上。2.4.22.4.2 时间程序设计思路时间程序设计思路定时器 1:每次中断,标

22、志位 t1_num 自增 1;此处是为计算两次中断之间的时间而设置的一个变量。t=(t1_num*65536+th1*256+tl1)/1000000 s外部中断 0:本系统采用周期法测速。当系统第一次进入外部中断 0 时。标志位赋值为 1(用以主程序循环中显示部分) 。启动单片机片内定时器。当系统第二次进入外部中断 0 时,停止定时器计时。并处理数据。s=3.14*2*rspeed=1000000/(t1_num*65536.0+th1*256.0+tl1);大连东软信息技术职业学院毕业设计(论文)-7-speed1=speed*s/100road=s*countroad;(每次进入外部中断

23、 0,路程计数量 countroad 自增一,以达到准确计算路程的数值)平均速度计算是通过自己的数值与下一次的数值取算术平均值的方式不断更新。2.4.32.4.3 行程程序设计思路行程程序设计思路行程可通过外部脉冲信号进行累加,于是可利用单片机的外部中断实现,从而通过数码管显示。大连东软信息技术职业学院毕业设计(论文)-8-第第 3 章章项目实施过程项目实施过程3.1 硬件硬件电路设置电路设置硬件的功能由总体设计所规定,硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的电路原理图,必要时做一些部件实验,以确定电路图的正确性,以及工艺结构的设计加

24、工、印制板的制作、样机的组装等。整个自行车码表为单片机控制模块、霍尔传感器模块、显示模块,各个模块都承担着各自的任务。设计单片机模块,考虑到单片机本身的外围电路较多,所以在单片机模块方面需要极为小心。具体每一部分的设计将在以下章节中详细分析。3.1.13.1.1 单片机模块单片机模块根据系统功能要求以及单片机硬件电路设计思路对单片机模块进行设计,要使传感器获得脉冲信号,单片机精确的算出速度和总行程,并能使速度和里程在显示器上显示出来,所以需要把单片机部分分为传感器电路、时钟电路、复位电路、执行元件以及显示电路共五部分。3.1.23.1.2 处理执行元件处理执行元件我采用了 stc89c51 单

25、片机(如图 3.1 所示),stc89c51 是一种拥有 4k 字节存储容量的可以擦出、可以编程只读存储器的低电压、高性能的 cmos 8 位微型处理器。图 3.1 stc89c51 引脚图大连东软信息技术职业学院毕业设计(论文)-9-主要特性:与 mcs-5 单片机相兼容4k 字节可编程存储器 使用寿命:1000 的次写/擦循环数据的保留时间:10 年全静态工作的频率:0hz-24hz三级程序存储器的锁定128*8 位内部 ram 可编程的 i/o 线两个 16 位定时器/计数器5 个信号中断源 可编程的串行通道低功耗闲置模式和掉电模式片内振荡器及时钟电路管脚说明:1.vcc:接电压端;2.

26、gnd:接地端;3.p0 口:p0 口为一个 8 位漏极开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash进行校验时,p0 输出原码,此时 p0 外部必须被拉高。4.p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编

27、程和校验时,p1口作为第八位地址接收。5.p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。当把 p2 用在 16 位的地址外部数据存储器进行存取时,p2 口会输出高八位地址。给出地址“1”的时侯,它用内部上拉,当读写外部八位地址数据存储器时,p2 口输出它的特殊功能寄存器的内容。p2 在 flash 校验和编程时接收控制信号和高八位地址信号。6.p3 口:p3 管脚是有 8 个内部的上拉

28、电阻的双向 i/o 口,可以接收或者输出共 4个 ttl 门电流。在把 p3 口电位输入“1”之后,它们都会被内部上拉变成高电平用作输入。当它作为输入端,因为外部下拉成低电平,由于上拉,p3 口将输出电流。p3 以可作 at89c51 的一些特殊的功能口使用。大连东软信息技术职业学院毕业设计(论文)-10-7.rst:复位的输入端。当器件被振荡器复位时,要使 rst 脚的两个机器周期高电平时间保持。8.ale/prog:当外部存储器被访问时,地址的锁存允许输出的电平用来锁存地址地位的字节。当在 flash 编程的期间,这个引脚用在这个输入的编程脉冲。而平时,ale/prog 端用固定的频率周期

29、输出正的脉冲信号,这个频率是振荡器的频率的 1/6。所以它可以用于定时或用作对外部输出的脉冲。但是要注意:当每次用作外部数据存储器的时候,会跳过个 ale 脉冲。如果想禁止 ale 的输出,可以把 sfr8eh 地址设置为0。表 3.1 p3 口的第二功能引引 脚脚第二功能第二功能信信 号号 名名 称称p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7rxdtxdint0int1t0t1wrrd串行数据接收串行数据发送外部中断 0 请求外部中断 1 请求定时器/计数器 0 计数输入定时器/计数器 1 计数输入外部 ram 写选通外部 ram 读选通p3 口同时为编程校验和闪烁编程

30、接收一些控制的信号。这时, ale 只是执行 movx,movc 指令是 ale 才有用。同时,该引脚将会被略微地拉高。如果此时处理器在外部执行状态 ale 上禁止,则置位无效。 9. /ea/vpp:在/ea 保持低电平的时候,在此期间内外部程序存储器不管有或没有内部程序存储器。注意:加密方式为 1 时,/ea 将内部锁定为 reset;当/ea 端保持于高电平时,此间于内部程序的存储器。在 flash 编程的时候,这个引脚也将用于施加12v 的编程电源。10./psen:外部的程序的存储器的选通信号。在外部程序存储器取指的期间,它每个机器周期的两次/psen 则有效。但是在访问外部的数据存

31、储器的时候,有效的这两次/psen 信号将不会出现了。 11.xtal2:产生于反向振荡器的输出。12.xtal1:内部时钟工作电路的信号输入及反向振荡放大器信号的输入。振荡器特性:大连东软信息技术职业学院毕业设计(论文)-11-xtal2 和 xtal1 分别是反向放大器的输出端和输入端。可以把这个反向放大器改造成为片内振荡器。采用石英振荡或陶瓷振荡都可以。如采用的是外部时钟源的驱动器件,那么 xtal2 就应该不接。有余输入至内部时钟信号需要通过一个二分频的触发器,因此对外部时钟信号脉宽没有要求,但必须保证脉冲的高低电平所要求的宽度。3.1.33.1.3 时钟电路时钟电路时钟电路是计算机的

32、心脏部件,它控制计算机工作的节奏。stc89c51 单片机的时钟频率为 12mhzc51 单片机内部有一个可以控的负反馈反相放大器电路,外接晶振(或陶瓷谐振器)和电容组成振荡器,图 3.2 为 cmos 型单片机时钟电路框图。振荡器受/pd 端的控制,置于“1”pd(即特殊功能寄存器 pcon.1)使/pd0,然后振荡器会停止工作,所以整个单片机系统也就停止了工作,达到了节电的目的。pd 清 0,让振荡器的工作产生了时钟,所以单片机就会正常运行。图中的 sys 是陶瓷谐振器或晶振,振荡器所产生的时钟频率主要是由 sys 的参数所确定(晶振上标明的频率) 。电容 c1 和 c1 有两个作用:一是

33、让振荡器开始震荡,其二微调振荡器的频率,典型的值为 30pf。图 3.2 cmos 型单片机时钟电路框图3.1.43.1.4 复位电路复位电路单片机每次在启动运行之前都需要先进行复位初始化,让处理器及位于系统里的其它的部件都处于确定的一个初始状态,然后从这个状态开始运行。mcs-51 单片机上面有一复位引脚 rst,它是史密特触发输入端,当振荡器开始震荡后该引脚上会出现高于 2 个机器周期的高电平,让器件复位,只需让 rst 保持高电平,单片机就保持在复位状态。复位引脚 rst 变为低电平以后,会退出复位,cpu 从初始状态重现开始工作。单片机采用的复位方式是自动复位方式。对于 mos(stc

34、89c51)单片机只要接上一个电容到 vcc 即可(见图 3.3)。在加电瞬间,电容利用电阻充电,就在 rst 端出现一时的高电平,当高电平时间足够长时,就可让 mcs-51 有效的复位。当 rst 端加电的时候,大连东软信息技术职业学院毕业设计(论文)-12-保持高电平的时间包括振荡器起振的时间和 vss 的上升时间,vss 上升的时间若果是10ms,振荡器的频率和起震时间有关。当平率为 10mhz 时约为 1ms,1mhz 约为 10ms,所以一般为了复位的可靠,rst 在上电时应保持在 20ms 以上的高电平。当 rc 的时间常数越大时,上电 rst 端保持在高电平的时间就越长。若复位电

35、路失效,加电后 cpu 从一个随机的状态开始工作,系统就不能正常运转。图 3.3 上电复位电路3.1.53.1.5 显示电路显示电路(1)许多电子产品上都有跳动的数码来指示电器的工作状态,其实数码管显示的数码均是由八个发光二极管构成的。每段上加上合适的电压,该段就点亮(如图 3-4) 。led 数码有共阳和共阴两种,把这些 led 发光二极管的正极接到一块(一般是拼成一个 8 字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接 vcc 和 gnd。再把多个这样的 8 字装在一起成了多位的数码管了。图 3.4 实物图 图 3.5 内部结构图 共阳型(图 3

36、-5)就是八个发光管的正极都连在一起 ,作为一条引线.ag 段用于显示数字,字符的笔画,(dp 显示小数点) ,每一段控制 agdp 的亮与来。共阴型 lcd 数码管可以分为静态式和动态式两类。静态显示驱动:静态驱动又叫做直流驱动。静态驱动是指 led 显示器每个数码管的每一个段码都由一个单片机的 i/o 端口驱动着。静态驱动的编程比较简单,显示亮度高,但是会占用更多 i/o 端口。动态显示驱动:动态驱动是将数码管的 8 个显示位a,b,c,d,e,f,g,dp名相同的大连东软信息技术职业学院毕业设计(论文)-13-一端连在一起,然后为每个数码管的公共极 com 加上位选通控制电路,位选通由各

37、自独立的 in/out 线控制,当单片机输出字形码的时候,所有的数码管都会接收到相同的字形码,而具体哪个数码管会显示字形,要取决于单片机对位选通 com 端的电路控制,因此只需将需要显示的数码管的选通控制打开来,字形就可以在该位显示出来,没有选通的数码管就不会发亮。通过分时、轮流控制各个数码管的 com 端口,就可以使各个数码管轮流受控显示,这就是动态驱动。在轮流显示的过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,给人视角上的感觉就是稳定的显示数据,不会有闪烁感,动态显示和静态显示的效果一样,但动态显示可以节省大量的 i/o 端口、降低功耗(如表 3.2

38、) 。表 3.2 led 段码表显示显示字符字符共阴极共阴极段选码段选码共阳极共阳极段选码段选码显示显示字符字符共阴极共阴极段选码段选码共阳极共阳极段选码段选码012343fh06h5bh4fh66hc0hf9ha4hb0h99h567896dh7dh07h7bh6fh92h82hf8h80h90h3.2 软件实现过程软件实现过程软件需要解决的是定时器 0 的记数和外部中断 0 的设定。显示部分、需要有一个二进制到十进制的转化程序。启动和设置车轮需要用到独立按键方面的程序。3.2.13.2.1 转速部分软件设计思路转速部分软件设计思路at89c51 单片机的 p3.2 口接收传感器的信号。主要

39、编写一个外部中断服务程序int_0,读取记数值的三个字节,并再次清 0 记数初值以便下次的记数和计算。系统要求单片机晶振 11.0592mhz。3.2.23.2.2 软件工作流程软件工作流程霍尔传感器利用磁电效应产生一周期脉冲向单片机的外部中断 0(p3.2)口发送一个中断信号,定时器工作在内部定时,th0、tl0 设定初值为 0,作为除数的低两字节,利用软件记数器、定时器 0 中断的次数作为除数高字节。中断完毕读取内部记数值作为除数,调用除法程序计算转速,再对二进制数进行一系列变换后调用显示程序,同时通过中断累加行程,显示在 led 上。大连东软信息技术职业学院毕业设计(论文)-14-3.2

40、.33.2.3 确保自行车里程表的工作性能稳定的相关措施确保自行车里程表的工作性能稳定的相关措施自行车里程计能实时地将所测的累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出里程,再将所得数据存储到数据存储器,并由 lcd 显示模块交替显示所测里程。本设计的里程数的算法是一种理想情况的假设, (认为在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数) 。设计应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而

41、具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转 bcd 码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的里程值采用四位显示。3.2.43.2.4 自行车里程计自行车里程计 c c 语言程序语言程序c 语言由于具有良好的结构化特性以及可移植性,在学校的专业课程的学习中,老师也对 c 语言编程做了详细的讲解,所以本设计采用 c 语言编程如下。在本章主要分析程序的基本编程思路以及编程结构,所有源程序在附录中。程序编写中一定要注意结构化的程序设计,采用

42、编写大量例子程序以及系统提供的子程序,在主程序中进行调用以及相应的修改。这样便于程序的读写与调试。定时器 0 中断函数void time0_interrupt()interrupt 1 tl0 = (65536 - 5000) % 256;/ 12m 晶振,5ms 定时th0 = (65536 - 5000) / 256;display_function();time_counter+;time_counter8+;if(time_counter8 = 1600)/大于 8s 没切割,车子视为停下了,速度为:0,但里程还记着time_counter8 = 0;speed = 0;/速度为 0p

43、oint1 = 0;buf13 = speed%10;buf12 = speed/10%10;buf11 = speed/100%10;buf10 = speed/1000%10;大连东软信息技术职业学院毕业设计(论文)-15-开电源就显示的数据,初始显示速度void init_display()uchar i;for(i = 0;i 4;i+) wei = bitcodenum - 1;led = display1buf1num-; delay1m(4);if(num = 0)num = 4;定时器 0 和外部中断 0 的初始化函数void time0_int0_init()tmod |=

44、0 x01;tmod &= 0 xfd;/定时器 0 工作于方式 1tl0 = (65536 - 5000) % 256;/12m 晶振,5ms 定时th0 = (65536 - 5000) / 256;it0 = 1;/外部中断 0,负跳变触发方式tr0 = 0;et0 = 1;ex0 = 1;ea = 1;ms 级延时函数void delay1m(uchar x) uchar i,j; for(i=0;ix;i+) /连数 x 次,约 x ms for(j=0;j120;j+); /数 120 次,约 1 ms3.3 实物调试实物调试调适故障:按下电源开关无反映,手触碰复位引脚能显

45、示;按下电源既有一圈的行程;当显示屏显示速度时,非数值的数码管也会有微弱的亮光。解决方法:大连东软信息技术职业学院毕业设计(论文)-16-添加一个上电复位电路即有显示;在初始化程序后添加了启动程序解决了开机既有一圈行程问题。大连东软信息技术职业学院毕业设计(论文)-17-第第 4 章章项目成果项目成果本设计目前可用磁铁进行模拟演示,用磁铁以车轮转动一圈为一个周期的频率去靠近传感器既能显示相应的速度。也可以实际应用,只需用延长线把传感器延长到车轮附近,另把磁铁固定在车轮的辐条上,车轮转一圈磁铁就能与传感器接触一次实现测速。整个系统程序可实现速度和里程切换显示,切换时只需按切换按钮。正面效果图 4

46、.1。图 4.1 显示器根据信号频率显示速度大连东软信息技术职业学院毕业设计(论文)-18-背面效果图如图 4.2 所示。图 4.2 实物背面图大连东软信息技术职业学院毕业设计(论文)-19-第第 5 章章结结 论论本文在学院单片机开发系统的基础上,应用霍尔传感器进行了自行车里程计的设计,在设计中,采用了霍尔传感器作为数据采集,并采用了有源滤波器电路对信号进行了滤波优化,同时采用了运放对信号进行了放大处理。最后采用单片机对信号进行处理,并通过 lcd 对信号进行了显示。电路硬件电路模块化设计,功能正确;软件部分采用了 c 语言编程,同样采用了模块化程序编写的理念,编写以及调用了大量的例子程序。电路软硬件实现功能良好。在本设计中我发现采用了学院的单片机开发板以及学院以及成型的滤波器电路、运算放大电路等开发典型电路板,设计开发的难度降低了很多。真的非常感谢这些基本的设计素材以及资料对自己毕业设计的帮助。在今后的工作中,将继续努力将自己的学习的知识应用到社会发展的各个方面来。初定课题时自己也有些茫然,看到如此长的程序也有些担忧,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论