新型汽车防撞报警器设计说明书讲解Word下载.docx
- 文档编号:20440581
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:21
- 大小:265.31KB
新型汽车防撞报警器设计说明书讲解Word下载.docx
《新型汽车防撞报警器设计说明书讲解Word下载.docx》由会员分享,可在线阅读,更多相关《新型汽车防撞报警器设计说明书讲解Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
3.2.1AT89C51模块
本设计采用以AT89S51为核心的最小系统,其电路图如图3-2。
图3-2单片机最小系统原理图
1.功能特性概括:
AT89C51提供以下标准功能:
40个引脚、4KBytesFlash片内程序存储器、128Bytes的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。
此外,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行通信口、外中断系统可继续工作。
掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
2.本设计所用到管脚说明:
(1)VCC:
电源
(2)GND:
地
(3)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
(4)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输出口使用。
作输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。
在flash编程和校验时,P1口接收低8位地址字节。
表3-1P1口第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
(5)P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
(6)P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89C51特殊功能(第二功能)使用,如表3-2所示。
在flash编程和校验时,P3口也接收一些控制信号。
表3-2P3口第二功能
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
INT0(外部中断0)
P3.3
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器写选通)
(7)RST:
:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
(8)ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
(9)PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89C51从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
(10)EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
(11)XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
(12)XTAL2:
振荡器反相放大器的输出端。
3.2.2超声波谐振频率调理电路模块
本模块以HD74LSO4芯片为核心的电路设计,其电路图如图3-5。
发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
输出端采两个反向器并联,用以提高驱动能力。
上位电阻R10、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
其原理图如图3-3所示。
图3-3超声波谐振频率调理电路
压电式超声波换能器是利用压电晶体的谐振来工作的。
超声波换能器内部有两个压电晶片和一个换能板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;
反之,如果两电极同未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。
超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。
3.2.3超声波回路接收处理模块
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图3-4)。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图3-4超声波检测接收电路
3.2.4数码管显示模块
本电路的显示模块主要由一个4位一体的7段LED数码管构成,用于显示测量到的电压值。
它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收单片机的P1口产生的显示段码。
S1,S2,S3,S4引脚端为其位选端,用于接收单片机的P2口产生的位选码。
本系统采用动态扫描方式。
扫描方式是用其接口电路把所有数码管的8个比划段a~g和dp同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。
CPU从字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端。
COM端与单片机的I/O接口相连接,由单片机输出选码到I/O接口,控制何时哪一位数码管被点亮。
在轮流点亮数码管的扫描过程中,每位数码管的点亮时间极为短暂。
但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。
动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。
具体原理图如图3-5
图3-5数码管显示模块
3.3系统总原理图说明
总原理图参见附录一。
电路由超声波传感器、单片机、发射/接收电路和LED显示器组成。
以单片机AT89C51为主处理器,通过超声波传感器发射和接收超声波,再通过单片机中断测出单片机由发射到接收到超声波的时间,再计算出单片机与被测物体之间的距离,然后通过数码管显示出被测物体与单片机之间的距离。
发射电路主要由74LS04和超声波换能器构成用单片机P1.0端口输出40KHZ方波信号一路经一级反向后送到超声波换能器的一个电极,另一路经两级反向后送到超声波换能器的另一个电极。
超声波接收采用的是常用于电视红外遥控接收器的芯片CX20106A。
显示电路采用四位数码管的动态显示。
3.4系统印刷电路板的制作图
详见附录二。
3.5系统的操作说明
接通电源,按下开关,电源指示灯亮,显示管显示0000。
将声波发射器对准障碍物时,在测量范围内显示管显示距离,当靠近0.5m-1.11m之间的时候蜂鸣器开始报警,当离障碍物小于0.5m的时候,显示管显示乱码此时处于测试盲区。
3.6系统操作注意事项
1.通电使用前先对照电路板与电路图是否有错焊、漏焊、短路、开路、元器件相碰等现象,有要处理好后再使用。
2.通电使用前先检查好电路板是否与电源供电线、驱动电路开关与负载供电线、负载供电线之间相互接反,不得在接错的情况下通电,要处理好后再使用。
3.通电使用时人体不得与电路板线路任何一个部位相碰,防止触电,注意安全。
4.应把电极片与电路板隔离,避免电极片与电路板上元器件相碰触发生短路现象。
5.通电时应把电路板放在绝缘物体上,避开其他导电物体避免发生短路现象。
6.使用时闻到烧焦味、发现元器件或集成块冒烟烧毁应立即断开电源,待电路板查明原因处理好后才可以继续通电使用。
参考文献
[1]苏长赞.红外线与超声波遥控·
人民邮电出版社.1993.159~189
[2]胡萍.超声波测距仪的研制.浙江大学出版社.2000.103~159
[3]刘凤然.基于单片机的超声波测距系统.传感器世界.2001.20~31
[4]靳达.单片机应用系统开发实例导航.人民邮电出版社.2003.26~29
[5]余永权、汪明慧等.单片机在控制系统中的应用.电子工业出版社.2004.45~51
[6]胡汉才.单片机原理及其接口技术.清华大学出版社.2004.11~23
[7]张艺刚.单片机原理与接口技术.北京航空航天大学出版社.2005.68~105
[8]苏伟.超声波测距误差分析.传感器技术.2005.第五期.23
[9]李华.单片机C语言编程.北京航空航天大学出版社.2005.26~56
[10]高飞燕.基于单片机的超声波测距系统的设计.信息技术.2005.41~52
[11]周荷琴、吴秀清.微型计算机原理与接口技术.中国科学技术大学出版社.2009.45~47
致谢词
大学三年一眼即逝。
首先我要感谢在背后辛勤劳动默默支持着我的父母,是他们的付出才有我在校园安静学习生活的机会。
接着感谢宋进老师细心为我修改论文,从他那里学到的不只是专业知识,更多的是做人的道理。
感谢梁峰林老师三年来担任我们的班主任,对我们生活、学习方面都付出了许多努力,没有她的带领,我们不会成为合格的毕业生,另外还要感谢李清生、郑维清、陈辉煌、邱兴阳、杨阿弟、林寿光、宋进老师,他们在学习方面给了我大量的指导,让我学到了知识,也获得了实践锻炼的机会。
他们严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。
除此之外,他们对我生活的关心和照顾也使得我得以顺利完成大学的学业。
在此祝愿他们身体健康,全家幸福!
其次感谢湄洲湾职业技术学院,给我提供这么好的学习生活环境,在校学习和生活的日子是我一生中一段难忘的经历。
最后还要感谢三年来一起生活学习的同学们,人生旅途中有着各种的幸酸与喜悦。
是你们在陪伴着我一起度过,希望即将融入社会的你们能够闯出属于自己的一片天空。
附录
附录一:
电路总原理图
附录二:
印刷电路板原理图
附录三:
元件清单
序号
元件名称
型号与规格
单位
数量
1
电阻
R8R9R381K
只
3
2
R110K
排阻
RP110K
4
R10R11R12R13R312.2K
5
R15R16200K
6
R2R1410欧
7
磁片电容
C2C330P(300)
8
C6330pf(331)
9
C11104
10
C9473
11
二级管
D12LED
12
电解电容
C110UFC10C174.7UF
13
蜂鸣器
14
超声波探头
40R40T
15
三极管
Q1—Q58550
16
电源插座
DC3.5*1.1
17
数码管
四位一体共阳数码管
18
集成电路
74HC04CX20106A
19
晶振
12M
20
芯片IC座
40脚14脚
21
单片机
STC89C51
22
开关
6*6*5按键自锁开关
23
电源线
USB电源线
条
24
焊锡
0.6焊锡
米
附录四:
系统程序
#include<
reg51.H>
sbitk1=P3^4;
sbitcsbout=P1^0;
//超声波发送
sbitcsbint=P3^2;
//超声波接收
sbitbg=P3^3;
#defineLEDP0
sbitLED1=P2^4;
//LED控制
sbitLED2=P2^5;
sbitLED3=P2^6;
sbitbj=P2^0;
//报警
#definecsbc0.0347
unsignedcharcl,mqzd,csbs,csbds,buffer[3],xm1,xm2,xm0,jpjs;
//显示标识
unsignedcharconvert[10]={0x18,0x7b,0x2c,0x29,0x4b,0x89,0x88,0x3b,0x08,0x09};
//0~9段码
unsignedints,t,i,xx,j,sj1,sj2,sj3,mqs,sx1;
voidcsbcj();
voiddelay(j);
//延时函数
voidscanLED();
//显示函数
voidtimeToBuffer();
//显示转换函数
voidkeyscan();
voidk1cl();
voidk2cl();
voidk3cl();
voidk4cl();
voidoffmsd();
voidmain()//主函数
{
EA=1;
//开中断
TMOD=0x11;
//设定时器0为计数,设定时器1定时
ET0=1;
//定时器0中断允许
ET1=1;
//定时器1中断允许
TH0=0x00;
TL0=0x00;
TH1=0x9E;
TL1=0x57;
csbds=0;
csbout=1;
cl=0;
csbs=8;
jpjs=0;
sj1=50;
/////////测试报警距离
sj2=200;
sj3=580;
k4cl();
TR1=1;
while
(1)
{
keyscan();
if(jpjs<
1)
csbcj();
//调用超声波测距程序
if(s>
sj3)//大于时显示“CCC”
buffer[2]=0xC6;
buffer[1]=0xC6;
buffer[0]=0xC6;
}
elseif(s<
sj1)//小于时显示“---”
buffer[2]=0xBF;
buffer[1]=0xBF;
buffer[0]=0xBF;
elsetimeToBuffer();
//将值转换成LED段码
offmsd();
scanLED();
if(s<
sj1)
bg=0;
bg=1;
}
voidscanLED()//显示功能模块
LED=buffer[0];
LED3=0;
delay(200);
LED3=1;
LED=buffer[1];
LED2=0;
LED2=1;
LED=buffer[2];
LED1=0;
LED1=1;
voidtimeToBuffer()//转换段码功能模块
xm0=s/100;
xm1=(s-100*xm0)/10;
xm2=s-100*xm0-10*xm1;
buffer[2]=convert[xm2];
buffer[1]=convert[xm1];
buffer[0]=convert[xm0];
voiddelay(i)
while(--i);
voidtimer1int(void)interrupt3using2
csbds++;
if(csbds>
=40)
cl=1;
voidcsbcj()
if(cl==1)
TR1=0;
i=csbs;
while(i--)
csbout=!
csbout;
TR0=1;
i=mqs;
//盲区
i=0;
while(csbint)
i++;
if(i>
=4000)//上限值
csbint=0;
TR0=0;
t=TH0;
t=t*256+TL0;
t=t-29;
s=t*csbc/2;
csbint=1;
//////////////////////////////////////////////////////////////////
if(s<
=80)bj=0;
if(s>
80)bj=1;
/////////////////////////////////////////////////////////////////
if(csbs>
6)
csbs=csbs-2;
sj1=40;
sj1=sj1+2;
elseif(s>
=sj3)
if(csbs<
32)
csbs=csbs+2;
sj1=sj1+10;
voidkeyscan()//健盘处理函数
xx=0;
if(k1!
=1)//判断开关是否按下
delay(100);
//延时去抖动
while(!
k1)
delay(25);
xx++;
if(xx>
1000)
jpjs++;
if(jpjs>
3)
switch(jpjs)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新型 汽车 报警器 设计 说明书 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)