1、唐 山 学 院毕 业 设 计设计题目:超声测距单片机控制系统设计 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论
2、文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 超声测距单片机控制系统设计摘要随着社会经济的发展交通运输业日益兴旺,汽车的数量大幅攀升,交通事故频发,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞预警系统势在必行,超声波测距法是最常见的一种距离测距方法,本文介绍的就是利用超声波测距法设计的一种倒车防撞报警系统。控制系统核心部分就是超声波测距仪和语音播报模块。本次设计所采用的单片机是STC89C52,它的
3、CPU是8位的,具有体积小,精度高,价格便宜的优点。超声测距模块采用的是HC_SR04,语音播报模块采用的是ISD1820。整个电路采用模块化设计,由主程序模块,显示模块,语音播报模块,超声波测距模块,延时模块等组成。由单片机提供10us以上的TTL电平触发超声波测距模块,由单片机计算超声波从发射到接收的时间差,从而计算出距离值,根据单片机设定的报警范围决定是显示距离还是进行相应的语音播报。最后通过硬件和软件设计实现了各个模块的功能。相关部分附有硬件电路图、程序流程图。最终结果表明,此设计能很好地完成汽车倒车预警的任务,并能正常显示距离和进行相应的语音提示,能较好地运用到实际生活当中。关键词:
4、超声波传感器;单片机;安全预警系统 唐 山 学 院 毕 业 设 计Design of Ultrasonic Range Control System based on Single-chip Microcomputer AbstractAs social and economic development of the transport industry booming, the number of cars rose sharply,and frequent traffic accidents happened.For this situation, designing a fast res
5、ponse, high reliability and more economical vehicle collision avoidance warning system is imperative , ultrasonic ranging method is the most common form of distance ranging method. The thesis designs a reversing collision alarm system based on an ultrasonic distance measurement method. Control syste
6、m consists of the ultrasonic range finder and voice broadcast module.Micro-controller STC89C52 is used in the design , it is an 8-bit CPU, with small size, high accuracy, low price advantages. Ultrasonic Ranging Module uses HC_SR04 and voice broadcast module uses ISD1820. The entire circuit is modul
7、ar in design, containing the main program module, display module, voice broadcast module, ultrasonic ranging module, the delay module and other components. The micro-controller provides more than 10us TTL level to trigger ultrasonic ranging module.The time difference from the transmitter to the rece
8、iver is calculated by the micro-controller and then micro-controller calculates the distance value. Whether display or voice broadcast is according to alarm range set by the chip. Finally,we achieve the function of each module by the design of hardware and software.The relevant part is accompanied b
9、y the hardware circuit and program flowchart.Final results show that this design can well accomplish the task of vehicle reversing warning, and can properly display the distance.The design can be well applied to real life with achieving the corresponding voice prompts.Key Word: ultrasonic sensor; si
10、ngle-chip microcomputer; safety early warning system 目录1 绪论11.1论文研究目的及意义11.2国内外研究发展情况11.3论文研究内容32 控制系统主要硬件的介绍42.1单片机STC89C52选型42.1.1 STC89C52简介42.1.2 STC89C52引脚介绍52.2 超声波测距模块选型72.2.1 HC-SR04介绍72.2.2 超声测距模块构成102.3显示器件的选型112.3.1数码管的选型122.4 ISD1820语音芯片介绍14 2.4.1管脚排列图14 2.4.2 芯片录音时间介绍142.4.3 实物图及使用说明153
11、 硬件电路设计173.1单片机最小系统设计173.2超声波测距显示电路系统设计183.3 超声波系统设计193.4 语音系统设计204 系统软件部分设计214.1 预警系统主体部分流程图214.2主程序及启动超声测距部分234.2.1 主程序的初始化234.2.2 启动超声测距模块及调用计算244.3 延时子程序244.4 数码管扫描显示程序244.5 中断子程序254.5.1 定时器T0计数溢出程序设计254.5.2 定时器T1中断扫描和启动模块254.6 距离计算和语音报警子程序265 实物性能测试285.1 单片机测试285.2 程序调试286 编程和下载软件的介绍296.1 Keil的
12、简介296.2 Altium Designer 9.0的简介366.3 STC_ISP_V480的简介407 结论42谢辞43参考文献43附录1 源程序45附录2 电气原理图481 绪论1.1论文研究目的及意义汽车倒车系统即俗称的倒车雷达,是辅助泊车装置。在各种汽车倒车的时候,通过超声测距的原理,当遇到障碍物的时候,能反射相应的信号,根据单片机内部设定的程序,计算出相应的距离,并进行相应的语音提示【1】。在日常的生活中,我们经常能看到小汽车的各种磕磕碰碰的事情发生,安全距离控制不当甚至有可能产生非常严重的后果,所以开发一种语音报警的汽车防撞预警系统势在必行,也是此次设计的主要努力方向,希望自己
13、的产品有一天能真正应用到生活实际,造福全社会。无论是在施工的工地上,还是在日常的停车场中,司机经常能听到各种相应的提示声音,比如,很快就到了,再倒一点,就差一点,从而对司机进行相应的指导,使司机师傅能正常的停在所在的位置,不至于造成不必要的损害。随着社会的发展,有车一族的发展势不可挡,尤其现在的女司机也是越来越多,由于女性开车本来就小心翼翼,而且驾车技术相比于男性还是有一定的差距,并且出于对妇女权益的保护,本设计还具有一定的人文情怀,从此出发点考虑,无论是在小汽车,还是在大客车,以至于在军事用途上都可以得到相应的应用和发展。有需求,就有市场,就可以大规模的生产,所以此次研究具有一定的探索意义,
14、对以后倒车雷达的发展具有开创性的意义,但本次设计只是从简单的设计角度出发,很多器件的选择不够精确,发展还有很多前景可挖掘。相信本设计在以后的实际生活中将会发生举足轻重的作用,对社会交通安全发展也将有开创性的意义,对于日益频发的交通事故有一定的抑制作用。系统电路主要采用集成器件构成,调试方便、外围元件少,成本低、电路简洁,利于商品化生产。 1.2国内外研究发展情况倒车雷达,是汽车停车的时候一种辅助泊车装置,由探头、控制芯片和显示器件(或蜂鸣器)等部分组成。它能以语音提示告知驾车者周边被测物的情况,消除了驾车者开车、停车的时候所引起的不便,改善驾驶的安全性能。现在市面上的倒车雷达大多采用超声波测距
15、原理,驾驶者在倒车时,将汽车的挡位推到R挡,启动倒车雷达,在控制芯片的作用下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物后,产生向回传的一个信号,传感器接收到此信号后经控制器进行数据处理,近而计算出车与被测物体之间的距离,判断此物的位置,再由显示器显示距离并发出相应的语音提示,从而使驾驶者倒车时不至于撞上障碍物。整个过程,驾驶者无须回头便可知车后的情况,使停车和倒车更容易、更安全。 超声的研究和发展,与媒质中超声波的产生以及接收的研究有着密切的关系。1883年Galton首次制成了超声气哨,其基本原理是经压缩的气体通过一次狭缝喷嘴就会形成气流,圆形刀口由于气流的振动形成共振腔,就会产生超
16、声波。自此之后,各种各样的汽笛和液哨等机械型超声换能器开始陆续出现。这类换能器成本比较低,所以经过不断改进,至今仍在超声处理技术中广泛应用。由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类采用仿真技能利用超声波测距。超声波测距是一种利用声波特性,电子计数,光电开关相结合来实现非接触式距离测量的方法,它在很多距离探测应用中有很重要的用途,包括非损害测量,过程检测,机器人检测和定位以及流体液面高度测量等。在未来的发展中,超声波传感器作为一种新型的非常重要的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度多功能的方向发展,以满足
17、日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波传感器将与自动化智能化接轨,与其他的传感器集成和融合,形成多传感器。随着传感器的技术进步,传感器将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的传感器将发挥更大的作用。超声波传感器是本倒车雷达的核心部分,对倒车雷达预警系统的研究发展具有决定性
18、的意义。目前市场上倒车雷达品牌多达二十几种,价格从上百元到一两千元不等,选购倒车雷达可以从如下方面考虑:功能、性能、外观、质量、安装、价格等。1.3论文研究内容 在本次倒车雷达的预警系统的研究工作中,核心部分是超声波测距系统、语音播报系统,另外自己添加温度检测系统,主要是考虑到人们出行,或是在车内休息时候经常关住温度变化。另外自己选择的语音模块还可以进行任意录音和播放,可以循环播放,点动播放等,还可以外接功率更大的喇叭,选择直通模式,直接进行喊话功能,用于提示车外的行人,可以像警察那样喊话,给有个性的年轻人一个张扬个性的机会。本文主要的工作有以下几个方面:(1)绪论部分主要阐述论文研究的目的和
19、意义,国内外倒车雷达预警系统的发展情况,使读者对所研究的问题有初步的认识,更好的理解本文做好铺垫工作。(2)控制系统主要硬件的介绍,相当于介绍一个系统的主要外壳是如何构建的,主要包括单片机的选型以及STC89C52单片机的介绍,超声波测距模块HC_SR04的尺寸和性能的介绍,语音播报模块 ISD1820的使用方法和功能的介绍,外加温度传感器DS18B20,用于测量车内温度,给车主更人性化的提示。另外,还有四位一体数码管的引脚和使用情况的介绍,对显示系统有详细介绍,让使用者更加了解其相应的功能。(3)系统软件部分介绍,主要包括使用到的软件工具和编程思路的简单介绍,对使用的画图软件AD9、编程调试
20、软件KEIL、程序下载软件STC_ISP的简单介绍。(4)对本次设计进行总结,对所有给予过帮助的老师同学致谢。2 控制系统主要硬件的介绍 本次硬件电路的设计采用模块化设计思想,主要是由于在初次采用分立元件进行焊接的时候,最终没能完成自己设想的功能,在仔细分析各方面问题之后,还是没能找出问题的症结,后来自己进行第二次尝试采用模块化的设计思想后,一次成功,所以最终自己设计出来的产品是各种模块的组合,同时也为后面的软件提供了方便,不用把各个部分全部编译,只需要主驱动程序即可。下面首先介绍自己各种硬件芯片的选型问题,有些选型是在实际中经常用到的,在此不再赘述,只是介绍主要的硬件。2.1单片机STC89
21、C52选型2.1.1 STC89C52简介虽然STC89C52与AT89C52是兼容的,但是后者已经停产,并且前者价格便宜,适合学生使用,稳定性及可操作性都比后者要好,所以选择后者,而且后者是在市场上比较流行的一种再用的芯片。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能:
22、8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 其PDIP封装如图2-1。图2-1 STC89C52 PDI
23、P封装图2.1.2 STC89C52引脚介绍管脚说明:VCC:供电电压。GND:接地。I/O口引脚: P0口:8位漏极开路的双向I/O口。P0口作为地址总线(低8位)以及数据总线的分时复用端口。P0口也可以作为通用的I/O口使用,但需加上拉电阻,P0口可以驱动8个LS型TTL负载。这次设计中用P0口作为数码管段码的发送端。 P1口是一个带内部上拉电阻的8位双向I/O 口。P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。 P2口是一个带有内部上拉电阻的8位双向I/O 口,P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。在本次设计当中利用P2.2-P2.5口四个端口
24、作为四个数码管的位选信号发射端。 P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P3.2口作为报警上下限值调整信号产生中断的端口。P3口也可作为AT89C51的一些特殊功能口。管脚备选功能如下: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:复位输入。
25、当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外
26、部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2 超声波测距模块选型2.2.1 HC-SR04介绍 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距
27、离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理:超声波测距模块HC-SR04可以提供2cm-400cm的非接触式距离感测功能,测量精度可达高3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理(1) 给trig口最少10us的高电平,用于触发测距,。(2)触发模块后自动发送8个40khz的方波,自动检测信号是否返回。(3)当有信号返回时,IO口ECHO就会输出一个高电平,当超声波返回后,ECHO由高电平变为低电平,超声波从发射到返回的时间就是ECHO高电平持续的时间。测试距离=(ECHO保持高电平时间*声速(350m/s)/2。超声波电气参数电
28、气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40kHz最远射程4m最近射程2cm测量角度15度输入触发信号10uS的TTL脉冲输出回响信号输出TTL电平信号,与射程规格尺寸45*20*15mm超声波时序图如图2-2。图2-2 超声波时序图以上时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将 发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。 回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号 时间间隔可以计算得到距离。公式:距离= 高电平时间*声速(340M/S)/2;建议测量周期为60ms以上,以防止发射
29、信号对 回响信号的影响。HC_SR04实物图2-3。图2-3 HC_SR04实物图HC_SR04实物规格如图2-4。图2-4 HC_SR04实物规格图2.2.2 超声测距模块构成其中主要芯片有TL074、MAX232,EM78P153。(1)MAX232介绍 该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口rs232电平是-10v10v,而一般的单片机应用系统的信号电压是TTL电平05v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将T
30、IA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。主要特点 1、5V电源工作。2、LinBiCMOSTM工艺技术(这种工艺特地发展来允许高速数字逻辑电路和精密模拟电路被集)。3、两个驱动器及两个接收器4、30V输入电平5、低电源电流:典型值是8mA(2)EM78153介绍 1、概括介绍 EM78P153是采用CMOS工艺制造的8位单片机。其内部有512*13位一次性ROM。因此,用户可以方便的改进完善程序。程序代码可用EMC编程器写入芯片。有13位选项位可满足用户要求,其中的保护位用来防止程序被读出。2、 功
31、能特点 工作电压范围是2.0v-6.0v,工作温度范围是0-70,工作频率范围是DC-8MHZ,低功耗,片内可按位编程,一个安全寄存器保护程序不被读出,一个结构寄存器满足用户要求,2个双向I/O口,5级堆栈,掉电模式,可编程自由运行的看门狗定时器,每个指令周期有两个时钟周期等功能。3.引脚分配 (3) TL074介绍 JFET输入运算放大器TL07x系列TL08x系列相似,具有低输入偏置和失调电流和快速压摆率。低谐波失真和低噪声使TL07x系列非常适合高保真音频前置放大器应用。每个放大器采用JFET输入(攀枝花钢铁集团高阻抗)加上集成在一个单芯片双极性输出级。C-后缀器件的特点是从0C至70C
32、。 I-后缀器件的特点是从-40C至85C的操作,M - 后缀器件的特点是操作在整个军用温度范围为-55C至125C。2.3显示器件的选型考虑到使用成本和自己的功能需要采用四位一体的数码管显示,而未用1602,12864等LCD显示,显然后者显示效果和功能更强大,但是出于练习而非商业化生产,没必要使用精度和效果那么好的液晶显示,下面简单介绍四位一体数码管的使用。2.3.1数码管的选型led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还
33、有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2.3是共阴和共阳极数码管的引脚图,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片10引脚的LED数码管。图2-6为常用的LED 图2-5 LED数码管引脚图 图2-6常用LED数码管
34、图2-5每一笔划都是对应一个字母表示DP是小数点. LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。 在开始的选型过程中,既考虑到用液晶1602显示,也考虑到四位一体的数码管,最后结合本设计的显示需要和成本的问题,还有编程的难易程度,最后综合选定了四位一体的数码管。1602液晶显示,虽然显示效果比较好,而且功能比较强大,但是编程相应的复杂些,且出于显示功能的需要,主要用四位一体的数码管即可满足要求,故综合各种考虑,最后选择四位一体的数码管。相应的功能介绍在此不再赘述,主要是由于平常数码管使用
35、比较频繁,大多数人对其功能比较了解,编程也比较简单,主要注意分清共阴极,共阳极即可。2.4 ISD1820语音芯片介绍2.4.1管脚排列图图2-10 ISD1820管脚排列图2.4.2 芯片录音时间介绍 Rosc 80KO 100KO 120KO 160KO 200KO 录放时间 8 秒 10 秒 12 秒 16 秒 20 秒 采样频率 8.0 KHZ 6.4 KHZ 5.3 KHZ 4.0 KHZ 3.2 KHZ 典型带宽 3.4 KHZ 2.6 KHZ 2.3 KHZ 1.7 KHZ 1.3 KHZ2.4.3 实物图及使用说明供电:3-5V,可以在排针或DC座上供电,DC座是内正外负;录放
36、音控制方式:按键控制或单片机,板上的控制扩展口就是给单片机专用的;按键控制录放音操作方法:REC键:录音按键,按住就能录音,松开按键停止录音;RLAYE键:触发模式放音,按一下就播放当前整段的语音;PLAYL键:点动模式放音,按住才放音,松开就停止放音;RPL拨动开关:循环播放模式控制,位于0N端就循环播放;FT拨动开关:直通模块控制,位于ON端咪头语音就直通到喇叭;喇叭接法:本模块有2个喇叭接口,SP1和SP2,SP1是芯片直接输出的音频,SP2是经过LM386放大的语音。SP2的音量是通过板上的兰白可调电位器来调节。如上图放置,顺时针旋转为增加音量。在喇叭的直通模式下,可以直接由麦克风实现
37、相应的系统喊话功能,充分挖掘产品的性能,可以使更模块的利用达到最大化,如果应用到生产的话,也可相应实现利益的最大化。另外语音模块还具有循环播放,点动播放两种方式,可以相应的应用到不同的场合,生产出相应的产品,是不同功能得到不同的开发和利用。另外在本次的设计应用中,还可以把SP2接功率更大喇叭,利用兰白旋钮调节电位器的阻值,实现音量的调节,在不同的场合可以灵活调节音量,使使用性能达到最优化。SP1处接相应配套的小喇叭,在较小的空间范围内,即可满足相应的语音提示作用,对于本设计中的倒车雷达预警系统,使用较小功率的喇叭即可满足相应的功能,故在后面的设计中,只接了个小喇叭。3 硬件电路设计 本部分介绍
38、系统的硬件电路设计,包括单片机最小系统,超声波传感器采集电路,距离显示电路,测温电路以及语音播报电路设计。3.1单片机最小系统设计 最小系统是指能进行正常工作的最简单电路。STC89C52最小应用系统电路如图3-1所示。它包含五个电路部分:供电电路、时钟复位电路、片内外程序存储器选择电路、输入/输出接口电路。其中电源电路、时钟复位电路是保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。图3-1 单片机最小系统下面简单介绍下单片机最小系统的三个主要部分:电源电路 芯片引脚VCC一般接上直流稳压电源+5V,引脚GND接电源+5V的负极,电源电压范围在45.5之间,可保证单片机系统能正常工作
39、。为了确定单片机是否供上电,在VCC和地之间连接了一个发光二极管和1K的电阻。时钟电路 单片机引脚18和引脚19外接晶振及电容, STC89C52芯片的工作频率可在233MHz范围之间选,单片机工作频率取决于晶振XT的频率,通常选用11.0592MHz晶振。两个小电容通常取值30pF,以保证振荡器电路的稳定性及快速性。复位电路单片机复位功能和电脑的重启功能很相似,电脑在使用过程中如果出现死机,在按下重启按钮后,电脑内部的程序会从头重新执行。单片机也类似,当单片机系统在运行中,受到外部环境干扰而出现程序执行错误的时候,按下复位按钮,单片机内部的程序就会从头重新开始执行。复位电路的工作原理:单片机
40、的RST端接复位电路,高电平有效,当加在此引脚上的持续时间大于单片机的2个机器周期(24个时钟周期)时,就可以完成复位操作。 上电自动复位是通过外部复位电路的电容充电来实现的。在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电达到电源电压的0.7倍(单片机的电源是5V,所以充电到电源的0.7倍即为3.5V),需要的时间为10000*10UF=0.1S。所以当电源接通时,只要Vcc的上升时间不超过0.1s,就可以实现自动上电。但是一般情况下,为了获得更安全,更方便的复位时就采用按键复位形式的复位电路,按键复位电路如图3-5。当电源接通时,电容充电从而实现上电复
41、位。当运行出现故障时,按下按钮,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。松开以后又回到低电平,从而能更简单地完成对单片机的复位操作。其中C3的电容起到消除抖动的作用。3.2超声波测距显示电路系统设计图3-2 数码管显示电路系统本设计采用了四位共阳极数码管作为显示的器件,6,8,9,12引脚是数码管的位选信号端,1,2,3,4
42、,5,7,10,11控制数码管的位选,四位数码管分别用一个S9015三极管进行驱动。数码管的显示虽然不是特别高级,看起来已经有些落伍,但是考虑到经济成本的问题,还是选择了比较经济实惠的数码管,而没有选用1602,相信在以后的学习生活中,我会尝试使用类似1602,12864等更高级的显示设备,此次设计只是简单的尝试,所以综合考虑选用四位一体的数码管显示。3.3 超声波系统设计图3-3 超声波测距电路系统本产品使用方法:一个控制口发一个10uS以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间。再由单片机内部设定的公
43、式进行相应的计算即可得到相应的结果。3.4 语音系统设计图3-4 语音电路系统通过控制PLAYE引脚就可以控制模块的录音与放音。而且可以任意进行录音与播放,随心情设计自己喜欢的提示语,达到一种人性化设计的效果,并且语音模块可以单独的使用,SP2 外接功率较大的喇叭,还可以单独的使用,进行相应的喊话操作,即使不用下车也可以方便提醒车前后方的行人,保证行人的人身安全,也是自己避免发生不应该的磕磕碰碰,达到一种安全双保险的功效。4 系统软件部分设计 汽车倒车雷达预警系统中,主要包括驱动的主程序及启动超声测距模块子程序,延时子程序,数码管扫描显示子程序,中断子程序,计算距离和语音报警子程序,温度测试子
44、程序。本次软件开发是基于Windows平台下开发的,主要通过C语言为主要编程语言,使用的软件是Keil编程软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。电路的绘制使用AD9.0软件进行设计。Altium Designer包含所有设计任务所需的工具:原理图和HDL设计输入、电路仿真、信号完整性分析、PCB设计、基于FPGA的嵌入式系统设计和开发。另外可对Altium Designer工作环境加以定制,以满足用户的各种不同需求。主要的烧录器使用STC的USB转串
45、口烧录器STC_ISP_V480。STC_ISP_V4.80是由STC公司研发,可以向STC89C51、STC89C52等系列单片机内烧写程序。可以设置波特率,串口等参数。同时STC_ISP_V4.80还可以作为串口调试工具,用于串口收发数据的调试软件。4.1 预警系统主体部分流程图根据硬件电路图,综合自己的设计思路,先画出程序流程图,再根据流程图编好程序,经过整理后最后形成最终的程序。 由于本次系统设计采用模块化设计,譬如超声测距模块和语音播报模块本身内部的芯片都有烧好的程序,只需要主控机对各个模块进行相应的触发即可正常工作,所以编程总体来讲比较容易实现,这也是本次模块化设计的一个出发点,下
46、面主要对主控程序进行详细的研究分析,研究怎样用程序把各个模块联系在一起的。根据要求绘制的本设计的流程图如图4-1所示。4-1 程序流程图4.2主程序及启动超声测距部分4.2.1 主程序的初始化在主程序当中首先要对系统环境初始化。STC89C52单片机的定时器/计数器工作方式寄存器TMOD用于选择定时器的工作模式和工作方式,字节地址为89H,不能位寻址。其格式如图4-2。图4-2 TMOD工作方式寄存器其中,GATE为门控位。当GATE=0时,仅用运行控制位来控制定时器/计数器计数;当GATE=1时,用外部中断引脚上的高电平与运行控制位共同控制。M1、M0来共同控制定时器的四种工作方式。为计数模式和定时模式选择位。在这里设置定时器T0和T1工作模式都为方式1。方式1为16位计数器,由THx高8位和TLx低8位构成(x=0,1)。