自行车里程表的设计单片机毕业设计.doc
《自行车里程表的设计单片机毕业设计.doc》由会员分享,可在线阅读,更多相关《自行车里程表的设计单片机毕业设计.doc(71页珍藏版)》请在沃文网上搜索。
1、摘要近年来人们对健康的要求越来越高,自行车作为一种普遍大众的运动器械开始进入人们的视野。而自行车里程表就是伴随着自行车运动的兴盛而逐渐发展起来的本系统由单片机STC89C52、霍尔传感器、LCD1602液晶显示屏和独立按键组成硬件部分,软件部分包括主程序模块、数据采集模块、显示模块、键盘扫描模块。霍尔传感器完成数据采集功能并对单片机输入脉冲信号,通过单片机程序的设置可对霍尔传感器输入的脉冲信号进行计数和处理,精确地得到单位时间内检测到的脉冲数,计算自行车速度、加速度、里程,并通过LCD显示出来。本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计
2、和实现作了认真的分析。本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。关键词:STC89C52单片机LCD1602霍尔传感器AbstractWith the developing of peoples for health,bicycle is becoming a very popular sports equipment in our everyday.While the bicycle odometers are becoming more and more popular with bicycles prosperous. The system is composed
3、of SCM ST8C9C52, hall sensors, LCD1602 LCD module and the keyboard control component. The software part includes the main modules, data acquisition module, display module and keyboard scanning module. Hall sensors complete the data acquisition function and single-chip input pulse signal, through the
4、 MCU set to hall sensor-based input pulse signal processing, count and that can accurately calculate added to the pins per unit time the number of pulses detected,while can get velocity, acceleration,milestones; Design mileage and speed by LCD module, mileage to display. This paper first needed to m
5、ilestones design of equipment in detail, on the problems existing in the design, explained. And then to hardware and software design and implementation of the part made earnest analysis; and the simulation results are compared. This milestones design has simple structure, low cost, showed clear, sta
6、ble and reliable. Key words : STC89C52SCMLCD1602Hall sensor 目录第1章绪论11.1课题研究背景与现状11.2本课题所做的工作1第2章系统总体设计方案32.1系统实现的功能32.2设计思路32.3总体设计框图42.4系统设计选择42.4.1数据采集模块42.4.2主控芯片的选择52.4.3按键电路的选择62.4.4显示模块的选择6第3章系统硬件设计83.1概述83.2主控模块83.3显示模块103.4按键控制模块113.5数据采集模块11第4章系统软件设计134.1概述134.2程序流程图134.3数据采集模块设计154.4显示模块设计
7、164.5键盘扫描模块设计16第5章调试与分析18第6章结论与展望226.1结论226.2展望22参考文献23致谢24附录24附录A外文资料24附录B硬件原理图35附录C程序清单36I石家庄铁道大学四方学院毕业设计第1章绪论1.1课题研究背景与现状时间是科学技术中最基本的物理量之一,无论是农业生产,还是工业自动控制,都与时间息息相关,尤其是中国的农业生产,和农历日期联系紧密,准确的农历日期,为农业生产、农民生活带来极大方便。工业生产中的延时动作,定时动作等对时间的精确度要求较高。小到运动员的百米赛跑,大到一项工程的实施,都和时间密不可分,所以,万年历随处可见。但是,随着科技的发展,人们生活水平
8、不断提高,人们所关心的不仅仅是时间,还有其他一些像室内温度、农历日期、星期等和人们生活联系紧密的数据,甚至对数字万年历的外观也提出新的要求,这就对万年历的功能提出新的更高的要求。近年来随着计算机在社会各领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制方式日新月益。控制方式有从模拟控制向数字控制转变的发展趋势。微控制芯片具有强大的逻辑运算能力,它的出现,使得数字万年历不仅能给人们提供时间,而且还能提供很多新的功能,例如:温度显示、农历显示、节气提示、语音提示、日程表、生日提示、星座查询、录音放音、风景控制等。现在的好多数字万年历产品都通过控制内置灯光对万年历表面装饰图片进行扫描,实
9、现动态风景;通过控制语音芯片发出各类鸟叫的声音,使人们生活在自己的房间里,仿佛身处大自然!可见,现在的数字万年历不仅仅是一个智能化的、可以提供多信息的器件,更是室内的一道风景。上海礼品公司生产的多功能万年历具有LED灯显示、年历、月历、时间显示、12小时或24小时制式、选择四组定时闹铃、整点铃响、按键音、小于100小时倒计时、世界16个城市现在时查询、1900年到2099年月历查询、八位数四则运算、百分比计算 M+、M-和MRC存储运算功能货币换汇计算。可见,多功能智能化数字万年历是以后万年历发展的方向,基于微控制芯片的数字万年历可以满足人们对万年历的多功能、界面友好和智能化的要求,数字控制技
10、术将引起万年历新的重大改变。1.2本课题所做的工作首先,本课题对系统主要功能进行分析,确定该系统的主要功能是:阳历日期、时间显示、农历日期显示、星期显示、环境温度显示和定时闹铃,并可以修改时间,在修改时间的过程中,可以对月份天数自动判断。其次,系统设计要做的工作是电源分析和设计,该设计选用的集成芯片都采用+5V电源供电,所以,要先对常见220V交流电源进行变换,得到较为稳定的、可以满足系统要求的+5V稳压电源。最后,要对选用的芯片进行学习,尤其是其工作时序,这是实现系统的关键。温度检测采用DS18B20,由于DS18B20是单总线温度传感器,所以,对其控制需要较严格的时序。通过查阅资料和仿真掌
11、握单总线数字温度传感器的时序要求和工作流程,该系统主要应用了DS18B20的跳过ROM匹配、温度转换、读取温度指令等。时钟芯片采用DS1302,为三总线时钟芯片,为了能够使其正常工作,要学习其中的寄存器格式、寄存器特殊位作用、读取时间寄存器数据、写入时间寄存器数据等。DS1302时钟芯片内部没有集成备用电源,所以,要对其掉电保护环节进行考虑和设计。显示器件选用点阵带字库型12864液晶模块,由于液晶模块在写入指令或数据后,要经过一段时间才能完成内部动作,所以,对其读写控制时要有必要的延时,以等待液晶模块完成内部动作,才能使写入的数据或指令有效。带字库型液晶模块有基本指令集和扩充指令集,本设计不
12、需要显示图片,所以,采用基本指令集。在时间设定环节,要有设定提示,本系统以游标闪烁方式提示用户当前所修改的数据,为此,要对游标闪烁控制方式进行学习。第2章数字万年历硬件设计微控制芯片采用Atmel公司的AT89S52,其内部含有8k字节Flash,支持USBISP编程,十分方便。温度传感器选用DS18B20,它支持3V5.5V的电压范围,使系统设计更灵活、方便。时钟芯片选用美国Dallas公司推出的具有涓细电流充电能力的低功耗实时时钟芯片DS1302。显示部分选用界面友好的YM12864R液晶模块,其内部采用ST7920A控制器,内置8192个中文汉字(1616),编程方便,可以节约很多的程序
13、存储器空间。2.1微控制器选择今天,微处理器已经无处不在,无论是录像机、智能洗衣机、移动电话等家电产品,还是汽车引擎控制,以及数控机床、导弹精确制导等都要嵌入各类不同的微处理器。微处理器不仅是微型计算机的核心部件,也是各种数字化智能设备的关键部件,其芯片管脚如图所示。 AT89S52芯片管脚AT89S52是一种低功耗、高性能CMOS8位微控制器。AT89S52具有8K在线系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在线系统可编程,亦适于常规编程器。在芯片上,具有灵巧的8 位CPU 和在线系统可编
14、程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每
15、位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用口,在这种模式下,P0口具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输
16、出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(系统编程用) P1.6 MISO(系统编程用) P1.7 SCK(系统编程用) P2口:P2口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX
17、RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下所示。 在Flash编程和校验时,P3口也接收一些控制信号。 P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P
18、3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位,其上电复位硬件原理如图所示。上电复位硬件原理ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F
19、lash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序存储器允许(PSEN)输出,是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/Vpp外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端
20、必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。该系统主控制电路硬件原理如图所示。系统主控制电路硬件原理2.2温度测量环节设计如今,温度传感器的总类可谓五花八门,各温度传感器的精度和控制方式都有所不同,价格也相差很大。如何选择满足该系统测量室温的精度要求,并且价格低廉的温度传感器,是一个重要问题。Dallas半导体公司的数字化温度传感器DS18B20是一线总线接口的温度传感器,一线
21、总线具有独特而经济的特点,性能价格比非常出色。该系统需要测量室温,精度要求不是太高,所以,该系统选用DS18B20作为温度传感器,其管脚排列如图所DS18B201 2 3GNDI/OVDDDS18B20管脚微控制器控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求微控制器将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,然后发出60240微秒的存在低脉冲,微控制器收到此信号表示复位成功,如果没有收到复位成功信号,则表示DS18B
22、20出现问题,可以用来作为系统设计时的故障提示、判断信号。DS18B20的单总线数据传输特点,决定了它严格的控制时序。微控制器写1时,数据线必须先被拉至低电平,然后就被释放,使数据线在写时间片开始之后的15微秒之内拉至高电平。微控制器写0时,数据线必须先被拉至低电平且至少保持逻辑低电平60微秒。微控制器把数据线从高电平拉至低电平时,产生读时间片,数据线必须保持在逻辑低电平至少1微秒;来自DS18B20的输出数据在读时间片下降沿之后15微秒有效。因此,为了读取从时间片开始算起15微秒的数据线状态,微控制器必须停止把数据线驱动至低电平。在读时间片结束时,数据线经过外部的上拉电阻拉回至高电平。所有读
23、时间片的最短持续期限为60微秒,各个读时间片之间必须有最短为1微秒的恢复时间。其读写时序如图所示。读数据写060微秒15微秒45微秒15微秒45微秒15微秒DS18B20写时间间隙DS18B20读时间间隙写1DS18B20读写时间间隙该系统对DS18B20进行操作用到的指令为:跳过ROM匹配,命令字为0CCH;温度转换指令,命令字为44H;读温度指令,命令字为0BEH。系统温度检测部分硬件原理如图所示。系统温度检测部分硬件电路2.3 时钟芯片环节DS1302 是美国Dallas公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自行车 里程表 设计 单片机 毕业设计
