毕业设计(论文)-自行车里程监测仪的嵌入式(全套设计).pdf_第1页
毕业设计(论文)-自行车里程监测仪的嵌入式(全套设计).pdf_第2页
毕业设计(论文)-自行车里程监测仪的嵌入式(全套设计).pdf_第3页
毕业设计(论文)-自行车里程监测仪的嵌入式(全套设计).pdf_第4页
毕业设计(论文)-自行车里程监测仪的嵌入式(全套设计).pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

自行车里程监测仪的嵌入式设计与实现 - I - XX 大学大学 2016 届毕业论文届毕业论文 题目:自行车里程监测仪的嵌入式设计与实现自行车里程监测仪的嵌入式设计与实现 Embedded design and implementation of bicycle mileage monitor 姓名:X X X 学号:10214521 学院:不知道 专业:不知道 导师:不知道 时间:2016.4.12 完成时间:2016 年 4 月 6 日 自行车里程监测仪的嵌入式设计与实现 - I - 摘摘 要要 随着时代的发展,我们可以看到,我国的自行车数量越来越多,其原因就在于,自行 车既可以用于娱乐,又可以短途代步,同时也是人们户外郊游的上佳选择。 因为自行车的 方便,简单易学等特点,如今,基本上所有的人多可以骑自行车了。而人们对于骑车时 的一些数据, 例如骑行的速度, 骑行的距离等。 多还是靠人的长期知识进行粗略的估计, 这对科学锻炼来说是不合适的。 所以本设计就旨在设计一款基于 C51 单片机的自行车里 程监测仪, 实现对自行车车速和里程的监测, 从而可以让人们清楚的知道自己现在的骑 车状态,对于锻炼的人来说,有了这个系统,锻炼可以更加的科学合理。对于普通的游 玩骑行的人来说, 这个系统也可以帮助人们实时的了解自己的行进距离从而合理的安排 出游的时间和目的地。 全套设计,加全套设计,加 153893706 本设计主要实现了:利用 C51 单片机对自行车的速度和里程进行实时的采集和显 示,同时对骑行速度进行预警提示,设计中包含电路电源设计,程序设计,系统组合, 软件仿真等分部设计。 进过前期的学习和设计最终利用 STC89C51 单片机作为核心控制器件,利用 AH3503 开关型霍尔传感器进行数据采集,利用 LCD1602 作为显示器件,LED 和蜂鸣器作为提示 元素,独立按键作为复位清除按键。完成了本次设计。经过前期的仿真和后期的实物检 验可以得知本设计是完整可靠的系统。 进过实际的测试可以得知本设计不但具有研究意义, 同时具有市场推广的潜力, 如 果能进行后续的功能改进和提升,用于市场推广是完全可行的。 关键词:关键词:C51;单片机;AH3503;霍尔元件 自行车里程监测仪的嵌入式设计与实现 Abstract With the development of the times, we can see, growing number of bicycles in our country, and the reason is, the bicycle can be used for entertainment, and walking a short distance, and is also one of the outdoor picnic is an excellent choice. Because the bicycle is convenient, easy to learn and so on, now, basically all the people can ride a bicycle. And some of the data, for example, when people ride a bike, such as the speed of riding, riding distance, etc. More than a rough estimate of the long- term knowledge of people, which is not suitable for scientific exercise. So this design aims to design a based on C51 microcontroller bicycle mileage monitoring, monitoring of bicycle speed and mileage, so that people can clearly know her ride now, for people who exercise. With this system, the exercise can be more scientific and reasonable. For ordinary people who play riding, this system can also help people to understand their own travel distance in real time and thus reasonable arrangements for travel time and destination. This design mainly realizes the C51 microcontroller on the bicycle speed and mileage of real- time acquisition and display, at the same time, the riding speed warn, design includes power supply circuit design, program design, system composition, software simulation design division. Study and design of pre eventually use STC89C51 microcontroller as the core control device, using AH3503 linear Hall sensor data collection, using the LCD1602 display the, led and buzzer as the prompt element, independent keys as a reset to remove the keys. Completed the design. After the physical test and simulation during late prophase can this system design is complete and reliable. The actual test can get Chihpen design not only has the significance of the research, also has the potential for market promotion, if we can improve and upgrade the following function for market promotion is feasible. Key words: C51; single chip microcomputer; AH3503; Holzer element 自行车里程监测仪的嵌入式设计与实现 目目 录录 第第 1 章章 绪绪 论论 . 1 1.1 设计的目的 . 1 1.2 国内外研究现状 . 1 1.3 设计的任务和内容 . 2 第第 2 章章 系统的总体设计方案系统的总体设计方案 . 3 2.1 主要任务以及思路 . 3 2.2 系统的总体组成 . 3 2.3 系统的硬件组成 . 4 2.4 系统的软件组成 . 5 第第 3 章章 控制器件选择控制器件选择 . 6 3.1 单片机的组成和特点 . 6 运算器 . 6 控制器 . 6 主要寄存器 . 7 3.2 STC89C51 单片机介绍 . 8 3.2.1 STC89C51 单片机特点 . 9 3.3 STC89C51 单片机资源介绍 . 10 3.4 STC89C51 单片机定时器介绍 . 12 3.5 STC89C51 单片机外部中断介绍 . 12 第第 4 章章 数据采集器选择数据采集器选择. 13 4.1 可用传感器的介绍和对比 . 13 4.2 霍尔传感器介绍 . 14 4.2.1 霍尔传感器原理 . 14 4.2.2 霍尔传感器分类 . 14 4.3 AH3503 集成线性型霍尔传感器介绍 . 15 4.4 AH3503 霍尔传感器的检测原理 . 16 第第 5 章章 系统电路设计系统电路设计 . 18 5.1 STC89C51 单片机系统电路 . 18 5.1.1 复位电路的设计 . 18 5.1.2 STC89C51 单片机的晶振电路 . 19 自行车里程监测仪的嵌入式设计与实现 5.2 霍尔传感器电路 . 20 5.3 系统电路的设计 . 20 5.4 液晶显示电路的设计 . 21 5.4.1 LCD1602 的特点 . 21 5.4.2 LCD1602 的功能参数表 . 23 5.4.3 LCD1602 引脚介绍 . 24 5.5 蜂鸣器和 LED 报警电路的设计 . 24 第第 6 章章 单片机软件设计单片机软件设计 . 26 6.1 系统软件设计所使用的编程环境介绍 . 26 6.2 主程序模块设计 . 26 6.3 定时中断函数的设计 . 27 6.4 计算函数设计 . 27 6.5 显示函数程序流程 . 28 6.6 蜂鸣器和 LED 预警流程图 . 28 6.7 数据采集流程图 . 29 6.7 按键清除流程图 . 29 第第 7 章章 系统仿真系统仿真 . 31 7.1 仿真软件介绍 . 31 7.2 本次设计的仿真图设计 . 32 主要参考文献主要参考文献 . 33 附 录 一 设计电路图 . 34 附 录 二 仿真电路图 . 34 附 录 三 系统源程序 . 35 致致 谢谢 . 错误!未定义书签。错误!未定义书签。 自行车里程监测仪的嵌入式设计与实现 1 第第 1 章章 绪绪 论论 人们总是对和自己相关的物理数据有着极高的求知欲望, 例如步行数步行速度等都 希望可以实时的了解,因此产生了很多的计步软件,特别是现在大量出现的的手环。但 是对于人们使用了多年的自行车, 目前还没有很多的产品可以做到实时的显示骑行者的 速度和骑行的总里程, 这对现在的社会发来来说是不相符合的。 因此本设计就着眼于此, 开发了一套可以实时监测自行车里程和测速的系统。 本设计中采用了宏晶科技有限公司生产的 STC89C51 单片机作为系统的控制器件, 利用 AH3503 开关型霍尔传感器作为车轮的圈数采集器件。在单片机采集到车轮的圈数 之后,根据车轮的直径计算出实时车速,同时对行驶的总里程进行累加记录。在得出数 据之后, 通过通用性 LCD1602 液晶显示器进行数据的显示。 在显示之后还要对计数的数 据进行一个判断,如果判断到速度过大了,也就是人的骑行速度过快的时候,就启动蜂 鸣器和 LED 进行提示,避免骑行者在不经意间速度过快而导致危险情况的发生。 1.1 设计的目的设计的目的 对于自行车的实时车速和骑行的总里程进行实时的监测, 这对于人们实时的了解自 己相关事务的数据是有必要的作用的, 很多人在自己骑行的时候, 都是靠着以往的经验 来进行判断,比如车速,有时候我们就不能很好的判断出目前自己的车速是多少,就可 能在疲惫的情况下发生超速的情况。一旦速度过快,作为非机动的一方,在骑行的时候 就很危险。同时了解我们的骑行距离也对我们规划出行时间和目的地是有重要的作用 的。我们可以通过实时的里程数来确认自己和目的地的距离以及和回去的目的地距离。 1.2 国内外研究现状国内外研究现状 目前国内外也有一些自行车码表出现,其大概分类有三种:有线方式码表、无线方 式码表、踏频检测方式码表。有线码表通过安装的磁体传感器获取人的骑行数据,然后 通过有线的方式传输到单片机进行显示; 无线码表在获取数据的时候和有线码表采用的 相同方式, 只不过传输数据采用的是无线发送的方式进行; 踏频码表在获取数据的时候 则是通过人对自行车踏板的踩踏来实现数据的采集, 因为目前很多车都是可变速的, 所 以单独采集踏频还不够,还需要得到洗轮比,这种设计方式显得复杂,而且效果不是很 好。 目前国内外生成自行车码表的主要有:国外品牌德国的西格玛,日本的猫眼码表。 自行车里程监测仪的嵌入式设计与实现 2 柏奥 BOAO 码表。国内品牌因为质量和国外有较大差距,所以产量和使用量都不大 1.3 设计的任务和内容设计的任务和内容 在本次设计中采用了深圳宏晶科技有限公司生产的 STC89C51 单片机作为系统控制 芯片, 利用 AH3503 开关型霍尔传感器来获取车轮的圈数, 在单机获得数据进行计算后, 利用 LCD1602 进行实时的显示, 同时在综合判断目前的车速后, 与设定的预警车速进行 比较,如果超过了预定的车速,那就使用蜂鸣器和 LED 进行提醒,直到恢复了正常的骑 行速度。 设计中使用了 STC89C51 单片机,AH3503 线性传感器,LCD1602 液晶显示器,蜂鸣 器,LED 灯,电源稳压芯片,独立按键,以及电路必须的基本元器件。 设计主要包括了:整个系统的完整设计,电路的设计,仿真电路的设计,程序软件 的设计。这几个部分是完成本次设计的几个必须步骤和内容。 自行车里程监测仪的嵌入式设计与实现 3 第第 2 章章 系统的总体设计方案系统的总体设计方案 2.1 主要任务以及思路主要任务以及思路 本设计主要任务为:采用宏晶科技生产的 STC89C51 单片机作为系统的大脑,利用 AH3503 开关型霍尔传感器来获取车轮的圈数,在霍尔传感器输出脉冲数据之后将数据 送到单片机的外部中断口进行数据的采集,在单机获得数据进行计算后,利用 LCD1602 进行实时的显示,同时在综合判断目前的车速后,与设定的预警车速进行比较,如果超 过了预定的车速,那就使用蜂鸣器和 LED 进行提醒,直到恢复了正常的骑行速度。 本设计的主体思路如下: 首先从理论上分析, 我们要计算出自行车的速度和行车里 程,我们就需要知道车轮的周长,以及在我们的采集时间内,车轮转过的圈数。我们可 以令车轮的直径为 D,通过圆周率公式:L=*D,就可以计算出车轮的周长。我们再假 设转过的圈数为 N,那么行驶的速度 V=S/T 就有:V=N*D/T;总的里程就为 S+=V*T; 经过分析后我们可以得知, 我们只需要采集到 N 就可以知道所有的数据了, 因为车的直 径是已经知道的。 采集时间也是我们可以控制的。 所以只需要使用霍尔传感器获得脉冲, 然后利用单片机的外部中断 0 的下降沿触发功能进行计数就可以达到目的。 得到数据之 后,就只需要计算和显示了,然后进行预设值比较进行报警和提示就可以了。 经过上面的理论分析,我们可以把设计总结为这样几个部分: 1. 使用 3503 霍尔传感器获得脉冲数据。 2. 单片机利用中断得到脉冲数。 3. 单片机对数据进行计算然后显示。 4. 蜂鸣器和 LED 根据情况进行提示和闪烁提示。 进过这样几个部分, 我们的主要设计目的就可以得到实现, 至于对数据的清除复位, 我们就只需要额外增加一个按键就可以实现了。 2.2 系统的总体组成系统的总体组成 在前面的理论分析中已经可以看出本设计的总体框图应该是怎么样的了。 其中应该 包括核心的控制器件单片机, 脉冲的转换器件霍尔传感器, 数据的清除和复位功能所用 到的独立按键, 用于速度和里程显示的 LCD1602 液晶显示, 作为提示和预警的蜂鸣器和 LED 是本设计的几大组成部分,但是我们还要考虑到系统的供电问题,所以供电设计也 应该是系统整体框架设计的一个部分, 经过前期的设计和思考, 我认为本设计的系统框 图应该如下面所示: 自行车里程监测仪的嵌入式设计与实现 4 图 2-1 系统的总体组成框图 2.3 系统的硬件组成系统的硬件组成 设计中使用了大量的电子器件, 每个器件的选择和有机组合而形成本设计功能执行 的物理元素, 只有我们合理的安排和设计好每个元器件, 我们才能获得系统有效和正确 工作的前提。进过大量的分析和设计,我认为不系统的硬件组成图应该如下所示: 图 2-2 系统的硬件组成框图 数据获取 数据显示 实时提示 电源电路 单片机 完整 系统 单片机 电源电路 霍尔传感器 液晶显示 蜂鸣器 和 LED 自行车里程监测仪的嵌入式设计与实现 5 2.4 系统的软件组成系统的软件组成 通过和硬件相结合考虑, 我们能知道本次设计中的软件应该有哪些部分: 获得脉冲 的外部中断函数,软件启动的初始化函数,按键清除函数,数据计算函数,定时中断函 数,数据显示函数,报警函数。很明显,本系统的软件组成框图应该如下所示: 图 2-3 系统的软件组成框图 系统初始化 定时采集函数 外部中断计数 计算显示 提示和预警 自行车里程监测仪的嵌入式设计与实现 6 第第 3 章章 控制器件选择控制器件选择 要完成本次设计的任务,我们有很多可以选择的器件。例如单片机,DSP,FPGA, PLC 等等。但是我们在选择器件的时候要考虑到器件的成本,开发难度,可靠性,封装 类型等等方面。 进过大量的资料查询和实际测试, 本设计最后采用了单片机作为核心的 控制器件。 单片机也可以称单片微控制器,它和片上系统不一样,单片机不但可以进行运 算处理,还可以做逻辑控制,其包括了输入输出端,片上 CPU 有的还有专用的乘法器,独 有的存储单元和 DSP 运算单元。它的体积小、质量轻、价格便宜、为学习、应用和开发 提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。目前单 片机的发展已经十分成熟,单片的处理位数从 4 位到 8 位,16 和 32 位都有。单片的运 行速度也冲以前的几 M 到现在的高端单片机可以运行到上百 M。 3.1 单片机的组成和特点单片机的组成和特点 目前主流单片机主要由以下几个部分组成: 运算器 运算器由运算部件算术逻辑单元(Arithmetic 这个指令不改变 DDRAM 的内容 显示开关控 制指令 0 0 0 0 0 0 1 D C B D=1: 整体显示 ON,C=1: 游 标 ON, B=1:游标位置反白允许 进入模式设 置指令 0 0 0 0 0 0 0 1 I/D S I/D=1, 光标或闪烁向右移动, AC 增加 1。I/D=0,光标或闪烁向左 移动,AC 减少 1,S 整个显示移 动 光标或显示 移位指令 0 0 0 0 0 1 S/ C R/ L * * 光标或显示移位指令可使光标或 显示在没有读写数据的情况下, 向左或向右移动,指令不改变 DDRAM 的内容 功能设定 0 0 0 0 1 DL N F * * DL=0/1:4/8 位数据,N=0/1,单 行/双行显示,F=0/1,5*8/5*10 点 阵显示模式 设置 CGRAM 地 址 0 0 0 1 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 CGRAM 地址设置指令设置 CGRAM 地址指针, 设定 DDRAM 地 址 0 0 1 0 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 DDRAM 地址设置指令设置 DDRAM 地址。一行地址范围 00H4FH,两行 DDRAM 地址第 一行 00H27H,第二行 40H67H,加上高 2 位,一行: 80HA7H,二行:C0HE7H 读忙标志和 地址 0 1 B F AC 6 AC 5 AC 4 AC 3 AC 2 AC 1 AC 0 BF:忙标志位,BF=1,模块正在 进行内部操作,此时模块不接受 任何外部指令和数据。BF=0,模 块可以接受外部的指令和数据; 同时可以读出地址计数器(AC)的 值。 写 RAM 指 令 1 0 D 7 D6 D5 D4 D3 D2 D1 D0 将数据 D7- D0 写入到内部的 RAM (DDRAM/CGRAM/IRAM/GRAM ),将用户自定义的字符写入 5.4.2 LCD1602 的功能参数表 表 5.1 LCD1602 的控制指令表 自行车里程监测仪的嵌入式设计与实现 - 24 - 5.4.3 LCD1602 引脚介绍 LCD1602 采用标准的 14 脚接口,其中: 第 1 脚:GND 为电源地 第 2 脚:VCC 接 5V 电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对 比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对 比度)。 第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄 存器。 第 5 脚:RW 为读写信号线,高电平(1)时进行读操作, 低电平(0)时进行写操作。 第 6 脚:E(或 EN)端为使能(enable)端,高电平(1)时读取信息,负跳 变时执行指令。 第 714 脚:D0D7 为 8 位双向数据端。 下图为本次设计中所使用的 LCD1602 显示屏电路。其中 R1 为 10K 可调电阻与 LCD 的 VEE 参考电压输入相接,这样就可以由用户调节 LCD 的显示亮度了。 图 5-5 LCD1602 的管脚图 5.5 蜂鸣器和蜂鸣器和 LED 报警电路的设计报警电路的设计 本次设计所采用的报警指示为蜂鸣器和 LED 灯。 其中蜂鸣器采用的是有源直流蜂鸣 器。LED 使用的是 5mm 草帽型高亮红色 LED。使用这两个器件的原因是:提示效果可以 达到要求,设计简单实用,驱动方式适合简单型单片机。成本低,更换容易。具体的设 自行车里程监测仪的嵌入式设计与实现 - 25 - 计电路如下图所示: 图 5-16 蜂鸣器和 LED 报警电路 本次设计中没有采用单一的报警方式进行。主要有以下几种考虑:第一,单一方式 可靠性不高,当一个器件发生错误或者损坏,预警就是去了。第二,单一方式的提示效 果没有双重方式好, 单个器件容易被忽略掉。 而声音和光两种方式的提示就不会被忽视 掉了。在加入这种预警方式后,对人科学的锻炼和安全的骑行有很大的好处。所以本次 系统中所使用的双重报警方式也是本设计在现有的系统上进行的一个改进和升级的方 面。将系统的安全性功能提高了一个水平。 自行车里程监测仪的嵌入式设计与实现 - 26 - 第第 6 章章 单片机软件设计单片机软件设计 6.1 系统软件设计系统软件设计所使所使用的用的编编程程环境环境介绍介绍 本设计中使用的 STC89C51 单片机, 这种单片机开发语言可以是 C 或者汇编, 但是鉴于 C 比汇编而言更加的高效好通用。 所以本次设计将会采用 C 语言作为软 件编程语言。使用的开发环境是标准的 Keil-Uv4 编程环境。 Keil-Uv4 是一款美国Keil Software 公司推出的单片机开发系统,这个系 统目前在国内使用量极大,而且该系统支持的单片机型号多,常见的8位到32位 单片机都可以在这个开发环境下进行开发, 同时这个系统还可以进行在线的调试 和语言的转换。我们可以容易的使用系统只带的功能查看寄存器数据。 Keil-Uv4 软件开发环境提供了丰富的库函数, 并且还可以自行扩充库函数。 同时其采用的是Windows 界面风格,这对我们的开发使用来说是很方便的。另外 一点, 也是选择这个开发环境很重要的一点,在我们进行编译之后查看系统的汇 编语言,我们可以发现,这款软件的编程效率极高,对高级语言的优化和处理是 很精练和高效的。同时生成的汇编代码和我们常见的汇编代码风格十分相似,这 对于我们后期的程序优化也是很有帮助的。 Keil-Uv4集成开发环境能够完成在软件开发中需要面对的几大过程: 代码编 辑、程序编译、多函数连接、程序调试、软件仿真。开发人员还可以根据使用的 单片机自行选择生成何种的执行文件,以及采用何种的编译方式,是C51方式还 是A51方式。编辑器在对程序进行编译连接后可以生成单片机执行时需要的的二 进制文件 (HEX文件) , 然后我们可以通过专用的单片机烧写软件将生成的HEX 文 件烧写到单片机内,从而单片机就可以执行我们所写的程序了。 软件设计主要分为六个方面:第一是系统的预初始化;第二是霍尔传感器的 数据采集;第三是数据的计算;第四是数据的显示;第五是数据的预警提示;第 六是按键的清除。这六个部分分别放在在主程序中来执行,其中初始化只用进行 一次, 后面五步则需要在死循环中一直执行。程序设计中采用了模块化的设计方 式, 这样设计的程序结构十分清楚,在后期的程序功能扩展和程序调试中也显得 十分方便。 6.2 主程主程序模块序模块设计设计 本次采用了模块化的编程思想。在主程序中,主要是负责函数的调度,但是 整个系统的功能却是由主程序完成的。主程序就像是一个控制器,合理的调度各 自行车里程监测仪的嵌入式设计与实现 - 27 - 个分子系统,从而使子系统配合完成我们需要的功能。 主程序流程如下图所示: 图 6-1 主程序流程 6.3 定时中断函数的设计定时中断函数的设计 中断函数是本次软件中的第一大子函数,因为中断函数还会调用计算函数, 显示函数,预警函数,这三个子函数实现需要的功能。具体的定时中断函数如下 图所示: 6-2 中断函数流程图 6.4 计算函数设计计算函数设计 计算函数在中断函数中被调用,负责数据的处理和就算,根据采集的数据和 自行车里程监测仪的嵌入式设计与实现 - 28 - 前面理论部分说的计算公式完成数据的计算工作, 为后面的显示和预警功能提供 数据支持部分。计算函数的程序流程图如下: 图 6-3 计算函数流程图 6.5 显示函数程序流程显示函数程序流程 显示函数由定时中断函数调用,负责数据中的速度和里程显示。具体的流程 图如下图所示: 图 6-4 显示函数流程图 6.6 蜂鸣器和蜂鸣器和 LED 预警流程图预警流程图 本次设计中的蜂鸣器和 LED 作为预警器件,负责在比对数据后,对骑行的速 度进行适当的提示,具体的流程图如下所示: 自行车里程监测仪的嵌入式设计与实现 - 29 - 图 6-5 蜂鸣器和 LED 预警流程图 6.7 数据采集流程图数据采集流程图 数据采集子函数作为一个独立的外部中断函数,由外部数据随时触发,在外 部触发的时候,进入中断,判断是不是下降沿,如果是的话,就对数据进行加 1 操作,从而获得数据。具体的流程图如下所示: 图 6-6 数据采集流程图 6.7 按键清除流程图按键清除流程图 按键清除作为数据的清除复位功能,在设计中负责将数据进行复位操作,这 样我们就可以在需要清除数据的时候,将数据复位到原点,例如我们重新开始一 自行车里程监测仪的嵌入式设计与实现 - 30 - 次骑行的时候,上一次的数据可能就不需要了,所以我们就需要一个清除按键来 清除我们之前的骑行数据。具体的流程设计如下所示: 图 6-7 按键清除流程图 本次设计中, 对软件系统进行了分系统的方式进行, 将需要的功能按照要求, 将其划分为不同的子函数,采用分系统的设计方式,对功能的扩展和后期的功能 调试十分的便利。在后期的调试和仿真中得出结论,本次设计的软件是可靠的。 能够按照我们的要求进行工作。 自行车里程监测仪的嵌入式设计与实现 - 31 - 第第 7 章章 系统仿真系统仿真 为了检测设计的可靠性和功能是不是完整,本次设计中,采用了 Proteus 作为仿真软件进行前期的系统硬件和软件仿真, 在仿真中验证本次设计的软件和 硬件是不是可靠的。 7.1 仿真仿真软件介绍软件介绍 本次仿真使用的是 Proteus 作为仿真软件。Proteus 仿真软件是英国 Lab Center Electronics 公司出版的 EDA 仿真工具软件。这款软件不但具有其它 EDA 仿真工具软件都具有的仿真功能, 还包含有其独特的仿真单片机及外围器件的能 力。目前 Proteus 在国内外的使用率都是很高的,不但是单片机的仿真,在很多 高校里面也作为一款教学软件来使用, 而且市面上还有很多关于这款软件的教学 书籍和教学视频。 Proteus 是全球范围内都广泛使用的一款仿真软件,这款软件不但可以进行 原理图的仿真,电气特性的仿真,逻辑功能的仿真,还可以从原理图一键发布到 PCB 从而实现从原理图到电路图的转换。目前这款软件具有物理仿真,软件仿真 等功能, 而且其可以支持的单片机种类基本涵括了目前市面上流行的所有类型单 片机,例如本次设计使用的 8051 系列单片机,AVR 单片机,MSP 系列单片机。而 且支持的编译器(不同的编译器会有不同的输出文件)也包括了主流的 IAR 以及 KEIL 等。本次设计使用的 Proteus7.8 软件界面如下所示: 图 7-1 Proteus 仿真软件界面 自行车里程监测仪的嵌入式设计与实现 - 32 - 7.2 本次设计的仿真图设计本次设计的仿真图设计 本次设计的仿真图根据前期设计的硬件电路图作为基础, 在设计中验证了硬 件设计的可靠和正确性。具体的设计图如下所示: 图 7-2 本次设计的仿真图 经过仿真电路的检测,可以证明本次设计是可靠正确的。 自行车里程监测仪的嵌入式设计与实现 - 33 - 主要参考文献主要参考文献 1 李朝青单片机原理及接口技术M北京:北京航空航天大学出版社, 2005 2 康华光 电子技术基础模拟部分(第五版) M 北京: 高等教育出版社, 2005 3 阎石 数字电子技术基础 (第四版) M 北京: 高等教育出版社, 2005 4 白延敏 51 单片机典型系统开发实例精讲M 北京: 电子工业出版社, 2009 5 张齐,杜群贵. 单片机应用系统设计技术M. 北京:电子工业出版社, 2007. 6 杨金岩等. 8051 单片机数据传输接口扩展技术与应用实例M北京: 人民邮电出版社,2005 7 求是科技单片机通信技术与工程实践M北京:人民邮电出版社, 2005. 8 郭永贞主编. 数字电子技术M. 西安电子科技大学出版社,2000. 9 李广弟. 单片机基础M.北京:北京航空航天大学出版社,2001. 10 张洪润. 电子线路与电子技术M.清华大学出版社M,2005. 11 张齐, 杜群贵. 单片机应用系统设计技术M.电子工业出版社, 2004. 12 Julian W. Gamder, Intelligent Data Acquisition System B, 2005,4:109-115. 13 Dejie Song, Boxue Tan, Wenfeng Liu. Application of Wireless Communication in Temperature Measurement J. Berlin Heidelberg: Springer-Verlag,2011,175(1): 428433. 14 Xingrui Liu and Guohong Gao. Temperature Monitoring System Based on AT89C51 J. Berlin Heidelberg: Springer-Verlag,2011,105(1): 601605. 自行车里程监测仪的嵌入式设计与实现 - 34 - 附附 录录 一一 设计电路图设计电路图 附附 录录 二二 仿真电路图仿真电路图 自行车里程监测仪的嵌入式设计与实现 - 35 - 附附 录录 三三 系统源程序系统源程序 以下是本次系统的完整源程序: /主函数部分/ #include #includeLCD1602.h #define uchar unsigned char #define uint unsigned int sbit key1=P37; /按键 sbit led=P17; sbit bz=P16; void InitTimer0(void);/初始化定时器 void Ex_Init(); void delayms(uint time); void getkey(); void main() LCD1602_Init(); /液晶初始化 InitTimer0(); /初始化定时器 Ex_Init(); /外部中断初始化 LcdDisplayTemp(110,200); while(1) getkey(); uchar time50ms=0; uchar cylinder_number=0;/车轮子圈数 自行车里程监测仪的嵌入式设计与实现 - 36 - uint Total_number_of_cycles=0; uint Distance=0;/ uchar Speed=0; void Timer0Interrupt(void) interrupt 1 /50ms TH0 = 0 x9e; /3c TL0 = 0 x58; /b0 time50ms+; if(time50ms19)/20*50=1000ms=1s Total_number_of_cycles += cylinder_number; /记录总的圈数 Distance = (uint)(Total_number_of_cycles*3.14*0.66*10); /660mm(26 英寸)Pi*d 扩大一位保留一位小数 Speed = cylinder_number*3.14*0.66*10; /计算速度 LcdDisplayTemp(Distance,Speed); if(Speed100) led=bz=0; else led=bz=1; time50ms = cylinder_number=0; void int0()interrupt 0 /外部中断 0 服务程序,按下接 P3

温馨提示

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

评论

0/150

提交评论