车辆测速及显示系统设计课程设计报告Word格式文档下载.docx
《车辆测速及显示系统设计课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《车辆测速及显示系统设计课程设计报告Word格式文档下载.docx(33页珍藏版)》请在冰点文库上搜索。
但是自行车的骑行体验始终没有质的提升,甚至对于骑行者的安全没有完善的解决方案,也无法为骑行者提供多种骑行建议。
因此,人们希望自行车的功用更强大,能给人们带来更多的方便。
自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。
本次课程设计我们主要针对车辆的速度测量及里程数进行了设计。
本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,使其能自动地显示当前自行车行走的距离及运行的速度,从而方便人们的出行。
第二章设计内容及要求
本课题主要任务是利用霍尔元件、AT89C51单片机等部件设计一个可用1602液晶实时显示里程和速度的自行车的速度里程表。
以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。
里程及速度的测量,是经过MCS-
51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。
实现自行车的LED显示屏上有里程、速度测试两项显示功能,采用单片机作控制,达到显示里程及速度的最终目标。
第三章总设计原理
图1:
总设计原理图
(1)通过利用霍尔传感器产生里程数的脉冲信号:
假定车轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为
L/m。
经综合分析,本设计中取m=1。
当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号。
(2)利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数:
将采集到的脉冲信号从引脚P3.2中断0端输入,开启定时器0计时,传感器每获取一个脉冲信号即对系统提供一次计数中断这样就可以计算自行车路程和速度了。
(3)对数据进行处理得到需要的熟知,再用LED显示里程总数和即时速度:
每次中断代表车轮转动一圈,中断数n与轮圈的周长L的乘积为里程值。
计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。
当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度。
第四章硬件设计
4.1硬件方案设计
测速,首先要解决是采样的问题。
使用单片机进行测速,可以使用简单的脉冲计数法。
只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。
常用的测速元件有霍尔传感器、光电传感器和光电编码器。
里程测量传感器的选择也有很多种。
例如使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程等多种方案:
(1)使用光敏电阻对里程进行测量。
光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;
光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;
而编码器必须安装在车轴上,安装较为复杂;
(2)使用霍尔元件或干弹簧对里程进行测量。
使用霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。
使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。
如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得
多个脉冲输出。
在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。
霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E,该传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,工作电压范围宽,使用非常方便。
图2:
A44E外形图
所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。
此外,单片机的使用也是本次设计中不可或缺的一部分。
单片机由于将CPU、内存和
一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它
有一般芯片不具有的特点:
1.体积小、重量轻;
2.电源单一、功耗低;
3.功能强、
霍尔传感器
单 片 机
价格低;
4.全部集成在一块芯片上,布线短、合理;
5.数据大部分在单片机内传送,运行速度快、抗干扰能力强、可靠性高。
目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。
在设计中选用的是STC89C52单片机。
外部信号
里程显示
外部储存器
速度显示
图3:
系统的原理框图
4.2AT89C51单片机介绍
单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能 部件,包括CPU(Central Processing Unit)、随机存储器RAM(Random Access
Memory)、只读存储器ROM(Read-onlyMemory)、基本输入/输出(Input/Output)接口电路。
定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计 算机的基本功能。
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能 8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
图4:
单片机内部结构示意图
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32
个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软
件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图5:
AT89C51单片机引脚
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的
管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出
4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因
此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,
P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字
节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止
ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期
两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源
(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
4.3霍尔开关型传感器介绍
霍尔传感器是根据霍尔效应制作的一种磁场传感器。
霍尔效应是磁电效应的一种,这一现象是霍尔于1879年在研究金属的导电机构时发现的。
后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。
霍尔效应是研究半导体材料性能的基本方法。
通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。
霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种:
(一)开关型霍尔传感器由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。
开关型霍尔传感器还有一种特殊的形式,称为锁键型霍尔传感器。
(二)线性型霍尔传感器由霍尔元件、线性放大器和射极跟随器组成,它输出模拟量。
线性霍尔传感器又可分为开环式和闭环式。
闭环式霍尔传感器又称零磁通霍尔传感器。
线性霍尔传感器主要用于交直流电流和电压测量。
A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部分组成,如图9(a)所示。
(1)、
(2)、(3)代表集成霍尔开关的三个引出端点。
在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。
当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关 。
这样两次电压变换,使霍尔开关完成了一次开关动作。
工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。
传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。
A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如下图所示。
9
图6:
集成开关型霍尔传感器
图7:
集成霍尔开关接线图
4.4LCD显示器介绍
4.4.1液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
4.4.2液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动
(ActiveMatrix)三种。
4.4.3液晶显示器各种图形的显示原理
线段的显示:
点阵图形式液晶由M×
N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×
8=128个点组成,屏上64×
16个显示单元与显示RAM区1024字节相对应,每一字节的内容和
10
显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;
当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;
当(000H)
=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
字符的显示:
用LCD显示一个字符时比较复杂,因为一个字符由 6×
8或8×
8点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示:
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占 32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加
1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
4.5单片机外围电路设计
11
图8:
硬件原理图
4.5.1时钟电路设计
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
STC89C52片内由一个反相放大器构成振荡器,可以由它产生时钟。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。
本设计采用前者。
单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和电容,就构成一个稳定的自激振荡器。
单片机内部时钟方式的振荡电路如下图所示。
图9:
单片机内振荡电路
4.5.2显示电路设计
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距
15
的作用,正因为如此所以它不能很好地显示图形。
图10:
1602字符型液晶表1:
1602LCD主要技术参数
显示容量
16×
2个字符
芯片工作电压
4.5—5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0V
字符尺寸
2.95×
4.35(W×
H)mm
引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:
编号
符号
引脚说明
1
VSS
电源地
D2
数据
2
VDD
电源正极
D3
3
VL
液晶显示偏
压
D4
4
RS
数据/命令选
择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
BLA
背光源正极
表2:
引脚接口说明表
D1
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当
RS和R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
指令功能说明:
1602LCD模块内部控制器的11条控制指令说明如下表:
序号
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/
关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
表3:
控制命令
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到
CGRAM
或
DDRAM)
要写的数据内容
从CGRAM
或DDRAM
读数
读出的数据内容
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置 I/D:
光标移动方向,高电平右移,低电平左移
S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位 S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低
电平时为单行显示,高电平时双行显示 F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM