您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 自行车里程表的设计(基于2051)[1]
课程单片机原理及应用课程设计题目自行车里程表的设计主要内容、基本要求、主要参考资料等1、主要内容:根据单片机课程所学内容,结合其他相关课程知识,设计一个自行车里程表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。2、基本要求:以AT89C2051型单片机为核心,实时测量并显示自行车行驶过程中两项运动参数:速度和里程。所测量各值可单独显示,测量值误差小于1%。超速行驶(设置两各可选择的限速参数:10m/s,8m/s)时,能自动发出声光报警。3、主要参考资料:[1]张毅坤,陈善久.单片微型计算机原理及应用.西安:西安电子科技大学出版社,2002.[2]张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2000.[3]伟福Lab2000P系列单片机仿真实验系统说明书.完成期限2010.3.15-2010.3.19指导教师专业负责人2010年3月13日1目录第一章概述...........................................2第二章硬件设计.........................................32.1系统组成结构框图...................................32.2具体硬件电路及工作原理.............................32.3AT89C2051单片机简介...............................42.3.1芯片概述........................................42.4其他外围硬件电路...................................62.4.1电源电路........................................62.4.2霍尔传感器.......................................62.4.34位串行静态显示电路.............................7第三章软件设计.........................................83.1主程序设计........................................83.2外中断0和T1定时溢出中断服务子程序设计...........83.3速度/里程显示控制子程序设计.......................83.4系统完整源程序.....................................9总结..................................................10参考文献...............................................11附录...................................................12附录1整体电路图.....................................12附录2源程序......................................132第一章概述本设计介绍的速度与里程表设计以单片机和光电传感器为核心。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。3第二章硬件设计2.1系统组成结构框图根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合实际要求的系统,如图2.1所示。系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。功能选择后启动测量,大片及实时采集、处理后显示。图2.1系统组成结构框图2.2具体硬件电路及工作原理具体硬件电路如图2.2所示。霍尔传感器开关功能选择显示功能指示灯2051单片机稳压器+5V电池组充电电路发电机4RST1RXD2TXD3X24X15P3.26P3.37P3.48P3.59GND10P3.711P1.012P1.113P1.214P1.315P1.416P1.517P1.618P1.719VCC20U?89C205112J2CON2C?30pC?30pY?12MR?10kC?10uvcc123J1霍尔元件VCCP3.2GNDR?470R?470R?470R?470D1D2D3D4C?0.1uS?SW-PBR?10kVCCS?SW-PBS?SW-PBS?SW-PBR?5.1KR?5.1KR?5.1KVCCLS?SPEAKERQ?9012VCC图2.2系统硬件电路原理图速度和里程由开关型霍尔传感器测量,已知自行车轮子的周长(本系统采用的是1.8m,设为L),轮子每转动一圈,传感器采样一个下降沿信号并送到单片机的外中断0产生一次中断,全书加1,两个相邻下降沿信号的时间由单片机定时器1计时(设为T),哪么计算当前速度(设为V)和行驶里程(设为S)的公式为:V=1.8/T,S=1.8m*所行驶的圈数S1是单片机的复位开关,系统采用按键电平复位开关;S2是电源开关,并由灯D1指示;S3为速度和里程切换开关;S4为限速切换开关,可以根据自身需要选择不同的最大超速速度;S5为里程单位切换开关。P1.4输出低电平时,控制D2亮,表示此时显示的里程值为km/h,P1.5输出低电平时,控制灯D3亮,提示速度太慢;P1.6输出低电平时,控制灯D4亮,表示此时的显示值时里程(否则为速度);P1.7控制超速报警电路,其为高电平表示行驶速度正常,为低电平时,三极管9012导通,驱动蜂鸣器报警。2.3AT89C2051单片机简介2.3.1芯片概述AT89C2051是一个低电压,高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读Flash程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。5AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。管角配置图2.3所示。图2.32051引脚图主要功能介绍(1)兼容MCS51指令系统(2)15个双向I/O口(3)两个16位可编程定时/计数器(4)时钟频率0-24MHz(5)两个外部中断源(6)可直接驱动LED(7)低功耗睡眠功能(8)可编程UARL通道(9)2k可反复擦写(1000次)FlashROM(10)6个中断源(11)2.7-6.V的宽工作电压范围(12)128x8bit内部RAM(13)两个串行中断(14)两级加密位(15)内置一个模拟比较放大器6(16)软件设置睡眠和唤醒功能可见。2051可以为很多的嵌入式控制应用提供高度灵活而且价格低廉的方案,特别适合小系统。本系统仅用到单片机的10个I/O口,所以选用2051单片机做主系统。2.4其他外围硬件电路2.4.1电源电路如图2.4所示。发电机发出+15V的交流电,经整流滤波后,再给镍氢电池组充电,充电采用恒流方式。已充电的电池组经7805稳压,给霍尔传感器和单片机系统供电。由MG?MOTORACVin1GND2Vout3U?78051234D?BRIDGE1+C?3300uR?1kR?5k5wQ?8050R?2.2kD?1N4148S?SW-SPSTC?0.1uC?0.01uR?10kBT?7.2vvcc图2.4电源电路原理图于充电电流可达400~500mA,且充电时间较长,所以三极管选用功率高的C8050。5KΩ的电位器用于调节充电电流,避免电流过大烧坏元件。当然,实验设计过程中为了简便,我们可以不用电机。直接用4个1.5V的电池组经7805稳压后得到+5V电压给单片机系统和霍尔传感器供电。2.4.2霍尔传感器霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。本系统采用JK8002D霍尔接近开关,他是一种非接触型无触点开关,系统通过它探测外部的磁场的强弱变化,继而控制开关输出。磁场由外部的磁钢产生。JK8002D霍尔接近开关的内部原理图和输入/输出特性如图(5)和图(6)所示。JK8002D霍尔接近开关的输入量是磁感应强度B,当B值达到一定的程度(如Bl)时,霍尔开关内部的触发器翻转,其输出电平状态也随之翻转。当探头与磁钢距离由远而近为8mm时,霍尔元件输出端输出一个无抖动的低电平(约为0.2V),当两者距离足够远时,霍尔元件输出端输出一个无抖动的7高电平(约为3.7V),所以输出信号可直接到单片机的外中断0的引脚。2.4.34位串行静态显示电路当单片机的UART口部进行串行通信时,可设置其工作于同步移位寄存器方式0,以输出显示信息,实现n位LED的静态显示,这样做只占用了很少的I/O口线。系统中,4各共阳极得LED数码管和4片74LS164构成4位数字显示电路,74LS164将串行输入的显示信息转换成并行输出,驱动数码管显示。74LS164在低电平输出时允许通过的电流为8mA,故不必添加驱动电路即可获取理想亮度。与动态扫描方式相比较,该方式无须CPU做不停的扫描,频繁地为显示服务,节省了CPU的时间,软件世界也比较简单。显示电路如图2.5所示。图2.54位串行静态显示电路原理图A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U?74LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U?74LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U?74LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9U?74LS164R?1
本文标题:自行车里程表的设计(基于2051)[1]
链接地址:https://www.777doc.com/doc-2119347 .html