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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(超声波防撞报警仪Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

超声波防撞报警仪Word文档下载推荐.docx

1、ultrasonic ranging alarm STC89C51目录1、单片机概述 11.1 超声波防撞报警仪的背景和意义 11.2 STC89C51主要性能 21.3 STC89C51外部结构和特性 21.4 STC89C51主要特性 31.5超声波传感器 51.5.1超声波介绍 51.5.2超声波传感器HC-SR04 51.5.3超声波测距原理 71.6本章小结 72、嵌入式系统总体设计 82.1 操作系统移植 82.1.1 ARM简介 82.2.2 C/OS-II软件 82.2.3 C/OS-II在arm上的移植 102.2设计思想 132.3方案设计 132.4 本章小节 143、硬

2、件电路设计 153.1 基础电路模块设计 153.1.1复位电路 153.1.2晶振电路 153.2 输出模块电路 173.2.1数码管显示电路 173.2.2蜂鸣器和LED报警电路 173.3 控制模块电路 183.3.1按键控制电路 183.3.2超声波发射和接收控制设计 193.4 本章小节 204、软件设计 214.1 系统流程 214.2 输出子模块设计 214.3 报警子模块设计 224.4 按键控制子模块设计 224.5 本章小节 235、虚拟仿真和实物制作 245.1虚拟仿真 245.1.1 proteus电路绘制 245.1.2虚拟仿真 245.2实物制作 255.2.1 p

3、rotel电路绘制 255.2.2 PCB印刷电路 255.2.3焊接与调试 266、总结与展望 27参考文献 28附录1 元件清单 29附录2 防撞报警器实物图 30附录3 防撞报警器正常工作图 31附录4 防撞报警器报警示意图 32附录5 源代码 33致谢 41超声波防撞报警仪的嵌入式设计与实现1、 单片机概述1.1 超声波防撞报警仪的背景和意义随着我国的经济发展,我国的交通运输业也有了很大的发展,并且人们的生活水平也有了显著的提供,这使我刚的汽车数量有了明显的增加。随着汽车的数量增加,道路拥堵也日渐严重,交通事故频频发生,交通事故的发生,使人们的经济得到了不同的损失,更有些人还会失去生命

4、,所以汽车驾驶员们非常想让自己的驾驶更加的安全。根据汽车驾驶员的愿望,设计一种反映灵敏,可靠性高且较成本低的汽车防撞报警系统成了科学家的研究方向,超声波测距法是一种很普遍且测距方法简单的方法,本次毕业设计采用STC89S51芯片最为主控器来控制汽车防撞报警系统。通过超声波传感器发生出超声波信号,信号遇到障碍物立即返回,传感器的接受端进行接收,通过这种方法测量出与障碍物的距离,之后通过数字显示电路把测得的距离显示在显示屏上,并且报警电路根据显示距离远近发出警告声。随着汽车车辆的日益增加,停车难,车位少的问题也日益显示出来。而为了增加停车位的数量,车位也是越建越小,这些小停车场地常常令驾驶员们感到

5、非常苦恼,如果稍有不慎,他们的爱车就有可能与其他汽车或障碍物发生碰撞,造成不必要的损失。虽然车辆都有后视镜,但由于后视镜角度的缺陷,不可避免的存在着视觉盲区,并不能有效的解决碰撞问题。超声波防撞报警器能够对汽车泊车进行辅助,它可以通过超声波对障碍物的检测,来把与障碍物的距离通过声音提示、灯光提示或是显示屏显示等手段告诉驾驶员是否安全,从而让驾驶员对自己的汽车进行及时的调整,解除了后视镜盲区对安全的隐患,大大的提高了驾驶的安全性。可以说,超声波防撞报警器是汽车安全必不可少的工具之一。1.2 STC89C51主要性能STC89S51 芯片是STC公司推出的一款CMOS 8位单片机具有加密性强,在线

6、可编程,高速,低功耗,抗干扰能力强等功能。片内含256 bytes RAM(存储器)可反复擦写Flash只读程序存储器,芯片采用高密度、非易失性存储技术生产,与标准MCS51指令系统及8052产品引脚兼容, 片内置通用8位中央处理器 (CPU)和Flash存储单元,功能强大的STC89C51单片机适合于许多较为复杂控制应用场合。1.3 STC89C51外部结构和特性图1.1 STC89C1引脚图STC89C51引脚如图1.1所示,其功能说明:VCC(40引脚):电源电压VSS(20引脚):接地 P0口:P0口对应着八位的漏级开路输入输出口。在P0口中的管脚存在电流时,就可以看做是高阻输入。P0

7、口作为存储器中的最低位,在进行编码是可以作为原码的输入/输出口。 P1口:P1口对应着八位的上拉电阻双向输入输出口,能够同四个TTL门进行相互间的传输电流。在其管脚中存在电流的时候,若P1口上拉为高电平时,那么就可以输入电流;相对应的,若下拉为低电平时,则将输出电流。再进行相关的编程时,作为储存器的第八位地址进行数据电流的输入输出。P2口:P2口对应着八位的内部上拉电阻双向输入输出口,也是同四个TTL门进行相互间的传输电流。在其中存在电流的时候,若P2的管脚被拉高,就作为输入电流;若P2的管脚被拉低,就作为输出电流。P2口作为储存器进行数据的存储时,其输出地位采用高八位的形式来进行。当存在电流

8、数据时,P2口通过内部上拉,对八位地址进行相关的存储。在进行相应的编程时,是使用的高八位地址来进行数据的接收。P3口:P3的管脚包含有八个具有相应功能的输入输出接口,四个TTL门进行相互间的传输电流。在P3口中存在电流的时候,就会被上拉为高电平,并因此而被当成输入。在被下拉为低电平时,就会被当成输出电流。表1.1 P3口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)在对Flash RO

9、M编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如上表1.1 P3口引脚复用功能所示。1.4 STC89C51主要特性STC89C51单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工

10、作频率可达48MHz(4)用户应用程序空间为8K字节(5)片上集成512字节RAM(6)具有EEPROM功能(7)具有看门狗功能(8)共3个16位定时器/计数器。即定时器T0、T1、T2(9)工作温度范围:-40+85(工业级)/075(商业级)(10)PDIP封装(11)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片(12)外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒(13)通用异步串行口(UART),还可用定时器软件实现

11、多个UART图1.2 STC89C51单片机框图STC89C51单片机的工作模式(1)掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序(2)空闲模式:典型功耗2mA(3)正常工作模式:典型功耗4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。STC89C51单片机的框图如图1.2所示,各功能部件由内部总线连接在一起。1.5超声波传感器1.5.1超声波介绍当物体振动时会发出声音,科

12、学家们将每秒振动的次数称为声音的频率,单位赫兹(Hz)。人类的耳朵听到声波频率范围为2020KHz。当声波的振动频率在2020KHz范围之外时,我们的耳朵是听不见的。因此,把频率超过20KHz的声波称为“超声波”。超声波有能在气、液、固、固熔体等介质中有效传播,会产生反射、干涉、叠加和共振现象等特点。1.5.2超声波传感器HC-SR04HC-SR04超声波测距模块是将超声波发射和接收探头、TL074C、STC11及MAX232等功能器件与超声波收发电路集成到的一起的一个模块。HC-SR04超声波测距模块的电气参数如表1.2 HC-SR04超声波测距模块的电气参数所示。HC-SR04基本工作原理

13、:(1)采用IO口的TRIG触发测距,给于最少10s的高电平超声波信号。(2)模块自动发送8个40KHz的方波,自动检测是否有超声波信号返回。(3)有超声波信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。图1.3 HC-SR04接线图表1.2 HC-SR04超声波测距模块的电气参数电气参数HC-SR04超声波测距模块工作电压DC 5V工作电流15mA工作频率40KHz最远射程4m最近射程2cm测量角度15度输入触发信号10s的TTL脉冲输出回响信号输出TTL 电平信号,与射程成比例规格尺寸452015mm 模块的接线方式如图1.3 HC-SR04接线图

14、所示,VCC提供5V电源,GND为地线,TRIG为触发控制信号的输入,ECHO为回响信号输出端口。一个控制口发出一个10s以上的高电平,就可以在接收口等待高电平输出。一发现有输出就可以打开定时器计时,当此口变成低电平时就可以读取定时器的值,此时间就为此次测距的时间,通过运算即可得出距离。这样不断的循环周期测量,就可以在不停地移动的过程中测量距离值了。HC-SR04超声波测距模块的时序图如图1.4 HC-SR04超声波测距模块的时序图所示.10s的TTL 触发信号循环发出8个40KHz的脉冲 模块内部发出信号 输出回响信号回响电平输出与检测距离成正比图1.4 HC-SR04超声波测距模块的信号回

15、响图图1.4表明提供一个10s以上脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。1.5.3超声波测距原理在超声波测距电路中,发射端将脉冲方波发射出去,脉冲方波的宽度为发射超声波与接收超声波之间的时间间隔,被测物距离越远,脉冲宽度越大,输出脉冲个数与被测距离成正比。本次设计采用超声波往返时间检测法,测量原理图如下图1.5所示。 T L R 图1.5 超声波测距原理图用超声波发射器向某一方向发送超声波,同时在放射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时停止计时。通过公式S=VT/2可以测出汽车与障碍物之间的距离并通过LED显示屏显示

16、出来。(此处的V为超声波在空气中的传播速度V=340m/s)。1.6本章小结本章介绍了超声波防撞报警器的背景和意义,对STC89C51芯片的性能,结构和外部特性进行了介绍。对超声波传感器HC-SR04的结构和测距进行了介绍,同时也对超声波测距原理进行了介绍。2、嵌入式系统总体设计2.1 操作系统移植2.1.1 ARM简介ARM成立于1991年英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,称为ARM微处理器,已遍及工业控制,消费电子,通信系统,网络系统,在市场上的无线系统等各类产品,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是一家专业的知识产

17、权为基础的RISC芯片设计开发的公司,作为供应商,自己不直接生产芯片,依靠从芯片公司生产设计特点的转让许可,世界各大半导体厂商从该公司购买ARM微处理器核的设计,根据自己领域的需要,加入适当的外围电路,从而形成自己所需要的ARM微处理器芯片进入市场。目前,有许多大型半导体公司利用世界ARM的授权,这使得ARM技术获得更多的第三方工具使整个系统成本降低,使产品容易被消费者所接受,竞争力强。2.2.2 C/OS-II软件(1)软件体系结构图2.1 C/OS-II的软件体系结构C/OS-II软件结构如图2.1所示。应用软件是用户根据嵌入式系统设计的要求编写代码,这部分代码,用户根据自己的应用,通过与

18、相关代码应用制备的核心服务功能定制的权利,通过这一部分的代码,可以实现对C uC/OS-II切。操作系统和处理器无关的代码通常被称为内核,所有系统服务是由内核提供,这部分代码是完全开放的。应用系统的内核和硬件将被合并成一个实时系统。使相同的内核可以被应用到不同的硬件系统,需要内核和硬件之间有一个中间层,它与处理器相关的代码,不同的处理器,这部分代码也不同,这部分代码可以由用户编写的,可以直接使用已经成功移植的范例。(2)C/OS-II特点实施系统分为两大类:软、硬实时系统实时系统。软实时系统的目的是使每一个任务的系统运行速度可以,不需要一个确定的任务必须在很长一段时间内完成。硬实时系统中,任务

19、不仅是正确和准时。大多数实时系统是一个组合的两。实时系统的应用范围很广,但最重要的是嵌入式实时系统。这意味着计算机系统内建的,用户无法查看系统中的计算机。以下是一些嵌入式系统的例子:实时应用软件的设计一般比非实时应用软件设计难。该系统可称为后台系统或超循环系统。中断服务程序处理异步事件,这部分可以视为前台行为(foreground)。后台也可以称为任务级。前台可以成为调用中断级。时间相关性很强的关键操作(criticaloperation)将依靠中断服务保证。因为中断服务提供的信息,一直要等到后台程序走到该处理这个信息这一步时才能得到处理,该系统在信息时效性的过程,可以做的比实际更糟糕。Lin

20、ux操作系统体系结构的开放源代码一样复杂,产品,业务支持程度不够,甚至在Linux PC环境下也很难找到理想的技术下,更不用说嵌入式Linux。弱势群体的大规模生产,大规模的工业产品的使用,长时间操作是致命的。此外,三系统上面所讨论的,仅仅是一个硬实时操作系统VxWorks和Linux,WINCE非硬实时操作系统。在这种情况下,嵌入式操作系统的内核是类似于小型硬UCOS-II,具有成本低,易控制的特点,规模小,高性能,有着很好的应用前景。但这种系统相对薄弱,面临的产品,商品化程度不够。使用这样的系统需要仔细分析产品的开发,设计,否则很难满足工业产品的生产要求。正是这种情况,在ARM微处理器的环

21、境,商业产品,严格要求的环境,构建一个嵌入式实时内核的架构设计。当然,嵌入式内核真正的商业产品,能满足高标准,基于这种架构设计的需要,还需要产品开发的软件测试过程严格。只有理论基础和工程提供一个完整的实践,才能产生真正经得住考验的,可以满足工业生产的需要,在各种环境和保证产品设计目的的稳定运行。从这一点来看,只有一个操作系统内核和应用产品的开发,很难完全满足要求。要仔细考虑的核心理念,以验证应用程序开发的设计方法,可供选择的仔细评估,并与实际产业化项目管理办法,确保产品符合要求。2.2.3 C/OS-II在arm上的移植操作系统移植中最关键的一部分是与处理器相关的代码的移植。一个实时系统是由硬

22、件和应用系统的内核组成的,要使一个内核被应用到不同的硬件系统中,需要有一个中间层,这个中间层在内核和硬件之间,它与处理器相关的代码,这部分代码是不同的,不同的,我们需要自己的这部分代码移植时,在代码的COS部分分为3个文件:os_cpu.H,os_cpu_a.asm,os_cpu_c .c。(1) OS_CPU.H一个不依赖于数据的编译型。COS-不常用C语言定义的数据类型,int和long类型的这两种处理器因为他们暗示,不能被移植性强的整数数据类型所取代,具有直观性和可移植性。根据ADS编译的特点,为代码:Typedef unsignedchar BOOLEAN;Typedef unsign

23、edchar INT8U;Typedef signedchar INT8S;Typedef unsignedshort INT16U;Typedef signedshort INT16S;Typedef unsignedint INT32U;Typedef signedint INT32S;Typedef float FP32;Typedef double FP64;Typedef INT32UOS_STK;使用B软中断接口处理器的模式有两种,用户模式和系统模式,T变量的ARM处理器有两个核心指令集,用户可以通过指令集在两个模式中随意使用。我们可以不用知道任务中调用功能的位置函数,这样我们就可

24、以让底层接口函数和处理器独立。C OS_STK_GROWTHCOS-os_stk_growth指定栈结构不断增长,为LPC2132的代码:#defineOS_STK_GROWTH1 (2) OS_CPU_C.C移植os_cpu_c。C文件,需要写的是任务堆栈初始化函数OSTaskStkInit和时钟中断服务函数之中。在C/OS-II中,每个任务都有自己的任务,当任务切换或中断,CPU的使用权被剥夺,为了任务可以再次运行,然后利用中断任务的处理器寄存器的内容应当保存,根据堆栈根据ARM7处理器和堆栈指令功能,设计的任务如下:CPSRR0R1 .R12 LR (R14) PC (R15)根据堆栈结构图,os_stk函数编写如下:#defineSVCMODE0x13OS_STK*OSTaskStkInit(

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

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