太原工业学院本 科 课 程 设 计 (论 文)题 目 ____________________________________________________________________指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班自行车里程表 自动化与电子学院 电子信息科学与技术 081 2011 12 27______年___月___日自行车里程表摘要:本文介绍的速度与里程表设计以单片机最小系统和霍尔传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
本系统由霍尔传感器、RC滤波电路、单片机AT89S51、系统化LED显示模块、数据存储电路和键盘控制组成。
其中霍尔传感器包含信号放大和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。
关键词:单片机最小系统,LED数码管,霍尔传感器,RC滤波器,EEPROM存储器目录第一章概述 (4)第二章硬件设计 (4)系统组成结构框图 (5)具体硬件电路及工作原理 (5)AT89C2051单片机简介 (6)芯片概述 (6)其他外围硬件电路 (8)电源电路 (8)霍尔传感器 (8)4位串行静态显示电路 (9)第三章软件设计 (9)主程序设计 (10)外中断0和T1定时溢出中断服务子程序设计 (10)速度/里程显示控制子程序设计 (10)系统完整源程序 (11)参考文献 (11)附录 (12)附录1 整体电路图 (12)附录2 源程序 (13)致谢 (19)总结 (19)第一章概述本设计介绍的速度与里程表设计以单片机和光电传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED 模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。
该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。
本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。
本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。
其中信号预处理电路包含信号放大、波形变换和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。
设计时,应综合考虑测速精度和系统反应时间。
本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。
在计算里程时取了自行车的理想状态。
实际中,误差控制在几米之内,相对于整个里程来说不是很大。
为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。
另外,还应尽量保证其他子模块在编程时的通用性和高效性。
本设计的速度和里程值采用6位显示,并包含两个小数位。
第二章硬件设计系统组成结构框图根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合实际要求的系统,如图所示。
系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。
功能选择后启动测量,大片及实时采集、处理后显示。
图系统组成结构框图具体硬件电路及工作原理具体硬件电路如图所示。
择不同的最大超速速度;S5为里程单位切换开关。
输出低电平时,控制D2亮,表示此时显示的里程值为km/h,输出低电平时,控制灯D3亮,提示速度太慢;输出低电平时,控制灯D4亮,表示此时的显示值时里程(否则为速度);控制超速报警电路,其为高电平表示行驶速度正常,为低电平时,三极管9012导通,驱动蜂鸣器报警。
AT89C2051单片机简介芯片概述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将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
管角配置图所示。
图2051引脚图主要功能介绍(1)兼容MCS51指令系统(2)15个双向I/O口(3)两个16位可编程定时/计数器(4)时钟频率0-24MHz(5)两个外部中断源(6)可直接驱动LED(7)低功耗睡眠功能(8)可编程UARL通道(9)2k可反复擦写(>1000次)Flash ROM(10)6个中断源(11)的宽工作电压范围(12)128x8bit内部RAM(13)两个串行中断(14)两级加密位(15)内置一个模拟比较放大器(16)软件设置睡眠和唤醒功能可见。
2051可以为很多的嵌入式控制应用提供高度灵活而且价格低廉的方经7805稳压后得到+5V电压给单片机系统和霍尔传感器供电。
霍尔传感器霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。
本系统采用JK8002D霍尔接近开关,他是一种非接触型无触点开关,系统通过它探测外部的磁场的强弱变化,继而控制开关输出。
磁场由外部的磁钢产生。
JK8002D霍尔接近开关的内部原理图和输入/输出特性如图(5)和图(6)所示。
JK8002D霍尔接近开关的输入量是磁感应强度B,当B值达到一定的程度(如Bl)时,霍尔开关内部的触发器翻转,其输出电平状态也随之翻转。
当探头与磁钢距离由远而近为8mm时,霍尔元件输出端输出一个无抖动的低电平(约为),当两者距离足够远时,霍尔元件输出端输出一个无抖动的高电平(约为),所以输出信号可直接到单片机的外中断0的引脚。
I/O 在主程序设计主程序流程图见图。
开机后系统自检,正常时LED显示“——”,同时等待自行车行驶。
轮子开始转圈后,系统进行记录和计算,并根据速度/里程开关的选择显示数值。
图主程序流程图外中断0和T1定时溢出中断服务子程序设计外中断0服务子程序用于对输入脉冲的个数即轮子转圈的次数计数。
每计数一次,系统保存圈数值的同时保存定时器的计时值,并根据功能开关键实时显示相应的值。
T1定时溢出中断服务子程序用于实时统计记一次数的经历时间。
T1定时的基准时间设为20ms,假设记一次数中T1中断的次数为C,(20C)ms即当前自行车行驶的速度。
用内部定时加外中断的方法实现了对输入脉冲信号的测量,这是本系统最关键的程序部分。
速度/里程显示控制子程序设计最大允许速度由限速切换开关S4控制,超速(>20千米/小时)使单片机的输出低电平报警。
若行驶速度太慢(<s),灯D3不断闪烁,LED交替显示“Erro”、“Sudu”和当前速度值,以引起骑车者的注意。
速度显示值的单位有km/h和每m/s,由功能键S5切换。
对于里程值,为了较精确地显示,程序设置了不同里程范围时所显示的小数点后数字的位数:里程为10m~99m,显示2位小数;里程为100m~999m,显示1位小数。
系统完整源程序如附录2参考文献:[1] 张毅坤,陈善久.单片微型计算机原理及应用.西安:西安电子科技大学出版社,2002.[2] 张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2000.[3] 伟福Lab2000P系列单片机仿真实验系统说明书.[4] 郑学坚周斌微型计算机原理和应用北京:清华大学出版社[5] 陈为单片机原理附录附录1 整体电路图附录2 源程序自行车里程表/* 各引脚用途及系统功能说明速度和里程切换:1显示速度,0显示里程限速度切换:1 10m/s;0 8m/skm/h和m/s的切换:指示显示器单位为km/h速度太慢灯闪烁警告0时灯亮,指示里程;为以灯不亮,显示速度超速度报警距离最大值为9999m6H圈、38H圈、22C圈、15B6圈0m=<S<10m 10m=<S<100m 100m=<S<1000m 1000m=<S<10000m周长0707H 00B4H 0012H 0012H/0AH1. 2. 3. 4. 5. 6 7. 8.9. -致谢白驹过隙,转眼四年的学习生活就将结束了。
本课程设计是在王乐毅老师的悉心指导下完成的,老师严谨的治学态度,务实的工作作风,孜孜不倦的学习精神令我敬佩至深,受益非浅。