基于单片机的自行车码表设计3知识分享.doc

上传人:1595****071 文档编号:86461516 上传时间:2023-04-14 格式:DOC 页数:23 大小:366.50KB
返回 下载 相关 举报
基于单片机的自行车码表设计3知识分享.doc_第1页
第1页 / 共23页
基于单片机的自行车码表设计3知识分享.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《基于单片机的自行车码表设计3知识分享.doc》由会员分享,可在线阅读,更多相关《基于单片机的自行车码表设计3知识分享.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。基于单片机的自行车码表设计3-国家职业资格全国统一鉴定维修电工技师论文(国家职业资格二级)论文题目:基于单片机的自行车码表设计姓名:陈常东身份证号:372802197209140316准考证号:所在省市:山东省日照市所在单位:日照市工业学校基于单片机的自行车码表设计陈常东日照市工业学校摘要:随着人们生活水平的提高,健身又环保的户外运动成为一种时尚,自行车骑行就是其中老少咸宜的运动。在骑行中,骑行者都希望知道当前的时间、天气,和自己的骑行速度、里程、骑行时间等信息,本设计采用干簧管检测、单片机进行数据处理

2、、系统扩展DS1302时钟芯片提供时间数据、DS18B20芯片提供温度数据,采用1602液晶屏作为显示器,可以综合显示上述信息,并设有按键进行设置,以适应不同的车辆,同时留出来部分I/O接口可升级系统或后续开发。关键字:单片机干簧管液晶程序当前,人们的生活水平普遍提高,休闲时间越来越充裕,城市建设也越来越注意环境的保护,这就为休息日人们出行消遣提供了条件。在路途不是很远,交通比较顺畅,而又风和日丽的日子里,相当一部分人会选择既能健身又倡导环保主题的自行车骑行作为娱乐方式。在骑行中,骑行者都希望知道当前的时间、温度、自己的骑行速度、骑行时间、骑行里程以及能量消耗等信息,当然市场上有各种码表出售,

3、功能有简单也有很复杂的,使用上也很方便。但如果能自己制作一块码表,无疑更能增加骑行的乐趣。本文介绍了一款采用STC单片机、扩展DS1302时钟芯片、DS18B20温度检测和转换芯片,采用干簧管做速度检测,16*2字符型液晶显示屏LCD1602显示的码表。一、系统总体设计方案1、设计要求总里程9999,单位km,占4个显示位,可以轮流显示或选择显示(用十进制数):本次骑行里程9999,单位km,占4个显示位,可以轮流显示或选择显示(用十进制数);测量间隔60分钟以上视为新的骑行里程;当前骑行速度99,单位km/h,2个显示位,选择显示或一直显示;最大速度99,单位km/h,2个显示位,选择显示或

4、一直显示;骑行时间当前行驶累计时间,XX时XX分XX秒方式;时间温度当前的时间和环境温度,时间XXhXXm只显示时分,24小时制,温度为XX;电源使用一节手机锂电池,体积小、结构可靠,便于安装及使用。2、方案分析1)速度测量原理假设车轮周长为c,测量自行车车轮转过一圈的时间t,则速度V=c/t。也可以测量转过多圈(如5圈)所用的时间取平均值。2)传感器的选择速度传感器有三种选择:一是红外对管,其优点是测量精度高,缺点是安装比较复杂和容易受外来光线、灰尘等的影响;二是开关型霍尔传感器,霍尔传感器的优点是稳定和安装简易,缺点是成本较高;三是干簧管,干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和

5、不够稳定。本里程表选用干簧管作为传感器。给干簧管套上热缩管,可克服其脆弱的缺点;软件设计采用防抖可克服其不够稳定的缺点。3)显示模块的选择里程表的显示内容以数字为主,但同时显示时间、温度、总里程、速度和骑行时间,显示信息量较大。利用LED数码管可基本满足使用要求,且成本较低。但数码管的动态扫描的方式驱动数码管,亮度太低,在阳光下几乎看不见显示内容,失去使用价值,数码管的静态显示,又需要庞大的单片机I/O口开销,或者需要扩展芯片,增加的系统的复杂程度。且采用数码管显示的功耗高不适合以电池作为电源的设备。本设计采用LCD液晶显示模块。1602液晶显示器在单片机设计中使用率较高,其具有体积小、功耗低

6、、显示内容丰富等特点,可以同时显示2行各10个字符,基本可以满足码表的显示需要。3、功能和操作描述以AT89S52型单片机为核心,实时测量并显示自行车行驶过程中的各项参数,包括当前时间、环境温度,当前骑行累计时间、当前骑行累计里程、总骑行里程、当前速度、最大速度、平均速度等,各参数同时或分屏显示。可设置选择自行车轮胎直径,适应不同的自行车,通用性好。同时设计了时钟和温度计功能,不安装在自行车上时也可作为时钟使用,升级设计可以增加闹钟或其他定时提醒功能,系统实用性高。1)操作说明码表板面如上图所示,包括电源2pin排针、干簧管3pin排针、液晶显示器、液晶背光开关、电源开关、电源LED指示灯、功

7、能按钮SW1-SW5、Reset按钮。接通电源或按Reset后,显示欢迎界面:2秒后进入设置界面,或者长按sw1进入设置界面:从时间设置的小时设置开始,小时数字闪烁(可短按sw1切换下一设置):按SW2-SW3分别加减当前设置项后,短按SW1确认并进入下一项。接着进入自行车轮胎半径设置画面:默认设置为61cm,对应24英寸自行车轮胎半径。附:轮胎直径大小英寸与厘米对照表英寸1618202224262828.5厘米4045505561667172按SW2、SW3从小到大从上表中选择调整轮胎直径后,短按SW1确认并进入下一项即重新开始时间设置,长按sw1退出设置,里程表开始工作。在正常工作中显示主

8、屏幕界面如下:按sw1-sw3任意按键循环显示界面如下:在显示上述界面时按下sw4退出当前显示回到主界面。sw5按键备用以便系统初始化或升级。二、芯片选择1、STC89C52RC芯片STC89C52RC是一款低功耗、高性能8位微控制器,具有8K在系统可编程Flash存储器,512字节的数据存储器,4K字节的EEPROM,掉电不丢失数据;有32条输入输出接口,一组全双工串行口;内部集成看门狗电路、三个16位内部定时器/计数器、一个6向量2级中断结构,可以提供4个外部中断源;指令系统与INTEL的MCS51系列完全兼容,引脚排列(如右图)也完全一致。另外STC89C52RC的工作电压在3.3-5V

9、之间,可以用单节手机锂电池供电,同时支持低功耗模式,这一特点在移动设备中可以延长电源的使用时间。该芯片的驱动能力也较强,其I/O口的灌电流可达8mA,足以驱动数码管、液晶屏、蜂鸣器、小功率继电器等设备而不需要额外的驱动模块,极大的简化的电路,提高了制作成功率和设备的可靠性。综上所述,采用STC89C52RC的主要原因是:1)、程序空间足够大,系统功能可以更丰富2)、有内部EEPROM,掉电不丢失数据,可以存储更多的骑行信息3)、驱动能力强,不需要增加驱动电路4)、有ISP功能,可以实现在系统编程,调试升级方便5)、价格便宜,单价在5元左右,而且市场极易买到。2、DS1302芯片DS1302是美

10、国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节包含读写、地址、数据等信息,在下一个周期就可以发送或接受相应数据。选用DS1302的原因是:1)、价格便宜,国产芯片的价格甚至不到1元2)、电路简单,与单片机可以直接接口3)、编程简单,可以读取年月日时分秒等足够的信息,单片机程序开销小4)、可加后备电池,便于保持时间。3、DS

11、18B20芯片DS18B20是DALLAS公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、接口简单等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。选择DS18B20是因为:1)、只需一条总线,接口简单2)、直接接收温度的数据信息,数据处理简单。4、1602LCD液晶显示模块字符型液晶显示模块具有体积小、功耗低、显示内容丰富等特点,是单片机应用设计中最常用的信息显示器件。本码表使用常见的1602字符型LCD模块,可以显示2行各16个字符,通过8条数据线和3个控制端来操作,

12、同时有对比度调节和背光控制,也可以用开关独立控制背光。本设计选用1602液晶屏幕而不是数码管的原因如下:1)、程序设计简单,只需发送数据即可保持显示,不需反复扫描2)、可同时显示的信息量大3)、LCD耗电少,适合以电池做为负载的设备。本设计使用1602也有几点不足,1是成本比数码管高,2是一般1602的工作电压为5V,使用一块手机锂电池在低于4V时显示效果不好,需要升级加升压电路。5、干簧管干簧管是利用磁场信号来控制的一种线路开关元件。干式舌簧管以其结构固有的特点,目前已被广泛应用到各种自动化和微型化的自动控制零件及通讯检测设备中,作为开关量检测元件。在码表中,干簧管安装在自行车前叉贴近辐条的

13、支架上,磁钢安装在辐条上。当磁钢远离干簧管时,干簧管断开,单片机外部中断0(P3.2)保持高电平。当磁钢靠近干簧管时,干簧管闭合,送一个下降沿信号给单片机的外部中断0,产生一次中断,程序计数车轮转过一圈。三、硬件电路电路图见附录1电路简介如下:1、速度检测部分采用三线干簧管,分别接电源正负极和输出的转速信号。在磁铁远离干簧管时开关断开,干簧管输出高电平信号;当车轮转动,磁铁转过干簧管时开关闭合,输出低电平信号。检测到的车轮转数数据直接送入单片机外部中断0(P3.2),由软件进行计数和计算。2、单片机和显示部分由单片机最小系统、标准LCD1602显示模块组成,单片机通过P0口送出8位地址信息和显

14、示数据,通过P2的部分端口选通和控制1602的显示。显示模块设置对比度调整电位器、背光灯开关可单独调整和控制,后续升级可全部通过单片机进行控制。本设计中1602部分和单片机公用电源,但STC单片机可以工作于3.5V电源,但LCD的工作电压为5V,低于4V时显示对比度就很低了,所以后续升级应考虑增加升压电路,以便于使用手机锂电池供电。3、时间温度部分这一部分是DS1302和DS18B20的标准接法,各种资料很多,此处从略。四、程序参考1、程序功能框图2、程序流程图见附录23、部分参考程序见附录3附录1:码表电路图附录2:程序流程图附录3:部分参考程序/*=主程序=*/voidmain()/com

15、=0;/将按键接地,模拟外部中断/wr=0;addr=0x0000;/设置读取第一扇区首地址time=0;TMOD=0x01;TH0=(65535-50000)/256;/*1s定时用定时器0*/TL0=(65535-50000)%256;EA=1;/*开总中断*/ET0=1;/*开定时器0中断*/TR0=1;/*起订定时器0*/IT0=1;/*设置外部中断1为下降沿触发*/EX0=1;/*开外部中断1*/Xdata=12000000;for(j=4;j0;j-)/*每次上电读取上次断电前保存的数据,由0x2000开始一次读8位数据*/num=byte_read(addr);Xdata=Xdata+num;Xdata=Xdata8;addr=addr+0x0008;while(1)display();参考文献:(1)张永格、何乃味单片机C语言应用技术与实践北京交通大学出版社2009年6月第1版第186-247页(2)李法春C51单片机应用设计与技能训练电子工业出版社2011年6月第1次印刷第226页、266页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁