基于单片机的雷达倒车设计—毕业设计

上传人:沈*** 文档编号:41202393 上传时间:2021-11-19 格式:DOC 页数:68 大小:526.50KB
收藏 版权申诉 举报 下载
基于单片机的雷达倒车设计—毕业设计_第1页
第1页 / 共68页
基于单片机的雷达倒车设计—毕业设计_第2页
第2页 / 共68页
基于单片机的雷达倒车设计—毕业设计_第3页
第3页 / 共68页
资源描述:

《基于单片机的雷达倒车设计—毕业设计》由会员分享,可在线阅读,更多相关《基于单片机的雷达倒车设计—毕业设计(68页珍藏版)》请在装配图网上搜索。

1、 辽宁科技大学本科生毕业设计 第62页基于单片机的汽车倒车雷达系统设计摘 要近年来,我国的汽车数量正逐年增加。在公路、街道、停车场、车库等拥挤、狭窄的地方倒车时,驾驶员既要前瞻,又要后顾,稍微不小心就会发生追尾事故。因此。增加汽车的后视能力,研制汽车后部探测障碍物的倒车雷达便成为近些年来的研究热点。为此,设计了以单片机为核心,利用超声波实现无接触测距的倒车雷达系统。工作时,超声波发射器不断发射出一系列连续脉冲,给测量逻辑电路提供一个短脉冲。最后由信号处理装置对接收的信号依据时间差进行处理,自动计算出车与障碍物之间的距离。目前,国内外一般的超声波测距仪,其理想的测量距离为1m5 m,因此大都用于

2、汽车倒车雷达等近距离测距中。设计根据声波在空气中传播反射原理,并且也介绍了基于STC89C52单片机的超声波测距器。该设计由超声波发射、接收模块、单片机处理模块、LCD显示电路、键盘控制电路以及报警显示模块等部分组成,文中详细介绍了测距系统的硬件组成、检测原理、方法以及软件结构。超声波接收电路使用收发分立集成超声波探头HC-SR04,该模块包括超声波发射器、接收器与控制电路。系统通过计算超声波发送和接受到的时间差就能较精确的计算出汽车和障碍物之间的距离,以此来判断汽车与障碍物是否处于安全距离,在探测范围内数码管显示出汽车与障碍物的距离,当距离小于所设计的安全距离时,蜂鸣报警器的发声随着汽车与障

3、碍物的距离越近报警频率越高,并辅助驾驶人员能够安全倒车驾驶。关键词:超声波;测距;STC89C52;HC-SR04;倒车雷达Car Reversing Radar System Based on Single Chip DesignAbstractIn recent years, the number of cars in China is increasing year by year. On highways, streets, parking lot, garage and other crowded, narrow place when reversing, the driver sh

4、ould be forward-looking, want to look back again, a bit not careful collision occurs. Therefore. Increase the car rear view ability, detect obstacles of developing the back of my car reversing radar has become a hot research topic in recent years. Therefore, designed with the single chip processor a

5、s the core, the use of ultrasound to realize non-contact ranging reverse radar system. Work, ultrasonic transmitter continuously emit a series of consecutive pulse, for logic circuit provides a short pulse measurement. Work, ultrasonic transmitter continuously emit a series of consecutive pulse, for

6、 logic circuit provides a short pulse measurement. Finally by the signal processing device for receiving signal according to the processing of time lag, automatic calculation of the car and the distance between the obstacles. At present, the domestic and foreign general ultrasonic range finder, the

7、ideal measuring distance of 1 m 5 m, so mostly used in the close distance such as car reversing radar. Design according to the principle of the reflected sound waves in the air, and also introduces the ultrasonic range finder based on STC89C52 single-chip microcomputer. The design by the ultrasonic

8、transmitting and receiving module, SCM processing module, LCD display circuit, keyboard control circuit and alarm module and other parts, this paper detailed introduces the ranging system hardware composition, detection principle, method and software structure. Ultrasonic receiving circuit using HC

9、- SR04 transceiver discrete integrated ultrasonic probe, the module consists of ultrasonic emitter, receiver and control circuit.KEYWORDS:Ultrasonic;Measure distance;STC89C52;HC-SR04;Reversing radar目 录1 绪论11.1 研究的背景与意义11.2 目前国内倒车雷达的发展现状21.3 课题的研究方法与内容32基于单片机的倒车雷达的系统设计42.1 系统的总体框图42.2 各模块的功能43 硬件设计63

10、.1 主控模块63.1.1 STC89C52单片机主要特性73.1.2 STC89C52单片机的中断系统83.1.3 STC89C52单片机的定时/计数器83.2 超声波发生接收模块设计83.2.1超声波时序图93.2.2 HC-SR04总体性能分析103.2.3 HC-SR04的测量精度和稳定性103.2.4 HC-SR04的测量距离113.3 温度矫正电路113.4 键盘模块设计123.5 蜂鸣器模块设计133.6 LCD液晶显示器简介133.6.1 液晶模块简介133.6.2 液晶显示部分与STC89C52的接口154 系统软件设计164.1 系统软件总体设计164.2 程序设计原理16

11、结 论18致 谢19参考文献20附录21系统总线图21系统PCB设计图21部分程序清单221 绪论倒车雷达又称泊车辅助系统,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了安全性。1.1 研究的背景与意义在现如今伴随着世界经济的不断发展,汽车工业作为推动经济发展的龙头产业,其规模也在不断扩大。中国经济的持续增长和汽车价格的持续下降,吸引了越来越多的家庭去购买自己的汽车。随着汽车拥有量的增加,在享受汽车给我们带来的便利的同时,由于汽车而产生的问题也日益突出。大多数

12、有经验的驾驶员对倒车的基本方法很熟悉,然而很少的人知道倒车是多么危险。许多车队的管理者坦言,在他们所有的机动车事故中,30%60%是倒车事故。一个水平中等的驾驶员花费在倒车上的时间远远不足他们总驾驶时间的 1%。这意味着相比较而言,当你向后移动车辆时发生事故的可能性相当高,在2002年汽车事故的发生比例中,倒车引起的事故占21%,倒车成为令人们头痛的一项任务,即使是经验丰富的司机也在抱怨倒车是件费力费神的事。公路、街道、停车场、车库的拥挤不堪,车辆之间、车辆与人、车辆与墙壁等障碍物之间的碰撞时有发生,针对这一情况,人们对汽车操纵的便捷提出了更高的要求,希望有种装置能够解决汽车倒车给人们带来的倒

13、车问题。 有鉴于此,专门为汽车倒车说设计的“倒车雷达”应运而生, 倒车雷达(Car Reversing Aid System)全称“倒车防撞雷达”,又称“泊车辅助装置”,它是汽车泊车或者倒车时的安全辅助装置,由超声波传感器(俗称探头)、控制器和显示器(或蜂鸣器)等部分组成。它能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车、倒车和启动车辆时前后左右探视所引起的困扰,为倒车导向,提示方向盘该如何打。驾驶者可根据操作指示完成倒车工作。它的运用可极大地减轻驾驶者的体力、脑力劳动强度,降低倒车难度,避免驾驶员因方向感不强,判断和操作失误,并帮助驾驶员扫除了视野死角和视线模糊的缺陷

14、,提高驾驶的安全性,大量避免了由于倒车镜死角和驾驶者目测据误差等原因说引起的交通事故。同时在它的研制基础上,如果完善动力执行机构和地图导航功能,可实现倒车的自动控制,所以本课题的研究也将对最终实现汽车无人驾驶产生积极的意义。1.2 目前国内倒车雷达的发展现状 经过多年的发展,倒车雷达设计以及使用发生了质的变化。经过这几年的发展,倒车雷达系统已经经过了六代技术改良,不管从结构外观上,还是从性能价格上,这六代产品都各有特点,使用较多的是数码显示、荧屏显示和魔幻镜倒车雷达这三种。第一代:倒车时通过喇叭提醒 。”倒车请注意!”想必不少人还记得这种声音,这就是倒车雷达的第一代产品,现在只有少部分商用车还

15、在使用。只要司机挂上倒档,它就会响起,提醒周围的人注意,从某种意义上来说,它对驾驶员并没有直接的帮助,不能算真正的倒车雷达,基本属于淘汰产品。第二代:采用蜂鸣器不同声音提示驾驶员。这是倒车雷达系统的真正开始。倒车时,如果车后1.8m1.5m处有障碍物,蜂鸣器就会开始工作。蜂鸣声越急,表示车辆离障碍物越近。但没有语音提示,也没有距离显示,虽然司机知道有障碍物,但不能确定障碍物离车有多远,对驾驶员帮助不大。第三代:数码波段显示具体距离或者距离范围。这代产品比第二代进步很多,可以显示车后障碍物离车体的距离。如果是物体,在1.8m开始显示;如果是人,在0.9m左右的距离开始显示。这一代产品有两种显示方

16、式,数码显示产品显示距离数字,而波段显示产品由3种颜色来区别:绿色代表安全距离,表示障碍物距离有0.8m以上;黄色代表警告距离,表示障碍物距离只有0.6m0.8m;红色代表危险距离,表示障碍物距离只有不到0.6m,必须停止倒车。 第三代产品把数码和波段组合在一起,比较实用,但安装在车内影响美观。第四代:液晶屏动态显示。这一代有一个质的飞跃,特别是荧屏显示开始出现动态显示系统。不用挂倒档,只要发动汽车,显示器上就会出现汽车图案以及车辆周围障碍物的距离,色彩清晰漂亮,外表美观,可以直接粘贴在仪表盘上,安装很方便。不过LCD显示外观虽精巧,灵敏度较高,但抗干扰能力不强,所以误报也较多。第五代:魔幻镜

17、倒车雷达。结合了前几代产品的优点,采用了最新仿生超声雷达技术,配以高速电脑控制,可全天候准确地测知2m以内的障碍物,并以不同等级的声音提示和直观的显示提醒驾驶员。魔幻镜倒车雷达可以把后视镜、倒车雷达、免提电话、温度显示和车内空气污染显示等多项功能整合在一起,并设计了语音功能,是目前市面上最先进的倒车雷达系统。因为其外形就是一块倒车镜,所以可以不占用车内空间,直接安装在车内后视镜的位置。而且颜色款式多样,可以按照个人需求和车内装饰选配。第六代:专为高档轿车配置的。第六代产品在第五代的基础上新增了很多功能:外观上看,比第五代产品更为精致典雅;从功能上看,它除了具备第五代产品的所有功能之外,还整合了

18、高档轿车具备的影音系统,可以在显示器上观看DVD影像。1.3 课题的研究方法与内容本课题的任务是设计一个基于单片机的超声波倒车雷达系统。本系统采用超声波测距原理,包括超声波传感器(俗称探头)、控制器和显示器等几个部分。驾驶者在倒车时,启动倒车雷达,在控制器的控制下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出警示信号,得到及时警示,从而使驾驶者倒车时做到心中有数,使倒车变得更轻松。本课题的现实应用的意义在于()将倒车自动化从被动防撞引向智能控制方向发展;()体现了“以人为本”的驾驶理念,倒

19、车时驾驶者的视线可集中在前方,不需顾及车后状况,增加倒车的安全性和可靠性,并且它的应用可减轻司机体力和脑力劳动的强度;()它取代了传统倒车对人的驾车经验和技术的依赖,使初学者不需要旁人指导也能根据提示完成复杂的倒车任务;()安全可靠的防碰撞预警,使驾驶者无论是白天还是夜晚都能实现安全倒车;()这一方案建立在安装小组件的基础上,避免对汽车整车的影响,为应用和普及创造了条件,经济性较好,易于普及。本课题研究的主要内容为:超声波倒车雷达国内外的研究历史与现状;超声波测距原理及各种不同的方法;系统总体方案设计以及系统硬件设计和软件设计。设计中采用模块化设计方法,硬件设计包括系统控制模块、测距模块即超声

20、波发射和接收模块,显示报警模块和温度测量模块设计等,软件设计包括按键模块、测距模块、测温模块、显示模块设计等。2基于单片机的倒车雷达的系统设计2.1 系统的总体框图本系统以STC89C52单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、液晶显示等功能的控制,起到总控和协调各模块之间工作的作用。单片机通过驱动蜂鸣器发响声。系统的总体框图如图2.1所示。STC89C52驱动电路键盘控制报警模块温度测量模块 显示模块超声波收发模块图2.1 倒车雷达系统总框图本系统结构如图2-1所示,本设计可分为以下模块:单片机主控模块、键盘模块、超声波模块、液晶模块、温度测量模块。下面对各个模块的设计方案

21、逐一进行论证分析。2.2 各模块的功能1.单片机主控模块通过按键对单片机的作用,是单片机对超声波模块进行触发。利用内部的定时器判断超声波的收发时间。然后单片机在利用温度测量模块获得实时温度来对波速进行补偿。由单片机内部进行计算出波源和障碍物的距离。并通过液晶模块和报警模块体现出来。2.键盘模块按键0:复位键;按键1:触发单片机使其让超声波模块工作;按键2:显示设置上下限的菜单;按键3:切换按下的位;按键4:相应的变量值增加;按键5:相应的变量减少;3.超声波模块(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有

22、信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2;(由于声速随温度会有变化所以增加了温度补偿模块)4.温度测量模块在常温下,超声波的传播速度为340m/s。一般温度每升高1摄氏度,声速增加约为0.6m/s。则通过资料可得波速与温度的关系为V=331.5+0.607T.T为现场温度。V为实际波速。5.液晶模块用来显示实时温度和距离。3 硬件设计 该系统设计有超声波收发电路、电源电路、报警电路、单片机硬件接口电路及LCD显示电路组成,该系统的核心部分采用性能较好的STC89C52单片机,下面分步介绍各硬件部分

23、的具体设计分析。障碍物发射传感器接收传感器发射电路接收电路单片机报警电路测温电路数据显示 图3.1系统硬件构造图3.1 主控模块STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPRO

24、M, MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。STC89C52单片机的基本组成框图见图3-2。图3-2 STC89C52单片机结构图3.1.1 STC89C52单片机主要特性1. 一个8 位的微处理器(C

25、PU)。2. 片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。4. 四个8 位并行IO 接口P0P3,每个口既可以用作输入,

26、也可以用作输出。5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。7. 一个全双工UART(通用异步接收发送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达

27、40MHz,因而大大的提高了指令的执行速度。3.1.2 STC89C52单片机的中断系统STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。3.1.3 STC89C52单片机的定时/计数器在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,

28、也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。3.2 超声波发生接收模块设计根据超声波测距原理,超声波收发设备应该完成超声波脉冲的发射以及回波首波的精确检测。从结构上可以将收发设备分为收发一体换能器和收发分立换能器,这两种形式各自有优缺点。收发一体超声波换能器由于超声波发射和接收在一个口,因此其不存在近距离形成所谓的三角关系,因此其近距离的测量精度高。但是也由于收发共用端口的原因,导致了在发射完成脉冲序列之前不能够开始接收,这就导致了盲区的存在,这在原理是是不能消除的。收发分立超声波换能器虽然在近距离上可以进行测量,近乎没有盲区的存在,但是在近距离上一定会形成一个三角

29、关系,从而导致其近距离上的测量相对误差极大。而在电路上,由于收发一体的超声波换能器的发射驱动电路和接收极的接收检测电路彼此相连,导致了电路的相互干扰,增加了抗干扰设计工作。虽然收发分立形式也存在串扰的缺点,但其是可以通过软硬件设计消除的。从总体上来说,收发分立在应用上更加简单、可靠,本次设计采用收发分立形式换能器。3.2.1 超声波时序图 图3-3超声波时序图图3-3时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将发出8 个40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算

30、得到距离。公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响HC-SR04电路原理图为图3-5图3-5 HC-SR04电路原理图3.2.2 HC-SR04总体性能分析根据HC-SR04的原理图,HC-SR04测距模块时一个相对独立的系统。采用的电源芯片MAX232为超声波换能器提供了合适的电压,驱动换能器正常工作。它采用了单片机EM78P135作为控制器,完成了对外部触发信号的检测、产生脉冲信号、检测回波首波信号等工作。与此同时其还肩负着控制电路的开启,处理超声波换能器的横向干扰,并且消除

31、电路固定延时影响等工作。对于本次设计,选用这种测距模块将极大减少设计的工作,降低设计的成本。3.2.3 HC-SR04的测量精度和稳定性由于HC-SRO4在设计上的较为周全的考虑,使得其的精度较高。但是由于其基于性价比优先的设计思路,其采用了应用广泛、性价比较高的经典设计,即在回波接收处理电路中采用了放大、滤波、放大、过零检测的方法。这种方法结构简单,便于集成化、小型化,但是由于回波信号随着测量距离的变化将发生剧烈变化,这将极大增加系统的设计难度,过零检测电路的参考电压的设置将极为困难。1. 由于空气气流的起伏、目标的形状和粗糙度不同、传感器的响应特性较差等原因,使得传感器的回波信号不是一个规

32、则信号,有较大的不确定性,给触发阀值的设置带来难度,从而使首波的检测发生错误。从而带来了测距的不确定性。2. 由于测量距离、超声的入射角度、反射介质等方面的不同,使得接收换能器所获得的回波幅度相差很大。使用单一电平阈值时,若设置的闭值过高,则可能使较微弱回波漏触发,出现测量错误;若阈值过低,则可能出现的测量相位误差如图3-6所示:图3-6 阈值过低时可能出现的测量相位误差3.2.4 HC-SR04的测量距离由于测距模块的集成化、小型化的设计需求,所以选用的是低压、小型换能器,其发射功率较小,这就直接决定了它的测量距离的不足。再加上换能器的发射角较大,能量不够集中,这更是减小了其探测范围。测距能

33、力的不足,一定程度上意味着对较近距离的小体积物体探测能力的不足。3.3 温度矫正电路在常温下,超声波的传播速度为340m/s,但其传播速度V易受到空气中的温度、湿度、压强等因素的影响,其中温度的影响最大。一般温度每升高1摄氏度,声速增加约为0.6m/s。表3-2为超声波在不同温度下的波速值。表3-2 一些温度下声速温度T/-30-20-100102030声速v/ms-1313319322331337344350由此可见温度对超声波测距系统的影响是不可忽略的。为了得到较为精确的测量结果,必须对波速进行温度补偿。通过实验可获得波速与温度之间的经验模型:V=331.5+0.607T,T为现场温度,V

34、为实际波速。从式中可看出,要获得精确的波速值,必须首先获取现场温度T的大小。本设计采用ds18b20检测现场温度,用以实现实际波速的校准。DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工

35、作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。电路图原理图如图3-7所示。图3-7 DS18B20电路原理图3.4 键盘模块设计图3-8键盘模块电路图本按键模块使用的是多位独立按键,按键一端接IO口,一端接地,由于单片机的IO口都有内部上拉,因此当按键没有按下的时候,IO检测到的时候高电平,当按键按下的时候,相当于IO短接地,因此这时候单片机检测

36、到的电平为低电平,通过检测不同时刻的IO口状态就可以判断按下的是那个按键。3.5 蜂鸣器模块设计由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来进行放大电流。蜂鸣器模块的电路图如下图所示。图3-9蜂鸣器驱动电路图3.6 LCD液晶显示器简介3.6.1 液晶模块简介LCD1602液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(B

37、F),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献(30)中的表4.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*

38、7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM但愿,LCD1602液晶模块的引脚图如图4-12所示。图3-10 LCD1602引脚图LCD1602引脚介绍:Vss(1脚):一般接地。Vdd(2脚):接电源。Vee(3脚):液晶显示器对比度调整端,接电源时对比度最弱,接地时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。RS(4脚):RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。R/W(5脚):R/W为读写信号线,高电平

39、(1)时进行读操作,低电平(0)时进行写操作。E(6脚):E(或EN)端为使能(enable)端,下降沿使能。DB0(7脚):底4位三态、 双向数据总线 0位(最低位)。DB1(8脚):底4位三态、 双向数据总线 1位。DB2(9脚):底4位三态、 双向数据总线 2位。DB3(10脚):底4位三态、 双向数据总线 3位。DB4(11脚):高4位三态、 双向数据总线 4位。DB5(12脚):高4位三态、 双向数据总线 5位。DB6(13脚):高4位三态、 双向数据总线 6位。DB7(14脚):高4位三态、 双向数据总线 7位(最高位)(也是busy flang)。寄存器选择控制如表3-3。表3-

40、3寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.6.2 液晶显示部分与STC89C52的接口如图3-11所示。用STC89C52的P2口作为数据线,用P3.2、P3.1、P3.0分别作为LCD的E、R/W、RS。其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为57点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移

41、位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。图3-11 LCD1602与STC89C52的接口4 系统软件设计4.1 系统软件总体设计图4-1系统流程图4.2 程序设计原理软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分

42、为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易

43、出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十ms甚至几百ms也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰。结 论通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力

44、,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现超声波测距系统的所有功能。不足之处有:1.硬件的稳定性有待进一步提高2.系统人性化还不足。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LCD液晶,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。

45、我的动手能力得到了很大的提高,创新意识得到了锻炼。致 谢首先,我要感谢我的指导老师许志宏副教授在毕业设计中对我给予的悉心指导和严格要求,在我毕业论文写作期间,老师给我提供了各方面知识上的指导和日常生活上的关怀,没有您这样的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,向您表示由衷的感激。接着,我要感谢我的室友给了我很多宝贵的意见。在毕业设计的短短3个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。感谢辽宁科技大学,感谢您为我提供了4年大学学习的机会,也许我马上就要离开,但我永远不会忘记在这4年中哭过、笑过的回忆还有许许多多给予我学业上鼓励和帮助的朋

46、友,在此无法一一列举,在此也一并表示感谢!参考文献1 姜威等,实用电子系统设计基础M.北京:北京理工大学出版社,2008,4-8.2 杨凌霄等,微型计算机原理及应用M.徐州:中国矿业大学出版社,2004,6-9.3 沈小丰等,电子技术实践基础M.清华大学出版社,2005,8-10.4 陈光东,赵胜初.单片机微型计算机原理与接口技术(第二版)M.武汉:华中科技大学出版社,1999,3-6.5 徐淑华,程退安,姚万生.单片机微型机原理及应用M.哈尔滨:哈尔滨工业大学出版社,1999,9-10.6 苏长赞,红外线与超声波遥控M.北京:人民邮电出版社,1993,1-2.7 张谦琳,超声波检测原理和方法

47、M.北京:中国科技大学出版社,1993,3-88 丁义元等,高精度测距雷达研究J.电子测量与仪器学报,2000,22(6):37-439 刘霞.单片机系统软件抗干扰措施分析J.电子测量技术,2003,34(4):24-3110 张靖,加强单片机系统抗干扰能力的方法J.通化师范学院学报,2004,46(7):28-4111 袁慧梅,单片机系统的印制板设计与抗干扰技术J.电子工艺技术,2004,51(17):27-4413 薛红宣等,采用软件抗干扰设计提高微机系统的可靠性J.电子产品世界,2004,46(10):35-5614胜全.D18B20数字温度计在微机温度采集系统中的序编制J,南京:南京大

48、学出版社,1998,39(19):23-49附录 系统总线图系统PCB设计图部分程序清单 #include#includeLCD1602.h#includekeyscan.h#includeDS18B20.hvoid DisplayInit(void)/初始化LCD和时钟的显示,初始化定时器TMOD = 0X01; /设置定时器0的工作方式为1(8位自动重装初值) TH0 = 0;/装载初值,12M晶振定时50ms数为50000TL0 = 0;EA = 1; /开总中断 ET0 = 1; /开定时器0中断 TR0 = 0; /关闭定时器0 Trig=0; /超声波模块初始置0 Echo=0;L

49、CDInit();/液晶初始化void Display1(void)/显示正常界面LCDDispString(0,1,Distance);/显示字符串/显示距离值LCDDispChar(0,2,NumberofDistance0+48);LCDDispChar(1,2,NumberofDistance1+48);LCDDispChar(2,2,NumberofDistance2+48);LCDDispChar(3,2,.); /显示字符LCDDispChar(4,2,NumberofDistance3+48);LCDDispString(5,2,cm);/显示字符串LCDDispString(

50、10,1,Temp);/显示字符串ReadTemperature();/温度测量 LCDDispString(9,2,temperatureDate);/显示温度值LCDDispString(14,2,C);/显示字符串void main(void)Beep = 1;/蜂鸣器不响DisplayInit();/液晶定时器初始化while(1)while(functionCount = 0)/当不需要修改上下距离的时候Display1();KeyScan();Beep = 1;while(functionCount 0 & functionCount 10) KeyScan(); Beep = 1

51、; /中断函数-void T0_time() interrupt 1 /定时器0的中断服务函数 /-*#include#includeDS18B20.hunsigned char temperatureDate6=0;/*数组值初始化*/ /* 延时函数,延时1ms的整数倍,传入值z代表延时 时间到z *40us,不能实现准确延时,只能实现大 概时间的延时,利用的是指令实现延时功能。*/ static void DelayMs(unsigned int z)unsigned int x,y;for(x = z ; x0 ; x-)for(y = 110; y0 ; y-);/* MCU软件产生

52、复位信号,使DS18B20复位 */ static void SetReset(void) unsigned int i;TemperatureDat=1; /*总线复位,不复位将使温度测得的范围变窄*/i=8;while(i0) i-; /*稍作延时*/TemperatureDat=0; /*将总线拉低*/ i=103;while(i0) i-; /*延时700us*/ TemperatureDat=1; /*总线拉高*/ i=4;while(i0) i-; /*延时40us*/ /* 检测总线上是否有信号应答,先检测一个先低 后高的脉冲说明有器件应答了,一般是每一次 复位之后都需要检测应答

53、信号 */static void CheckReply(void)unsigned int i;while(TemperatureDat); /*检测低电平的存在,否则一直循环*/ while(TemperatureDat); /*检测高电平的存在,否则一直循环*/ i=4;while(i0) i-; /*延时40us*/ /* 从总线读取一bit信息 */static bit MainReadBit(void) unsigned char i;bit dat;TemperatureDat=0;/*总线拉低*/ i+;/*延时一微秒*/ TemperatureDat=1;/*释放总线*/ i+

54、;i+;/*延时两微秒*/ dat=TemperatureDat;/*读取总线*/ i=8;while(i0) i-;/*延时*/ return(dat);/*返回读到的位*/* 从总线读取一byte信息*/static unsigned char MainReadByte(void) unsigned char i,j,dat;dat=0;for(i=1;i=8;i+) /*每次读取一bit,读取8次*/ j=MainReadBit();dat=(j1);return(dat);/* 向总线写一byte信息 */static void MainWriteByte(unsigned char

55、dat) unsigned int i;unsigned char j;for(j=0;j0) i-;TemperatureDat=1;dat=1;/* 启动一次温度转换 */ static void StartConvertTemperature(void) SetReset(); /*复位*/ CheckReply(); /*检测应答信号*/ DelayMs(1); /*延时*/ MainWriteByte(0xcc); /*写跳过读ROM指令*/ MainWriteByte(0x44); /*写温度转换指令*/ /* 读取温度数据*/ void ReadTemperature(void)

56、 unsigned int a=0,b=0,y1=0,y2=0,y3=0;double temp=0;StartConvertTemperature();/*开始一次温度转换*/DelayMs(1000); /*延时等待转换完成*/SetReset(); /*复位*/CheckReply(); /*检测应答信号*/DelayMs(1); /*延时*/MainWriteByte(0xcc); /*写跳过读ROM指令*/MainWriteByte(0xbe); /*读取温度寄存器等共9个寄存器*/DelayMs(1);a=MainReadByte(); /*读低八位*/ b=MainReadByte(); /*读高八位*/ y1=a;y2=b8; y3=y1|y2; /*将低八位和高八位转成一个值*/ temp = (double)y3; /*数据转换*/temp = temp*0.0625; /*标准关系式*/temperatureDate0 = (int)temp%100/10 + 0;temperatureDate1 = (int)t

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!