基于单片机的超声波测距仪设计毕业设计(论文内容摘要:
构如图 31 所示。 它主要由单片机、超声波发射及接收电路、超声波传感器、键盘、 LED 显示电路及电源电路组成。 系统主要功能包括: 1) 超声波的发射、接收, 并根据计时时间计算测量距离; 2) LED 显示器显示距离; 3) 键盘接收用户命令并处理; 4) 当系统运行不正常时,用电平式开关与上电复位电路复位。 图 31 超声波测距仪系统结构框图 齐鲁工业大学 2020 届本科毕业设计(论文) 7 单片机 AT89C52 单片机即单片微型计算机 SCMC( Single Chip MicroComputer)。 它把构成一台计算机的主要功能部、器件,如 CPU(进行运算、控制)、 RAM(数据存储)、 ROM(程序存储)、输入 /输出设备(例如:串行口、并行输出口等)、中断系统、定时 /计数器等集中在一块芯 CPU(进行运算、控制 )、 RAM(数据存储)、 ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)制功能,所以又称为微控制器 MCU( Microcontroller Unit)。 相对于普通微机,单片机的体积要小得多,一般嵌入到其他仪器设备里,实现自动检测与控制,因此也称为嵌入式微控制器 EMCU( Embedded Microcontroller Unit)。 本设计的 MCU 采用的是 DIP( Dual Inline Package 塑料双列直插式)封装的AT89C52 高性能 8 位单片机。 AT89C51 是一个低电压,高性能 CMOS 8 位单片机,片内含 4k bytes 的可反复擦写的 Flash 只读程序存储器和 128 bytes 的随机存取数据存储器( RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS51指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,内置功能强大的微型计算机的 AT89C51 提供了高性价比的解决方案 [9]。 AT89C52 是一个低功耗高性能单片机, 40 个引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2 个外中断口, 2 个 16 位可编程定时计数器 ,2 个全双工串行通信口, AT89C51 可以按照常规方法进行编程,也可以在线编程。 其将通用的微处理器和 Flash存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其引脚图如图 32[4]。 AT89C52 的引脚 功能 有: 1) 主电源引脚 VSS—— 第 20 脚,电路接地电平。 VCC—— 第 40 脚,正常运行和编程校验 +5V电源。 2) 时钟源 XTAL1—— 第 19 脚,一般外接晶振的一个引脚,它是片内反相放大器的输入端口。 当直接采用外部信号时,此引脚应接地。 XTAL1—— 第 18 脚,接外部晶振的另一个引脚,它是片内反相放大器的输 出端口。 当采用外部振荡信号源泉时,此引脚为外部振荡信号的输入端口,与信号源相连接 [10]。 齐鲁工业大学 2020 届本科毕业设计(论文) 图 32 AT89C52 的引脚图 3) 控制、选通或复用 RST/VPD—— 第 9 脚, RESET 复位信号输入端口。 当单片机正常工作时,由该引脚输入脉宽为 2 个以上机器周期的高电平复位信号到单片机。 在 VCC 掉电期间,此引脚 (即 VPD)可接通备用电源,以保持片内 RAM 信息不受破坏。 PROGALE/ —— 第 30 脚,输出允许地址锁存信号。 当单片机访问外部存储器时,ALE 信号的负跳变将 P0 口上的低 8 位地址送入锁存器。 在非访问外部存储器期间,ALE 仍以 1/6 振荡频率固定不变地输出,因此它可对个输出或用于定时目的。 要注意的是:每当访问外部存储器时将跳过一个 ALE 脉冲。 PROG 为第二功能,当对片内程序存储器编程写入时,此引脚作为编程脉冲输入端。 PSEN —— 第 29 脚,访问外部程序存储器选能信,低电平有效。 当 AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效, 即输出两个脉冲。 在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。 /VPP/EA :外部访问允许。 欲使 CPU 公访问外部程序存储器(地址0000HFFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LBI 被编程,复位时内部会锁存 EA 端状态。 Flash 存储器编程时,该引脚加上 +12V的编程允许电源 VPP,当然这必须是该器件是使用 12V编程电压 VPP。 4) 多功能 I/O 端口 P0 口 —— 第 32~39 脚, 8 位漏极开路双向 I/O 端口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。 在访问数据存储器或程序存储器时,这组口线分时转换地址和数据总线复用,在访问期间激活内部上拉电阻。 P1 口 —— 第 1~8 脚,具有内部上拉电路的 8 位准双向 I/O 端口。 在对片内程序存齐鲁工业大学毕业 2020 届本科毕业设计(论文) 9 储器( EPROM 型)进行程序编程和校验时,用做低 8 位地址总线。 P2 口 —— 第 21~28 脚,具有内部上拉电路的 8 位准双向 I/O 端口。 当单片机 访问存储器时,用做高 8 位地址总线;在对片内程序存储器( EPROM 型)进行程序编程和校验时,亦用做高 8 位地址总线。 P3 口 —— 第 10~17 脚,具有内部上拉电路的 8 位准双向 I/O 端口。 它还提供特殊的第二变异功能。 它的每一位均可独立定义为第一功能的 I/O 口或第二变异功能。 第二变异功能的具体含义如表 31: 表 31 P3口的第二变异功能 端口引脚 第二功能 RXD (串行输入口) TXD (串行输出口) 0INT (外中断 0) 1INT (外中断 1) T0 (定时 /计数器 0) T1 (定时 /计数器 1) WR (外部数据存储器写选通) RD (外部数据存储器读选通) 超声波传感器 超声波是指频率高于 20kHz 的机械波。 超声波在恒定环境条件下的传播速度不变。 超声波传感器主要材料有压电晶体 (电致伸缩)及镍铁铝合金(磁致伸缩)两类。 电致伸缩的材料有锆钛酸铅( PZT)等。 压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成接收器和发送器。 超声波传感器由两个压电晶片和一个共振板组成,当压电晶片的两极加上频率等于其固有谐振频率的脉冲信号时,压电晶片产生共振,并带动共振板产生振动,同时带动压电晶片也一起振动,将机械能转换为电能,称为超声波接收器。 超声波传感器利用压电效应进行电能和超声波机械能的相互转换,也称为超声波换能器。 超声波发射换能器与接收换能器在结构上稍 有不同,使用时应分清器件上的标志,但外观基本一致。 有的超声波传感器既作发送,也能作接收。 齐鲁工业大学毕业 2020 届本科毕业设计(论文) 10 第 4 章 硬件电路设计 超声波发射电路 超声波发射电路原理图如图 41所示。 发射电路主要由反相器 74LS04和超声波发射换能器 T40构成,单片机 40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极 ,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。 输出端采用两个反向器并联,用以提高驱动能力。 上位电阻 R R2 一方面可以提高反向器 74LS04 输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 图 41 超声波发射电路原理图 超声波接收电路 超声波接收电路由超声波传感器、两级放大电路和锁相环电路组成。 超声波传感器接收到的反射波信号非常微弱,两级放大电路用于对传感器接收到的信号进行放大。 锁相环电路接收到频率符合要求的信号后向单片机发出中断请求。 锁相环LM567 内部压控振荡器的中心频率为 )(10 CRf P ,锁定带宽与 C3 有关。 由于发送的超声波频 率为 40kHz,帮调整相关元件使锁相环的中心频率为 40kHz,只响应该频率的信号,避免了其他频率信号的干扰。 当超声波传感器接收到超声波信号后,送入两级放大器放大,放大后的信号进入锁相环检波,如果频率为 40kHz,则从 8 脚发出低电平中断请求信号送单片机 端,单片机检测到低电平后停止定时器的工作。 超声波接收电路如图 42 所示。 齐鲁工业大学毕业 2020 届本科毕业设计(论文) 11 图 42 超声波接收电路 显示电路 显示电路如图 43,四位 LED 组成动态扫描电路,由 AT89C51 的 P0 口输出。 动态扫描时,由 P2 口控制 LED 的当前显示位。 当距 离测量结束并调用显示程序,就会显示距离大小,显示两位小数。 当按下按键 k2 时,将会显示温度值,延时 5s 后恢复显示距离值。 图 43 显示电路 电源电路 电源电路如图 44所示。 为方便起见,本设计采用的是 9V电池供电,直流电送入三端稳压器 LM7805 稳压,输出 +5V稳恒直流电,作为电路的电源。 LED 是电源指示灯,通电后发光。 齐鲁工业大学毕业 2020 届本科毕业设计(论文) 12 图 44 电源电路 第 5 章 软件设计及系统仿真 主程序流程 我们知道 C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用 C 语言和汇编语言混合编程。 因为本设计对时间要求精度较高的部分全部由单片机内部的定时器完成,而虽然温度传感器的读写对时间精度要求也高,但经详细计算所得出的 C 程序已被广泛应用,故直接借用已有程序也能作到对温度的准确读取,所心本设计全部使用 C语言编程,这样能使设计中所用到的公式能方便快捷的体现和实现, 又缩短了论文的篇幅。 本设计的主程序流程图如图 51 所示。 齐鲁工业大学毕业 2020 届本科毕业设计(论文) 13 N Y N Y N Y Y N 开始 系统初始化 显示测量距离 测温,根据温度和时间计算距离 显示温度5s 发射超声波, T1计时 K2 闭合。 T1停止定时,保存定时值 N 接 收 到 反 射波。 K1 闭合。 K3 闭合。 图 51 主程序流程图 系统上电后,首先系统初始化,不断扫描按键 k1,若按键 k1 按下,则开始测量空气温度,然后将 置位,使定时器 T0 开始定时,控制超声波传感器发出超声波,同时使定时器 T1 开始定时。 CPU循环检测 引脚,当 为低电平时接收到回波,立即使 T1 停止工作,保存定时器的计数值。 然后根据温度和传输时间计算距离,温度补偿措施使测量精度有了明显提高,计算出距离后调用距离显示子程序, LED 显示距离。 最后检测按键 k2,若 k2 闭合,则调用温度显示子程序, LED 显示温度(温度并非测量距离时用于补偿的温度,而是当前温度) 5s 后恢复显示本次测量距离;若按键k2 没有闭合,则显示器恒定显示最新一次的测量结果;若要进行下一次测量,则先齐鲁工业大学毕业 2020 届本科毕业设计(论文) 14 要按下 k3 重新开始,再按下按键 k1 才执行新一次测量。 由于不需输入数据,键盘只设置了 3 个按键,用于开始测量距离并显示温度功能设置等。 设计 超声波 发送及接收中断子程序原理 超声波发生子程序的作用是通过 端口发送左右超声波脉冲信号(频率约40kHz 的方 波),脉冲宽度为 12μs左右,同时把计数器 T1 打开进行计时 ,定时器 T1工作在方式 0。 超声波测距仪主程序利用外中断 1 检测返回超声波信号,一旦接收到返回超声波信号(即 1INT 引脚出现低电平),立即进入中断程序。 进入中断后就立即关闭计时器T1 停止计时,并将测距成功标志字赋值 1。 如果当计时器溢出时还未检测到超声波返回信号,则定时器 T1 溢出中断将外中断 1 关闭,并将测距成功标志字赋值 0 表示此次测距不成功。 距离计算子程序 当前温度和超声波往返时间均测量出来后,用 C语言根 据公式计算距离来编程是比较简单的算法。 根据测量距离 ctD 21 ,其 实现 程序算法如下: include void distance(void) { double radical,dist,t。 radical=sqrt(1+(temnum+273)/273)。 dist=*t*radical。 return(dist)。 } —— Keil 单片机开发中除必要的硬件外,同样离不开。基于单片机的超声波测距仪设计毕业设计(论文
相关推荐
/O 口线,看门狗定时器, 2个数据指针,三个 16位定时器 /计数器,一个 6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz静态逻辑操作,支持 2种软件可选择节电模式。 空闲模式下, CPU停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止
时钟电路 按键电路 我们通过 来启动测量,程序中通过查询 的电平来检测是否按键被按下,电路原理如下: 图 7 按键电路 当按下按键时 为低电平,单片机通过 查询到低电平开始测量距离,当松开按键, 即为高电平。 在软件中通过软件延时来消除按键的机械抖动。 蜂鸣器电路 . . 工作原理:当 输出高电平时, Q3 导通, Q5 截止,蜂鸣器回路开路,蜂鸣器不响。 当 输出高电平 时, Q3 截止,
构成。 扬声器中的线圈通电时,在线圈附近会产生磁场,磁场与 扬声器前端的磁铁相互作用,使得线圈以一定的频率振动从而发出声音来。 语音报警的过程需要扬声器不断的发出声音来,因此需要对播报内容进行一个事先的存储,即将其存放在 SD 卡中。 要实现音频文件的输出,若单独由单片机来解码 MP3 文件是很困难的,因为从处理速度和资源各个方面都很难满足要求,因此需要采用专门的 MP3/ADPCM 解码芯片
式选项 2 CE 复位 /停止键或启动 /停止键 (高电平有效 ) /BUSY 忙信号输出(工作时出 0,平时为 1) 2 MSEL1 模式设置端 1 BE 键声选择(接 1 为有键声, 0 则无) 2 MSEL2 模式设置端 1VSSD 数字电路电源地 2EXTCLK 外接振荡频率端(用内部时钟时接地) 1VSSA 模拟电路电源地 2 /RE 录放 选择端( 0为录音、 1为放音) 1 SP+
自行车里程 /速度计的设计 16 致谢 首先,我要感谢 何景峰 老师在本次毕业设计中不厌其烦的指导我, 在整个毕业设计制作过程中, 使得我在单片机方面 的 技能得到了进一步提高。 何老师 给予了全程的帮作、鼓励与指导, 他的细心是我非常感动, 在此我表示衷心的感谢。 还有我要感谢筹划、负责这次毕业设计的老师领导。 有了你们仔细认真的工作,我们的毕业设计才能有条不紊的展开。 最后
号输入端, “V+”、 “V”为正、负电源端, “Vo”为输出端。 两个信号输入端中, Vi( )为反相输入端,表示运放输出端 Vo 的信号与该输入端的相位相反; Vi+( +)为同相输入端,表示运放输出端 Vo 的信号与该输入端的相位相同。 LM358 的引脚排列见图。 图 图 由于 LM358 二运放电路具 有电源电压范围宽,静态功耗小,可单电源使用, 价格低廉等优点