基于单片机的驾校教练车速度控制毕业论文.doc

上传人:哈尼dd 文档编号:3923436 上传时间:2019-10-10 格式:DOC 页数:39 大小:2.86MB
返回 下载 相关 举报
基于单片机的驾校教练车速度控制毕业论文.doc_第1页
第1页 / 共39页
基于单片机的驾校教练车速度控制毕业论文.doc_第2页
第2页 / 共39页
基于单片机的驾校教练车速度控制毕业论文.doc_第3页
第3页 / 共39页
基于单片机的驾校教练车速度控制毕业论文.doc_第4页
第4页 / 共39页
基于单片机的驾校教练车速度控制毕业论文.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于单片机的驾校教练车速度控制毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的驾校教练车速度控制毕业论文.doc(39页珍藏版)》请在三一文库上搜索。

1、河南城建学院本科毕业设计(论文) 摘 要21世纪掀起了一阵学车的热潮。然而对于驾校的初学者,车速往往是最不好把握的,超速现象时有发生,对他人和自己都造成严重安全隐患。本设计的目的就是为了解决这一问题。本设计车速信号采集部分采用的是霍尔速度传感器。在控制方面,。本论文主要描述了硬件设计部分和软件设计部分,硬件部分更是详细分析了系统框图、车速信号采集、控制系统、时钟显示系统、密码存储系统、按键系统、串口模块以及继电器模块的各个部分的电路原理,以及各个模块之间的线路连接。软件部分列出了主要部分的程序。该设计是一个简单实用的多功能教练车速度控制装置,具有成本低,可靠性高,扩展功能强等优点。关键词:霍尔

2、速度传感器,STC89C54,电动推杆 Abstract21th century has witnessed a fever for driving learning. However, as a fellow learner, they always fail to control the speed, causing security risks to both themselves and others. This design could solve this phenomenon well.In this project, we use Hall speed sensor block

3、 in data acquisition section for speed information extraction. In control section, we choose STC89C54 as core, with 24C02, LCD1602, DS12C887, key block, serial interface module, RM and electric pusher, so that speed calculation, speed limitation, lock of speed limit, clock and calendar display can b

4、e realized. In this paper, we described hardware section and software section, and in hardware section we described system diagram, data acquisition section, control system, clock system, password storage system, key array, serial interface module and RM in details, and their combination. In softwar

5、e, main parts of the program are listed. The product is a multifunction velometer used in coach car, with advantages of low cost, high reliability and strong expanded functions, etc.Keywords: Hall speed sensor, STC89C54, Electric pusherII目 录摘 要IAbstractII1绪论11.1设计多功能教练车速度控制装置的意义11.2本选题在国内外的研究现状和发展趋势

6、11.3主要任务和目标21.3.1主要任务21.3.2主要目标22系统设计方案总则32.1系统概述32.2 系统框图以及具体功能33系统硬件设计53.1单片机控制部分53.1.1 STC89C54单片机简介53.1.2 单片机最小系统73.2车速信号采集部分硬件93.2.1方案选择及设计思想93.2.2工作原理103.2.3 接口设计113.3时钟显示系统113.3.1 DS12C887简介113.3.2 DS12C887部分硬件设计133.4密码存储系统143.4.1 24C02芯片简介143.4.2 硬件设计153.5 显示电路153.5.1 LCD1602简介163.5.2 硬件设计16

7、3.6 按键模块173.7 串口模块硬件173.7.1 MAX232芯片简介183.7.2 接口设计193.8 继电器模块硬件193.9 蜂鸣器硬件203.10 指示灯模块硬件213.11 电动推杆简介214系统软件设计234.1 初始化程序244.2 主程序254.3 定时器2部分程序295 系统调试315.1 硬件调试315.2 软件调试315.3 综合调试316 设计结果34总 结39参考文献41致 谢42附录 该系统硬件PCB电路图43IV1绪论1.1设计多功能教练车速度控制装置的意义交通作为人类社会经济建设的支柱产业,受到了各国政府的很大重视,因此,交通运输在全球各个国家都得到了长足

8、发展1.2本选题在国内外的研究现状和发展趋势各国为了解决驾驶员有意无意超速驾驶问题,采取了各种各样的措施,与此同时,汽车电子限速装置也在不断发展之中,有许多电子设计者或公司从事这方面的研究,力求能设计出一种普遍使用的汽车限速装置。国内方面,广州唯创推出了一款超速报警器,它是一种实时指示车辆行驶速度,记录超速记录,并通过语音提醒司机安全驾驶的智能电子设备。该设备实时显示车辆速度。当超过测定速度的最高值时,及时播放语音提示,提示司机。1.3主要任务和目标1.3.1主要任务基于单片机原理设计一款教练车速度控制装置,使得该速度控制仪能够检测出车辆超速且能够提醒驾驶员和自动使车辆降速。1.3.2主要目标

9、2系统设计方案总则2.1系统概述基于单片机的教练车速度控制装置是一个具有数字显示功能的单片机系统,2.2 系统框图以及具体功能该系统的整体框图如图2.1所示。DS12C887芯片主控电路STC89C54显示电路测速传感器模块串口模块按键部分24C02存储芯片继电器与电动推杆车上轴承齿轮图2.1 系统框图整个速度控制装置要实现的主要功能如下: 测速功能: 控速功能: 密码设置与修改功能:3系统硬件设计该系统的硬件设计分为单片机控制部分、车速信号采集部分、时钟显示系统、密码存储系统、按键系统、串口模块、继电器模块以及其他部分。该系统的硬件部分在Protel DXP2004中设计完成。3.1单片机控

10、制部分3.1.1 STC89C54单片机简介控制部分采用STC89C54单片机,如图3.1所示。STC89C54单片机的管脚图如图3.1所示。各管脚功能如下:VCC: 供电电压。GND:接地。PO口:PO口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门流。PO能够用于外部程序数据存储器,他可以被定义为数据/地址的第八位。在FLASH编程时,PO作为原码输入口,当FLASH进行校验时,PO输出原码,此时PO外部必须被拉高。图3.1 STC89C54单片机管脚图P1口:P1口是一个内部提供上拉电阻的八位双向I/O口,P1口缓冲器能接受输出4TTL门电流。P1口管教写入1时,被内部上拉为高,可

11、用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接受。3.1.2 单片机最小系统若想使STC89C54单片机正常工作,必须建立一个单片机最小系统。该最小系统分为单片机电路、复位电路、晶振电路和电源等组成。 单片机电路单片机电路如图3.2所示。图3.2 单片机电路由于单片机的P0口需要外接上拉电阻,因此图中的p1排口是用来插上拉电阻的,由于系统的很多功能需要外接杜邦线与单片机相连,因此添加两排排针,用于外接。该单片机的管脚分配如下:1)时钟芯片部分分配对于时钟芯片DS12C887部分,与单片机相连,使用的是单片机P0口作为数

12、据输入输出口,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系统的控制速度范

13、围一般为15km/h160km/h,今后要求控制速度范围扩大到8km/h260km/h以至更大,显然变磁阻式传感器很难适应。光电测速传感器受外界光源以及油污、尘土等脏物影响很大,不适合运动性物体的测速,而且测速发电机体积重量较大,不便于小车上安装。集成化霍尔开关传感器具有灵敏可靠、体积小巧、无触点、无磨损、使用寿命长、功耗低以及不怕尘土、油污、湿热等优点,综合小车运动环境和重量轻的要求,我们使用了霍尔传感器来进行速度检测。3.2.2工作原理霍尔电流传感器,通常来讲分两种,一种是直放式电流传感器,另一种是磁平衡式电流传感器。 图3.5 汽车专用齿轮测速速度开关该模块与轴承上的齿轮安装在一起。3.

14、2.3 接口设计该传感器模块的OUT口与单片机的P3.4口相连,利用单片机的定时器/计数器0的计数模式来对齿轮测速速度开关的脉冲次数进行计数。3.3时钟显示系统该系统的时钟显示部分采用的是以DS12C887为核心的电路。3.3.1 DS12C887简介该时钟芯片属于高精度时钟芯片(三年的误差不超过1s),功能强大,且内置晶振和锂电池,掉电后可继续工作三年。由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题; DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有1

15、2小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节 RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。 DS12C887的芯片的封装和管脚图如图3.6所示。图3.6 DS12C887封装与管脚图各管脚的具体功能如下:3.3.2 DS12C887部分硬件设计DS12C887部分的硬件设

16、计如图3.7所示。图3.7 DS12C887硬件设计在本设计中,DS12C887芯片只用到了个别的引脚。AD0AD7与单片机P0口相连,用于传递地址和数据,DS管脚在此是读允许输入脚,高电平时有效,与单片机的P2.3口相连。RW为读/写输入端,在此为写允许输入脚,与单片机的P2.2口相连。AS为地址选通输入脚,在进行读写操作时,AS 的上升沿将 AD0AD7 上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0AD7上的地址信息,AS与单片机的P2.1口相连。CS为片选输入,与P2.0口相连。3.4密码存储系统密码存储系统用于存储速度上限修改系统的密码,该部分的硬件是以24C02

17、芯片为核心的电路。3.4.1 24C02芯片简介AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含2568位存储空间,具有工作电压宽(2.55.5v)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。该芯片的引脚如图3.8所示。图3.8 24C02引脚各管脚的功能如下:3.4.2 硬件设计24C02与单片机的相连部分硬件设计如图3.9所示。图3.9 24C02与单片机相连我们利用单片机的P3.5与SCL口相连,利用P3.3与SDA相连。利用软件实现I2C总线协议。其中A0、A1和A2部分连接在一起,与VCC相连。而在本设计中我们用不到WP接口,因此该

18、接口悬空即可。3.5 显示电路该系统中的显示电路是由LCD1602液晶为核心的电路。3.5.1 LCD1602简介LCD1602的实物和管脚图如图3.10所示。图3.10 LCD1602液晶与管脚图工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,LCD1602是指显示的内容为16X2, 即可以显示两行,每行16个字符液晶模块(显示字符

19、和数字)。各个管脚的功能如下: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 串口模块硬件串行接口Serial Interface

20、是指数据一位一位地顺序传送,其特点是通信线路简单,MCS-51单片机内部有一个可编程的双向全双工串行通信接口,简称串口; 在该设计中,串口的主要作用是传递速度数据和当忘记原始密码时对机器进行密码修改。本设计中使用的是串口模块,该模块的作用就是改变单片机串口管脚的电平,使串口能够正常工作。该模块中最主要的芯片就是MAX232。3.7.1 MAX232芯片简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。MAX232是一种把电脑的串行口rs232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片,MAX2

21、32芯片的管脚图如图3.13所示。图3.13 MAX232管脚图第一部分是电荷泵电路。 3.7.2 接口设计该串口模块如图3.14所示。图3.14 串口模块该模块共有4个管脚,分别是VCC、GND、TxD和RxD。VCC与GND是电源,而另两个管脚与单片机的串口管脚P3.0口和P3.1口相连。3.8 继电器模块硬件继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。图3.15 继电器工作原理本设计中用继电器模块来控制电动推杆伸缩。利用单片机输出控制信号(低压)来控制继电器的闭合,进而控制电动推杆(高压)。在本系统中使用的继电器

22、模块如图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秒钟

23、亮灭交替。当系统工作在时间调整、速度上限调整、密码修改的状态时,该指示灯熄灭。该指示灯与单片机的P1.0管脚相连接。该模块的硬件设计如图3.18所示。图3.18 指示灯模块3.11 电动推杆简介在本设计的控速部分,我们选用直流直线往复电机系列12v/24v马达控制器。如图3.19所示。图3.19 电动推杆电动推杆由驱动电机、减速齿轮、螺杆、螺母、导套、推杆、滑座、弹簧、外壳及涡轮、微动控制开关等组成。图3.20电动推杆尺寸我们选用S=200mm,工作电压为12v,空载速率最大为60mm/s的电动推杆。对于连接,该电动推杆与继电器模块中的两个继电器的接线柱相连。4系统软件设计该系统的软件部分的分

24、程序主要由LCD1602部分、DS12C887部分、24C02部分、串口部分、初始化部分、以及定时器部分构成。在本设计中所用的软件是Keil uVision2。整个系统的主程序软件设计如图4.1所示。开始系统初始化Y结束速度修改程序修改速度上限NY修改密码结束密码修改程序NY结束串口密码修改程序串口修改密码NY日期显示方式修改方式修改NY日期修改结束串口密码修改程序N更新时间,取计数值,计算速度,显示超速提醒Y超速N蜂鸣器打开蜂鸣器关闭图4.1 系统主程序软件设计4.1 初始化程序该系统的初始化程序如下:void Init(void) LCD_Write_Com(0x38);/*显示模式设置*

25、/ DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08);/*显示关闭*/ LCD_Write_Com(0x01);/*显示清屏*/ LCD_Write_Com(0x06);/*显示光标移动设置*/ DelayMs(5); LCD_Write_Com(0x0C);/*显示开及光标设置*/ LCD_Write_Com(0x80); LCD_Clear();/*清屏函数*/ mima0=48; mima1=48;mi

26、ma2=48;mima3=48;/mima为密码存储数组,输入密码以及修改密码时的数码显示数组,初sudu0=48; 始化为“0000”sudu1=48+6;sudu2=48;sudu3=m;sudu4= /;sudu5=s;/sudu为初始化速度储存数组,初始化速度的上限为60m/scunchu0=0; cunchu1=2;cunchu2=1;cunchu3=5;/初始密码ISendStr(0xae,4,cunchu,4);/*将初始密码存储至24C02芯片中*/i=0;j=0;SCON = 0x50;/*串口模式设置SCON: 模式 1, 8-bit UART, 使能接收*/ /*SM0

27、SM1 SM2 REN TB8 RB8 TI RI:9 bit/ RCAP2H = (65536-2000)/256;/(655536-20000)/256,定时器2设置 RCAP2L = (65536-2000)%256;/(65536-20000)%256; TH2=RCAP2H; TL2=RCAP2L;/定时器2初始化 PCON = 0x00;/*baut rate, 80h:double; 00h: normal*/ ES = 1;/*打开串口中断*/TMOD|=0x25;/*设定定时器0和1,定时器0工作在计数模式,定时器1用于产生波特率,定时器1工作在2方式*/TH1=0xfd;/

28、*定时器1设置,此时波特率为9600*/TH0=0; TL0=0;/定时器0初始化设置,因为定时器0工作在计数模式,因此初始化为0EA=1;/*总中断打开*/ET0=1;/*激活定时器0*/ET1=1;/*激活定时器1*/ET2=1;/*激活定时器2*/TR0=1;/*打开定时器0*/TR1=1;/*打开定时器1*/TR2=1;/*打开定时器2*/xianshi5=m; xianshi6=/;xianshi7=s;xianshi0= ;/xianshi为显示速度存储数组,这4行程序为显示速度标志设置LCD_Write_String(0,1, );write_ds(0,46); write_ds

29、(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中已经给出了主程序的结构,根据结构我们设计出主程序,该系统的主程序如下:void main () LCD_Init();/*初始化程序*/ write_ds(0x0a,0x20);/*DS12C887晶振起振,时钟正常工作*/ write_ds(0x0b,0x26);/*DS12C887中的数据采用BCD码,而且采用24时计时法*/ LCD_Write_String(0,0

30、,table); while(1) if(!startt)/*调整速度上限*/DelayMs(20);if(!startt)while(!startt);/*按键是否放开*/flag=1;flag2=1;diaosu();/*调整速度上限程序*/LCD_Write_Char(4,1,xianshi1);LCD_Write_Char(5,1,xianshi2);LCD_Write_Char(6,1,xianshi3);LCD_Write_Char(7,1,.);LCD_Write_Char(8,1,xianshi4);LCD_Write_String(9,1,m/s);/速度显示speed2=x

31、ianshi1*100+xianshi2*10+xianshi3;/*计算现在速度*/if(speed2speedca)/*超速时*/DelayMs(200);if(speed2speedca)shen=1;suo=0;alarm=1;/继电器控制电动推杆伸长,报警器打开if(speed2speedca)/*未超速*/shen=0;suo=1;alarm=0; /继电器控制电动推杆缩回,报警器关闭if(!fangshigai)/*切换年月日和时分秒显示*/DelayMs(20);if(!fangshigai)fangshi=!fangshi;/*切换*/flag4=1;while(!fangs

32、higai);DelayMs(20);if(!shangtiao)/*在不调整时间和速度上限的时候按下此键是修改密码*/DelayMs(20);if(!shangtiao)while(!shangtiao);flag7=1;mimat();/*密码修改程序*/if(!xiatiao)/*在不调整时间和速度上限的时候此键是利用串口修改密码*/DelayMs(20);if(!xiatiao)while(!xiatiao);LCD_Clear();LCD_Write_String(0,0,Enter);flag8=1;flag9=1;i6=0;TR0=0;TR2=0;/关闭定时器ES=1;/串口中断

33、打开LED=0;/“正常工作灯”停止闪烁while(flag8)if(RI)&(flag9)/从电脑中传递密码数据RI=0;cunchui6=SBUF;/*将电脑中的密码数据传递至cunchu数组中,该数组是存储密码用的*/i6+;if(i6=4) LCD_Write_String(0,1,cunchu);/将新密码显示在屏幕上flag9=0;LED=1;if(!startt)/退出修改界面DelayMs(20);if(!startt)while(!startt);if(i6=4) ISendStr(0xae,4,cunchu,4);/*将密码存入24C02*/TR0=1;TR2=1;/*打开

34、定时器*/flag8=0;LCD_Clear();if(fangshi=0)/恢复原来的时钟显示LCD_Write_String(0,0,table);DelayMs(100);if(fangshi=1)LCD_Write_String(0,0,table1);DelayMs(100);if(flag4=1)/改变时分秒与年月日的显示时界面静态部分显示的改变flag4=0;LCD_Clear();if(fangshi=0)LCD_Write_String(0,0,table);if(fangshi=1)LCD_Write_String(0,0,table1);if(fangshi=1)/时分秒

35、显示miao=read_ds(0); write_sfm(9,miao); fen= read_ds(2); write_sfm(6,fen); shi=read_ds(4); write_sfm(3,shi);if(!diaon)/时间调整函数DelayMs(20);if(!diaon)while(!diaon);if(fangshi=1)diaoshi();if(fangshi=0)/年月日显示 nian=read_ds(9); write_nian(5,nian); yue=read_ds(8); write_yue(8,yue); ri=read_ds(7); write_ri(11,

36、ri); xingqi=read_ds(6); write_xingqi(14,xingqi);if(!diaon)/时间调整函数DelayMs(20);if(!diaon)while(!diaon);if(fangshi=0)diaonian();4.3 定时器2部分程序在该设计中,对于单片机的3个定时器/计数器,即定时器0、定时器1和定时器2,定时器0用来进行脉冲计数,定时器1用来做波特率发生器,而定时器2用来进行计数控制和数据处理。在定时器2的中断程序中,有报警器程序以及计数处理程序、串口发送程序以及指示灯控制程序。定时器2部分的中断程序如下:void timer1() interrup

37、t 5 TF2=0;count+;c=read_ds(0x0c);/*读一下DS12C887的0x0c位取消定时中断*/if(alarm=1)ring=1;/报警器else ring=0;if(count=500) /*count=500时正好是1s*/count=0;TR0=0;/*在处理结果前先将计数器0关闭*/cesu=TH0*256+TL0;/*将计数结果计算出*/speed=cesu*2041;/*根据计数结果计算速度,因单片机处理小数时困难,因此先用计数结果乘以车轮周长的100倍*/temp2=speed/10000;/*再用所得结果除以10000,因为根据齿轮规格,当传感器检测到

38、100个脉冲时车轮正好转一圈,又因为刚刚的结果是车轮周长乘以100倍,因此此时应该是除以10000*/xianshi1=(temp2/100)%10+0x30;xianshi2=(temp2/10)%10+0x30;xianshi3=temp2%10+0x30;xianshi4=(temp2*10)%10+0x30;/速度数据显示cesu=0;/*将计数结果归零,方便下一次计数*/SendStr(xianshi);/*串口发送*/TH0=0;TL0=0;/计数器0归零DelayMs(200);TR0=1;/*计数器0打开,进行下一次计数*/LED=LED;/*工作显示灯闪烁*/5 系统调试电路

39、调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大部分:硬件调试、软件调试和综合调试。5.1 硬件调试关于硬件调试,5.2 软件调试该系统的软件调试主要是在开发板上进行的。利用Keil uVision2软件设计程序,然后利用单片机开发板将程序写入单片机,结合外部电路模块进行仿真。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试,然后再综合起来调试。5.3 综合调试所谓综合调试,既是将该系统的硬件部分组装好,然后将写好程序的单片机插入系统,进行调试。对

40、于综合调试,首先应保证硬件调试以及软件调试没有问题。进而安装芯片,分别将单片机芯片、DS12C887芯片、24C02芯片以及LCD1602液晶安装上(不可安装反,否则烧坏),将霍尔传感器模块、继电器模块、电动推杆连接上,检查无误以后通电。通电后,看系统是否能够正常显示。如果能够正常显示,LCD1602上行应当显示年月日,下行应显示现在速度。如果霍尔传感器的口槽中无遮挡片通过时,正常系统应当显示“000.0m/s”。如果不能够正常显示,首先检查一下LCD1602的灰度调整管脚,调整一下灰度,看能否正常显示。此时如果依然不能够正常显示,那必是信号干扰问题,此时可以回到软件调试,利用Keil uVi

41、sion2软件在程序中添加类似“LCD_Write_Char(7,1, );”的语句添加入空格,以遮挡住因干扰引起的斑点。如果屏幕能够正常显示,接下来分别调试超速报警及限速功能、速度上限修改功能、年月日和时分秒的转换功能、时间以及万年历调整功能、密码修改功能、串口修改密码功能。我在调试过程中,遇到的问题以及解决方案如下: 显示系统不稳定 万年历中星期显示不准确 电动推杆的功能与预期正好相反 时钟数据不稳定读出。 串口发送数据时出现乱码6 设计结果该产品的最终结果如图6.1至所示。图6.1所示的是该系统的整体图,左上部分是电动推杆,左下部分是控制电动推杆的充电电池,右边是该系统的控制板。充电电池

42、电动推杆液晶屏幕串口模块主控制板继电器模块霍尔传感器模块图6.1 系统图在刚刚开机时,该产品的界面如图6.2所示,屏幕上显示年月日和星期,当看到指示灯能够每隔一秒钟闪烁一次的话,证明该系统正常工作。指示灯图6.2 开机界面图6.3所示的是速度上限调整时的情况,欲调整速度上限时,按下“startt”,然后必须首先输入密码,如果密码正确,进而进入调整界面,即图6.4。图6.3 输入密码图6.4 修改速度上限图6.5至显示的是当系统检测到超速的时候的反应。图6.5显示的是电动推杆原始长度,图6.6显示的是当检测到车辆速度超过速度上限时,电动推杆伸长,图6.7和图6.8显示的是当速度恢复正常时,电动推

43、杆又一次缩回。图6.5 电动推杆原始长度图6.9显示的是当按下“fangshigai”按键时的系统显示情况,此时系统的时间显示由原来的年月日星期转换为时分秒,再次按下恢复至年月日星期。该键就图6.6 电动推杆伸长图6.7 电动推杆缩回图6.8 电动推杆缩回是用来实现切换的。图6.10所示的是时间修改时的显示情况。当需要修改时间或者年月日时,先通过“fangshigai”按键切换到想要修改的种类,然后按下“diaon”按键,开始校时。校时开始以后,按“youyi”或者“zuoyi”切换调整项目。利用“shangtiao”图6.9 时间显示切换图6.10 开始校时和“xiatiao”来调整所选项目的大小。通过图6.11所示可得该系统的时钟与万年

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

当前位置:首页 > 其他


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