单片机自行车测速含实时时间,温度显示,断电保存等.docVIP

  • 4
  • 0
  • 约1.21万字
  • 约 21页
  • 2015-08-09 发布于湖北
  • 举报

单片机自行车测速含实时时间,温度显示,断电保存等.doc

单片机自行车测速含实时时间,温度显示,断电保存等.doc

单片机课程设计报告 自行车测速仪 学 院 信息工程学院 专 业 信息工程 (电子信息工程方向) 年级班别 2010级(4)班 学 号 3110002980 学生姓名 XXX 指导教师 XXX 申请成绩 XXX 2012年 12 月 1、设计要求: 自行车测速仪(传感器必须自己做)(每班最多8人选此题,难度系数:中;此题除非所有硬件自己做,并用于实际自行车上,否则不能得优或良) 基本功能:能实时显示自行车的行驶速度 附加功能:实时时钟,行驶里程累计 2.设计思路: 首先是选择基于51单片机来设计这个产品,这个产品主要的功能是用来测量自行车的车速,既然要测车速,那就要用到传感器,所以选择了红外光电传感器,它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。 流程图详细步骤解释: 1.程序开始运行,初始化。 2.判断key6=0,即键6是否被按下,按下则对路程清零,否则显示累计的路程值。 3. 利用单片机上的温度传感器ds18b20,不断得到实时温度值。 4.把TMOD即把T1作为计数器,把T0作为定时器,利用定时功能实现实时时间的显示,即实现每秒加一,利用T1的计数功能,记录由传感器输出的脉冲数,然后可以换算成速度,还可以算出走过的路程。 5.判断key1是否为0,即key1是否被按下,若按下,则令ET0=0(停止定时中断),便于设置时间。 6.判断key2是否被按下,若按下则令小时h加一。 7.判断key3是否被按下,若按下则令分钟m加一。 8.判断key4是否被按下,若按下则令秒s加一。 9.判断key5是否被按下,若按下则令ET0=1,TR0=1允许并启动定时中断。 6.操作步骤及方法: 1.电源开关,把线接好后先下载程序,再按电源开关,实现冷启动。 2.1602液晶显示模块。分别显示速度,路程,时间,温度。 3.这些是独立按键,通过这些按键可以实现设置实时时间。(第一行对应为key1,key2,key3,key4,第二行第三个对应key5,第四个为key6),key1按下,则令ET0=0(停止定时中断),便于设置时间。Key2按下则令小时h加一,key3按下则令分钟m加一,key4按下则令秒s加一,key5按下则令ET0=1,TR0=1允许并启动定时中断.。 4.红外光电传感器模块,有三个引脚,分别是接地,接电源,输出信号端接P3^5,分别用杜邦线连接。 5.温度传感器ds18b20,对传感器的输出数据进行处理,然后在lcd上显示温度值 7.设计过程遇到的问题,原因及解决方法: 日期时间 问题和难点描述 问题原因及解决方法 2012/12/17 9:00 选择用51单片机,但是没51单片机 去问同学借了一块 2012/12/18 10:00 对51单片机还不熟悉 通过去图书馆找书,还有看原理图,结合实例,熟悉51的每个模块 2012/12/19 8:30 按键检测时,按键抖动 查看资料,用延时来实现按键消抖 2012/12/20 10:00 对传感器不太熟悉 上网查看大量资料,并挑选出适合的红外光电传感器 2012/12/22 14:00 对51自带的温度传感器不熟悉 上网查看资料,实现温度结果的获取,并在lcd上显示 2012/12/24 9:00 各个模块结合在一起时,但单片机却不能下载程序 把芯片取下来,换到其他的同一芯片型号的单片机下载 下面附上代码:代码分为五个模块:1.主函数模块,2.时间和路程处理模块,3.1602lcd显示模块,4温度处理模块,5断电保存模块。 51单片机都适用,只需修改一下对应的引脚即可。 1.主函数模块: #includereg52.h #includeTime_Journey.h #includeLcd.h #includeTemp.h #includedelay.h #includestc_eeprom.h extern unsigned long int t1; void main() { uchar a,i; uchar re[4]={0}; Initlcd();

文档评论(0)

1亿VIP精品文档

相关文档