完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx

上传人:b****6 文档编号:20309071 上传时间:2023-01-21 格式:DOCX 页数:28 大小:1.10MB
下载 相关 举报
完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx_第1页
第1页 / 共28页
完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx_第2页
第2页 / 共28页
完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx_第3页
第3页 / 共28页
完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx_第4页
第4页 / 共28页
完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx

《完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

完整版基于单片机的驾校教练车速度控制毕业设计Word下载.docx

密码设置与修改功能:

3系统硬件设计

该系统的硬件设计分为单片机控制部分、车速信号采集部分、时钟显示系统、密码存储系统、按键系统、串口模块、继电器模块以及其他部分。

该系统的硬件部分在ProtelDXP2004中设计完成。

3.1单片机控制部分

3.1.1STC89C54单片机简介

控制部分采用STC89C54单片机,如图3.1所示。

STC89C54单片机的管脚图如图3.1所示。

各管脚功能如下:

VCC:

供电电压。

GND:

接地。

PO口:

PO口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门流。

PO能

够用于外部程序数据存储器,他可以被定义为数据/地址的第八位。

在FLASH编程时,PO作为原码输入口,当FLASH进行校验时,PO输出原码,此时PO外部必须被拉高。

图3.1STC89C54单片机管脚图

P1口:

P1口是一个内部提供上拉电阻的八位双向I/O口,P1口缓冲器能接受输出4TTL门电流。

P1口管教写入1时,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接受。

3.1.2单片机最小系统

若想使STC89C54单片机正常工作,必须建立一个单片机最小系统。

该最小系统分为单片机电路、复位电路、晶振电路和电源等组成。

单片机电路

单片机电路如图3.2所示。

图3.2单片机电路

由于单片机的P0口需要外接上拉电阻,因此图中的p1排口是用来插上拉电阻的,由于系统的很多功能需要外接杜邦线与单片机相连,因此添加两排排针,用于外接。

该单片机的管脚分配如下:

1)时钟芯片部分分配

对于时钟芯片DS12C887部分,与单片机相连,使用的是单片机P0口作为数据

输入输出口,P2.0与DS12C887的cs管脚相连,P2.1与DS12C887的as管脚相连,

P2.2与DS12C887的rw管脚相连,P2.3与DS12C887的ds管脚相连。

图3.3复位电路

图3.4晶振电路

3.2车速信号采集部分硬件

3.2.1方案选择及设计思想

汽车的车速信号主要是由车速传感器得到的。

对于车速传感器,在查阅资料的时候,我们重点查阅了三个方案的资料。

方案一:

方案二:

方案三:

变磁阻式传感器的输出信号幅值随转速的变化而变化,若车速过慢,其输出信号低于1v,电控单元就无法检测。

而且此种传感器响应频率不高,当转速过高时,传感器的频率响应跟不上。

目前,国内外ABS系统的控制速度范围一般为15km/h~160km/h,今后要求控制速度范围扩大到8km/h~260km/h以至更大,显然变磁阻式传感器很难适应。

光电测速传感器受外界光源以及油污、尘土等脏物影响很大,不适合运动性物体的测速,而且测速发电机体积重量较大,不便于小车上安装。

集成化霍尔开关传感器具有灵敏可靠、体积小巧、无触点、无磨损、使用寿命长、功耗低以及不怕尘土、油污、湿热等优点,综合小车运动环境和重量轻的要求,我们使用了霍尔传感器来进行速度检测。

3.2.2工作原理

霍尔电流传感器,通常来讲分两种,一种是直放式电流传感器,另一种是磁平衡式电流传感器。

……。

图3.5汽车专用齿轮测速速度开关

该模块与轴承上的齿轮安装在一起。

3.2.3接口设计

该传感器模块的OUT口与单片机的P3.4口相连,利用单片机的定时器/计数器0的计数模式来对齿轮测速速度开关的脉冲次数进行计数。

3.3时钟显示系统

该系统的时钟显示部分采用的是以DS12C887为核心的电路。

3.3.1DS12C887简介

该时钟芯片属于高精度时钟芯片(三年的误差不超过1s),功能强大,且内置晶振和锂电池,掉电后可继续工作三年。

由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;

DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;

对于一天内的时间记录,有12小时制和24小时制两种模式。

在12小时制模式中,用AM和PM区分上午和下午;

时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;

DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;

此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。

……DS12C887的芯片的封装和管脚图如图3.6所示。

图3.6DS12C887封装与管脚图

各管脚的具体功能如下:

3.3.2DS12C887部分硬件设计

DS12C887部分的硬件设计如图3.7所示。

图3.7DS12C887硬件设计

在本设计中,DS12C887芯片只用到了个别的引脚。

AD0~AD7与单片机P0口相连,用于传递地址和数据,DS管脚在此是读允许输入脚,高电平时有效,与单片机的P2.3口相连。

RW为读/写输入端,在此为写允许输入脚,与单片机的P2.2口相连。

AS为地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,AS与单片机的P2.1口相连。

CS为片选输入,与P2.0口相连。

3.4密码存储系统

密码存储系统用于存储速度上限修改系统的密码,该部分的硬件是以24C02芯片为核心的电路。

3.4.124C02芯片简介

AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×

8位存储空间,具有工作电压宽(2.5~5.5v)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。

该芯片的引脚如图3.8所示。

图3.824C02引脚

各管脚的功能如下:

3.4.2硬件设计

24C02与单片机的相连部分硬件设计如图3.9所示。

图3.924C02与单片机相连

我们利用单片机的P3.5与SCL口相连,利用P3.3与SDA相连。

利用软件实现I2C总线协议。

其中A0、A1和A2部分连接在一起,与VCC相连。

而在本设计中我们用不到WP接口,因此该接口悬空即可。

3.5显示电路

该系统中的显示电路是由LCD1602液晶为核心的电路。

3.5.1LCD1602简介

LCD1602的实物和管脚图如图3.10所示。

图3.10LCD1602液晶与管脚图

工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

各个管脚的功能如下:

3.5.2硬件设计

LCD1602部分的硬件电路如图3.11所示。

其中DB0到DB7与单片机的P0口相连,起到数据传递的作用。

RS端与P2.4

相连,RW端与P2.5相连,而使能端E与P2.6相连。

而V0口与滑动变阻器相连接,可通过调整滑动变阻器阻值的大小来改变该液晶屏幕的亮度。

输入电压越大,显

图3.11显示部分硬件设计

示对比度越高,反之越低。

对于此电阻,选择10K最合适,电阻太大时调整起来不方便,太小调整效果不明显。

3.6按键模块

按键模块起到控制作用,按键模块设计如图3.12所示。

图3.12按键模块

3.7串口模块硬件

串行接口SerialInterface是指数据一位一位地顺序传送,其特点是通信线路简单,……

MCS-51单片机内部有一个可编程的双向全双工串行通信接口,简称串口;

……

在该设计中,串口的主要作用是传递速度数据和当忘记原始密码时对机器进行密码修改。

本设计中使用的是串口模块,该模块的作用就是改变单片机串口管脚的电平,使串口能够正常工作。

该模块中最主要的芯片就是MAX232。

3.7.1MAX232芯片简介

MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。

MAX232是一种把电脑的串行口rs232信号电平(-10,+10v)转换为单片机所用到的TTL信号点平(0,+5)的芯片,MAX232芯片的管脚图如图3.13所示。

图3.13MAX232管脚图

第一部分是电荷泵电路。

……

3.7.2接口设计

该串口模块如图3.14所示。

图3.14串口模块

该模块共有4个管脚,分别是VCC、GND、TxD和RxD。

VCC与GND是电源,而另两个管脚与单片机的串口管脚P3.0口和P3.1口相连。

3.8继电器模块硬件

继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在

电气输出电路中使被控量发生预定的阶跃变化的一种电器。

图3.15继电器工作原理

本设计中用继电器模块来控制电动推杆伸缩。

利用单片机输出控制信号(低压)来控制继电器的闭合,进而控制电动推杆(高压)。

在本系统中使用的继电器模块如图3.16所示。

图3.16继电器模块

该模块共有4个管脚,分别是VCC、GND、IN1和IN2。

其中VCC与GND是电源,而IN1和IN2是两个输入口,低电平吸合,高电平释放,与单片机的P3.6口和P3.7

口相连。

3.9蜂鸣器硬件

该设计中蜂鸣器的作用是超速提醒,由于89C54单片机的管脚输出电压不足以驱动该蜂鸣器,故在本设计中添加了非门芯片74LS04作为驱动芯片,该部分硬件设计如图3.17所示。

图3.17蜂鸣器硬件设计

该蜂鸣器与单片机的P2.7口相连接,作为输出。

3.10指示灯模块硬件

在本设计中,指示灯的作用是指示系统是否工作在测速控速状态。

当系统工作在此状态时,指示灯每隔1秒钟亮灭交替。

当系统工作在时间调整、速度上限调整、密码修改的状态时,该指示灯熄灭。

该指示灯与单片机的P1.0管脚相连接。

该模块的硬件设计如图3.18所示。

图3.18指示灯模块

3.11电动推杆简介

在本设计的控速部分,我们选用直流直线往复电机系列12v/24v马达控制器。

如图3.19所示。

图3.19电动推杆

电动推杆由驱动电机、减速齿轮、螺杆、螺母、导套、推杆、滑座、弹簧、外壳及涡轮、微动控制开关等组成。

图3.20电动推杆尺寸

我们选用S=200mm,工作电压为12v,空载速率最大为60mm/s的电动推杆。

对于连接,该电动推杆与继电器模块中的两个继电器的接线柱相连。

4系统软件设计

该系统的软件部分的分程序主要由LCD1602部分、DS12C887部分、24C02部分、串口部分、初始化部分、以及定时器部分构成。

在本设计中所用的软件是KeiluVision2。

整个系统的主程序软件设计如图4.1所示。

图4.1系统主程序软件设计

4.1初始化程序

该系统的初始化程序如下:

voidInit(void)

{

LCD_Write_Com(0x38);

/*显示模式设置*/

DelayMs(5);

LCD_Write_Com(0x08);

/*显示关闭*/

LCD_Write_Com(0x01);

/*显示清屏*/

LCD_Write_Com(0x06);

/*显示光标移动设置*/

LCD_Write_Com(0x0C);

/*显示开及光标设置*/

LCD_Write_Com(0x80);

LCD_Clear();

/*清屏函数*/

mima[0]=48;

mima[1]=48;

mima[2]=48;

mima[3]=48;

//mima[]为密码存储数组,输入密码以及修改密码时的数码显示数组,初

sudu[0]=48;

始化为“0000”

sudu[1]=48+6;

sudu[2]=48;

sudu[3]='

m'

;

sudu[4]='

/'

sudu[5]='

s'

//sudu[]为初始化速度储存数组,初始化速度的上限为60m/s

cunchu[0]='

0'

cunchu[1]='

2'

cunchu[2]='

1'

cunchu[3]='

5'

//初始密码

ISendStr(0xae,4,cunchu,4);

/*将初始密码存储至24C02芯片中*/

i=0;

j=0;

SCON=0x50;

/*串口模式设置SCON:

模式1,8-bitUART,使能接收*/

/*SM0SM1SM2RENTB8RB8TIRI:

9bit/

TH2=RCAP2H;

TL2=RCAP2L;

//定时器2初始化

PCON=0x00;

/*bautrate,80h:

double;

00h:

normal*/

ES=1;

/*打开串口中断*/

TMOD|=0x25;

/*设定定时器0和1,定时器0工作在计数模式,定时器1用于产生波特率,定时器1工作在2方式*/

TH1=0xfd;

/*定时器1设置,此时波特率为9600*/

TH0=0;

TL0=0;

//定时器0初始化设置,因为定时器0工作在计数模式,因此初始化为0

EA=1;

/*总中断打开*/

ET0=1;

/*激活定时器0*/

ET1=1;

/*激活定时器1*/

ET2=1;

/*激活定时器2*/

TR0=1;

/*打开定时器0*/

TR1=1;

/*打开定时器1*/

TR2=1;

/*打开定时器2*/

xianshi[5]='

xianshi[6]='

xianshi[7]='

xianshi[0]='

'

//xianshi[]为显示速度存储数组,这4行程序为显示速度标志设置

LCD_Write_String(0,1,"

"

);

write_ds(0,46);

write_ds(2,23);

write_ds(4,23);

write_ds(7,2);

write_ds(8,12);

write_ds(9,12);

write_ds(6,7);

//DS12C887时分秒年月日初始化设置

}

4.2主程序

在图4.1中已经给出了主程序的结构,根据结构我们设计出主程序,该系统的主程序如下:

voidmain()

{

LCD_Init();

/*初始化程序*/

write_ds(0x0a,0x20);

/*DS12C887晶振起振,时钟正常工作*/

write_ds(0x0b,0x26);

/*DS12C887中的数据采用BCD码,而且采用24时计时法*/

LCD_Write_String(0,0,table);

while

(1)

if(!

startt)/*调整速度上限*/

DelayMs(20);

if(!

startt)

while(!

startt);

/*按键是否放开*/

flag=1;

flag2=1;

diaosu();

/*调整速度上限程序*/

LCD_Write_Char(4,1,xianshi[1]);

LCD_Write_Char(5,1,xianshi[2]);

LCD_Write_Char(6,1,xianshi[3]);

LCD_Write_Char(7,1,'

.'

LCD_Write_Char(8,1,xianshi[4]);

LCD_Write_String(9,1,"

m/s"

//速度显示

speed2=xianshi[1]*100+xianshi[2]*10+xianshi[3];

/*计算现在速度*/

if(speed2>

speedca)/*超速时*/

DelayMs(200);

speedca)

shen=1;

suo=0;

alarm=1;

//继电器控制电动推杆伸长,报警器打开

if(speed2<

speedca)/*未超速*/

shen=0;

suo=1;

alarm=0;

//继电器控制电动推杆缩回,报警器关闭

fangshigai)/*切换年月日和时分秒显示*/

fangshigai)

fangshi=!

fangshi;

/*切换*/

flag4=1;

fangshigai);

shangtiao)/*在不调整时间和速度上限的时候按下此键是修改密码*/

shangtiao)

shangtiao);

flag7=1;

mimat();

/*密码修改程序*/

xiatiao)/*在不调整时间和速度上限的时候此键是利用串口修改密码*/

xiatiao)

xiatiao);

LCD_Clear();

LCD_Write_String(0,0,"

Enter"

flag8=1;

flag9=1;

i6=0;

TR0=0;

TR2=0;

//关闭定时器

ES=1;

//串口中断打开

LED=0;

//“正常工作灯”停止闪烁

while(flag8)

if((RI)&

&

(flag9))//从电脑中传递密码数据

RI=0;

cunchu[i6]=SBUF;

/*将电脑中的密码数据传递至cunchu数组中,该数组是存储密码用的*/

i6++;

if(i6==4)

LCD_Write_String(0,1,cunchu);

//将新密码显示在屏幕上

flag9=0;

LED=1;

startt)//退出修改界面

/*将密码存入24C02*/

/*打开定时器*/

flag8=0;

LCD_

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1