基于at89c51单片机超声波测距仪的设计内容摘要:
( 1)测试单片机软件功能的完整性。 这是针对所有单片机系统功能的测试,测试软件是否写得正确完整。 ( 2)上电、掉电测试。 在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可抗性。 ( 3)老化测试。 测试长时间工作情况下,单片机系统的可抗性。 必要的话可以放置在高温、高压以及强电磁干扰的环境下测试。 ( 4) ESD和 EFT 等测试。 可以使用各种干扰模拟器来测试单片机系统的可抗性。 例如使用静电模拟器测试单 片机系统的抗静电 ESD 能力;使用突波杂讯模拟器进行快速脉冲抗干扰 EFT测试等。 单片机的抗干扰性 影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺的影响。 这些都是单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。 形成干扰的基本要素有三个: (1)干扰源。 指产生干扰的元件、设备或信号,用数学语言描述为 du/dt、 di/dt 大的地方就是干扰源,如雷电、继电器、可控硅、电机、 高频时钟等都可能成为干扰源 (2)传播路径。 指干扰从干扰源传播到敏感器件的通路或媒介。 典型的干扰传播路径是通过导线的传导和空间的辐射。 (3)敏感器件。 指容易被干扰的对象,如 A/D、 D/A 变换器,单片机,数字 IC,弱信号放大器等。 徐州工程学院毕业设计 (论文 ) 16 7 软硬件调试 调试 测试是为了发现程序中的错误而执行程序的过程。 具体地说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。 超声波测距仪的制作和调试,其中超声波发射和接收采 用 Φ15 的超声波换能器TCT4010F1( T发射)和 TCT4010S1( R 接收),中心频率为 40kHz,安装时应保持两换能器中心轴线平行并相距 4~ 8cm,其余元件无特殊要求。 若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。 根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容 C的大小,以获得合适的接收灵敏度和抗干扰能力。 提高精度的方案及系统设计 ( 1) 温度校正的方法提高测距精度 由上述的误差分析知,如果能够知道当地温度,则可根据公式 ⑷ 求出当地声速,从而能够获得较高的测量精度。 而问题的关键在于获得温度数据的方法。 采用热敏电阻、热电耦、集成温度传感器都可以获得较为准确的温度值。 为了便于对温度信号的数据采集及处理,我们采用 DALASS 公司生产的 DS18B20 集成温度传感器。 DS18B20 采用了 DALASS 公司的 1WIRE 总线专利技术,能够仅在占用控制器一个 I/O 口的情况下工作(芯片可由数据线供电),极大的方便了使用者的调试使用,而且其在- 10oC ~+ 85oC 的工作环境下可以保持 177。 % 的使用精度,在这个空间内足以保证为超声波测距设备提供足 够的精度范围。 通过 DS18B20 芯片获得的数据信号经由 1WIRE 总线传至 MCU ,由软件进行声速换算。 为了更好的实现换算过程同时兼顾设备的使用成本,我们采用宏晶公司的最新推出的 STC12C5410 单片机实现超声波测距的各项功能。 STC12C5410 采用了低成本、低功耗、强抗干扰设计,并且在最高支持 48MHz 的前提下能够实现 1 个时钟 / 机械周期的运行速度。 由于能够使用高频率的晶振,因此相对于普通单片机来说可以有效的减少由计时问题带来的量化误差,能够满足较高精度超声波测距仪的设 计要求。 ( 2) 标杆校正的方法提高测距精度 在复杂环境下,如果难于获得环境温度,或者不便获得环境温度时,如果仍旧要求较高的测量精度,我们采用所谓标杆校正的方法实现超声波测距精度的校正。 标杆校正的示徐州工程学院毕业设计 (论文 ) 17 意图 下图 71 所示。 图 7 1标杆校正的示意图 超声波测距装置首先测量距离已知为 h 的基平面(标杆)声波往返所用的时间,而后由测得的时间和距离 h 根据公式 ⑷ 求出当地声速。 通过这样的方法,我们也能够顺利的求出声速,省去了使用传感器测量温度所带来的麻烦。 因此,只用为测距设备设定 “ 标定 ” 和 “ 测量 ” 两种 状态,即能够实现温度校正所能实现的高精度测距功能。 徐州工程学院毕业设计 (论文 ) 18 8 系统的扩展 超声波测距系统在测量距离时,容易受到温度的影响 ,从而导致误差,在此通过DS18B20 对其进行改进。 DS18B20 的简介 (1)适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电。 (2)独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 (3)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)温范围- 55℃ ~+ 125℃ ,在 10~ +85℃ 时精度为 177。 ℃。 (6)可编程的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃ 、 ℃ 、 ℃和 ℃ ,可实现高精度测温。 (7)在 9 位分辨率时最多在 内把温度转换为数字, 12 位分辨率时最多在 750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数 字温度信号,以 一线总线 串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 的外形及管脚排列如下图 81: 徐州工程学院毕业设计 (论文 ) 19 图 81DS18B20的外形及管脚排列 DS18B20 的工作原理 DS18B20 的读写时序和测温原理与 DS1820 相同,只是 得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 DS18B20 测温原理如图 3 所示。 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。 高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。 计数器 1和温度寄存器被预置在- 55℃ 所对应的一个基数值。 计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号 进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 82 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1的预置值。 图 82DS18B20测温原理框图 DS18B20 有 4 个主要的数据部件 ( 1)光刻 ROM 中的 64 位序列号是出厂前被光 刻好的,它可以看作是该 DS18B20 的地址序列码。 64 位光刻 ROM的排列是:开始 8位( 28H)是产品类型标号,接着的 48 位是该DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。 ( 2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 ℃ /LSB 形式表达,其中 S为符号位。 表 1: DS18B20温度值格式表 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中徐州工程学院毕业设计 (论文 ) 20 的前面 5位是符号位,如果测得的温度大于 0,这 5位 为 0,只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 即可得到实际温度。 表 2: DS18B20温度数据表 ( 3) DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、 TL 和结构寄存器。 ( 4)配置寄存器该字节各位的意义如下 : 表 3: 配置寄存器结构 TM R1 R0 1 1 1 1 1 低五位一直都是 1, TM是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 DS18B20 与单片机的连接 在硬件上, DS18B20 与单片机的连接有两种方法,一种是 Vcc 接外部电源, GND接地, I/O 与单片机的 I/O 线相连;另一种是用寄生电源供电,此时 UDD、 GND 接地,I/O 接单片机 I/O。 无论是内部寄生电源还是外部供电, I/O 口线要接 5KΩ 左右的上拉电阻。 CPU 对 DS18B20 的访问流程是:先对 DS18B20 初始化,再进行 ROM 操作命令,最后才能对存储器操作,数据操作。 DS18B20 每一步操作都要遵循严格的工作时序和通信协议。 如主机控制 DS18B20 完成温度转换这一过程,根据 DS18B20 的通讯协议,须经三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM指令,最后发送 RAM指令,这样才能对 DS18B20 进行预定的操作。 徐州工程学院毕业设计 (论文 ) 21 DS18B20 与 51 单片机的连接程序。 FLAG1: 标志位 ,为 1时表示检测到 DS18B20。 DQ: DS18B20 的数据总线接脚。 TEMPER_NUM:保存读出的温度数据。 晶振为 12MHZ 左右 TEMPER_L EQU 36H TEMPER_H EQU 35H DQ BIT。 DS18B20 初始化程序。 //*****************************************// INIT_1820: SETB DQ NOP CLR DQ MOV R0,06BH TSR1: DJNZ R0,TSR1。 延时 SETB DQ MOV R0,25H TSR2: JNB DQ,TSR3 DJNZ R0,TSR2 LJMP TSR4。 延时 TSR3: SETB FLAG1。 置标志位 ,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG1。 清标志位 ,表示 DS1820 不存在 LJMP TSR7 TSR5: 徐州工程学院毕业设计 (论文 ) 22 MOV R0,06BH TSR6: DJNZ R0,TSR6。 延时 TSR7: SETB DQ RET。 //*****************************************//。 读出转换后的温度值。 //*****************************************// GET_TEMPER: SETB DQ。 定时入口 LCALL INIT_1820 JB FLAG1,TSS2 RET。 若 DS18B20 不存 在则返回 TSS2: MOV A,0CCH。 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,44H。 发出温度转换命令 LCALL WRITE_1820 LCALL INIT_1820 MOV A,0CCH。 跳过 ROM 匹配 LCALL WRITE_1820 MOV A,0BEH。基于at89c51单片机超声波测距仪的设计
相关推荐
括为表 2- 4 表 2- 4 ISD2560/90/120P 地址功能表 第三章 LM386 语音功率放大器 为了使语音芯片的性能得到最好的发挥。 需在 1 15脚即 SP+,SP之间加一个LM386语音功率放大集成电路。 它的 6脚为电源正极, 4脚接地。 3脚为选择输入端, 5脚为输出端。 8脚为增益控制端, 7脚微旁路端。 它具有如下特点: ( 1) 工作电压范围( 4V12V) (
中断系统继续工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 AT89C51 引脚功能说明 AT89C51 单片机的 的引脚见图 23。 P0 口: P0 口是一组 8 位漏极开路型双向 I/O,也即地址 /数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写 “ 1” 可作为高阻抗徐州工程学院毕业
的可反复檫写的程序存储器和 12kB 的随机存取数据存储器( RAM),器件采用 Atmel 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内配置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大的 AT89C52 单片机可灵活应用于各种控制领域。 AT89C52单片机属于 AT89C51单片机的增强型,与 Intel公司的 80C52 在引脚排列
示开关及光标设置: (初始化 ) 0000 1DCB D 光标显示 (1 有效 )、 C 光标显示 (1 有效 )、 B 光标闪烁 (1 有效 ) 0000 01NS N=1(读或写一 个字符后地址指针加 1 amp。 光标加 1), N=0(读或写一个字符后地址指针减 1 amp。 光标减 1) S=1 且 N=1 (当写一个字符后,整屏显示左移 ) s=0 当写一个字符后,整屏显示不移动
件组成:一个 8 位 CPU; 128B 内部数据存储器RAM,包括 21 个特殊功能寄存器; 4KB( 4096 个单元)的在线可编程 Flash 片内程序存储器 FlashROM; 4 个 8 位并行输入 /输出口(即 I/O 口) P0、 P P P3口; 1 个可编程全双工的异步串行口; 2 个 16 位定时器 /计数器; 5 个中断源、 2个中断优先级;时钟电路,振荡频率在
空穴复合发光。 除了这种发光复合外,还有些电子被非发光中心(这个中心介于导带、介带中间附近)捕获,而后再与空穴复合,每次释放的能量不大,不能形成可见光。 发光的复合量相对于非发光复合量的比例越大,光量子效率越高。 由于复合 是在少子扩散区内发光的,所以光仅在靠近 PN 结面数 μm以内产生。 理论和实践证明,光的峰值波长 λ与发光区域的半导体材料禁带宽度E g 有关,即 λ≈1240/Eg (