(完整word版)超声波测距仪的设计
- 格式:doc
- 大小:279.00 KB
- 文档页数:20
超声波测距器的设计摘要用单片机控制超声波的发射,通过单片机记录和读取发射超声波和接收到的回波的时间差,进而计算出测量的距离。
文中详细论述了超声波测距的原理、测量电路和程序设计的方案。
关键词:超声波测距仪单片机目录摘要................................................Ⅰ1前言.................................................1 1.1 设计任务.............................................1 1.2本设计的应用意义.....................................1 2总体设计方案.............................................2 2.1设计原理...................................................3 2.2总体设计框图...............................................4 3电路原理的设计...............................................5 3.1超声波传感器....................................5 3.2超声波发射电路设计........................................7 3.3超声波回波接收处理电路设计.................................8 3.4LED显示电路设计...................................9 3.5键盘电路设计.............................................10 4软件设计.............................................12 4.1超声波测距原理........................................124.1.1超声波脉冲法测距原理...................................204.1.2超声波信号测量..................................21 4.2程序框架.......................................174.3测距控制程序...............................18 4.416Hz时基中断处理程序.............................194.6EXT1外部中断程序......................................22 4.7显示刷新程序.........................................23 4.8主程序.........................................23 5系统调试...........................................245.1硬件电路调试.........................................245.2软件程序调试.........................................255.2.1调试的主要方法.................................265.2.2调试中遇到的问题.................................275.3综合调试.............................................28 6 设计总结.......................................................29 致...........................................................30 参考文献.......................................................31 附录A:超声波测距器电路原理图....................................32 附录B:程序清单...................................................321 前言1.1 设计任务本设计实现超声波测距,要求测距围为100cm~500cm,用LED 数码管显示测量结果,以厘米为单位,精度为1 厘米;测量用按键触发:(1)开机时数码管显示000;(2)按下键盘则进行一次测量,并把测量结果显示在LED 数码管上。
超声波测距仪的设计一、设计目的本设计利用超声波传输中距离与时间的关系,采用STC51单片机进行控制和数据处理,设计出能够精确测量两点间距离的超声波测距仪。
同时了解单片机各脚的功能,工作方式,计数/定时,I/O口的相关原理,并稳固学习单片机的相关内容知识。
二、设计要求1.设计一个超声波测距仪,能够用四段数码管准确显示所测距离2.精度小于1CM,测量距离大于200CM三、设计器材元器件数量STC51单片机 1个超声波测距模块URF-04 1个电阻〔1K 200 4.7K〕 3 个晶振〔12MHz〕 1 个共阳极四位数码管 1 个极性电容〔33pF〕 2 个非极性电容〔22uF〕 1 个四、超声波测距系统原理331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以到达毫米级。
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米〔15℃时〕。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,那么有340m×0.03S=10.2m。
由于在这10.2m 的时间里,超声波发出到遇到返射物返回的距离如下:图1 测距原理超声波测距器的系统框图如下列图所示:图2 系统框图五、设计方案及分析〔包含设计电路图〕4.1硬件电路设计4.1.1 单片机最小系统控制模块设计与比拟方案二:采用STC51单片机控制。
STC51单片机是一种低功耗、高性能CMOS8位微控制器,具有 8KB的系统可编程Flash 存储器。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路,能够满足题目设计的所有要求,而且我们对STC51单片机也比拟熟悉,因此我们选择方案二。
最小系统电路图如图3所示图3 单片机最小系统显示模块设计采用四位共阳极数码管显示,连接电路简单,显示电路连接图如图4所示图4 数码管显示电路超声波测距模块a.本系统采用超声波模块URF04进行测距,该模块使用直流5V供电,理想条件下测距可达500cm,广泛应用于超声波测距领域,模块性能稳定,测度距离精确,盲区〔2cm〕超近。
超声波测距仪毕业论文中文摘要电子测距仪要求测量范围在50cm~500cm,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于液位、井深、管道长度的测量等场合。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
因此在移动机器人的研制上也得到了广泛的应用。
我的超声波测距仪设计采用74hc04反相器和CX20106搭接电路实现了超声波的发射与接收。
采用AT89C51单片机为该测距仪的控制核心,此设计易于调试,成本低廉,具有很强的实用价值和良好的市场前景。
关键词:超声波传感器,单片机,测距仪ABSTRACTElectronic distance measurement instrument for measurement in the range of 20cm-2.5m, precision 1cm, with the measurement of the measured object without direct contact, can clearly demonstrate the stability of the measurement results. Because of the strong point of ultrasonic energy consumption, slow, medium of communication in the longer distance, which are often used for ultrasonic distance measurement. Such as the range finder and level measurement and so on can be achieved by ultrasound. Ultrasonic ranging, can be applied to car parking, construction sites and some industrial site location monitoring, and can also be used for liquid level, depth, pipe length measurement occasions. Use of ultrasonic testing is often more rapid, convenient, simple, easy to achieve real-time control, and measurement accuracy can meet the practical requirements of industry. In the mobile robot has been developed on a wide range of applications. My car anti-collision anti-theft alarm system design using 74hc04inverter and CX20106lap circuit to realize the ultrasonic transmitter and receiver. Using AT89C51 SCM as the control core of the range finder, this design easy debugging, low cost, has the very strong practical value and good market prospects. Key words: ultrasonic sensor, single chip microcomputer, range finder,目录第一章绪论 .............................................................................................................................................. - 1 - 1.1 设计项目概述 ..................................................................................................................................... - 1 - 1.2 设计要求 ............................................................................................................................................. - 1 - 1.3 超声波测距原理 ................................................................................................................................. - 1 - 第二章超声波测距仪的内容及意义 ...................................................................................................... - 3 - 2.1 超声波测距仪的意义 ......................................................................................................................... - 3 - 2.2超声波测距仪的内容 .......................................................................................................................... - 3 - 第三章系统方案选择 .............................................................................................................................. - 3 - 3.1 方案一 ................................................................................................................................................. - 4 - 3.2 方案二 ................................................................................................................................................. - 4 - 3.3 方案确定 ............................................................................................................................................. - 4 - 第四章系统硬件电路设计 ...................................................................................................................... - 4 - 4.1单片机模块 .......................................................................................................................................... - 4 -4.1.1 AT89C51标准功能 .................................................................................................................. - 5 -4.1.2管脚说明................................................................................................................................... - 6 - 4.2超声波谐振频率调理电路模块 .......................................................................................................... - 7 - 4.3超声波回路接收处理电路模块 .......................................................................................................... - 8 - 4.4数码管显示模块 .................................................................................................................................. - 8 - 第五章系统软件程序设计 ...................................................................................................................... - 9 -5.1 超声波测距程序设计 ......................................................................................................................... - 9 - 5.2 超声波测距流程图 ........................................................................................................................... - 10 - 第六章系统软硬件调试 ........................................................................................................................ - 10 -6.1 硬件调试 ........................................................................................................................................... - 10 - 6.2 软件调试 ........................................................................................................................................... - 11 - 6.3 测试结果 ........................................................................................................................................... - 11 - 第七章调试中遇到的问题 .................................................................................................................... - 11 -7.1 发射接收时间对测量精度的影响分析 ........................................................................................... - 11 - 7.2 当地声速对测量精度的影响分析 ................................................................................................... - 12 - 总结 ........................................................................................................................................................ - 13 - 参考文献 .................................................................................................................................................. - 14 -附录A ....................................................................................................................................................... - 0 - 附录B ........................................................................................................................................................ - 0 - 致谢 ........................................................................................................................................................ - 6 -第一章绪论声波在其传播介质中被定义为纵波。
目录摘要 .................................................................................................................................. ABSTRACT .. (I)第1章绪论 (I)1.1 课题研究的背景 (1)1.2 课题研究的意义 (2)1.3 本设计主要研究内容 (2)第2章超声波测距方案设计 (3)2.1 超声波简介 (3)2.2 超声的应用 (3)2.3 超声波测距原理 (4)2.4 设计思路 (5)2.5 系统结构设计 (6)第3章主要元件介绍 (7)3.1 单片机AT89C51 (7)3.2 温度传感器DS18B20 (9)3.3 T40、R40超声波传感器简介 (10)3.3.1 超声波传感器的基本介绍 (10)3.3.2 超声波传感器的主要应用 (11)3.4 LM567锁相环 (12)3.4.1 LM567的概述 (12)3.4.2 LM567的功能叙述 (12)3.4.3 LM567主要参数 (13)第4章硬件电路设计 (14)4.1 超声波发射电路 (14)4.2 超声波接收电路 (14)4.3 显示电路 (15)4.4 电源电路 (16)4.5 复位电路 (16)4.6 时钟电路 (17)第5章软件设计 (18)5.1 主程序流程 (18)5.2 子程序设计 (19)5.2.1 超声波发送子程序及超声波接收中断子程序 (19)5.2.2 测温子程序 (21)5.2.3 距离计算子程序 (23)5.2.4 显示子程序和键盘扫描子程序 (23)第6章软件调试及系统仿真 (24)6.1 Keil C51开发系统基本知识 (24)6.2 系统仿真环境——proteus (25)6.3 系统仿真 (26)6.3.1 电路调试 (28)6.3.2 误差及分析 (28)总结 (30)致谢 (31)参考文献 (32)附录1整体电路图 (33)附录2 仿真图 (34)附录3程序清单 (35)摘要本设计介绍了一种基于单片机的超声波测距系统。
超声测距仪的设计与制作
超声测距仪(Ultrasonic Distance Meter)是一种通过超声波
来测定物体距离的仪器。
其基本原理是:以超音速在介质中传播的
特点,发送器产生超声波,通过传感器接收到物体反射回来的超声波,并通过处理器将接收到的信息转化为距离数据。
超声波测距的
优点是适用于大多数物体,测量精度高,反应时间快,常用于工业
领域、机器人控制、防盗报警等应用。
下面是超声测距仪的设计与制作步骤:
1. 制定设计方案:首先确定设计的目标、功能和应用范围。
确
定测量范围、分辨率、测量精度和可靠性要求,选择适当的传感器、发声器和处理器等元件和模块。
2. 确定电路原理图和PCB板图:采用EDA软件设计电路原理图
和PCB板图,按照元器件的连接方式设计电路,选择合适的PCB板,进行布线、连接、焊接等工作。
3. 组装调试:按照PCB板图进行组装,连接电源及显示器,并
进行初步测试,包括实际测量距离与显示距离的比对,测量精度的
测试,以及各种异常处理。
4. 调整优化:主要是对电路和程序进行优化以保证测距精度和
响应速度,同时还要考虑功耗、噪音、温度和湿度等因素的影响。
5. 装箱上线:将电路和PCB板固定在合适的外壳中,加上电池、电源适配器、传感器和发声器等部件,修整外观和按钮等位置,进
行最后的功能测试和运行稳定性测试。
以上是超声测距仪的设计和制作步骤,需要选用适合的元器件和材料,按照标准的工艺流程,进行精密的组装和调试,保证生产出稳定、可靠、精准的超声测距仪。
超声波测距仪的设计方案简介超声波测距仪是一种常见的测距设备,它利用超声波的传播特性来实现对距离的测量。
本文将介绍超声波测距仪的设计方案,包括硬件设计和软件设计。
硬件设计超声波传感器超声波传感器是超声波测距仪的核心部件,它能够发射超声波并接收回波。
常用的超声波传感器有两种,一种是单通道超声波传感器,一种是多通道超声波传感器。
控制电路超声波传感器和微控制器之间需要通过控制电路进行连接。
控制电路主要包括电压转换电路、信号放大电路和滤波电路,它们的作用是将超声波传感器输出的模拟信号转换为微控制器能够识别的数字信号。
显示装置为了方便用户查看测距结果,超声波测距仪通常会配备一个显示装置。
显示装置可以是液晶显示屏、数码管等,通过显示装置可以直观地显示测距结果。
电源模块超声波测距仪需要一个可靠的电源供电。
电源模块可以采用锂电池、干电池或者充电电池等供电方式。
软件设计初始化配置超声波测距仪启动时需要对各个模块进行初始化配置。
这包括设置超声波传感器的工作频率和增益,设置控制电路的参数,以及初始化显示装置等。
超声波测距算法超声波测距算法是超声波测距仪的核心算法,它主要用于计算超声波传感器发射的超声波到接收回波之间的时间差,从而得到距离。
常用的超声波测距算法有三角函数法、脉冲回波法和相位差法等。
其中,三角函数法是最简单的算法,适用于测量距离较短的情况;脉冲回波法和相位差法适用于测量距离较长的情况,但需要更为复杂的计算。
距离显示软件设计中还需要考虑如何将测得的距离值进行显示。
可以通过数码管、液晶显示屏或者计算机界面等方式进行显示。
报警功能超声波测距仪还可以增加报警功能,当检测到距离超过设定的阈值时,触发报警,提示用户该区域存在障碍物。
总结超声波测距仪的设计方案主要包括硬件设计和软件设计两部分。
硬件设计包括超声波传感器、控制电路、显示装置和电源模块的设计。
软件设计包括初始化配置、超声波测距算法、距离显示和报警功能等。
通过合理设计和优化算法,可以实现一个精准、稳定的超声波测距仪。
西安航空职业技术学院超声波测距仪课程课程设计说明书设计题目:超声波测距仪专业:电子信息工程技术班级学号:1002101姓名:余新旺指导教师:洪云飞2011 年 11 月 23 日教务处印制西安航空职业技术学院课程设计任务书课题名称:超声波测距仪设计内容:根据超声波测距原理,设计超声波测距器的硬件结构电路。
技术条件或要求:(1).了解超声波测距原理。
(2).制作实物指导教师(签名):教研室主任(签名):开题日期: 2011 年月日完摘要本设计采用STC89C52单片机为核心,阐述了超声波测距的硬件和软件设计方法,制作出低成本、高精度、微型化带数字显示的超声波测距电路。
整个电路采用模块化设计,由STC89C52单片机控制电路、超声波发射电路、接收电路、DS18B20温度补偿电路及LCD1602显示电路五部分组成。
软件主程序由定时中断子程序、外部中断子程序两大部分组成。
信号经单片机综合分析处理,实现超声波测距仪的各种功能。
经实验证明,这个电路软硬件具有设计合理、抗干扰能力强、实时性良好,精确度高等特点,测量距离最大为 1.9m。
可以有效地解决物体的短距离测量和避障。
关键词:超声波;STC89C52;DS18B20温度补偿目录1绪论 (1)1.1课题设计目的及意义 (1)1.1.1设计的目的 (1)1.1.2设计的意义 (1)1.2超声波测距电路的设计思路 (1)1.2.1超声波测距原理 (1)2电路方案设计与论证 (2)2.1系统整体方案的设计 (2)2.2距离测量 (3)3 系统的硬件电路设计 (4)3.1 51系列单片机的功能特点及测距原理 (4)3.1.1 51系列单片机的功能特点 (4)3.1.2 单片机实现测距原理 (5)3.2 超声波发射元件及电路 (5)3.2.1 压电式超声波传感器 (5)3.2.2 超声波发射电路 (6)3.2.3 超声波接收电路 (6)3.3 LCD1602显示电路 (7)3.3.1 1602基本资源 (7)3.3.2 1602硬件电路连接电路图如图3.5所示 (8)3.4 DS18B20温度补偿电路 (9)3.4.1 DS18B2的简介 (9)3.5电路整体电路图 (9)4 系统软件的设计 (10)4.1 超声波测距仪的算法设计 (10)4.2 主程序流程图 (10)4.3软件的调试程序(见附录二) (11)5系统制作与调试 (12)5.1电路安装与调试 (12)5.2测量数据 (12)5.2.1测试方案 (12)5.2.2测试数据 (12)5.2.3实验误差分析 (13)结束语 (14)致谢 (15)参考文献 (16)附录 (17)附录一电路整体电路图 (17)附录二软件的调试程序 (18)1绪论1.1课题设计目的及意义1.1.1设计的目的随着科学技术的快速发展,超声波在测距仪中的应用越来越广。
1.1设计内容随着科学技术的快速发展,超声波将在传感器中的应用越来越广。
超声波测距与其它非接触式的检测方式方法相比,如电磁的或光学的方法它不受光线,被测对象颜色,电磁干扰等影响。
超声波对于被测物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力[2]。
因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛应用。
特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点[3]。
本次设计主要是利用STC12LE5406AD 单片机、超声波传感器完成测距报警系统的制作,以STC12LE5406AD 为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC12LE5406AD 发出指令控制蜂鸣器报警。
1.2 设计要求随着科学技术的快速发展,超声波将在测距仪中应用越来越广泛。
其原理是:以STC12LE5406AD 为主控芯片,实现发射电路的控制和接收数据的处理,并用数码管显示测量的数据。
具体指标要求是:指标1:测量精度-1~+1cm指标2:显示四位本系统在“报警”方面进行创新,其功能是:创新1:设定报警距离值,当测得距离小于设定值时,蜂鸣器报警1.3 系统总体结构本设计包括硬件和软件设计两个部分。
模块划分为数据采集、按键控制、四位数码管显示、报警等子模块。
电路结构可划分为:超声波传感器、蜂鸣器、单片机控制电路。
就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。
单片机应用系统也是有硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。
(完整w o r d版)超声波测距仪的设计-CAL-FENGHAI.-(YICAI)-Company One1题目:超声波测距仪的设计超声波测距仪的设计一、设计目的:以51单片机为主控制器,利用超声波模块HC-SR04,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。
通过该设计的制作,更为深入的了解51的工作原理,特别是51的中断系统及定时器/计数器的应用;掌握数码管动态扫描显示的方法和超声波传感器测距的原理及方法,学会搭建51的最小系统及一些简单外围电路(LED显示电路)。
从中提高电路的实际设计、焊接、检错、排错能力,并学会仿真及软件调试的基本方法。
二、设计要求:设计一个超声波测距仪。
要求:1.能在数码管上实时显示障碍物的实际距离;2.所测距离大于2cm小于300cm,精度2mm。
三、设计器材:STC89C52RC单片机HC-SR04超声波模块SM410561D3B四位的共阳数码管9014三极管(4)按键(1)电容(30PF2,10UF1)排阻(10K),万用板,电烙铁,万用表,5V直流稳压电源,镊子,钳子,导线及焊锡若干,电阻(200欧5)。
四、设计原理及设计方案:(一)超声波测距原理超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。
超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。
通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。
基本的测距公式为:L=(△t/2)*C式中 L——要测的距离T——发射波和反射波之间的时间间隔C——超声波在空气中的声速,常温下取为344m/s声速确定后,只要测出超声波往返的时间,即可求得L。
根据本次设计所要求的测量距离的范围及测量精度,我们选用的是HC-SR04超声波测距模块。
(如下图所示)。
此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生40Khz的方波引起压电陶瓷共振从而产生超声波。
在使用时,只要在控制端‘Trig’发一个大于15us宽度的高电平,就可以在接收端‘Echo’等待高电平输出。
单片机一旦检测到有输出就打开定时器开始计时。
当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。
(二)超声波测距模块HC-SR04简要介绍HC-SR04超声波测距模块的主要技术参数使用方法如下所述:1. 主要技术参数:①使用电压:DC5V②静态电流:小于2mA③电平输出:高5V④电平输出:低0V⑤感应角度:不大于15度⑥探测距离:2cm-300cm HC-SR04超声波测距模块实物图⑦高精度:可达2mm2. 接线方式:VCC、trig(控制端)、 echo(接收端)、 GND使用方法:给Trig端发一个15uS以上的高电平,就可以在接收口Echo端等待高电平输出。
一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。
3.工作原理:①采用IO触发测距,给至少10us的高电平信号 (在我们的程序中我们为了确保有效触发,给了约持续15us时间宽度的高电平);②模块自动发送8个40khz的方波,自动检测是否有信号返回;③有信号返回,通过Echo输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(344M/S))/2;(三)总体设计方案:以51单片机作为主控制器,在超声波模块HC-SR04的‘Trig’端加一个大于10us的高电平,本次设计中我们为了确保有效触发,程序中设置了约为15us的高电平进行触发。
触发发射端产生超声波,同时在接收端(‘Echo’端)等待高电平的输出,一旦检测到有高电平的输出就打开定时器0进行计时。
根据所给超声波模块的技术资料可知:‘Echo’端高电平持续的时间就是超声波从发射到返回的时间。
当超声波遇到障碍物,回波被接收端接收到后,‘Echo’端变为低电平。
此时关闭定时器0(令TR=0),读出定时器的值。
这个值即为超声波的传播时间(单位为us)。
根据声波在空气中的传播速度,方可算出距离。
【测试距离≈(高电平时间*声速(344M/S))/2】将此距离进行处理,在数码管上利用动态扫描法实时显示。
系统的结构框图:我们将整个系统划分为:超声波模块、显示模块,以及51单片机外围工作电路模块。
(四)动态显示模块:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。
在本次设计中,我们选用P0口作为‘段码’,连接SM410561D3B‘a,b,c,d,e,f,g,dp’,每一段的亮灭。
选用P2.4~P2.7分别对应‘位码’,即连接SM410561的‘S1,S2,S3,S4’分别控制每一位的亮灭。
‘S1,S2,S3,S4’相当于是每一段的COM端,由于是共阳极,只有某一位对应的COM端为‘1’时,所送的‘段码’对该端来说才是有效的。
仿真电路图(五)硬件整体设计方案:我们在硬件设计上主要包括以下几个模块的设计:(六)软件设计方案:程序如下:uint time=0; //探测时间unsigned long S=0; //探测距离,注意是长整型//uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,//0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //共阳数码管uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; sbit echo=P3^7; //接收端sbit trig=P3^6; //发射端sbit SMG_q = P2^4; //定义数码管阳级控制脚(千位)sbit SMG_b = P2^5; //定义数码管阳级控制脚(百位)sbit SMG_s = P2^6; //定义数码管阳级控制脚(十位)sbit SMG_g = P2^7; //定义数码管阳级控制脚(个位)uchar flag,a; //标志位/*函数名称:init()**输入参数:void**输出参数:void**函数功能:初始化超声波测距仪,定时器,中断*/void init(){echo=0;trig=0;flag=1;qian=10;bai=10;shi=10;ge=10; //数码管显示- - - - TMOD=0x01; //设T0为方式1TH0=0;TL0=0;ET0=1; //允许T0中断TR0=0;EA=1; //开启总中断}/*函数名称:delay()**输入参数:unsigned char cnt**输出参数:void**函数功能:延时函数*/void delay(unsigned char cnt) //大约延时2*cnt 微妙{while(--cnt);}/*函数名称:display()**输入参数:uchar qian, uchar bai, uchar shi, uchar ge**输出参数:void**函数功能:数码管显示模块*/void display(uchar qian,uchar bai,uchar shi,uchar ge){SMG_q=1; //选择千位数码管P0=table[qian]; //查找"1"定义好的数码管段值与P0口输出,显示相应的1delay(100); //加入短暂延时P0=0XFF; //清除数码管显示,因是共阳型,所以不是0SMG_q=0; //关闭千位数码管SMG_b=1; //选择百位数码管P0=table[bai]; //查找"2"定义好的数码管段值与P0口输出,显示相应的2delay(100); //加入短暂延时P0=0XFF; //清除数码管显示,因是共阳型,所以不是0SMG_b=0; //关闭百位数码管SMG_s=1; //选择十位数码管P0=table[shi]&0x7f; //查找"2"定义好的数码管段值与P0口输出,显示相应的2delay(100); //加入短暂延时P0=0XFF; //清除数码管显示,因是共阳型,所以不是0SMG_s=0; //关闭十位数码管SMG_g=1; //选择个位数码管P0=table[ge]; //查找"2"定义好的数码管段值与P0口输出,显示相应的2delay(100); //加入短暂延时P0=0XFF; //清除数码管显示,因是共阳型,所以不是0SMG_g=0; //关闭个位数码管}/*函数名称:startmodule()**输入参数:void**输出参数:void**函数功能:超声波测距仪触发模块*/void startmodule(){trig=1; //15us 启动一次模块_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();trig=0;delay(10);}/*函数名称:main()**输入参数:void**输出参数:void**函数功能:控制模块*/void main(){init(); //初始化子程序while(1){startmodule();while(!echo) //起始为0,当为1时,开始计时;TR0=1; //开启计数while(echo&&flag); //当echo为1计数并等待//flag标志位,当检测超过65ms退出等待回波,继续下一次检测time=(TH0*256+TL0)*(12/11.0592);TR0=0; //停止计时TH0=0;TL0=0; //关闭计数S=(time*17.4)/100; //算出来是mm,注意程序按mm处理显示的时候在十位加小数点,则以cm为单位显示且精度小于1cmif((S<1)||(S>4500)||(flag==0)) //大于1cm小于3m超出测量范围显示'----'{flag=1;qian=10;bai=10;shi=10;ge=10;五、设计中遇到的问题及解决办法:(1)在课程设计初期,我们组在一个现成的电路板(只有编码和位选与我们所要设计的作品的接法不同)上进行编写和调试程序。