毕业设计(论文)基于单片机的自行车测速系统设计_第1页
毕业设计(论文)基于单片机的自行车测速系统设计_第2页
毕业设计(论文)基于单片机的自行车测速系统设计_第3页
毕业设计(论文)基于单片机的自行车测速系统设计_第4页
毕业设计(论文)基于单片机的自行车测速系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、i摘 要 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。因此爱好自行车运动的人十分需要一款能测速的装置,以知道自己的运动情况,并根据外界条件,如温度,风速等进行适当的调节,以达到最佳运动的效果。本论文主要阐述一种基于霍尔元件的自行车速度里程表的设计。以 at89c52 单片机为核心,a44e 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24c02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用 led 实时显示。文章详细

2、介绍了自行车的速度里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送入显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。关键词关键词:里程里程/ /速度,霍尔元件,单片机,速度,霍尔元件,单片机,ledled 显示显示iiabstractwith the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for

3、walking, but becomes the first choice of entertainment and exercising. the bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. therefore hobby cycling people can speed devices, in order to know their movement. and accordi

4、ng to the external conditions, such as temperature, wind speed proper adjustment, has reached the best movement effect. in this paper, the bicycle mileage/speed design based on the hall element is elaborated. by at89c52 as kernel, using a44e hall element to measure revolution, the measure and statis

5、tic are achieved. the range information is saved by 24c02 when the power is off, the bicycle speed can be displayed on led. in this article, the hardware circuit and software design of bicycle mileage/speed instrument are introduced in detail. about the hardware, the pulse number is transmitted of o

6、ne cycle of the bicycle into single chip microcomputer system. then the signal processed by single chip microcomputer system is sent to display scream. about the software, in assemble language; the program is designed in the mode of modules. the system has simple hardware, common sub-program, and me

7、ets the demand of design.keyword:mileage / speed,hall element, single chip microcomputer,lediii目目 录录 第 1 章 引言 .1第 2 章 系统总方案分析与设计 .22.1 课题主要任务及内容 .22.2 任务分析与实现 .2第 3 章 硬件电路设计 .43.1 硬件电路设计概述 .43.2 传感器概述 .43.2.1 传感器的选择.53.2.2 传感器及其测量系统.53.2.3 霍尔传感器的测量原理.63.2.4 集成开关型霍尔传感器.63.3 单片机概述 .73.3.1at89c52 单片机简介

8、.83.3.2 单片机的引脚功能介绍 .93.3.3 单片机中断系统介绍.123.3.4 单片机定时器/计数器功能介绍.133.4 其它器件的介绍 .133.4.1 储存器的介绍.143.4.2 74ls74 芯片的介绍.143.4.3 74ls244 芯片的介绍.163.4.4 时钟电路的设计.163.4.5 复位电路的设计 .173.4.6 显示电路的设计 .17第 4 章 软件程序设计 .194.1 软件方案设计 .194.2 总体程序设计 .204.3 中断子程序设计 .22iv4.4 里程计算子程序 .234.5 速度计算子程序 .234.6 显示子程序的设计 .24结 论 .26参

9、考文献 .27附录 .28附录 a 系统源程序 .28附录 b 系统硬件电路图 .31致谢 .32 引言1第 1 章 引言 众所周知,自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲娱乐运动的选择。早在 1890 年,荷兰就修建了世界上第一条自行车专用车道,被世界上公认为自行车王国。目前中国是世界上使用自行车人数最多的国家,也是使用范围最广的国家。拥有亿辆以上的自行车,约占世界自行车总量的/4。在目前私人汽车尚未大范围普及的情况下,自行车仍然是我国大多数百姓首

10、选的代步工具,正由于自行车在我国以及整个世界的广泛使用,使得这一制造行业发展迅捷,产品也不断更新换代。而在我们国家的城市里,主要使用这两大类自行车:第一类是传统式自行车,主要特征是弯曲着的手柄;第二类是山地(仿山地)式自行车,主要特征是一字式的手柄。另外,年长者多用第一类自行车,而年轻者则大多喜欢用第二类自行车了。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。此外,由于能源的枯竭以及现今社会的不断发展人们素质的慢慢提升,汽车等耗能产品将会达到一个饱和,这就给自行车的进一步普及带来机会,同时也响应了国务院

11、节能减排的号召!因此,此设计很有必要,使大家对使用自行车更有兴趣。本设计采用了 mcs-52 系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,它能自动地显示当前自行车行走的距离及运行的速度。要知道当前速度,测速装置则必不可少。测速装置在控制系统中占据重要地位,能够精确的掌握电机的运转速度,才能更好更安全的进行调速控制。对自行车车速的测量有很多种方法,按照测速原理可分为机械式与电子式两大类。这两类都能很好的实现对自行车的速度的测量。具体来说:机械式的就是利用机械计数器,轮子转一圈就触发计数器加一个数字。这个装置不需要电源,在目前自行车上应用最多。电子式的就必须用到单片机与一个电磁感

12、应器用来计算行进中车轮所转动的圈数。输入车轮的外径,计算单位时间内车轮所转圈数即得。此设计是一种基于霍尔传感器的速度测量仪器,不仅成本低,精度高,可用于测量电机转速,实现汽车超速报警等,而且稍加改动便可实现磁场测量等拓展功能。霍尔式传感器结构简单,体积小,坚固,频率响应宽,动态范围(输出电势的变化)大,无触点,使用寿命长,可靠性高,易微型化和集成电路化,因此在测量技术、自动控制、电磁测量、计算装置以及现代军事技术等领域中得到广泛应用。 系统总方案分析与设计 2第 2 章 系统总方案分析与设计 2.1 课题主要任务及内容本课题主要任务是利用霍尔元件、单片机等部件设计一个可用 led 数码管实时显

13、示里程和速度的自行车的速度里程表。本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后对本次设计进行了系统的总结。具体的硬件电路包括 at89c52 单片机的外围电路以及 led 显示电路等。软件设计包括:芯片的初始化程序、定时中断采样子程序、显示子程序等,软件采用汇编语言编写

14、,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。 2.2 任务分析与实现本设计的任务是:以通用 mcs-52 单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过 mcs-52的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过 led 显示器显示出来。本系统总体思路如下:假定轮圈的周长为 l,在轮圈上安装 m 个永久磁铁,则测得的里程值最大误差为 l/m。经综合分析,本设计中取 m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚 p3.2 中断 0 端输入,传感器每获取一个脉冲

15、信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数 n 和周长 l 的乘积为里程值。计数器 t1 计算每转一圈所用的时间 t,就可以计算出即时速度 v。当里程键按下时,里程指示灯亮,led 切换显示当前里程;当速度键按下时,速度指示灯亮,led 切换显示当前速度。要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。 系统总方案分析与设计 32. 对脉冲信号进行计数。实现:利用单片机自带的计数器 t1 对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用 led 显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行

16、车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。 硬件电路设计4第 3 章 硬件电路设计3.1 硬件电路设计概述自行车的速度里程表的硬件电路设计是基础部分,它包括信号的捕获、放大、整形,单片机的计算处理,数码管的实时显示和单片机外围基本电路的设计,两大主要器件就是传感器和单片机。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。本次设计的系统的原理框图如图 3.1 所示。外部信号霍尔传感器外部存储器at89c52 单片机里程显示速

17、度显示图 3.1 系统的原理框图3.2 传感器概述国家标准 gb7665-87 对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感原件和转换元件组成”。传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知的信息传递给其他装置或器官。它是获取自然或生产领域中信息的关键器件,是现代信息系

18、统和各种设备不可缺少的信息采集工具。磁传感器是一种将磁学量信号转变为电信号的器件或装置。随着信息产业、工业自动化、交通运输、电力电子技术、办公自动化、家 硬件电路设计5用电器、医疗仪器等等的飞速发展和计算机应用的普及,需要大量的传感器将需进行测量和控制的非电量,转换成可以与计算机兼容的信号,作为他们的输入信号,这就给磁传感器的快速发展提供了机会,形成了相当可观的磁传感器产业。其中最具代表的磁传感器就是霍尔传感器。在自动检测系统中,霍尔传感器是一种基本的测量工具。3.2.1 传感器的选择测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定

19、的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有以下几种方案:使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管传感器测量里程。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测

20、量,既简单易行,又经济适用。3.2.2 传感器及其测量系统本次设计信号的捕获采用的是霍尔传感器。 霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1mhz)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。取用各种补偿和保护措施的霍尔器件工作温度范围宽,可达55150。按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件,前者输出模拟量,后者输出数字量。 按被检测对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检测出受检测对象

21、本身的磁场或磁特性,后者是检测受检对象上人为设置的磁场,用这个磁场来作被检测的信息的载体。通过它,将许多非电、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。 硬件电路设计6使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,安装之前可以先手动接近一下传感器,

22、如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。霍尔传感器是对磁敏感的传感元件,常用于信号采集的有 a44e,该传感器是一个 3 端器件,外形与三极管相似,只要接上电源、地,即可工作。工作电压范围宽,使用非常方便。a44e 的外形如图 3.2 所示。1- 2-gnd 3-outvcc图 3.2 a44e 外形图3.2.3 霍尔传感器的测量原理霍尔传感器是利用霍尔效应制成的一种磁场传感器。在置于磁场中的导体或半导体通入电流 i,若电流垂直磁场 b,则在与磁场和电流都垂直的方向上会出现一个电势差 uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因

23、为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。3.2.4 集成开关型霍尔传感器 a44e 集成霍尔开关由稳压器 a、霍尔电势发生器(即硅霍尔片)b、差分放大器 c、施密特触发器 d 和 oc 门输出 e 五个基本部分组成。它的三个引线分别代表集成霍尔开关的三个引出端点。在电源端加电压 vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁a44e 硬件电路设计7场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差 vh 输出,该 vh 信

24、号经放大器放大后送至施密特触发器整形,使其成为方波输送到 oc 门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于低电位),使三极管导通,此时 oc 门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使 oc 门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,v0 保持不变,因而使开关输出稳定可靠,这也就是集成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度 b 与输出电压 v0 之间的关系。a44e 集成霍尔开关是单稳态型,测量时

25、,在 1、2 两端加 5v 直流电压,在输出端 3 与 1 之间接一个 2k 的负载电阻,如图 3.3 所示。a44e5v1232kr13out图 3.3 集成霍尔开关接线图3.3 单片机概述单片机就是在一块半导体硅片上集成了微处理器(cpu),存储器(ram,rom,eprom)和各种输入、输出接口(定时器 /计数器,并行 i/o 口,串行口,a/d 转换器以及脉宽调制器 pwm 等),这样一块集成电路芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。目前,单片机被广泛的应用于测控系统、

26、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是 at89c52 单片机。单片机由于将 cpu、内存和一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点:1. 体积小、重量轻;2. 电源单一、功耗低; 硬件电路设计83. 功能强、价格低;4. 全部集成在一块芯片上,布线短、合理;3.3.1at89c52 单片机简介 at89c52 是一个低电压,高性能 cmos 8 位单片机,片内含 8k bytes 的可反复擦写的 flash 只读程序存

27、储器和 256 bytes 的随机存取数据存储器(ram),器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处理器和 flash 存储单元,at89c52 单片机在电子行业中有着广泛的应用。主要功能特性1、兼容 mcs51 指令系统 2、8k 可反复擦写(大于 1000 次)flash rom; 3、32 个双向 i/o 口; 4、256x8bit 内部 ram; 5、3 个 16 位可编程定时/计数器; 6、时钟频率 0-24mhz; 7、2 个串行中断,可编程 uart 串行通道; 8、2 个外部中断源,共 5 个中断源;

28、9、2 个读写中断口线,3 级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有 pdip、pqfp、tqfp 及 plcc 等几种封装形式,以适应不同产品的需求。单片机内部结构示意图如图 3.4 所示。 硬件电路设计9定时/计数器中断系统cpu存储器并行 i/o 口串口 i/o 口txdrxdtintp0-p3图 3.4 单片机内部结构示意图3.3.2 单片机的引脚功能介绍 p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78rst/vpd9rxd p3.010txd p3.111int0 p3.212int1 p3.313t0 p3.414

29、t1 p3.515wr p3.616rd p3.717xtal 218xtal 119vss20at89c52p2.021p2.122p2.223p2.324p2.425p2.526p2.627p2.728psen29ale/prog30ea/vpp31p0.732p0.633p0.534p0.435p0.336p0.237p0.138p0.039vcc40图 3.5 at89c52 引脚图at89c52 提供以下标准功能:8k 字节 flash 闪烁存储器,256 字节内部ram,32 个 i/o 口线,3 个 16 位定时/计数器,6 个中断源,一个全双工串行通信口,片内具有振荡器及时钟电

30、路。at89c52 管脚图如图 3.5 所示。at89c52 为 8 位通用微处理器,采用工业标准的 c51 内核,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对 硬件电路设计10会聚主 ic 内部寄存器、数据 ram 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 ir 的接收解码及与主板 cpu 通信等。主要管脚有:xtal1(19 脚)和 xtal2(18 脚)为振荡器输入输出端口,外接 12mhz 晶振。rst/vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。vcc(40 脚)和 vss(20 脚)为供

31、电端口,分别接+5v 电源的正负端。p0p3 为可编程通用 i/o 脚,其功能用途由软件定义。p0 口p0 口是一组 8 位漏极开路型双向 i/o 口, 也即地址/数据总线复用口。作为输出口用时,每位能驱动 8 个 ttl 逻辑门电路,对端口 p0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 flash 编程时,p0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 p1 口p1 是一个内部带上拉电阻的 8 位双向 i/o 口, p1 的输出缓冲级可驱动(吸收

32、或输出电流)4 个 ttl 逻辑 门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。 与 at89c51 不同之处是,p1.0 和 p1.1 还可分别作为定时/计数器 2 的外部计数输入(p1.0/t2)和输入(p1.1/t2ex)。 参见下表 1。 flash 编程和程序校验期间,p1 接收低 8 位地址。 表 1 p1.0 和 p1.1 的第二功能 引脚号功能特性p1.0t2;时钟输出p1.1t2 ex (定时/计数器 2)p2 口p2 是一个带有内部上拉电阻的 8 位双向 i

33、/o 口,p2 的输出缓冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对端口 p2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。 硬件电路设计11在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 movx dptr 指令)时,p2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 movx ri 指令)时,p2 口输出 p2 锁存器的内容。 flash 编程或校验时,p2 亦接收高位地址和一些控制信号。 p3 口p3 口是一组带有内部上拉电阻的

34、8 位双向 i/o 口。p3 口输出缓冲级可驱动(吸收或输出电流)4 个 ttl 逻辑门电路。对 p3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 p3 口将用上拉电阻输出电流(iil)。 p3 口除了作为一般的 i/o 口线外,更重要的用途是它的第二功能。此外 ,p3 口还接收一些用于 flash 闪烁存储器编程和程序校验的控制信号。 rst复位输入。当振荡器工作时,rst 引脚出现两个机器周期以上高电平将使单片机复位。 ale/prog当访问外部程序存储器或数据存储器时,ale 用于锁存地址的低 8 位字 节。一般情况下,ale 仍以时钟振荡频率的 1/6

35、输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale 脉冲。 对 flash 存储器编程期间,该引脚还用于输入编程脉冲(prog)。 如有必要,可通过对特殊功能寄存器(sfr)区中的 8eh 单元的 d0 位置位,可禁止 ale 操作。该位置位后,只有一条 movx 和 movc 指令才能将 ale 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ale 禁止位无效。 psen程序储存允许(psen)输出是外部程序存储器的读选通信号,当 at89c52 由外部程序存储器取指令(或数据)时,每个机器周期两次 psen 有效,即

36、输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次 psen 信号。 ea/vpp外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000hffffh),ea 端必须保持低电平(接地)。需注意的是:如果加密位 lb1 被编程,复位时内部会锁存 ea 端状态。如 ea 端为高电平(接 vcc 端),cpu 则执行内部程序存储器中的指令。flash 存储器编程时,该引脚加上+12v 的编程允许电源 vpp,当然这必须要求该器件是使用 12v 编程电压 vpp。 xtal1 硬件电路设计12振荡器反相放大器及内部时钟发生器的输入端。 xtal2振荡器反相放大器的输出端。如果把前述的信

37、号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。p3 的 8 条口线都有定义第二功能,如表 2 所示。对于内部 eprom 的单片机芯片(例如 87c51),为写入程序须提供专门的编程脉冲和编程电源。它们也由引脚以第二功能的形式提供的。 表 2 p3 口引脚与第二功能引脚第二功能 信号名称p3.0rxd串行数据输入口p3.1txd串行数据输出口p3.20int外部中断 0 请求p3.31int外部中断 1 请求p3.4t0定时/计数器 0 的外部输入p3.5t1定时/计数器 1 的外部输入p3.6wr外部数据存储器写选通p3.7rd外部数据存储器读选通3.3.3 单片机中断系

38、统介绍中断是指当计算机执行正常程序时,系统中出现某些急需处理的事件,cpu暂时中止当前的程序,转去执行服务程序,以对发生的更紧迫的事件进行处理,待处理结束后,cpu 自动返回原来的程序执行。at89c52 系列单片机的系统有 6 个中断源,2 个优先级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器 ie 控制 cpu 是否响应中断请求;由中断优先级寄存器 ip 安排各中断源的优先级;同一优先级内各中断源同时提出中断请求时,由内部的查询逻辑确定其响应次序。采用的外部中断方式包括外部中断 0 和外部中断 1,它们的中断请求信号分别由单片机引脚0int/p3.2 和1int/p3.

39、3 输入 。外部中断请求有两种信号方式:电平触发方式和脉冲触发方式。电平触发方式的中断请求是低电平有效。只要在0int和1int引脚上出现有效低电平时,就激活外部中断方式。脉冲触发方式的中断请求则是脉冲的负跳变有效。在这种方式 硬件电路设计13下,在两个相邻机器周期内,0int和 1int引脚电平发生变化,即在第一个机器周期内为高电平,第二个机器周期内为低电平,就激活外部中断。由此可见,在脉冲方式下,中断请求信号的高电平和低电平状态都应至少维持一个机器周期,以使 cpu 采样到电平状态的变化,本次设计所采用的触发方式为脉冲触发方式。3.3.4 单片机定时器/计数器功能介绍at89c52 单片机

40、定时器/计数器的工作由两个特殊功能寄存器控制。tmod 用于设置其工作方式;tcon 用于控制其启动和中断请求。1.工作方式寄存器 tmod工作方式寄存器 tmod 用于设置定时/计数器的工作方式。gate:门控制。gate=0 时,只要用软件使 tcon 中的 tr0 或 tr1 为 1,就可以启动定时/计数器工作;gate=1 时,要用软件 tr0 或 tr1 为 1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。0int1intc/:定时/计数模式选择位。c/=0 为定时模式;c/=1 时为计数模式。tttm1m2:工作方式设置位。定时/计数器有 4 种工作方式,由 m1m2

41、 进行设置。本次设计 tmod 为 90h,即选通定时/计数器为 1、定时功能、工作方式 1.工作方式为 16 位定时/计数器。2.控制寄存器 tcontf1(tcon.7)定时/计数器 t1 溢出中断请求标志位。定时/计数器 t1 计数溢出时由硬件自动置 tf1 为 1。cpu 响应中断后 tf1 由硬件自动清零。t1 工作时,cpu 可随时查询 tf 的状态。所以,tf1 可用作查询测试的标志。tf1 也可以用软件置 1 或清零,同硬件置 1 或清零的效果一样。tr1(tcon.6)定时/计数器 t1 运行控制位。tr1 置 1 时,定时/计数器 t1 开始工作;tr1 置 0 时,定时/

42、计数器 t1 停止工作。tr1 由软件置 1 或清 0。tf0(tcon.5)定时/计数器 t0 溢出中断请求标志位。tr0(tcon.4)定时/计数器 t0 运行控制位。3.4 其它器件的介绍 硬件电路设计143.4.1 储存器的介绍 at24c02 是一个 2k 位串行 cmose2prom。内部含有 256 个 8 位字节,atmel公司的先进 cmos 技术实质上减少了器件的功耗。at24c02 有一个 16 字节写缓冲器,该器件通过 i2c 总线接口进行操作有一个专门的写保护功能。at24c02 支持i2c 总线数据传送协议。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。

43、主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端 a0、a1 和 a2 可以实现将最多 8个 24c02 器件连接到总线上。管脚图如 3.6 所示。 a01a12a23vss4sda5scl6wp7vcc824c02图图图图 3.6 24c02 管脚图scl 串行时钟:at24c02 串行时钟输入管脚用于产生器件所有数据发送或接收的时钟。sda 串行数据/地址:at24c02 双向串行数据/地址管脚用于器件所有数据的发送或接收,它是一个开漏输出管脚。 wp 写保护:如果 wp 管脚连接到 vcc,则所有的内容都被写保护,只能读。当 wp 管

44、脚连接到 vss 或悬空,允许器件进行正常的读/写操作。本次设计采用的 24c02 是为了防止掉电时里程数据的丢失,由于 24c02 的数据线和地址线是复用的,采用串口的方式传输数据,所以只用两根线 scl 和 sda与单片机传输数据。在软件编程时采用2e prom程序包来控制 24c02 发送或接受数据。3.4.2 74ls74 芯片的介绍74ls74 是 d 触发器的一种,它是一个具有记忆功能的二进制信息存储器件,是构成多种时序电路的最基本逻辑单元。触发器具有两个稳定状态,即“0”和 硬件电路设计15“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。由于其状态的更新发

45、生在 cp 脉冲的边沿,故又称之为上升沿触发的边沿触发器,d 触发器的状态只取决于时钟到来前 d 端的状态。引脚图如图 3.7 所示。clr11d12clk 13rp 14q15q16gnd7q28d212clr 213vcc14q29pr210clk211 图 3.7 74ls74 引脚图在本题目中 74ls74 芯片起分频的作用。当车轮每转一圈,霍尔传感器输出一个低电平脉冲,通过 74ls74 进行二分频后,定时器 t1 的开启时间为车轮转 1圈的时间,这样就可以算出自行车的速度。分频前后对比图如图 3.8 所示。tt00vv霍尔输出脉冲二分频后的波形图 3.8 分频前后对比图由图可见,二

46、分频后的波形的高或低电平的时间正好是霍尔传感器开关的一个周期,霍尔传感器输出脉冲到0int,即 p3.2 口接收到对圈数计数的脉冲。经74ls74 二分频后的信号输入到1int,内部定时计数器测得每转一圈所用的时间,通过计算即可得里程值和即时速度。 硬件电路设计163.4.3 74ls244 芯片的介绍本次设计采用的驱动数码管芯片为 74ls244,74ls244 为三态输出的八位缓冲器和线驱动器,若单片机输出口直接接显示部分电路,则电流太小,会导致显示部分不能正常工作。所以在单片机输出口先接入驱动芯片 74ls244,增大电流,使 led 能够正常工作。由 74ls244 原理图可知,它由

47、2 组组成,每组由四路输入、输出构成。每组有一个控制端高或低电平决定该组数据被接通还是断开。3.4.4 时钟电路的设计时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。at89c52 片内由一个反相放大器构成振荡器,可以由它产生时钟。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。本设计采用前者。单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入为芯片引脚 xtal1,输出端为引脚 xtal2。这两个引脚跨接石英晶体振荡器和电容,就

48、构成一个稳定的自激振荡器。单片机内部时钟方式的振荡电路如图 3.9 所示。at89c52xtal 2xtal 133pfc133pfc21212mhz图 3.9 单片机片内振荡电路电路中的电容 c1 和 c2 常选择为 30pf 左右。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的高低、振荡器的稳定性、起振的快速性和温度的稳定性。而外接晶体的振荡频率的大小,主要取决于单片机的工作频率范围,每一种单片机都有自己的最大工作频率,外接的晶体振荡频率不大于单片机的最大工作频率即可。此外,如果单片机有串行通信,则应该选择振荡频率除以串行通信频率可以除尽的晶体。本设计晶振采用 12mhz,故

49、计数周期为 1us。 硬件电路设计173.4.5 复位电路的设计at89c52 单片机的复位输入引脚 ret 为 at89c52 提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的 0000h 地址单元开始执行程序。在 89c52 的时钟电路工作后,只要在 ret 引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要 ret 保持高电平,则 89c52 循环复位。只有当 ret 由高电平变成低电平以后,89c52 才从 0000h 地址开始执行程序。本系统的复位电路是采用按键复位的电路,如图 3.10 所示,是常用复位电路之一。单片机复位通过按动按钮产生高电平

50、复位称手动复位。上电时,刚接通电源,电容 c 相当于瞬间短路,+5v 立即加到 ret/vpd端,该高电平使 89c52 全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5v 加到了 ret/vpd端从而复位称为手动复位。复位后,p0 到 p3 并行 i/o 口全为高电平,其它寄存器全部清零,只有 sbuf 寄存器状态不确定。at89c52rstc1+50.2kr98.2kr822uf图 3.10 按键复位电路工作原理:通电瞬间,rc 电路充电,rst 引脚出现高电平,只要 rst 端保持24ms 以上高电平,就能使单片机有效地复位。3.4.6

51、 显示电路的设计本设计中采用 led 数码管显示。在单片机系统中,通常用 led 数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段 led 显示器由 8 个发光二极管组成。其中 7 个发光二极管构成字型“8”的各个笔画段,另一个小数点为 dp 发光二极管。led 显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极led 显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极 led 显示器。本次设计采用共阴极接法。 硬件电路设计18led 显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,

52、动态显示接口电路是把所有显示器的 7 个笔划段 a-g 同名端连在一起,而每一个显示器的公共极 com 各自独立地受 i/o 线控制。cpu 向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于com 端。也就是说我们可以采用分时的方法,轮流控制各个显示器的 com 端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约 1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 本设计 p2.0、p2.1、p2.2、p2.3 信

53、号一起组成位选通的位选信号,p0.0p0.6 信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通另一个 led,逐步完成四个 led 的显示。 软件程序设计19第 4 章 软件程序设计软件设计,实际就是用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地

54、解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。 基于霍尔传感器自行车的速度里程表的软件设计包括上电初始化程序、中断子程序、速度调用子程序、里程调用子程序、led 显示子程序、延时子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析。4.1 软件方案设计通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、行车过程中里程和速度计算子程序、延时子程序、中断服务子程序、显示子程序等等。中断子程序是将传

55、感器产生的信号接入外部中断 0,将经过 74ls74 分频后的信号接入外部中断 1,利用中断和定时器分别对里程进行累加,每转一周的时间进行测量。数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。显示子程序是将数据处理的结果送显示器显示。 系统软件总体流程图如图 4.1 所示。 软件程序设计20初始化p3.0=1?计算里程显示里程计算速度显示速度n开始图 4.1 软件总体流程图4.2 总体程序设计在主程序模块中,需要完成对各接口芯片的初始化、自行车里程和速度的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/

56、清除标志寄存器、里程寄存器、速度寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计速等不同的操作。p1.0 和 p1.1 口分别用于显示里程状态和速度状态。p1.2、p1.3、p1.6 和 p1.7口分别用于设置轮圈的大小,低电平有效。p3.0 是用于里程和速度切换的,低电平为显示速度,高电平为显示里程。中断 0 是对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算和判断出行驶里程数。中断 1 用于控制定时器 t1 的启/停,当输入为 0 时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,每次定

57、时器 t1 的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。其程序流程如图 4.2 所示。 软件程序设计21开始初始化p1.2=1?np1.3=1?p1.6=1?p1.7=1?出错提示将车圈周长调入 21h开中断,启动定时器p3.0=1?调用里程处理子程序调用速度处理子程序nnnyyyyny图 4.2 主程序流程图 软件程序设计224.3 中断子程序设计定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一

58、个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。定时/计数器控制寄存器 tcon 是 8 位寄存器,地址为 88h,可以位寻址。其高 4 位用于定时/计数器中断控制,低 4 位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的里程和速度进行计数。中断子程序流程图如图 4.3 所示。关中断开始现场保护开中断中断处理关中断现场恢复开中断中断返回图 4.3 中断子程序流程图 软件程序设计234.4 里程计算子程序 外部中断 0 服务程序用于对单片机 p3.2 口输入的圈数脉冲进行计数,为十六进制计数器。60h 为低位

59、,62h 为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出里程数。里程处理子程序流程图如图 4.4 所示。开始点亮里程指示将车圈数转换成里程显示里程值返回 图 4.4 里程处理子程序流程图4.5 速度计算子程序外中断 1 服务程序用于处理轮子转动一圈后的计时数据。当标志位(00h)为 1 时,计数溢出,放入最大时间值(为#0ffh);当标志位为 0 时,将计数单元(tl1、th1、6ch、6dh)的值放入 68h6bh 单元。定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度。

60、如图 4.5 所示。 软件程序设计24开始计算速度开速度指示灯显示速度返回图 4.5 速度处理子程序流程图4.6 显示子程序的设计采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的 7 个笔划段 a-g 同名端连在一起,而每一个显示器的公共极 com 各自独立地受 i/o 线控制。cpu 向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于 com 端。可以采用分时的方法,轮流控制各个显示器的com 端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约 1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位

温馨提示

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

评论

0/150

提交评论