




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机自行车测速仪的设计摘 要本设计主要阐述一种基于单片机与霍尔传感器等元件的测速仪设计。以AT89C51单片机为核心,实现对自行车里程、速度、时间、温度等参数的测量,并能简单的将里程及速度用LCD实时显示。在本文中详细介绍了测速仪的硬件电路和软件设计。硬件部分利用霍尔传感器将每秒内的脉冲数传入单片机系统,然后经单片机系统计算处理并将过处理结果送LCD显示。软件的设计采用模块化结构,使程序的逻辑关系更加简洁。使硬件在软件的控制下协调运作。仿真,所设计的硬件电路及软件程序是正确的,实际的硬件电路中也基本上能够满足设计要求。关键词:里程/速度,时间,温度,霍尔元件,单片机,LCD38Abstr
2、actThis design mainly elaborated based on MCU and Hall element of speed instrument design. Take STC MCU as the core, Hall element speed, realizes to the bicycle mileage, speed, time, temperature measurement, and a simple bicycle mileage and speed with the LCD real time display. The hardware part usi
3、ng the Hall element will bike per second pulse number of incoming MCU system, and then by the single chip microcomputer system calculation processing and processing result to the LCD display. Program design in order to facilitate the expansion and the change, the software design uses the modular str
4、ucture, make the logic relations more concise. Make hardware tocoordinatethe operation under the software control. Simulation experiments show that the designed hardware circuit and software program are correct, practical hardware circuit also basically can satisfy the design requirement, but due to
5、 the knowledge, in practice there are still some problems in the hardware circuit.Keywords: Mileage / speed,time, temperature, Hall element, MCU,LCD目录1 绪论11.1 课题研究的目的和意义11.2 课题的发展概况11.3 研究的主要内容22 系统总体方案设计22.1 系统方案22.2 单片机介绍32.3 时钟芯片介绍42.4 温度传感器介绍42.5 测速传感器介绍52.6 显示器介绍53 系统硬件设计53.1 单片机外围电路设计53.1.1 AT
6、89C51单片机简介53.1.2 单片机外围电路图73.2 时钟模块设计83.2.1 时钟芯片介绍83.2.2 DS1302硬件连接图113.3 温度模块设计113.3.1 温度传感器介绍113.3.2 DS18B20硬件连接图143.4 速度模块设计143.4.1 霍尔元件介绍143.4.2 霍尔传感器硬件连接图163.5 显示模块设计163.5.1 LCD芯片介绍163.5.2 LCD硬件连接图173.6 主电路图174 软件设计184.1 主程序设计184.2 计算速度里程程序设计184.3 温度显示程序设计194.4 时钟芯片程序设计205 结论21参考文献22附录23致谢381 绪论
7、 1.1 课题研究的目的和意义目前环保问题已经成为一个世界性的课题,保护环境也已经成为每个人的责任,汽车已经不能够满足现在环境的要求。且在人口众多的中国,人们的经济水平与西方国家还存在着一定的差距,人们使用的交通工具主要还是自行车,它轻巧便捷、使用简单、环保,深受大多数人的喜爱,同时也可以作为休闲运动工具,是人们锻炼身体的一种重要的工具。但随着社会的发展,人们追求的是集成更多功能于一体的自行车,它能显示当前车子行驶的速度、里程、行车时间、最高行驶速度,甚至还有GPS全球定位系统、MP3、短信、新闻播报等娱乐功能。本文就是以此为基础,设计一款简单低成本多功能的测速仪,旨在解决自行车驾驶者在行驶时
8、能够了解当前的行驶状态,并且根据周围环境,能够做出正确的判断和操作,提高了驾驶的安全性。另外自行车运动需一款测速装置,以了解运动情况,特别是对于运动员,他们需要一种能对实时运动情况进行测量并记录的仪器,通过记录的数据,运动员可以分析自己的训练成绩及训练过程,根据分析结果,可以调整自己的训练步骤。并根据外界环境如温度、风速等进行适当调节运动方式,以达到最佳运动效果。测速装置是对运动中几个参数进行测定。现自行车测速仪的设计种类繁多,但是多数的测速装置都是由机械式或模拟数字电路来实现的,都存在体积大、精度低、不直观、功耗大、功能少等缺点。本文所述测速系统是以单片机为核心实现的,具有功能多、功耗小、直
9、观准确以及可显示时间、总里程、温度、速度等优点。 1.2 课题的发展概况随着微型计算机可靠性提高和价格下降,用单片机测量电机转速技术已经成熟,但是这种技术目前主要还是用于工业生产方面,测速装置用于生活中还是少之又少。欲提高测量精度,必须先测出准确的转速,而原先在可控硅调速电路中采用的测速发电机方式已不能满足要求,必须采用数字测速的方法。转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。转速检测方式采用霍尔脉冲法测量转速有两种简单的方式。本设计采用频率法,检测的是输入脉冲数,这种方式又称频率法。它测出一
10、定时间内外界所输入的脉冲的个数。在控制系统中占有非常重要的地位。对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。所设计的基于霍尔元件的脉冲发生器要求具有成本低、结构简单、使用方便、性能好等特点。由于需要采用霍尔传感器的应用领域,如汽车、电机、手机和电脑都已经采用了该器件,而且这些市场在未来几年的增长较为稳定,而其他一些新的应用市场又不足以与上述几个市场相比,因此霍尔传感器在全球总的市场份额是较为稳定的,每年的增长率基本上保持在5%到10%之间。因为各种应用电机的部件、节气门位置的检测、各种阀体位置的检测、或者电磁感应的位置都会用到霍尔传感器。而且,在中国市场中,国外厂商为了降低成本,
11、陆续将零部件拿到中国进行设计和生产,这也进一步提升了中国市场霍尔传感器的使用量。随着它在电子消费市场上的应用越来越广,如何控制功耗和成本将是厂商面临的挑战。而且,它还面临生产测试技术方面的挑战。国内外现在已经有生产销售类似的自行车测速仪里程表,有些简单的产品功能比较单一,就是单单只有测速或里程的功能,然而一些复杂的产品除了测速和里程功能外,还集成了GPS全球定位、单次行车里程、平均速度、时钟、行车时间、车轮转数。未来的发展趋势可能还将加入MP3和短信收发、新闻播报、通讯功能等,使得自行车测速仪更加的人性化、现代化、生活化。相信未来的测速仪会受到更多人的青睐,也将成为人类社会生活中的必需品。 1
12、.3 研究的主要内容设计主要任务是利用单片机、时钟芯片、温度传感器等部件设计的一个可用LCD显示时间温度,行驶里程及速度的自行车测速仪。本文主要介绍了自行车测速仪的设计思想、电路原理、方案以及元件的选择等内容,整体上分为硬件部分和软件部分设计。本文首先扼要的对测速仪设计进行总体的介绍;继而具体介绍了自行车测速仪的硬件设计,包括传感器的选择、时钟芯片的选择、单片机的选择、存储器的选择、显示电路的设计等;然后阐述了该自行车测速仪的软件设计,包括主程序设计,子程序的设计;最后对本次设计进行了系统的总结。本设计的具体要求如下:(1) 对自行车进行实时速度的测量,显示出速度值。(2) 能够计算单次使用自
13、行车的路程。(3) 能测量出当前环境的温度,以供使用者决定是否适宜进行运动。(4) 显示行车里程,实时时间,并且具有断电保护的功能。2 系统总体方案设计 2.1 系统方案系统主要分成四个模块,分别是时钟模块、温度模块、速度模块、显示模块。温度及速度模块通过外部传感器对相应参数进行测量,将物理信号转换为电信号输入单片机,单片机对输入的电信号进行处理,最后通过显示器输出显示。本设计中用到的主要元件包括单片机、时钟芯片、温度传感器、速度传感器以及液晶显示器。控制系统的方案计框图如图1所示。该方案是以单片机为核心,通过速度传感器将所感应到的速度传送到单片机当中,通过单片机的处理计算并通过显示器将所计算
14、的速度和里程显示出来。时间和温度的显示是通过时钟芯片和温度传感器并以单片机为核心通过显示器显示而按键用于调整时间。速度传感器单片机显示器按键时钟芯片温度传感器图21 系统框图 2.2 单片机介绍单片机普遍认为是在一块硅片上集成了中央处理器、存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的功能,因而被称为单片微型计算机。系统所使用的是通用型单片机,它可以把可开发资源全部提供给使用者。8 位AT89C51 CHMOS 工艺单片机被设计用于处理高速计算和快速输入/输出。MCS51 单片机典型的应用是高速事件控制系统。商业应用包括调制解调器,电动机控制系统,打印机,影印机,空调控制系统,磁盘
15、驱动器和医疗设备。汽车工业把MCS51 单片机用于发动机控制系统,悬挂系统和反锁制动系统。AT89C51 尤其很好适用于得益于它的处理速度和增强型片上外围功能集,诸如:汽车动力控制,车辆动态悬挂,反锁制动和稳定性控制应用。由于这些决定性应用,市场需要一种可靠的具有低干扰潜伏响应的费用-效能控制器,服务大量时间和事件驱动的在实时应用需要的集成外围的能力,具有在单一程序包中高出平均处理功率的中央处理器。拥有操作不可预测的设备的经济和法律风险是很高的。一旦进入市场,尤其任务决定性应用诸如自动驾驶仪或反锁制动系统,错误将是财力上所禁止的。重新设计的费用可以高达500K 美元,如果产品族享有同样内核或外
16、围设计缺陷的话,费用会更高。另外,部件的替代品领域是极其昂贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍。为了缓和这些问题,在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是系统级别上的综合测试是必需的。Intel Chandler 平台工程组提供了各种单片机和处理器的系统验证。这种系统的验证处理可以被分解为三个主要部分。系统的类型和应用需求决定了能够在设备上执行的测试类型。 2.3 时钟芯片介绍时钟芯片种类非常多,有内置晶振及充电电池类型,还有外置晶振类型,如现在流行的DS1302、 DS1307、PCF8485、SB2068等等。由于DS1302时钟芯片的电路
17、接口简单,价格低廉、使用方便,被广泛地采用。在系统中采用了DS1302时钟芯片,该实时时钟电路是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,采用普通32.768kHz晶振。DS1302时钟芯片是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/
18、后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 2.4 温度传感器介绍温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器,它是温度测量仪表的核心部分。由于品种繁多,所以在工业应用中温度传感器分类的方式方法有很多种。由于DS18B20测试环境温度,数据直观、成本低廉,精度可达0.1,所以在设计中采用了DS18B20温度传感器。DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750
19、 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。其主要特点如下:(1) 独特的单线接口仅需要一个端口引脚进行通信。(2) 多个DS18B20可以并联在惟一的总线上,实现多点组网功能。(3) 可通过数据线供电,电压范围为3.05.5。(4) 零待机功耗。(5) 报警
20、搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。(6) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2.5 测速传感器介绍测速传感器是对被测物的运行速度进行测量并转化成可输出信号的传感器。测速传感器包括测量线速度传感器和测量转速度传感器。而测量转速的方式很多,常见的有:霍尔传感器(例如你提到的那一种)、光电传感器(还分反射式与透射式)、以旋转编码器等等。设计中采用了霍尔传感器进行测速,它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用。霍尔传感器44E系列是Allegr
21、o MicroSystems公司生产的宽温、开关型霍尔效应传感器,其工作温度范围可达-40150。它由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门输出极构成,通过使用上拉电阻可以将其输出接入CMOS逻辑电路。 2.6 显示器介绍由于设计中的需显示英文字符,且显示的数据比较多,所以不宜采用数码管显示。而应该采用液晶屏显示,现在液晶显示屏种类繁多,12864、1602等都是常用的液晶显示屏。而12864顾名思义像素是128*64,能显示8*4个汉字,因型号不同,有的带汉字库,有的不带,能显示图像效果,功能比1602强大。1602一般只用于显示字母、数字
22、和符号能显示16*2个字符,具有一些显示效果,如字符一个个显示、字符从左到右或从右到左显示等等,显示效果简单,价格低廉。由于考虑到设计中不需汉字显示且显示字符足够。因此,系统采用1602液晶显示。3 系统硬件设计 3.1 单片机外围电路设计 3.1.1 AT89C51单片机简介 管脚说明如图2所示: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原
23、码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址
24、的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断
25、1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁
26、止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电
27、源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图2 AT89C51+引脚图3.1.2 单片机外围电路图如图3所示为单片机外围电路连接图。由于设计采用STC单片机,此系列单片机具有掉电自动复位的功能,所以在单片机中并未设计复位电路。且在仿真中,单片机晶振在其属性中可调,即在仿真电路中没有晶振电路。但是在实际的硬件电路中晶振必须要接入。因此,系统采用12MHz的晶振。图中的两个按键是调节时钟芯片的时间。由于在仿真图中并没有霍尔元件可功模拟,即在P3.2接入数字激励源,代替了实际的电路中的霍尔传感器。图3 单片机外围电路图 3.2 时钟
28、模块设计 3.2.1 时钟芯片介绍DS1302的引脚排列,其中VCC1为主电源,VCC2为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC10.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送
29、被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端,后面有详细说明,SCLK为时钟输入端。如图4所示为DS1302的引脚功能图。图4 DS1302引脚图DS1302控制字如表1所示。表1 DS1302控制字765432101A4A3A2A1A0(1) 控制字的最高有效位位7:必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。(2) 位6:如果为0,则表示存取日历时钟数据,为1表示存
30、取RAM数据。(3) 位5至位1(A4A0):指示操作单元的地址。(4) 位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。DS1302有关日历、时间的寄存器如表2所示。表2 DS1302日历、时间寄存器RWBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0RANGE81h80hCH10SecondsSeconds00-
31、5983h82h10MinutesMinutes00-5985h84h12/24010HourHour1-12/0-23AM/ PM87h86h0010DateDate1-3189h88h00010MonMon1-128Bh8Ah00000Day1-78Dh8Ch10YearYear00-998Fh8EhWP000000091h90hTCSTCSTCSTCSDSDSRSRS这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们要做的就是将初始设置的时间数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间。这几个寄存器的说明如下:(1) 秒寄存器(81h、8
32、0h)的位7定义为时钟暂停标志(CH)。当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开始运行。(2) 小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是为1时,表示PM。在24小时模式时,位5是第二个小时十位。(3) 控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在对任何的时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。也就是说在电路上电的初始态WP是1,这时是不能改
33、写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。 所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如表3所示。表3 DS1302的工作模式寄存器工作寄存器读寄存器写寄存器时钟突发模式寄存器CLOCK BURSTBFhBEhRAM突发模式寄存器RAM BURSTFFhFEhDS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位Write Protect(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位
34、LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。 在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。 要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1
35、F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短时,就可以用漏电较小的普通电解电容器代替。100 F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 3.2.2 DS1302硬件连接图图5为DS1302电路连接图,是系统的时钟模块,可实时的显示时间。实际的DS1302引脚图与仿真图中的引脚排列不同。但所仿真的功能基本一样,只是仿真图的排列方式更便于电路的连
36、接。图中X1(引脚2)与X2(引脚3)所接入的是晶振,晶振的振荡频率为32768Hz。图中的VCC1(引脚1)和VCC2(引脚8)都是电源引脚,在实际电路中,VCC1接入5V电源,VCC2接入电压为3V的纽扣电池图5 DS1302电路连接图 3.3 温度模块设计 3.3.1 温度传感器介绍DS18B20引脚如图6所示。DQ2GND1VCC3图6 DS18B20DS18B20引脚定义如下:(1) DQ为数字信号输入/输出端。(2) GND为电源地。(3) VCC为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20数据部件:(1) 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看
37、作是DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。 (2) DS18B20中的温度传感器可完成对温度的测量,如表4所示,以0.0625/LSB形式表达,其中S为符号位。表4 DS18B20温度值格式表LSbit7bit6bit5bit4bit3bit2bit1bit0Byte262524232221202-1MSbit15bit14bit13bit12bit11bit10bit9bit8ByteSSSSSSSS这是12位转化后得到的12位数据,存储在DS18B20的两个8
38、比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘以0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘以0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。表5为DS18B20温度对照表。表5 DS18B20温度对照表TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+85.50000 0000 1010 101000AAh+25.000
39、00 0000 0011 00100032h+0.50000 0000 0000 00010001h00000 0000 0000 00000000h-0.51111 1111 1111 1111FFFFh-25.01111 1111 1100 1110FFCEh-55.01111 1111 1001 0010FF92hDS18B20温度传感器的内部存储器:DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放高温度和低温度触发器TH、TL和结构寄存器。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如图7所示。其中温度信息(第1
40、,2字节)、TH和TL值(第3,4字节)、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。温度LSD(50h)温度LSD(05h)TH用户字节1TH用户字节2配置寄存器保留位(FFh)保留位(0Ch)保留位(10h)CRCTH用户字节1TH用户字节2配置寄存器EEPROM高速暂存器(上电状态)图7 DS18B20内部储存器结构图DS18B20控制流程:根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能
41、对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。后面还要具体讲述复位、读和写的时序。ROM指令表明了主机寻址一个或者多个DS18B20中的某个或某几个,或者读取某个DS18B20的64位地址。RAM指令用于主机对DS18B20内部RAM的操作。指令集如表6和表7所示。表6 RAM指令表指令约定代码100功能温度转换44H启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节ROM中。读暂存器0BEH
42、读内部RAM 9字节内容。写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节数据。复制暂存器48H将RAM的第3、4字节的内容复制到EEPROM中。重读EEPROM0B8H将EEPROM中的内容复制到RAM中的第3、4字节。读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”。表7 ROM指令表指令代码操作说明温度转换44H开始启动DS18B20温度转换读ROM33H读ROM内容匹配ROM55H对指定器件操作跳过CCH跳过器件识别读暂存器BBH读暂存器内容写暂存器4EH数据写入暂存器的
43、TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到ROM重写调用RAMB8H把RAM中的TH、TL字节写到暂存器TH、TL字节 3.3.2 DS18B20硬件连接图图8是DS18B20的电路连接图,是测量外界环境温度的模块。通过串行通信将数据送至单片机处理并显示,其中DQ是串行数据输出口,必须加入一上拉电阻。VCC和GND分别接入的是电源和接地。电路连接简单,但由于数据输出口只有一个,所以编程比较复杂。图8 DS18B20电路连接图 3.4 速度模块设计 3.4.1 霍尔元件介绍根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件。该芯片具有尺寸小、稳定性好、灵敏度高等特点。A3144E
44、系列单极高温霍尔效应集成传感器是由稳压电源,霍尔电压发生器,差分放大器,施密特触发器和输出放大器组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。它是一种单磁极工作的磁敏电路,适用于矩形或者柱形磁体下工作。可应用于汽车工业和军事工程中。霍尔传感器的外形图和与磁场的作用关系如图9所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。a 霍尔元件和磁钢 b 管脚图图9 霍尔传感器的外形图霍尔传感器测量原理:测量电机转速的第一步就是要将电机的转速表示为单片机可以识别的脉冲信号,从而进行脉冲计数。霍尔器件作为一种转速测量系统的传感器,它有结构牢固、体积小、重量轻、寿命长、安装方便等优点
45、,因此选用霍尔传感器检测脉冲信号,其基本的测量原理如图10所示,当电机转动时,带动传感器运动,产生对应频率的脉冲信号,经过信号处理后输出到计数器或其他的脉冲计数装置,进行转速的测量。图10霍尔传感器测量原理转速测量方法: 转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法)。系统采用了第一种方法(测频法)。由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动。根据霍尔效应原理,将一块永久磁钢固定在自行车的轮毂上,随着自行车轮子的转动,磁钢也随着轮子同步转动,在自行车车体上安装一个霍尔传感器,当车轮转动时,受磁钢的影响
46、霍尔传感器会输出脉冲信号,其频率和转速成正比。脉冲信号的周期与电机的转速有以下关系:V=N*L式中:V为自行车车速;N为车轮单位时间内的脉冲数;L车轮的周长。根据上式即可计算出自行车当前的速度。霍尔器件是由半导体材料制成的一种薄片,在垂直于平面方向上施加外磁场B,在沿平面方向两端加外电场,则使电子在磁场中运动,结果在器件的两个侧面之间产生霍尔电势。其大小和外磁场及电流大小成比例。霍尔开关传感器由于其体积小,无触点,动态特性好,使用寿命长等特点,故在测量转动物体旋转速度领域得到了广泛应用。3.4.2 霍尔传感器硬件连接图图11为霍尔传感器的的硬件连接图,可测量外界磁信号。车轮每转一圈,则霍尔传感
47、器能感应到固定在车轮上磁钢发出的信号。其中out引脚为霍尔传感器的脉冲输出引脚,且必须接入上拉电阻。图11 霍尔传感器的图 3.5 显示模块设计 3.5.1 LCD芯片介绍1602液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。显示器都是数字式的,单片机系统的接口更加简单可靠,操作更加方便。通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。LCD接口如表38所示。(1)显
48、示容量:16×2个字符(2)芯片工作电压:4.55.5V(3)工作电流:2.0mA(5.0V)(4)模块最佳工作电压:5.0V(5)字符尺寸:2.95×4.35(W×H)mm表8 LCD引脚及引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极 3.5.2 LCD硬件连接图图12 lcd电路连接图图12中引脚3(VEE)为液晶显示偏压,主要是用来调节显
49、示屏的亮度,在仿真电路中不需接入电位器,但是在实际的硬件电路连接图中必须要接入电位器来调节显示亮度,否则LCD无法正常显示。在仿真图中LCD1602元件是只有14个引脚,而实际的LCD1602是16个引脚。仿真图中的LCD元件所缺少的是BLA(第15引脚)与BLK(第16引脚)。而在实际电路中这两个引脚也是必须要分别接到电源正极和电源负极上。否则LCD显示屏亮度不足以正常显示数据的。 3.6 主电路图图13 主电路图图13为主电路图,根据此图能够看出改系统分成四个模块,速度模块、显示模块、时钟模块、温度模块,图中两个按钮可分别调节时间的“小时”与“分钟”。4 软件设计 4.1 主程序设计软件设
50、计根据实际的工艺要求进行编写,要求是将DS18B20温度传感器、霍尔传感器、DS1302参数值送到单片机中,再由它将温度值、时间、速度等参数送至LCD显示器中进行显示。开始显示时间温度速度里程计算速度里程开中断温度,时钟工作初始化主程序工作过程如图14所示。图14 主程序流程图4.2 计算速度里程程序设计当单片机获取霍尔到传感器所感应的脉冲个数时,不能立马算出自行车的速度和里程,要经过数学计算后才能得出,系统中所默认车轮的直径为2.2m,使用者是可以根据自己的自行车直径更改程序里的数据。但是由于理论知识水平有限,没能成功设计有外界输入设定使用者的自行车车轮的直径数。本设计根据单片机每秒钟接收的
51、脉冲个数来计算自行车的速度。再将每秒的速度相加,就可得出自行车的里程。在Proteus上仿真得到的结果与计算结果完全相同。程序设计流程图如图15所示。否是子程序结束计算速度里程开始计数读计数器关计数器判断是否一秒读秒寄存器个位开始计数子程序开始图15 计算速度里程流程图4.3 温度显示程序设计温度传感器采用DS18B20进行温度测试,并通过LCD1602进行显示。由于DS18B20数据输出线只有一条,所以必须采用一位读取,读取到的温度值分别存入高八位和低八位寄存器中。输出显示时必须将十六进制数值转换成十进制并输出到LCD显示屏中。程序流程图如图16所示。准备初始化复位写命令读温度计算显示图16
52、温度显示流程图4.4 时钟芯片程序设计时钟芯片采用的是DS1302,该时钟芯片内置年、月、日、星期、时、分、秒寄存器。可将时间数据分别存储到各个寄存器中,有外置晶振作为芯片的时钟周期,外部晶振的频率为32.768KHz使其工作频率与时间对应。在读取时间时,可从各个时间寄存器当中读取数据,然后进行显示。调时功能是通过脉冲检测,每当按键按下一次,该数据口电平为零,数据加一。由于按键按下去或者松手是有颤抖现象的,需进行去抖和松手检测,统称去抖。一般进行去抖和松手检测有两种方法:一、硬件去抖;二、软件去抖。由于硬件去抖电路复杂繁琐,所以设计中采用了软件去抖法,该法是通过软件延时的方法,软件去抖法是将颤
53、抖时间用延时给掩盖,以近似的将颤抖现象去除。由于设计时欠考虑,所以调时按键只设计了2个,分别为“小时”和“分钟”,按键只能一直“加一”直至为0,而未设计“减一”按键。后来在调试当中发现比较麻烦,未实现人性化的设计要求。时间显示和调试控制程序流程图如图17所示。准备准备初始化初始化复位信号置0数据读取按键时钟脉冲信号置0松手检测数据读取数据加一复位信号置1结束时钟脉冲信号置1数据分离并转换显示结束显示图17 时间显示和调试控制程序流程图5 结论系统的设计与制作工作已经全部完成,基本达到和满足了预期的目的和要求。系统的调试与仿真结果基本符合设计要求。动态显示、显示内容的实时更新等方面达到预期的目标,但是由于时间仓促、条件有限,设计结果还存在一些缺陷,还存在诸如:显示内容的单一、数据波动、抗干扰能力差、霍尔传感器的精度差、人性化设计不全面等等。通过此次毕业设计,学到了许多以前不了解的知识,积累了不少宝贵的经验。从选题到现在已经有半年的时间了,这个设计主要经历了以下几个过程:广泛查阅资料、文献综述、总体思路的确定、方案的确定、设计制板及硬件电路的完成、软件的调试、系统的调试、还包括设计说明书的定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税收筹划承兑担保补充合同
- 家电更换质保服务协议书
- 国际化股权并购项目合作协议书
- 地铁BIM运维模型交付与后期维护及验收标准合同
- 知识产权代理合伙人知识产权保护技术合作协议
- 高效能固态电池生产线投资合作股权协议
- 数据中心IT设备运维与升级服务合同
- 离婚纠纷中游戏账号分割及权益分配协议
- 医疗健康产业投资合规性审查与风险管理服务合同
- 复合材料生产流程优化与改进合同
- 八年级数学上学期期中期末冲刺卷-特训10 一次函数 压轴题(八大母题型归纳)(原卷版)
- 胰腺假性囊肿治疗
- 2025年形势与政策-加快建设社会主义文化强国+第二讲中国经济行稳致远
- 求职趣味测试题及答案
- 中国企业可持续发展报告指南CASS-ESG 6.0-土木工程建筑业
- 华为面试题及答案
- 《基于西门子S7-1200PLC的四层电梯控制系统设计》8900字
- 汽车维修服务客户满意度提升流程
- 2024人教版七年级下册生物第三单元 植物的生活 单元测试卷(含答案)
- 2025年部编版新教材语文一年级下册第六单元复习课教案
- 办公场地租赁合同示范文本
评论
0/150
提交评论