基于单片机的速度里程表设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1设计目的
该课题主要是利用单片机技术进行的一项软、硬件开发技术。其目的是培养学生利用单片机技术解决生产、生活中的实际问题,对提高学生设计能力动手能力和工程实践技能有较重要的意义。学生应具备电路分析、电子技术、单片机技术等方面的相关知识,熟悉单片机系统流程图、硬件结构图及汇编语言,能进行单片机控制电路的连接、程序编写、输入、修改及调试等。
2设计任务
2.1总述
本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的摩托车的速度里程表。本文主要介绍了摩托车的速度里程表的设计任务、图纸说明、方案设计以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。具体的硬件电路包括AT89C51单片机的外围电路以及LED 显示电路等。软件设计包括:芯片的初始化程序、定时中断采样子程序、显示子程序等,软件采用c语言编写。
2.2硬件设计
2.2.1总述
摩托车的速度里程表的硬件电路设计是基础部分,它包括信号的捕获、放大、整形,单片机的计算处理,数码管的实时显示和单片机外围基本电路的设计,两大主要器件就是传感器和单片机。
2.2.2传感器
传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。其中最具代表的传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作。
2.2.3单片机
单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。
2.2.4数码管
本设计采用LED数码管显示。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称为共阳极LED显示器;另一种是二极管的阴极都连在一起的,称为共阴极LED显示器。本次采用共阴极接法。
2.2.5存储器
24C02是一个2K位串行E2PROM。内部含有256个8位字节。24C02支持I2C总线数据传送协议。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式。
2.3软件设计
2.3.1总体思路
利用霍尔传感器在轮胎转动过程中进行采样,形成脉冲信号,利用单片机的定时器中断和计算器T0的计数功能进行计数,设轮胎的周长为一米,一个脉冲代表里程增加一米,然后利用外部扩展的EPROM进行储存,在开始行驶的时候,利用
EPRO
,最后通过显示子程
序在led
2.3.2中断子程序
如图2,图3所示。
--
图3定时器TI中
图4
3图纸说明
3.1显示电路图
如图5所示。
图5显示电路图
显示电路图说明:以P2口作为位选信号,以P0口作为段选信号。
3.2外部扩展存储电路
如图6所示。
图6外部扩展存储电路
外部扩展存储电路说明:以P2.6作为24c02c的串行时钟输入信号,以P2.7作为24c02c的数据输入输出信号。
3.3功能电路
详见附录2
功能电路说明:以P1.2作为疲劳驾驶报警信号、以P1.3作为复位信号、以P1.5作为分里程总里程选信号、以P1.6作为十万公里报废信号、以P1.4作为超速报警信号、以P1.7作为速度选择信号。
4仿真电路图
如图7所示。
图7仿真电路图
5总结
四周的课程设计结束了,在这次的课程设计中不仅检测了我所学习的单片机
和C语言知识,也培养了我的动手能力。如何去计划一件事情,又如何完成一件事情,在整个设计过程中,独立思考,和同学、老师相互探讨、相互学习。学会了合作,学会了团结,学会了如何耐心的做一件事。最后,我非常感谢侯涛老师非常耐心的讲解,非常严格的检查,让我学会了严谨认真的做事,也感谢周围同学的热心帮助。
参考文献
[1] 王思明、张金敏、苟军年,等.单片机原理及应用系统设计[M].北京:科学出版社,2012.
[2] 冯博琴,吴宁. 微型计算机原理与接口技术[M].三版. 北京:清华大学出版社,2011.
[3] 周明德.微型计算机系统原理及应用[M].四版. 北京:清华大学出版社,2002.
[4] 郑学坚,周斌. 微型计算机原理及应用[M].三版. 北京:清华大学出版社,2001. [5]李华,王思明,张金敏.单片机原理及应用[M]. 甘肃:兰州大学出版社,2001.
ﻬ
附录:
附录1源程序:
#include
#define uchar unsigned char
#define uint unsignedint
unsignedchar codeled[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
long count=0;
intge,shi,bai,qian,wan,n=1;
ucharsec,tcnt;
unsignedlong zlicheng=0,flicheng=0,sudu=0;
sbit sda=P2^7;
sbit scl=P2^6;
sbit baofei=P1^6;
sbit xuanze=P1^5;
sbit suduxuanze=P1^7;
sbit chaosu=P1^4;
sbitfw=P1^3;
sbit pljs=P1^2;
bit write=0;
void delay()
{ﻩinti,j;
for(i=20;i>0;i--)
for(j=5;j>0;j--);
}
voiddisplay()
{ﻩ
ﻩwan=count/10000;
qian=count%10000/1000;
ﻩbai=count%1000/100;
shi=count%100/10;
ge=count%10;