速度里程表课程设计报告.doc

上传人:scccc 文档编号:12669788 上传时间:2021-12-05 格式:DOC 页数:11 大小:388.50KB
返回 下载 相关 举报
速度里程表课程设计报告.doc_第1页
第1页 / 共11页
速度里程表课程设计报告.doc_第2页
第2页 / 共11页
速度里程表课程设计报告.doc_第3页
第3页 / 共11页
速度里程表课程设计报告.doc_第4页
第4页 / 共11页
速度里程表课程设计报告.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《速度里程表课程设计报告.doc》由会员分享,可在线阅读,更多相关《速度里程表课程设计报告.doc(11页珍藏版)》请在三一文库上搜索。

1、河南机电高等专科学校单片机课程设计题目:电动自行车速度里程表 课程名称:单片机原理及应用系 部:电子系 班 级:电信082 小组组长:姚利涛 小组成员:姚利涛 01 王鹏飞 21 许鹏飞 王素贞 28 指导教师:张亚华 设计时间:2010.12.10-12.24 电动自行车速度里程表1、 设计内容及要求1 检测并显示电动自行车实时速度2 检测、显示并累计电动自行车行驶里程3 技术参数i. 电动自行车最高速度: 35km/hii. 电动自行车轮胎直径: 14英寸iii. 电动自行车电池电压: 24Viv. 检测精度: ±1%v. 显示: 8位LED 4 设计要求(1) 电路图(2) 设

2、计说明书(不少于2500字)(3) 程序清单(4) 运行结果2、 方案设计与讨论1 速度测量原理测量一定时间间隔T内自行车转过的圈数Q。假设车轮的周长为L,则速度V=Q*L/T2 开关型霍尔传感器霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成本较高。本设计采用开关型霍尔传感器,但由于实验室设计所限,实际测速时并未采用,而是直接从信号发生器中产生低频脉冲代替霍尔传感器向单片机输入脉冲信号

3、,从而显示相应的速度。3 LED八段数码管显示8位LED显示。其中低3位显示速度,要求保留1位小数。高5位显示里程,同样要求保留1位小数。速度即时显示,最大显示位35.0,里程每走100米计数一次,最高显示9999.9。3、 系统概述及工作原理1 本系统由信号预处理电路、单片机、系统化显示模块、串口数据存储电路和系统软件组成。其中信号处理电路包含信号放大、波形变换和波形整形、对待测信号进行放大的目的是降低对待侧信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的信号;通过单片机的设置可使内部定时器对脉冲输入引脚进行控制,这样能精确地算出加到引脚的单位时间内检测到的脉冲

4、数;设计中速度显示采用模块,通过速度换算得来的里程数采用总线并通过来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。流程图系统软件包括单片机和显示模块的初始化模块、速度里程技术模块、速度显示数据转码模块、演示模块、数据显示模块以及及时终端服务模块等。2 该设计能实时地将所测的速度显示出来,该速度里程表能将传感器输入到单片机的脉冲信号的频率实时地测量出来,并由串口晶体管显示模块实时显示。单片机利用系统时钟的计时中断功能,并利用定时器的计数脉冲,然后通过计算在晶体管上即时显示。为了方便计算要显示数据段码,可再将其转换成压缩码,然后通过查表将要显示的数据值中每一位的压缩码转

5、换成段码送到显示缓冲区,最后经串口送至晶体管显示模块显示所测的速度或里程。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。为了保证系统的实时性,系统的速度转换模块和显示数据转码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程分别采用位和位数码显示。4、 系统硬件设计1 单片机实验板C8051F410原理框图C8051F410单片机实验板 原理图2 霍尔传感器速度检测电路霍尔检测电路3 5v降压电路由于自行车提供的电压是24V直流电压,单片机供电电压为5v。故需要给电路提供5v的降压电路。本设计采用LM

6、2576S-ADJ集成块降压电路:LM2576降压集成块5、 系统的软件设计系统软件框图如图所示,本系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、数据转码模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。系统软件框图6、 心得体会本设计以8051F410单片机为核心,通过霍尔传感器来检测自行车的运转情况进而实现电动自行车的速度,里程的计算及里程的累计,存储,最后用8位的LED能直观的将速度与里程显示给用户,并且在速度高于一定的值时LED可自动关掉,从而达到智能速度里程表。在此课程设计之前,我们都怀着一种好奇而又焦

7、急的心情,急切的想知道做单片机课程设计是多么有意义且有用的。所以我们每个人都积极主动地投入的设计之中,在两个周的时间内我们要完成的工作看起来很少,但是老师说不容乐观。在组长的带领下我们认真的走好每一步。其间的欢欣与苦楚这里我就不在此叙述了,我们真的都学到了很多东西,知道了知识的重要性,为什么高科技才具有价值,因为付出的很多很多。我在此首先要感谢张亚华老师,是他在我们一筹莫展的时候给了我们提醒,致使我们顺利地完成了本课程设计。同时感谢设计过程中组员们的相互配合及鼓励,使我们坚决的走下去.7、 参考文献l 单片机原理及应用 夏路易 主编 电子工业出版社l C8051F410/1/2/3 混合信号I

8、SP FLASH微控制器数 据 手 册 潘 琢 金 译 Rev 0.7 2006.02 版l 网站:8、 附录1 组员工作安排姚利涛:设计方案的论证;程序的调试;C语言编程及410单片机的初始化王鹏飞:设计方案的论证;程序的调试;C语言编程;课程设计报告的纂写王素贞:设计方案的论证;程序的调试;课程设计报告的纂写许鹏飞:设计方案的论证;程序的调试;相关的材料收集2 速度里程表显示程序 #include "C8051F410.h"void Init_Device(void); /完成void delayms(unsigned char i);/搞定void delayus(v

9、oid);/搞定void toch452(unsigned int cmda);/搞定void display(void);/显示函数 void Flash_PageErase (unsigned int addr);/Flash字节擦除函数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

10、 CH452_SCL = P13;sbit CH452_SDA = P14; sbit CH452_KEY = P15;unsigned int CMD,DAT,DAT1;bit flag,mark;unsigned int 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; /

11、0.1.2.3.4.5.6.7.8.9. main() float SP;Init_Device(); /初始化delayms(100);P1=P1&0x7f;CMD = 0x9103;/设置CH452系统参数toch452(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;dispbu

12、ff1=v%10000/1000+10;dispbuff0=v%1000/100;display(); else for (i=0;i<3;i+) dispbuffi=20; display(); if(mark=1) mark=0; Flash_PageErase (0x1b00);/Flash字节擦除函数 Flash_ByteWrite (0x1b00,count);/Flash 字节写函数 mile=Flash_ByteRead (0x1b00);/Flash 字节读函数 dispbuff7=mile/10000;dispbuff6=mile%10000/1000;dispbuff

13、5=mile%1000/100; dispbuff4=mile%100/10+10; dispbuff3=mile%10;display();/* 命令、数据送CH452 */void toch452(unsigned int 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

14、_SCL = 1;delayus();CH452_SCL = 0;cmda = cmda << 1 ;CH452_SDA = 1;delayus();CH452_SCL = 1;/* mS延时 */void delayms(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()

15、 from your main programvoid Init_Device(void)PCA0MD &= 0x40;/禁止看门狗PCA0MD = 0x00; OSCICN = 0x84;/系统时钟内部振荡器8分频(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 =

16、0x40;/使能交叉开关 IE = 0x83;/允许定时器INT0中断void int0() interrupt 0 /外部中断0处理函数 static unsigned m; m+; if(m=270) m=0; count+; 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=

17、0;i<8;i+)DAT = DAT1 + hexdispbuff i;toch452(DAT);DAT1 = DAT1 + 0x0400;void Flash_PageErase (unsigned int addr)/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;/输入关键字PSC

18、TL|=0x03;/使能擦除与写入PSWE=1;PSEE=1VDM0CN=0x80;/使能VDD监控器RSTSRC=0x02;/VDD监控器作为复位源*pwrite=0;/页擦除PSCTL&=0x03;/禁止擦除EA=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监控器作为复位源pwr

19、ite=(char xdata*)addr;FLKEY=0xA5;/写关键字FLKEY=0xF1;/写关键字PSCTL|=0x01;/使能写PSWE=1VDM0CN=0x80;/使能VDD监控器RSTSRC=0x02;/使能VDD作为复位源*pwrite=byte;/写一个字节PSCTL &=0x01;/禁止写PSWE=0EA=EA_SAVE;/恢复中断unsigned char Flash_ByteRead (unsigned int addr)/Flash 字节读函数bit EA_SAVE=EA;/保存EAchar code*data pread;/指向Flash读指针unsigned char byte;EA=0;/禁止中断pread=(char code*)addr;byte=*pread;/读一个字节EA=EA_SAVE;/恢复中断return byte;3 硬件电路连接图11 / 11文档可自由编辑打印

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1