自行车里程表设计论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统由干簧管、设置选择模块、显示模块、蜂鸣器模块、供电模块和 单片机小系统构成。由设置选择模块选择显示模式后,单片机实时采 集、处理后显示。
【具体硬件电路及工作原理】
里程、速度、加速度等都是由干簧管测量。已知自行车轮胎的直 径tl,轮子每转动一圈,安装在车轮辐条上的磁钢接近干簧管一次,干 簧管闭合,送一个下降沿信号给单片机的外部中断0,产生一次中断,
自行车来自百度文库程表 设计论文
【摘要】以AT89S52型单片机为核心,实时测量并显示自行车行驶
过程中的各项参数。
【关键词】单片机 LCD 干簧管 累计里程 速度 【作品要求】
设计一个可以适用自行车的轻便、省电、全天候野外使用的自行车里程 表。 (1) 基计要求 总里程〈999.99km; 可以轮流显示或选择显示(用十进制数): 里程——当前行驶里程; 速度——当前平均速度 km/h; 最大速度——本次行驶中的最大速度; 时间——当前行驶累计时间,时、分、秒; 电源不高于5V,体积小、结构可靠,便于安装及使用。 (2) 发挥部分 可以显示最大加速度;用可编程器件实现;用单片机实现
P21=SW2 时钟设置时更改“分”的十位,直径设置时更改个位 P22=SW3 时钟设置时更改“分”的个位 P23=Enter 确认更改设置 P32=Disp 正常工作时更改显示模式 ************************************************************************* sbit P20=P2^0; sbit P21=P2^1; sbit P22=P2^2; sbit P23=P2^3; sbit P32=P3^2; sbit RS=P3^7; sbit RW=P3^6; sbit E=P3^5; sbit busy=P1^7; /**************************************************************** 变量定义: i 延时变量 qsls 圈数临时变量,用于判断里程显示选用m还是km作为单位 qs 圈数 sj 累计行驶时间,单位为秒 totallc 累计里程 pjsd 平均速度 ssji 定时器T1 20ms中断次数,用于计算速度等 sji 本次速度对应的20ms中断次数 sjiold 上次速度对应的20ms中断次数 aa 加速度 sd2 当前速度 mxsd 用于更新最大速度 mxsd2 最大速度对应的20ms次数 tc 轮胎周长 *s line row com dat gw 字符串显示子程序字符指针 字符串显示子程序列数 字符串显示子程序行数 写控制字 显示码字 累计里程、当前速度、累计时间、最大速度、平均速度、加速
及转换电路的执行工件。 在本里程表中,干簧管安装在自行车贴近辐条的支架上,磁钢安 装在辐条上。当磁钢远离干簧管时,干簧管断开,单片机外部中断 0(P3.2)保持高电平。当磁钢靠近干簧管时,干簧管闭合,送一个下 降沿信号给单片机的外部中断0,产生一次中断。
【系统调试过程简述】
自行车里程表的原理比较简单,我编好一个比较简单但是核心的 程序(只计算里程和速度)在Keil C上仿真,经过短暂的调试就成功 了,这证明我关于里程表的最核心的想法是正确的,这给了我后面的制 作和调试很大的信心。 紧接着是在单片机上搭建硬件,重点是按键防抖动。我的模式选 择按钮是接到单片机的外部中断的,一开始我按照普通按钮的防抖动的 方法测试,没有成功。于是在中断服务程序的开始关闭中断,末尾再开 中断,还是不行。后来在中断服务程序的末尾加了这样一句:
度的个位 sw 累计里程、当前速度、累计时间、最大速度、平均速度、加速 度的十位 bw 累计里程、当前速度、累计时间、最大速度、平均速度、加速 度的百位 qw 累计里程、当前速度、累计时间、最大速度、平均速度、加速 度的千位 ww 累计里程、累计时间的万位 sww 累计里程、累计时间的十万位 ssj 定时器T0 50ms中断次数,每20次sj加1 cgw 当前时间(时钟)的个位 csw 当前时间(时钟)的十位 cbw 当前时间(时钟)的百位 cqw 当前时间(时钟)的千位 cww 当前时间(时钟)的万位 csww 当前时间(时钟)的十万位 cww2 当前时间(时钟)的辅助万位 MODE 显示模式 tr1 轮胎设置变量1(十位) tr2 轮胎设置变量2(个位)
IE1=0;
其作用就是清除中断标志。因为即使单片机的外部中断是关闭 的,但只要在中断服务程序执行期间按键抖动,中断标志又会置1,若 没有清除中断标志,退出中断服务程序后又会执行一次服务程序,这样 按一次按键就会执行两次中断服务程序。 我的里程表的最初版本是利用串行LED数码管显示作为显示模块的 (简介请参阅附录二)。但制成后发现体积太大,而且功耗比较高,不 适合用于要求小巧、坚固、耐用的自行车里程表上。 后来改用1602LCD,里程表体积大幅度减小,经测试,背光开启 时电流为45mA左右,背光关闭时为25mA左右,2500mah AA×4的电池 组供电最多可达100小时,可以满足使用要求。
自行车上时也可作为时钟使用,实用性高。
【操作说明】
里程表板面如上图所示,包括电源2pin排针、干簧管3pin排针、液 晶显示器、液晶背光开关、电源开关、电源LED指示灯、功能按钮 SW1-SW5、Reset按钮。
set后,显示欢迎画面: DigitalBikeMeter Welcome…. Set Time 00:00:00
S::当前行驶累计里程(单位自动调整) S<1000m,格式xxx.x m, S>1000m,格式xxx.xx km) Time:当前行驶累计时间 V: 当前速度(km/h) Vm: 最大速度(km/h) Va: 平均速度(km/h) a: 加速度(m/s2)
Time Now 当前时间
【结构框图】
LCD显示 蜂鸣器 4*AA电池组 开关功能选择 干簧管 89S52单片机
调整时钟后,按SW4确认。 行车轮胎半径设置画面: Set Bike Tire L= 55cm 默认设置为55cm,对应22英寸自行车轮胎半径。 附:轮胎直径大小英寸与厘米对照表 英寸 16” 厘米 40cm 18” 45cm 20” 50cm 22” 55cm 24” 61cm 26” 66cm 28” 71cm 28.5” 72cm
2) 开关型霍尔传感器。霍尔传感器是利用霍尔效应把磁输入信号 转换成电信号的器件。把开关型霍尔传感器安装在自行车贴近车 轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时 候,传感器输出一个无抖动的低电平,单片机根据此信号可计算 里程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成 本较高。 3) 干簧管。干簧管是一种磁敏的有触点无源电子开关元件,应用 在里程表上的原理与开关型霍尔传感器类似,把干簧管安装在自 行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传 感器的时候,干簧管闭合,单片机根据此信号可计算里程、速度 等。干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和不 够稳定。 本里程表选用干簧管作为传感器。给干簧管套上废弃笔杆,可 克服其脆弱的缺点;软件防抖可克服其不够稳定的缺点。 3. 显示模块的选择 1) 动态扫描LED数码管显示。里程表的显示内容以数字为主,利 用LED数码管可基本满足使用要求,且成本较低。但是用动态扫 描的方式驱动数码管,亮度太低,在阳光下几乎看不见显示内 容,失去使用价值。 2) 串行静态LED数码管显示。把单片机的串行口设置为方式0(同 步移位寄存器),输出显示信息,可实现LED数码管的静态显 示,其亮度令人满意。但由于要使用74HC164/74LS164串并转换 芯片驱动LED数码管,因此会带来体积大、成本高、功耗高等的 缺点。 3) LCD液晶显示模块。液晶显示模块具有体积小、功耗低、显示 内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设 计中最常用的信息显示器件了。 本里程表使用1602 LCD作为显示模块。
圈数qs加1。两个相邻的下降沿信号的时间由单片机定时器1计时(设为 ssj),那么计算累计里程S和当前速度V的公式为: S=tl*3.14*qs V=tl*3.14/ssj 若速度大于28.8km/h(8m/s)则P2.4输出低电平,蜂鸣器报警,提 示速度过大。处理速度数据时同时刷新最大速度及计算Vm、平均速度 Va、加速度a。 单片机定时器0定时时间为50ms,每20次刷新系统时钟及计算累计 行驶时间。
附录 程序流程图及程序代码
开始 显示欢迎信息 检测按钮 处理时钟设置 刷新累计行驶时间及时钟 初始化 设置特殊寄存器、置定时常数、开中断、清屏等 等待中断 检测按钮 处理直径设置 刷新里程、速度等 改变屏幕显示内容 INT0 INT1 T0
程序代码
#include<reg52.h> #define uchar unsigned char /**************************************************************** 引脚定义: P20=SW1 时钟设置时更改“时”,直径设置时更改十位
按SW1、SW2调整轮胎直径后,按SW4确认,里程表开始工作。 各项参数分成四屏选择显示,按动SW5(Disp)按以下次序进行切 换:
S Time V Vm Va a
000.0m 00:00:00 00.00km/h 000.00km/h 00.00km/h 0.00m/s2 Time Now 00:00:00
【功能描述】
以AT89S52型单片机为核心,实时测量并显示自行车行驶过程中的 各项参数,包括当前行驶累计时间、当前行驶累计里程(m/km自动调 整)、当前速度(km/h)、最大速度(km/h)、平均速度(km/h)、加 速度(m/s2)、当前时间等,各参数分屏显示。可更改自行车轮胎直 径,适应不同的自行车,通用性好。本里程表具有时钟功能,不安装在
【方案设计与讨论】
1. 速度测量原理 测量自行车的速度的原理有两种: 1) 测量一定时间间隔t1里自行车车轮转过的圈数qs。假设车轮周 长为tc,则速度V=tc*qs/t1 2) 测量自行车车轮转过一圈的时间t2,则速度V=tc/t2 本里程表是根据原理2计算速度的。 2. 传感器的选择 1) 红外对管。把红外对管分别安装在自行车车轮的两侧,当车轮 转动时,辐条会阻挡红外对管的光路,接收管输出低电平,单片 机根据此信号可计算里程、速度等。红外对管的优点是测量精度 高,缺点是安装比较复杂和容易受外来光线、灰尘等的影响。
【相关元器件及其简介】
(1)AT89S52单片机简介 AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系 统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制 造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器 在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位 CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统 提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一 个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空 闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继 续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机 一切工作停止,直到下一个中断或硬件复位为止。 (2)1602LCD液晶显示模块 液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在 字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件 了。 本里程表使用常见的1602字符型LCD模块。1602可以显示2行16个 字符,有8位数据总线D0-D7,和RS、R/W、E三个控制端口,工作电压 为5V,并且带有字符对比度调节和背光。 (3)干簧管 干式舌簧管简称干簧管,是利用磁场信号来控制的一种线路开关 元件。干式舌簧管以其结构固有的特点,目前已被广泛应用到各种自动 化和微型化的自动控制零件及通讯检测设备中,作为灵敏而快速的开闭
相关文档
最新文档