ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:587.24KB ,
资源ID:835207      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-835207.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汽车巡航控制系统设计毕业设计说明书张翅文档格式.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

汽车巡航控制系统设计毕业设计说明书张翅文档格式.docx

1、4 系统软件设计204.1 proteus 软件环境介绍204.2 protel 软件环境介绍224.3 系统软件分析224.4 程序流程图235 系统调试过程295.1 电路原理图295.2 系统仿真调试30结论37总结与体会38谢 辞39参考文献40附录41汽车巡航控制系统设计摘要本设计是基于 AT89C52 单片机为控制核心的汽车巡航控制系统设计。系统采用 LM016L 液晶显示屏,将汽车在高速状态下的当前速度以及巡航设置速度显示出来,在系统中还采用舵机来控制节气门(也俗称油门)来控制其开度,设置舵机的转向来表示加油还是减油,在巡航控制中,设置按键对巡航进行加减速度的设计,并运用 PID

2、 算法进行实现,在仿真中,用滑动变阻器的增减代替道路状况的好或坏来仿真巡航设定后,舵机工作状况。本设计说明书对该系统的硬件电路,工作原理进行了详细的介绍。同时给出了软件设计的流程图和主要源代码。关键词:AT89C52 单片机舵机LCD 液晶显示器PID 算法The Design Of The Cruise Control System AbstractThe design is the Cruise Control System, based on the AT89C52 Single chip asthe control center. This System used LM016L LCD

3、 screen to display the cruising speed of the vehicle and the current speed when it at high speed. Also the System used steering engine to control the throttle actuator (commonly known as the throttle), in order to control the size of opening; and rotating the direction of steering engine to represen

4、t increasing or decreasing oil. Under the cruise control, the design of setting the keys to crease or decrease the cruising speed,then using of PID algorithm to programming.In the course of simulation, author uses the sliding rheostat to simulate the road conditions (good or bad); after speed changi

5、ng, author watches the working conditions of steering engine. This design specification introduced both hardware circuit and working principle in detail; at the same time, it gives the flow chart and the main source code of software design.Key words: 89C52 Single Chip Steering gear LCD display PID a

6、lgorithm1 前言1.1 设计的目的及意义随着高速公路的发展,汽车在高速路上以80Km/h-120Km/h的速度行驶,在这种高速下,节气门的开度需要大幅度的开启,也就是说驾驶员需要较大的力度去踩踏板,并且在高速路上要全部保持这种状态,如果驾驶员光用脚去控制踏板,很容易导致控制油门的踏板的腿部肌肉疲劳加大,如果严重了,会失去对踏板的控制能力,那在汽车需要制动的时候,很容易发生事故。一方面对驾驶员的身体造成一定伤害,又增大了驾驶员得劳动强度,使驾驶员容易疲劳, 引起交通事故。现代汽车电子技术为解决这个问题,研发出了一种电子控制巡航系统(CCS),当车速达到一定高速的时候,如果想进入巡航状态,

7、可以直接开启巡航控制开关,然后汽车会以当前的车速自动进入巡航状态,保持在这个速度附近不变,如果突遇道路状况变化、上下坡、转弯和各种阻力变化的情况下,巡航控制系统的执行器可以在一定范围下自动调节节气门开度,保持车速恒定,驾驶员在巡航过程中只需要控制转向盘,两腿处于自由状态,使驾驶员的劳动强度大大减轻。1.2 任务与分析本次设计的系统的实现是基于单片机的。首先,在 Protel 软件环境中进行硬件电路图的设计。然后在 8051 软件环境中进行系统的软件编程,并进行程序源文件的编译和调试,最后生成.hex 文件。此.hex 文件是硬件电路运行实现的源代码来源。把.hex 文件加载到 AT89C52

8、单片机芯片,然后在 Proteus 软件环境中运行硬件电路1。本课题设计的系统主要由:AT89C52 为中央处理芯片,用于数据处理,初值设定。车速是由一个方波信号发生器发出一个固定的信号,是一个固定的信号 也就是每次采集的脉冲个数不会因为舵机动作而变化,作为对车速的反馈调节,把舵机信号和路况模拟参数加了进去,在巡航控制中,主要设置 5 个按键, KEY1(巡航总开关),KEY2(巡航设定开启),KEY3(巡航加速),KEY4(巡航减速),KEY5(巡航取消),除这 5 个按键之外,还设置了两个按键来模拟驾驶员开车时候的加油门和减油门,并将检测的当前的车速和巡航控制中设定的车速显示在 LM016

9、L 液晶显示器显屏中,本次设计用 VC 语言进行编程。本系统可以分为以下 4 大模块:1、AT89C52 模块:用于数据处理,和外围的时钟芯片通信,并控制时钟传输过程,采集时间信息并予以处理。2、A/D 转换:本次设计采用的是 ADC0804A/D转换器,三态锁定输出,135US 的存取时间,8 位的分辨率,在设计中,用一个滑动变阻器代替汽车行驶时候路面变化状况,阻止的减少表示路面状况变好,阻止增大表示路面状况变差,这样就会产生一个模拟信号,用 ADC0804 A/D 转换器将模拟信号转换成数字信号输入到 AT89C52 单片机进行处理。3、1602LCD 液晶显示器:工业字符型液晶,能够同时

10、显示 16x02 即 32 个字符。4、程序:单片机主程序,包括 A/D 转换程序,中断程序,按键扫描子程序, 显示字符子程序,显示转速子程序。2 系统方案设计2.1 系统设计方案通过查阅相关资料,设计初期共有 3 个方案供选择,分别是:(1)采用89C2051 单片机+步进电机+数码管显示组成的系统;(2)采用 AT89C52 单片机+步进电机+1602 液晶显示芯片组成的系统;(3)采用 AT89C52 单片机和舵机加上 1602 显示组成的系统。(1) 采用 89C2051 单片机+步进电机+数码管显示组成的系统此系统的硬件部分主要是由 89C2051 单片机,数码管,7805,ADC0

11、832 构成。该系统硬件结构简单,但是数码管显示耗费单片机资源,软件设计部分, 程序冗长而复杂,易产生混淆。(2) 采用 AT89C52 单片机+步进电机+1602 液晶显示芯片组成的系统;这个方案采用 AT89C52 单片机,1602 液晶,步进电机来组成系统的硬件。但是步进电机做位置定位电机扭力一般比舵机要小,而舵机机用于位置定位,必须用位置反馈的方法通过一定的算法来实现的,在进行反馈调速时候不如舵机好用。(3) 采用 AT89C52 单片机和舵机加上 1602 显示组成的系统此方案在硬件部分采用了 AT89C52 单片机,MG995 舵机,ADC0804,1602 液晶显示器,几个按键。

12、在功能上进行了扩充,并且使得硬件连线显得较为简单,在软件部分,程序显得层次分明。最后确定设计采用第 3 方案,即系统是由 AT89C52 单片机,MG995 舵机,ADC0804,1602 液晶显示器组成2。2.2 系统总体框图图 1 系统总体框图当汽车巡航控制系统启动后,程序进入初始化阶段。单片机一直检测是否有按键按下。当开关键按下后液晶显示当前车速和巡航车速,当巡航车速为0km/h 时,系统处于关闭状态。当按下设定键如果当前车速在 40km/h-180km/h 时,设置巡航车速为当前车速,系统打开,PID 算法控制舵机开始通过节气门调整车速。此时按下加速(或减速)键,巡航车速每次增加(或降

13、低)5km/h,汽车定速巡航,此时如果按下取消键、开关键、模拟油门动作的按键中的任何一个,系统就会关闭,车速由驾驶员控制。3 系统硬件电路设计3.1 89C52 单片机AT89C52 单片机是低电压,高性能 CMOS 8 位的单片机,其中由和随机存取数据存储器组成,而程序存储器由可反复擦写的 Flash 8k bytes 组成,器件采用ATMEL 公司的高密度、非易失性存储技术生产,可以说是 89C51 单片机的升级版,单片机片内置通用 8 位中央处理器和 Flash 存储单元。AT89C52 有 40 个引脚,双向输入/输出(I/O)有 32 个端口,中断口有两个,16 位可编程定时计数器有

14、 3 个,全双工串行通信口有 2 个,读写口线有 2 个,AT89C52 虽然不可以在线编程,但可以按照常规方法进行编程。Flash 存储器是和通用的微处理器结合在一起的,而 Flash 存储器能够反复擦写使开发成本得到了降低。图 2 AT89C52 单片机引脚图AT89C52 单片机与早期 Intel 的 8051/8751/8031 芯片的外部引脚和指令系统完全兼容,只不过用 Flash ROM替代了 ROM/EPROM 而已。89C52 单片机内部结构如图所示。图 3 AT89C52 单片机内部结构示意图VCC:供电引脚。GND:接地。P0 口:P0 口是一个 8 位漏级开路双向 I/O

15、 口,每脚吸收 8TTL 门电流。当P1 口的引脚第一次写入 1 时,定义为高阻输入。P0 口能够用做外部程序数据存储器,还可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口可作为原码输入口,当对 FIASH 校验时,P0 输出原码,此时 P0 外部一定要被拉高。P1 口:P1 口是一个在内部提供上拉电阻的 8 位双向 I/O 口。P1 口缓冲器可以接收输出 4TTL 门电流,P1 口引脚写入 1 后,被内部上拉为高,可以用作输入。P1 口被外部下拉为低电平时,会输出电流,这是因为内部上拉的原因。对 FLASH 校验和编程时 P1 口作为第八位地址接收。P2 口:P2 口是内部上

16、拉电阻的 8 位双向 I/O 口,P2 口缓冲器能接收输出4 个 TTL 门电流。当 P2 口被写 1 时其管脚被内部的上拉电阻拉高,并且作为输入。因此原因作为输入时,P2 口的引脚被外部拉低,此时输出电流,这是由于内部上拉的缘故。当对外部 8 位地址数据存储器进行读写时,P2 口将输出特殊功能寄存器的内容。P2 口在 FLASH 校验和编程时接收高八位控制信号和地址信号。P3 口: P3 口的引脚是 8 个带内部上拉电阻的双向 I/O 口可以接收输出 4 个 TTL 门电流。当 P3 口写入 1 时管脚被内部上拉为高电平,并作为输入引脚。当外部下拉为低电平 P3 口将输出电流(ILL),是由

17、于上拉的缘故。P3 口也可作为 AT89C52 的特殊功能口P3 口管脚 第二功能:P3.0 RXD:(串行输入口) P3.1 TXD:(串行输出口) P3.2 INT0:(外部中断 0) P3.3 INT1:(外部中断 1)P3.4 T0:(记时器 0 外部输入) P3.5 T1:(记时器 1 外部输入) P3.6 WR:(外部数据存储器写选通) P3.7 RD:(外部数据存储器读选通)P3 口同时也为闪烁编程、编程校验接收一些控制信号。RST 引脚:复位功能。当振荡器复位器件时,应该保持 RST 引脚两个机器周期的高电平时间。ALE/PROG 引脚:ALE 端是以不变的频率周期输出正的脉冲

18、信号,此频率为振荡器频率的 1/6,因此它可用作对外部输出的脉冲或者用于定时。但是要注意的是,每当用作外部数据存储器时,都将跳过一个 ALE 脉冲,如想禁止 ALE 的输出,可在 SFR8EH 地址上置 0。与此同时, ALE 只有在执行 MOVX,MOVC 指令时 ALE 才起作用。另外,该引脚被拉高。PSEN 引脚: 是外部程序存储器的选通信号。在外部程序存储器取指期间, 每个机器周期两次/PSEN 有效。但当访问外部数据存储器时,两次有效的/PSEN 信号将不会出现。EA/VPP 引脚:加密方式 1 时,/EA 将内部锁定为 RESET。在 FLASH 编程期间,这个引脚也可用于施加 1

19、2V 编程电源(VPP)。XTAL1 引脚:反向振荡放大器的输入以及内部时钟工作电路的输入。XTAL2 引脚:反向振荡器的输出。振荡器特性:XTAL1 和 XTAL2 分别是反向放大器的输入和输出端。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡都可采用。如果采用外部时钟源驱动器 件那么 XTAL2 应不接。要是有输入至内部时钟信号则要通过一个二分频触发器, 因此对外部时钟信号的脉宽并无任何要求,但是必须保证脉冲的高低电平需要 的宽度。AT89C52 主要特性: 1)与 MCS-51 兼容2)片内振荡器和时钟电路3)4K 字节可编程闪烁存储器4) 全静态工作:0Hz-24MHz5) 三级

20、程序存储器锁定6) 数据保留时间:10 年7)1288 位内部 RAM8)32 可编程 I/O 线9)5 个中断源10) 两个 16 位定时器/计数器11) 寿命:1000 写/擦循环12) 可编程串行通道13) 低功耗的闲置和掉电模式3.2 ADC0804 A/D 转换器A/D 转换器就是将产生的模拟信号(无论是电压变化,温度变化)转变成数字信号输入单片机进行处理。ADC0804 A/D 转换器有依次逼近的8 位COMS,三态锁定输出,在工作中能达到135US的存取时间。而它的8位分辨率, 100US转换时间,1LSB的总误差, 是相当高效的。图 4 ADC0804 引脚图下面对ADC080

21、4引脚依次作介绍:/CS:为芯片的选择信号。/RD:为外部读取转换结果的控制输出信号。当/RD为HI 时,DB0DB7 是高阻抗处理,当/RD为LO 时,才能够输出数字信号。/WR:用来控制输入转换的启动口,表示ADC的转换开始(/CS=0 时),当/WR 口由HI变为LO时,清除转换器:当/WR 变为HI时,开始转换。其中/CS,/RD,/WR 三个端口对整个AD转换器进行控制。CLK IN,CLK R:时钟输入。/INTR:中断请求信号输出口。VIN(+) VIN(-) :差动模拟电压输入。当单端正电压时输入时,VIN(-)接地:当差动输入时,直接加入VIN(+) VIN(-)。DGND,

22、 AGND: 数字信号和模拟信号的接地口。VREF:辅助参考电压。DB0DB7:输出8 位的数字信号。VCC: 电源供应。在本次设计中,由滑动变阻器产生的一个模拟信号,由 VIN(+)口输入ADC0804,转换后的数字信号由 DB1 到 DB6 输入进 89C52 单片机进行处理。3.3 舵机本次设计采用辉盛 mg995 舵机,在仿真中,用舵机控制节气门的开度,舵机转动范围为-90 度到+90 度,而相对应车速在 0Km/h 到 180Km/n 之间,舵机转角增大表示节气门开度增大,节气门开度变大,使速度增加,当舵机转角变小时,表示节气门开度减少,驾驶员开始减油门,车速减小,通过单片机AT89

23、C52 中的 P2.3 口来控制舵机。图 5 舵机3.4 LCD 1602 液晶显示器液晶显示是利用液晶的物理特性,显示区域由电压来控制,有电就有显示,LCD 既可以显示图形,也可以显示字符。液晶显示器以体型薄、显示质量高, 功耗低等优点被广泛使用。图 6 1602 LCD 液晶显示屏LCD 液晶显示屏的优点。1. 1602 LCD 液晶屏显示质量高液晶显示器画质高且不会闪烁,这是因为液晶显示器不像阴极射线管显示器,会不断刷新新亮点,每一个点在收到信号后的亮度和色彩会得到很好的保持,而且发光非常恒定。2、数字式接口液晶显示器都是接受数字式的信号,单片机系输出的信号能够被液晶显示器更好吸收,在做

24、实物的时候方便操作。3,体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。4,功耗低LCD 液晶显示器主要内部的电极和驱动 IC 上耗功电量,因而耗电量比其它显示器要少得多。下图是 LCD 液晶显示器实物图:图 7LCD 液晶显示器3.5 时钟电路本设计采用内部时钟方式的电路。 在 89C52 单片机内部中有一个用于构成放大器,该放大器内有高增益反相的振荡器,其中XTAL1 为输入端口,XTAL2 为输出端口。这两个引脚连接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的电容 C3 和 C4 为 30pF。常

25、是在1.2MHZ12MHZ 为晶体的振荡频率的通常范围。晶体频率与系统的时钟频率成正比,而频率越快,单片机的运行速度也就越快。图 8 时钟电路3.6 复位电路复位电路通常采用上电自动复位和按钮复位两种方式。本次设计采用上电复位电路。加电瞬间通过电容充电来实现的是上电复位电路,其电路如图 9 所示。通电的时候,电容 C1 通过电阻 R1 充电,RST 端口出现正脉冲时候,用以复位。当电源 Vcc 的上升时间没有超过 1ms 时,系统自动复位,即接通电源就完成了系统的复位初始化。在参数的选定过程中,振荡稳定后应保证复位高电平持续时间大于 2 个机器周期。本次设计采用的晶体频率为 6MHZ, C1=

26、22uF,R1=1k。图 9复位电路4 系统软件设计4.1 proteus 软件环境介绍Proteus 软件是英国 Labcenter electronics 公司所开发的工具软件,Proteus 软件除了具有和其它 EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,最重要的是,它有互动的电路仿真。在微处理器的应用上,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。Proteus 软件中能进行模拟和数字电路的设计,在设计中可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。 而且在仿真过程中能获得信号图标,对于市面上最流行的

27、单片机都能进行仿真, 而且还能利用 ARES 开发印制电路板。4.2 Protel 软件环境介绍Protel 印制板设计软件包是澳大利亚 proteltechnology 公司发开的电子CAD 产品,在电路图的设计上, protel 有着很高的自动布线布通率。而电子元器件在电路图中连接,在印刷版图中能否实现主要依靠它。在设计常用的单、双面印制板时只要选择适当的元件布局和布线策略方法,protel 就可以轻易的达到 98%-100%的布通率。对于极少数不能布通的定方,protel 可以用飞线指示出来,引导用户用手工方法连通。4.3 系统软件和硬件在本次系统,我偏重做了软件部分,对整个巡航系统首先

28、做了 Protel 电路图,和 Proteus 仿真,又利用 keil 软件进行程序的编译与调试,它对硬件系统起到扩充和完善的作用。而在系统硬件部分,我做了巡航 5 个按键以及显示的功能。下面将软件和硬件部分做个简单介绍:(1) 汽车巡航软件程序设计过程使用的 AD 芯片采样模拟路况,通过信号发生器模拟车速传感器信号,程序里要对 AD 进行控制和数据读取,而单片机要处理车速信号得到当前车速,还要控制液晶显示和舵机的工作,由于本系统使用的单片机没有 PWM 模块,舵机控制信号采用的是由两个中断来控制产生的7。(2) 汽车巡航硬件实物设计过程在硬件电路设计中,先购买需要的各种元器件,然后依照 Pr

29、otel 软件中生的 PCB 版,对电路进行连线,最后将程序写入单片机,输入信号,进行按键调试,下图为此次毕业设计中所做的实物:图 10 硬件实物4.4 程序流程图(1) 主程序流程图图 11 主程序图(上)图 12 主程序图(下)主程序流程图说明:对系统先进行初始化,由 AD 转换器采集的模拟信号转换为数字信号,输入单片机进行处理,同时进行按键扫描,当车速达到巡航要求范围内,按下巡航设定,采样当前车速,并进行设定,那么此时 PID 算法将起作用,将车速和舵机转角控制在设定值左右,由于本系统涉及到生命财产安全,所以设计了开关和设定两个按键来确认汽车巡航,其中巡航取消按键和驾驶员加减油门都可以使汽车巡航关闭。(2) A/D 采样模拟路况子程序图 13AD 采样子程序流程图框图A/D 采样模拟路况子程序图说明:在此图中先将 AD 转换器初始化,将滑动变阻器产生的模拟信号转变成数字信号,然后读取到采样值,并输入给单片机工作。(3) PID

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2