单片机超声波距离传感器课程设计
单片机超声波距离传感器课程设计
太原科技大学
TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY
单片机原理及其应用
课程设计
—距离传感器设计
学号:XXXXXXX
班级:SXXXXXXXXX
姓名:XXX
指导教师:XXXXX
日期: .01.04
课程设计任务书
班级: XXXXXXX
姓名: XXX
设计周数: 1 学分: 1
指导教师: XXX
设计题目: 距离传感器
设计目的及要求:
目的:
1.熟悉手工焊锡的常见工具的使用及其维护与修理。
2.基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产
品的安装与焊接。熟悉电子产品的安装工艺的生产流程。
3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的
工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。
4.熟悉常见电子器件的类别、型号、规格、性能及其使用范围,
能查阅有关的电子器件图书。
5.能够正确识别和选用常见的电子器件,而且能够熟练使用普通
万用表和数字万用表。
6.掌握和运用单片机的基本内部结构、功能部件、接口技术以及
应用技术。
7.各种外围器件和传感器的应用;
8.了解电子产品的焊接、调试与维修方法。
要求:
1.学生都掌握、单片机的内部结构、功能部件,接口技术等技
能;
2.根据题目进行调研,确定实施方案,购买元件,并绘制原理
图,焊接电路板,调试程序;
3.焊接和写汇编程序及调试,提交课程设计系统(包括硬件和软
件);.
4.完成课程设计报告
设计内容和方法:(根据自己的具体情况编写)用STC89C52单片机和超声波模块组成一个简单的电路,利用超声波发出的高频波莱测距离,并在数码管上显示。
方法:利用Altisium Designer summer09设计电路图,再用电烙铁将实物焊接到实验电路板上,经过电脑的串口写入一段程序到单片机中,实现单片机的计算显示作用
设计说明书要求: 应先把超声波模块的线连接到单片机的串口上再供电。
目录
绪论......................................................................... 错误!未定义书签。第二章总体设计 .................................................... 错误!未定义书签。第三章硬件部分 .................................................... 错误!未定义书签。第四章软件部分 .................................................... 错误!未定义书签。第五章总结 ............................................................ 错误!未定义书签。附录......................................................................... 错误!未定义书签。
绪论
超声波是指频率在20kHz以上的声波,它属于机械波的范畴。近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波能够用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,而且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。
本次课程设计是基于STC89C52RC单片机设计的,包括LED指示灯、复位电路、数码管显示电路、超声波模块几个部分。经过设计,能够使数码管显示物体离超声波模块距离的功能。
第二章总体设计
1.系统框图:
图1 系统框图
2. 在单片机的选用上,一般需要考虑以下几点:
(1)单片机的基本参数例如速度,程序存储器容量,I/O引脚数量
(2)单片机的增强功能,例如看门狗,双指针,双串口,RTC(实时时钟),EEPROM,扩展RAM,CAN接口,I2C接口,SPI接口,USB接口。
(3) Flash和OTP(一次性可编程)相比较,最好是Flash。(4)封装 IP(双列直插),PLCC(PLCC有对应插座)还是贴片。DIP封装在做实验时可能方便一点。
(5)工作温度范围,工业级还是商业机。如果设计户外产品,必须选用工业级。
(6)功耗,尽量选用较低功耗的。
(7)工作电压范围。
(8)供货渠道畅通。能申请样片,小批量购买有现货。
(9)价格低。
(10)有服务商。
(11)烧录器价格低。
(12)仿真器便宜。
(13)保密性能好。
(14)抗干扰性能好。
(15)和其它外设芯片放在一起的综合考虑。
在本次课程设计中,对单片机的要求较低,综合考虑后选用STC89C52单片机。表一是STC89C52单片机的主要功能:
表一
主要功能特性
兼容MCS51指令系统8K可重复擦写Flash ROM
32个双向I/O口256x8bit内部RAM
3个16位可编程定时/计数器中断时钟频率0-24MHz
2个串行中断可编程UART串行通道
2个外部中断源共6个中断源
2个读写中断口线3级加密位
低功耗空闲和掉电模式软件设置睡眠和唤醒功能
3.STC89C52单片机引脚及其功能:
STC89C52单片机:
①主电源引脚(2根)
VCC(Pin40):电源输入,接+5V电源
GND(Pin20):接地线
②外接晶振引脚(2根)
XTAL1(Pin19):片内振荡电路的输入端
XTAL2(Pin20):片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号
PSEN(Pin29):外部存储器读选通信号
EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7
2、超声波测距原理:
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就能够计算出发射点距障碍物的距离(s),即:s=340t/2最常见的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就能够计算出发射点距障碍物面的距离s,即:s=340t/2。由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应经过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理如图
如图所示:
图3 超声波的测距原理
第三章硬件部分
一、电源输入电路:
对于整个设计而言,首要问题就是解决系统的供电问题。要求电源模块稳定可靠。
在本课程设计中,电源供电模块的电源能够经过计算机的USB 口供给,也可使用外部稳定的5V电源供电模块供给。在电源电路中接入了电源指示LED以示是否正常工作。
二、时钟/晶振电路:
每个单片机系统都有晶振,晶振的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率。单片机的一切指
令的执行都是建立在这个基础上的。晶振提供的时钟频率越高,单片机的执行速度越快。
时钟能够由内部方式产生或外部方式产生。
在本次课程设计中采用内部方式时钟电路,电路图如图5所示。
三、复位电路[6]
复位电路的作用:在上电或复位的过程中,控制CUP的复位状态。这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就开始工作。防止CPU发出错误的指令、执行错误操作,也能够提高电磁兼容性能。同时,复位操作还对其它一些寄存器有影响。
(a)内部方式时钟电路(b)外部方式时钟
单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值能够由RC电路计算出时间常数。复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是经过外部复位电路的电容充电来实现的,其电路如图6(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就能够实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是经过使复位端经电阻与Vcc电源接通而实现的,其电路如图6(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图6(c)所示。
(a)上电复位(b)按键电平复(c)按键脉冲复
在本次课程设计中,采用按键脉冲复位电路。电路图如图7所示:
图7 复位电路
四、数码管显示电路[3] [5]
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。一般,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
数码管有二位一体、四位一体等类型,当多位一体时,她们内部的公共端是独立的,而负责显示什么数字的段线全部连接在一起,独立的公共端能够控制多位一体数码管中的哪一位亮,而连接在一起的段线能够能够控制这个能点亮什么数字,一般我们把公共端叫做“位选线”,连接在一起的段线叫“段选线”,有了这两根线后,经过单片机及外部驱动电路能够控制任意的数码管显示任意的数字了。
当多位数码管应用与某一系统时,它们的“位选”是可独立
控制的,而“段选”是连接在一起的,我们能够经过位选信号控制那几个数码管亮。
五、超声波模块电路:
本系统采用超声波模块URF04进行测距,该模块使用直流5V 供电,理想条件下测距可达500cm,广泛应用于超声波测距领域,模块性能稳定,测度距离精确,盲区(2cm)超近。超声波测距原理:单片机给超声波传感器模块一个触发电平,超声波传感器的发射管自动发送8个40KHZ的方波,当超声波检测到障碍物时就会信号返回,接收管接收到信号返回之后,单片机处理从单片机发送信号到接收到返回信号这段时间里超声波传感器模块输出高电平。这段高电平持续时间即为超声波从发射到返回的传播时间。测量距离=(高电平持续时间*波速)/2。
模块构成原理图
第四章软件部分
一、主流程图:
主程序流程图
二、程序设计:
软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、超声波发射和接收顺序的控制。外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出、数码管显示等工作。主程序首先是对超声波模块初始化,经过延时函数产生10us的高电平,再将计数器初始化,判断超声波接收端是否收到回波,进而执行外部中断程序。中断程序首先关闭外部中断,关闭计数器,然后读出计数值,根据
公式计算距离,然后将结果送往数码管显示。
三、程序[1][4]:
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
uint time=0;
uint timer=0;
uchar posit=0;
ulong S=0;
uint qian;
uint bai;
uint ge;
sbit RX=P2^0; //接线:TRIG接 P2.1 ECH0 接P2.0 sbit TX=P2^1;
sbit dula=P2^6 ;
sbit wela=P2^7;
bit flag =0;
uchar code table[] ={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,