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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(超声波测距应用倒车雷达设计Word文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

超声波测距应用倒车雷达设计Word文档格式.docx

1、2.3 执行过程:开机即显示车后保险杠和障碍物距离,若距离大于量程则数码管显示为000,若在量程之内则实时显示距离。2.4 预警功能:若距离过小比如200mm则红灯亮,警示障碍物和车后部距离过小,不可再倒车,否则会有安全事故。2.5 系统模块图: 图 1 系统方案图三、硬件详细设计3.1单片机型号的选择:单片机选择的是STC89C52单片机,它是一种低功效、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上拥有灵巧的8位CPU和在线系统可编程Flash,具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时

2、器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器。如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,

3、亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。(1)Vcc:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在Flash编程时,P0口作为原码输入口,当Flash进行校验时,P0输出原码,此时P0外部必须被拉高。图 2 单片机引脚图(4)P1口:P1口是一个内部提供的上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,

4、被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故,。在Flash编程和校验时,P1作为第八位地址接收。(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在Flash编

5、程和校验时接收高八位地址信号和控制信号。(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如下表所示:P3口功能引脚简介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(外部数据存储器写脉

6、冲输出)P3.7 RD(外部数据存储器读脉冲输出)(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8)ALE/RPOG:当访问外部存储器时,地址锁存允许的输出电平由于锁存地址的地位字节。在Flash编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6.因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳出一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0.此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外该引脚被略微拉高。如果微处理器在

7、外部执行状态ALE禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(10)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在Flash编程期间,此引脚也用于施加12V编程电源(VPP)。(11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(12)XTAL2:来自反向振荡器的输出。3.2 超声

8、波模块插座电路图3.3报警电路报警器电源接口及电源指示灯3.4复位电路复位电路采用了单片机的复位端,采用按钮电平复位电路,这样设计可以简化软件的量,使程序更加简洁化。3.5总电路图4.2软件设计源代码#include #define uchar unsigned char#define uint unsigned int void send_byte(unsigned char );void time_init();void DisplayLength(unsigned long );void delay(uchar );void write_dat(uchar );void write_co

9、m(uchar );void init();sbit SPK=P20; /定义喇叭端口sbit led0 = P10; /接收指示灯sbit led1 = P11; /发送指示灯sbit RS=P21;sbit RW=P22;sbit EN=P23;uchar frq;uchar dispbuf4=; /显示缓冲区uchar idata revbuf2; /收缓接冲区unsigned long Length = 0;uchar table=- 0000 -uchar num=0123456789 ;void rev_data(void) interrupt 4 /数据接受 uchar temp

10、 ,k; ES = 0; / 关中断 if(RI) RI = 0; / 清接收标志 temp = SBUF; revbufk = temp; k+; if(k = 2) / k = 数据长度 k = 0; led0 = led0; ES = 1; /开中void send_byte(unsigned char dat)/向串口发送一个字符 TI = 0; / 清发送标志 SBUF = dat; /如果TI为0等待 led1 = 0; while (!TI); / wait until sent led1 = 1;void time_init() TH1 = 0xFD; TL1 = 0xFD;

11、/设置T1波特率9600 TMOD = 0x21; /设置定时器1为模式2;定时器0为模式1 TH0 =(65536-2500)/256; /约2.50MS定时器初值 TL0 =(65536-2500)%256; ET0 = 1; /T0允许位 TR0 = 1; /启动定时器 TR1 = 1; /启动定时器 SM0 = 0; /串口通信模式设置 方式一 SM1 = 1; REN = 1; /串口允许接收数据 /开串中断 EA = 1; /开总中断void timer0() interrupt 1 / 定时器0中断是1号 定时器0中断, 用做显示 TH0 =(65536-2500)%256; T

12、L0 =(65536-2500)%256; send_byte(0x55); delay(250); Length = revbuf0 * 256 + revbuf1; DisplayLength(Length); void DisplayLength(unsigned long number) if(number 4500) /如果大于4.5米,显示 - SPK=1; dispbuf0 =- /显示 dispbuf1 = dispbuf2 = dispbuf3 = if(number number) SPK=!SPK;void delay(uchar t) while(t-);void wr

13、ite_com(uchar com) RS=0; RW=0; delay(1); P0=com; EN=1; EN=0; RS=1;void init() write_com(0x38);/设置显示位数 write_com(0x0c);/设置光标开关 write_com(0x06);/写一个加一 write_com(0x01);void write_dat(uchar dat) RS=1; P0=dat; RS=0;void main() uchar i,j; init(); time_init(); write_com(0x80); delay(200); for(i=0;i16;i+) w

14、rite_dat(tablei) ; delay(200); while(1) write_com(0x86); for(j=0;j4;j+) write_dat(dispbufj) ; delay(50); if(j=4) j=0; 【感想和体会】我们的题目是倒车雷达系统设计,对于我们这些实践中的新手来说,这是一次考验。这次课程设计我们学到很多很多的东西,学会了怎么在遇到问题时去解决问题。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论和实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识和实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次科研立项通过自身的努力终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,终于迎刃而解,在此我们表示感谢!

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

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