文档详情

单片机课程设计--基于AT89C2051的自行车里程表的设计.doc

发布:2017-09-18约1.59万字共24页下载文档
文本预览下载声明
目 录 第一章 概 述 2 第二章 硬件设计 3 2.1系统组成结构框图 3 2.2具体硬件电路及工作原理 3 2.3 AT89C2051单片机简介 4 2.3.1芯片概述 4 2.4其他外围硬件电路 6 2.4.1电源电路 6 2.4.2霍尔传感器 6 2.4.3 4位串行静态显示电路 7 第三章 软件设计 8 3.1主程序设计 8 3.2 外中断0和 T1定时溢出中断服务子程序设计 8 3.3 速度/里程显示控制子程序设计 8 3.4系统完整源程序 9 总 结 10 参考文献 11 附录 12 附录1 整体电路图 12 附录2 源程序 13 第一章 概 述 本设计介绍的速度与里程表设计以单片机和光电传感器为核心。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。 本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。 ??? 设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。 第二章 硬件设计 2.1系统组成结构框图 根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合实际要求的系统,如图2.1所示。 系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。功能选择后启动测量,大片及实时采集、处理后显示。 图2.1 系统组成结构框图  2.2具体硬件电路及工作原理 具体硬件电路如图2.2所示。 图2.2 系统硬件电路原理图 速度和里程由开关型霍尔传感器测量,已知自行车轮子的周长(本系统采用的是1.8m,设为L)AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。 ???AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。 图2.3 2051引脚图 主要功能介绍 兼容MCS51指令系统15个双向I/O口两个16位可编程定时/计数器时钟频率0-24MHz两个外部中断源可直接驱动LED低功耗睡眠功能可编程UARL通道2k可反复擦写(1000次)Flash ROM6个中断源2.7-6.V的宽工作电压范围128x8bit内部RAM两个串行中断两级加密位内置一个模拟比较放大器软件设置睡眠和唤醒功能 图2.4 电源电路原理图 于充电电流可达400~500mA,且充电时间较长,所以三极管选用功率
显示全部
相似文档