单片机速度里程表课程设计报告_第1页
单片机速度里程表课程设计报告_第2页
单片机速度里程表课程设计报告_第3页
单片机速度里程表课程设计报告_第4页
单片机速度里程表课程设计报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计题目:电动自行车速度里程表 电动自行车速度里程表1、 设计内容及要求1 检测并显示电动自行车实时速度2 检测、显示并累计电动自行车行驶里程3 技术参数i. 电动自行车最高速度: 35km/hii. 电动自行车轮胎直径: 14英寸iii. 电动自行车电池电压: 24viv. 检测精度: ±1%v. 显示: 8位led 4 设计要求(1) 电路图(2) 设计说明书(不少于2500字)(3) 程序清单(4) 运行结果2、 方案设计与讨论1 速度测量原理测量一定时间间隔t内自行车转过的圈数q。假设车轮的周长为l,则速度v=q*l/t2 开关型霍尔传感器霍尔传感器是利用霍尔效应把

2、磁输入信号转换成电信号的器件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成本较高。本设计采用开关型霍尔传感器,但由于实验室设计所限,实际测速时并未采用,而是直接从信号发生器中产生低频脉冲代替霍尔传感器向单片机输入脉冲信号,从而显示相应的速度。3 led八段数码管显示8位led显示。其中低3位显示速度,要求保留1位小数。高5位显示里程,同样要求保留1位小数。速度即时显示,最大显示位35.0,里程每走100米计数一次,最高显示9999.9。3

3、、 系统概述及工作原理1 本系统由信号预处理电路、单片机、系统化显示模块、串口数据存储电路和系统软件组成。其中信号处理电路包含信号放大、波形变换和波形整形、对待测信号进行放大的目的是降低对待侧信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的信号;通过单片机的设置可使内部定时器对脉冲输入引脚进行控制,这样能精确地算出加到引脚的单位时间内检测到的脉冲数;设计中速度显示采用模块,通过速度换算得来的里程数采用总线并通过来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。流程图系统软件包括单片机和显示模块的初始化模块、速度里程技术模块、速度显示数据转

4、码模块、演示模块、数据显示模块以及及时终端服务模块等。2 该设计能实时地将所测的速度显示出来,该速度里程表能将传感器输入到单片机的脉冲信号的频率实时地测量出来,并由串口晶体管显示模块实时显示。单片机利用系统时钟的计时中断功能,并利用定时器的计数脉冲,然后通过计算在晶体管上即时显示。为了方便计算要显示数据段码,可再将其转换成压缩码,然后通过查表将要显示的数据值中每一位的压缩码转换成段码送到显示缓冲区,最后经串口送至晶体管显示模块显示所测的速度或里程。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。为了保证系统的实时性,系统的速度转换模块和显示数据

5、转码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程分别采用位和位数码显示。4、 系统硬件设计1 单片机实验板c8051f410原理框图c8051f410单片机实验板 原理图2 霍尔传感器速度检测电路霍尔检测电路3 5v降压电路由于自行车提供的电压是24v直流电压,单片机供电电压为5v。故需要给电路提供5v的降压电路。本设计采用lm2576s-adj集成块降压电路:lm2576降压集成块5、 系统的软件设计系统软件框图如图所示,本系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转码模块、速度显示模块、里程显示模

6、块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。系统软件框图6、 心得体会本设计以8051f410单片机为核心,通过霍尔传感器来检测自行车的运转情况进而实现电动自行车的速度,里程的计算及里程的累计,存储,最后用8位的led能直观的将速度与里程显示给用户,并且在速度高于一定的值时led可自动关掉,从而达到智能速度里程表。在此课程设计之前,我们都怀着一种好奇而又焦急的心情,急切的想知道做单片机课程设计是多么有意义且有用的。所以我们每个人都积极主动地投入的设计之中,在两个周的时间内我们要完成的工作看起来很少,但是老师说不容乐观。在组长的带领下我们认真的走好每一步。其间的欢欣与苦楚这里

7、我就不在此叙述了,我们真的都学到了很多东西,知道了知识的重要性,为什么高科技才具有价值,因为付出的很多很多。我在此首先要感谢张亚华老师,是他在我们一筹莫展的时候给了我们提醒,致使我们顺利地完成了本课程设计。同时感谢设计过程中组员们的相互配合及鼓励,使我们坚决的走下去.7、 参考文献l 单片机原理及应用 夏路易 主编 电子工业出版社l c8051f410/1/2/3 混合信号isp flash微控制器数 据 手 册 潘 琢 金 译 rev 0.7 2006.02 版l 网站:8、 附录1 组员工作安排姚利涛:设计方案的论证;程序的调试;c语言编程及410单片机的初始化王鹏飞:设计方案的论证;程序

8、的调试;c语言编程;课程设计报告的纂写王素贞:设计方案的论证;程序的调试;课程设计报告的纂写许鹏飞:设计方案的论证;程序的调试;相关的材料收集2 速度里程表显示程序 #include "c8051f410.h"void init_device(void); /完成void delayms(unsigned char i);/搞定void delayus(void);/搞定void toch452(unsigned int cmda);/搞定void display(void);/显示函数 void flash_pageerase (unsigned int addr);/f

9、lash字节擦除函数void flash_bytewrite (unsigned int addr,char byte);/flash 字节写函数unsigned char flash_byteread (unsigned int addr);/flash 字节读函数unsigned char i,dispbuff8=0,0,0,0,0,0,0,0; /显示缓冲 全零sbit ch452_scl = p13;sbit ch452_sda = p14; sbit ch452_key = p15;unsigned int cmd,dat,dat1;bit flag,mark;unsigned in

10、t n,ss;/定时器0溢出中断次数unsigned long v,mile,count;unsigned char code hex21=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6, /01234567890xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7,0x00; /0.1.2.3.4.5.6.7.8.9. main() float sp;init_device(); /初始化delayms(100);p1=p1&0x7f;cmd = 0x9103;/设置ch452系统参数to

11、ch452(cmd);cmd = 0x9500; /设置ch452显示参数 toch452(cmd);display();for (i=0;i<8;i+)dispbuffi=20;display();while(1) if (flag=1)flag=0; if(n>38) sp=340.28/n;v=sp*4032;dispbuff2=v/10000;dispbuff1=v%10000/1000+10;dispbuff0=v%1000/100;display(); else for (i=0;i<3;i+) dispbuffi=20; display(); if(mark=1

12、) mark=0; flash_pageerase (0x1b00);/flash字节擦除函数 flash_bytewrite (0x1b00,count);/flash 字节写函数 mile=flash_byteread (0x1b00);/flash 字节读函数 dispbuff7=mile/10000;dispbuff6=mile%10000/1000;dispbuff5=mile%1000/100; dispbuff4=mile%100/10+10; dispbuff3=mile%10;display();/* 命令、数据送ch452 */void toch452(unsigned i

13、nt cmda) unsigned char j;ch452_sda = 0;delayus();ch452_scl = 0;delayus();ch452_scl = 1;delayus();ch452_scl = 0;for (j=0;j<16;j+)if(cmda>=0x8000 ) ch452_sda = 1;elsech452_sda = 0;ch452_scl = 1;delayus();ch452_scl = 0;cmda = cmda << 1 ;ch452_sda = 1;delayus();ch452_scl = 1;/* ms延时 */void d

14、elayms(unsigned char i)unsigned intj;dofor(j=0;j!=1000;j+);while(-i);/* us延时 */void delayus(void) unsigned k; for (k=0;k<10;k+); / initialization function for device,/ call init_device() from your main programvoid init_device(void)pca0md &= 0x40;/禁止看门狗pca0md = 0x00; oscicn = 0x84;/系统时钟内部振荡器8分

15、频(24.5m)tmod = 0x02;/工作方式2 tl0 = 0x06;/定时器初始化 th0 = 0x06;tr0 = 1;/置1允许定时器工作 it0 = 1;/外部中断0边沿触发ckcon =0x00;/定时器时钟选择系统时钟12分频 p0skip = 0x02;p1mdin = 0xfe; p1skip = 0x01;/对应的p1.n被交叉开关跳过 xbr1 = 0x40;/使能交叉开关 ie = 0x83;/允许定时器int0中断void int0() interrupt 0 /外部中断0处理函数 static unsigned m; m+; if(m=270) m=0; cou

16、nt+; mark=1; if(count>99999) count=0; n=ss;/ss送给全局变量n flag=1; ss=0;void timer0() interrupt 1 /定时中断(t0)服务 if(ss<65535) ss+; void display(void)/显示程序unsigned char i;dat1 = 0xa100;for (i=0;i<8;i+)dat = dat1 + hexdispbuff i;toch452(dat);dat1 = dat1 + 0x0400;void flash_pageerase (unsigned int add

17、r)/flash字节擦除函数 bit ea_save=ea;/保存ea char xdata*data pwrite;/flash写指针ea=0;/禁止中断vdm0cn=0x80;/使能vdd控制rstsrc=0x02;/vdd监控器作为复位源pwrite=(char xdata*)addr;/指向地址flkey=0xa5;/输入关键字flkey=0xf1;/输入关键字psctl|=0x03;/使能擦除与写入pswe=1;psee=1vdm0cn=0x80;/使能vdd监控器rstsrc=0x02;/vdd监控器作为复位源*pwrite=0;/页擦除psctl&=0x03;/禁止擦除e

18、a=ea_save;/恢复中断void flash_bytewrite (unsigned int addr,char byte)/flash 字节写函数bit ea_save=ea;/保存eachar xdata*data pwrite;/flash写指针ea=0;/禁止中断vdm0cn=0x80;/使能vdd监控器rstsrc=0x02;/使能vdd监控器作为复位源pwrite=(char xdata*)addr;flkey=0xa5;/写关键字flkey=0xf1;/写关键字psctl|=0x01;/使能写pswe=1vdm0cn=0x80;/使能vdd监控器rstsrc=0x02;/使能vdd作为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论