at89c52单片机超声波测距仪设计_第1页
at89c52单片机超声波测距仪设计_第2页
at89c52单片机超声波测距仪设计_第3页
at89c52单片机超声波测距仪设计_第4页
at89c52单片机超声波测距仪设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计 http wwweehomecn forum 94 1html 1 前言 随着我国科学技术的迅速发展 许多场合都需要测距仪器的应用 如汽车倒车 建筑工地的施工以及一些工业现场的位置监控 还有矿井深度 水位位置 管道长度 等场合都需要用到测距仪器 要求仪器简单 方便 易操作控制 而超声波测距仪 就能实现以上的要求 它测量范围在 0 10 1 20m 测量精度 1cm 测量时仪器与被测 物体不会直接接触 而且能够清晰稳定的在液晶显示屏上显示出测量结果 但就目前整体的技术水平来说 人们可以具体利用的测距技术还十分有限 因此 这是一个正在蓬勃发展而又有无限前景的技术及产业领域 展望未来数十年 超声波 测距仪作为一种新型的非常重要且有用的工具在各方面都将有很大的发展空间 它将 朝着更加高定位高精度的方向发展 以满足日益发展的社会需求 本设计采用以 AT89C52 单片机为控制器核心的高精度 低成本 微型化数字显示 超声波测距仪的硬件电路和软件设计方法 整个电路采用模块化设计 由主程序 中 断程序 发射子程序 接收子程序 显示子程序等模块组成 各探头的信号经单片机 综合分析处理 实现超声波测距仪的各种功能 在此基础上设计了系统的总体方案 最后通过硬件和软件实现了各个功能模块 1 总体方案设计介绍 所谓的超声波就是指频率高于 20MHZ 的机械波 既然是以超声波为检测工具 那 么肯定要产生超声波和接受超声波的工具 这就需要用到我们的传感器 俗称探头 它有发射器和接收器之分 主要原理就是利用电效应把电能和超声波相互转换 利用 声波介质对被检测物进行非接触式无磨损的检测 超声波传感器对透明或有色物体 金属或非金属物体 固体 液体 粉状物质均能检测 本文所研究的超声波测距仪利用超声波指向性强 能量消耗缓慢 传播距离较远 中长距的高精度测距等优点 即用超声波发射器向某一方向发送超声波 将电能转换 发射超声波 同时在发射的时候单片机就开始计时 在超声波遇到障碍物的时候反射 回来 超声波接收器在接收到反射回来的超声波回波时 将超生振动转换成电信号 同时单片机停止计时 超声波测距原理一般采用渡越时间法 TOF 设超声波在空气中的 传播速度为 C 从发射到遇到障碍物反射回来在空气中的传播时间为 T 声源与障碍物 的距离为 L 则易知 L C T 2 这样可以测出声源与障碍物之间的距离 然后在 LED 显 示屏上稳定的显示出来 1 传感器的工作机理是依据压电材料的正逆压电效应 利用逆压电效应产生超声波 即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号 材料就会产生随所 单片机课程设计 http wwweehomecn forum 94 1html 2 加电压的变化规律而变化的机械形变 这种机械形变推动周围介质振动 产生疏密相 间的机械波 如果其振动频率在超声范围内 这种机械波就是超声波 1 根据设计要求并综合各方面因素考虑 本文决定采用 AT89C52 单片机作为主控制 器 超声波发射电路 超声波接收放大电路 显示电路 并用动态扫描法实现 LED 数 字显示 超声波驱动信号用单片机的定时器完成 超声波测距仪的系统硬件原理框图 如图 1 1 所示 微控制器 AT89C52 报 警 信号产生驱动 信号放大整型 发生器 接收器 LED 显示 结果 功 能 键 盘 温 度 检 测 图 1 1 超声波测距系统硬件原理框图 超声波在标准空气中的传播速度为 331 45 米 秒 由单片机驱动产生 12MHZ 晶振 所以此系统理论上可以达到毫米级 由发射器发送超声波出去 在遇到障碍物反射回 来时的回波由接收器检测到信号 然后经过滤波 放大 整形之后送入 AT89C52 单片 机进行计算 并将计算结果显示到 LED 液晶显示屏上 超声波发生器可以分为两大类 一类是用电气方式产生超声波 另一类是用机械方式产生超声波 电气方式包括压电 型 电动型等 机械方式有加尔统笛 液 和气流旋笛等 它们所产生的超声波的频率 功率和声波特性各不相同 因而用途也各不相同 本文属于近距离测量 适合汽车的 单片机课程设计 http wwweehomecn forum 94 1html 3 倒车雷达 故可采用常用的压电式超声波换能器 2 2 超声波的相关知识 2 1 超声波测距仪的主要功能概述 3 实时稳定显示当前测量距离 实时稳定显示当前测量温度 具有近距离和远距离两种测量模式 能够实时报警功能 具有开机系统自检功能 耗电量低 可靠性高 高灵敏度和高声压 2 2 超声波测距仪的主要技术指标 测量距离 0 20m 1 3m 测温范围 10 115 测量距离精度 1cm 实时功率 0 05W 标准频率 40kHz 声压级 120 3 公式 S P L 20logP Pre dB 系统发射功率 1mW max 工作电流 80mA min 90mA max 输入电源电压 5V 3 系统设计原理 4 超声波测距其实有很多的方法 包括声波幅值检测法 相位检测法 以及往返时 间检测法等等 声波幅值检测法容易受到反射波损耗的映像 相位检测法虽然精度高 但是检测范围有限 所以本系统采用往返时间检测法 其原理就是利用超声波在空气 介质中的传播速度 测量声波从发射到遇到障碍物反射回来的时间 根据发射和接收 的时间差计算出发射点到障碍物的实际距离 进而达到测距的效果 测距的公式表示为 L C T 2 3 1 式中 L 为被测量的距离长度 C 为超声波在空气中的传播速度 T 为测量距离传播 的时间差 T 为发射到接收之间时间数值的两倍 要想利用超声波准确的测得发射点与 障碍物之间的实际距离 那么就应该准确的测得超声波在空气介质中得实际传播速度 单片机课程设计 http wwweehomecn forum 94 1html 4 我们知道超声波是要随环境中的气压和介质温度的变化而变化 一般情况下受大气压 力的影响非常小 但是受温度的影响确实非常大的 例如在摄氏 0 度时其传播速度为 331 45m s 在摄氏 20 度时其传播速度为 343 869m s 在摄氏 30 度时其传播速度为 349 176m s 具体参考表 1 故要考虑到温度给实际测量带来的影响 尽量使测距准确 性大大提高 本方案中采用测量温度的方法来补偿声速 即用测温元件测量实际环境 的温度来校正声速 这就是温度补偿法 其中超声波在空气中的传播速度和温度有如 下的关系 V 331 4 0 607T m s T 3 2 其中 V 为超声波在该温度下的实际传播速度 单位为 m s T 为摄氏温度 当温 度知道的情况下 通过该式就可以知道该温度下超声波的传播速度了 表 1 不同温度下的超声波传输速度 温度 30 20 100102030100 声波 m s 313319325331338344349386 4 超声波测距系统的硬件组成 4 1 控制芯片的选择 5 一般情况下采用 AT89C51 单片机 但是他的资源有限 只有 4K 的程序存储空间和 两个定时器 而它的兄弟模块 AT89C52 单片机兼容 MCS51 指令系统 内部集成了 8K 的可反复擦写的程序存储空间 Flash ROM 四个 8 位的双向 I O 口 256x8bit 内 部 RAM 2 个串行中断 可编程 UART 串行通道 中断源增加一个 即额外增加了一 个定时器 计数器 T2 而且有 PDIP PQFP TQFP 及 PLCC 等几种封装形式 以适应 不同产品的需求 AT89C52 支持串口程序下载 具有操作简便 价格便宜 应用简单等许多优点 因 此我们选用这一型号的单片机作为控制器实现对超声波模组进行控制 然后单片机不 停的检测 INT0 引脚 当 INT0 引脚的电平由高电平变为低电平时就认为超声波已经返 回 单片机用 P1 0 端口输出超声波换能器所需的 40kHz 的方波信号 占空比 50 连 续发 10 个波 3 15 个波都可以 然后拉低 或拉高 50mS 以上 接着再输出 如此 循环 利用外中断 0 口监测超声波接收电路输出的返回信号 采用 12MHz 高精度的晶 振 以获得较稳定时钟频率 减小测量误差 是后面计算的基础 计数器所计的数据 就是超声波所经历的时间 通过换算就可以得到传感器与障碍物之间的距离 控制电 路如图 4 1 1 所示 单片机课程设计 http wwweehomecn forum 94 1html 5 图 4 1 1 超声波控制电路 4 2 超声波发射电路 6 MAX232 是美国 MAXIM 公司专为串口路通信设计的芯片 它能将 TTL 电平和 RS232 电平相互转换 具有功耗低 只需要单一 5V 电源供电 供电电流 5mA 内部集成 2 个 RS 232C 驱动器 高集成度 片外最低只需 4 个电容即可工作 所以这里超声 波发射电路采用基于 MAX232 的方波发射电路 电路前级主要由一块反向器芯片 74LS04 和超声波发射探头 T 构成 74LS04 内部具有 6 个独立的反相器 通过将外部管脚的组 合连接来实现对单片机发出的超声发射探头激励信号进行功率放大处理 单片机 P1 0 端口输出超声波转化器所需的 40KHz 方波信号 占空比为 50 的方波信号 一路通过 74LS04 内部一级反向器后送到超声波发射探头 T 的一个电极 另一路经两极反向器后 送到超声波换能器的另一个电极 用这种推挽形式将方波信号反相叠加到超声波换能 器的两端 可以将超声波发射强度提高一倍 同时输出端两路信号都采用两个反向器 并联得方式 这样可以提高超声脉冲的驱动能力 上拉电阻 R10 R11 一端接上正 5V 单片机课程设计 http wwweehomecn forum 94 1html 6 电源 另一端连接超声波发射探头 T 的一极 一方面可以提高反向器 74LS04 输出高电 平的驱动能力 使发射探头发射超声波的能力更强 另一方面还可以增加超声波发射 探头 T 的自身阻尼效果 缩短其自由振荡的时间得到更加完整的超声脉冲波形 这样 驱动 MAX232 实现从 TTL 电平到 RS232 电平的转换 具体电平转换图 4 2 1 所示 10 图 4 2 1 MAX232 电平转换图 图 4 2 2 基于 MAX232 的超声波发射电路 由于发射到换能器的电压高 波形比较完整 因此可以达到很高的发射功率与效 率 可以测量到比较远的距离 同时用这个电路发射方波 电路工作稳定 适合单电 源供电 功耗也非常小 所以我们采用这个方案作为发射电路 电路图如图 4 2 2 所 示 4 3 超声波接收电路 7 超声波接收电路所用的芯片 我们采用 SONY 公司生产的红外接收专用芯片 单片机课程设计 http wwweehomecn forum 94 1html 7 CX20106A 内部结构如图 4 3 1 所示 它采用集成接收芯片对超声波回波信号进行放 大和整形 由于红外线的载波频率和测距超声波频率 40MKz 非常接近 且具有很高的 灵敏度和较强的抗干扰能力 可以利用它作为超声波接收电路 外围电路简单易于实 现 同时减少了生产调试的麻烦 因此我采用这个接收方案 图 4 3 1 CX20106 内部结构 当超声波接收头收到发射信号时 便通过 CX20106 进行前置放大 限幅放大 带 通滤波 峰值检波和比较 积分及施密特触发比较得到解调处理后的信号 7 脚为信号 输出口 没收到信号时为高电平 收到后变为低电平 之后又恢复高电平 a 为接 收信号 b 为有源峰值检波 如图 4 3 2 所示 图 4 3 2 信号图 CX20106A 内部集成了前置放大与限幅放大 总增益可达 80dB 带通滤波电路 峰 值检波 噪声抑制电路 自动增益控制电路和波形整形电路 芯片 CX20106A 的 2 引脚 与 GND 之间连接 RC 串联网络 它们是负反馈串联网络的一个组成部分 改变它们的数 值便能改变芯片内部前置放大器的增益和频率特性 调整外部电阻 R6 可以的调整它的 单片机课程设计 http wwweehomecn forum 94 1html 8 接收中心频率与增益 当 R6 阻值越大时 滤波器的中心频率越低 当取 R6 200k 时 fn 42kHz 若取 R6 220k 则中心频率 f0 38kHz 增大电阻 R 或是通过调整外部 的电容 C2 都将使负反馈量增大 放大倍数下降 反之则放大倍数增大 这样便可以 调节超声波接收探头 R 的接收灵敏度 但电容 C 的改变会影响到频率特性 一般在实 际使用中不必改动 直接使用推荐的参数值 R 4 7 C 3 3 F 它工作稳定 灵敏度 高 功耗小 接收回波能力强 所以我采用这个方案作为接收电路 超声波接收电路 如图 4 3 3 所示 图 4 3 3 基于 CX20106A 的超声波接收电路 4 4 温度检测模块 8 检测模块采用 DALLAS 公司生产的 1 Wire 即以数字温度传感器 DS18B20 为核心 是单总线器件 具有线路简单 体积小的特点 如果用它来组成一个测温系统 具有 线路简单 在一根通信线上 外部可以挂很多这样的数字温度计 并实现双向通讯 4 4 1 数字温度传感器 DS18B20 的特点 数字温度传感器 DS18B20 具有很多特点 轻松准确实现测温 只要求一个 I O 口即可实现多个信号同线传输 单片机课程设计 http wwweehomecn forum 94 1html 9 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由数据线供 电 零功耗 简单网络化温度感知 可测量温度范围在 55 到 125 摄氏度间 在 10 85 时精度为 0 5 DS18B20 在使用中不需要任何外围元件 全部传 感元件及转换电路集成在形如一只三极管的集成电路内 数字温度计的分辨率用户可以从 9 位到 12 位选择 对应的可分辨温度分别 为 0 5 0 25 0 125 和 0 0625 可实现高精度测温 在 DS18B20 中的每个器件上都有独一无二的序列号 内部有温度上 下限告警设置 4 4 2 DS18B20 的引脚功能 数字温度传感器 DS18B20 详细引脚功能描述如下 GND 地信号 I Q 数据输入出引脚 开漏单总线接口引脚 当被用在寄生电源下 也可以向 器件提供电源 VDD 可选择的 VDD 引脚 当依靠寄生电源时 此引脚必须接地 否则将被烧毁 由于 DS18B20 采用的是 1 Wire 总线协议方式 即在一根数据线上实现数据 的双向传输通信 而对 AT89C52 单片机来说 我们必须采用软件的方法来模拟单总线 的协议时序来完成对 DS18B20 芯片的访问 由于 DS18B20 是在一根 I O 线上读写数据 因此 对读写的数据位有着严格的时序要求 DS18B20 有严格的通信协议来保证各位数 据传输的正确性和完整性 该协议定义了几种信号的时序 初始化时序 读时序 写 时序 所有时序都是将主机作为主设备 单总线器件作为从设备 而每一次命令和数 据的传输都是从主机主动启动写时序开始 如果要求单总线器件回送数据 在进行写 命令后 主机需启动读时序完成数据接收 单片机课程设计 http wwweehomecn forum 94 1html 10 图 4 4 2 1 DS18B20 温度检测电路 本系统用外部寄生电源连接数据线的供电方式 即 2 脚接一个 4 7K 的上拉电阻到 VCC DS18B20 的 1 脚 GND 和 3 脚分别接地和 VCC 电源 这样有有一个方便之处就是检 测温度的范围将增大 温度检测电路如图 4 4 2 1 所示 4 5 显示电路 液晶显示的原理是利用液晶的物理特性 通过电压对其显示区域进行控制 有电 就有显示 这样即可以显示出图形 由于 LCD1602 模块独有的蓝色背光电路可以在环 境光线较弱的条件下应用 画面显示清晰 价格便宜 颜色靓丽的特点 是很好的显 示设备 同时 还能够根据情况来调节显示的亮度 由于本系统可以不用显示汉字 介于设计成本上的需要 我采用了这个显示方案 4 5 1 LCD1602 引脚功能说明 表 4 5 1 1 LCD1602 引脚功能 符 号名 称功 能 1VSS 接地 0V 2VDD 电路电源 5V 3VEE 液晶驱动电压保证 VDD VEE 4 5 5V 电压差 4RS 寄存器选择信号H 数据寄存器 L 指令寄存器 5R W 读 写信号H 读 L 写 6E 片选信号下降沿触发 锁存数据 7 14D0 D7 双向数据线数据传输 4 5 2 LCD1602 主要技术参数 LCD 液晶显示电路采用 LCD1602 液晶显示模块 它的显示容量为 2 16 个字符 最 佳工作电压为 5V 工作电流 2mA 通过单片机控制将所测的频率信号读数显示出来 字符尺寸为 2 95 4 35 W H mm 完全可以满足我们的设计要求 4 5 3 LCD1602 的一般初始化过程 延时15mS 写指令38H 不检测忙信号 延时5mS 单片机课程设计 http wwweehomecn forum 94 1html 11 写指令38H 不检测忙信号 延时5mS 写指令38H 不检测忙信号 以后每次写指令 读 写数据操作均需要检测忙信号 写指令38H 显示模式设置 写指令08H 显示关闭 写指令01H 显示清屏 写指令06H 显示光标移动设置 写指令 0CH 显示开及光标设置 4 5 4 液晶显示模块 LCD1602 液晶显示模块如下图 4 5 3 1 所示 图 4 5 2 1 LCD1602 液晶显示模 5 软件设计 5 1 主程序 超声波测距仪的软件设计主要由主程序 中断服务子程序组成 主程序包括超声 单片机课程设计 http wwweehomecn forum 94 1html 12 波温度补偿子程序 计算子程序 显示子程序 中断服务子程序主要完成计数值的读 取 距离计算等工作 主程序主要是开始要对系统初始化 第一是设置定时器 T0 工作模式为 16 位定时 计数器模式 置位总中断允许位 EA 并对显示端口 P0 和 P2 清 0 第二是调用超声波发 生子程序循环发送 4 个 40MKz 的超声波脉冲 并开始计时 为了避免超声波从发射器 直接传到接收器引起的直射波 需要延时约 0 1ms 后才可打开外中断 0 接收返回的超 声波信号 第三是第三读取外界环境的温度 由该温度确定环境中的超声波传输速度 第四等待中断 若超声波被接收探头捕捉到 那么通过中断可测得超声波在环境中的 传播时长 由于采用的是 12MHz 的晶振 计数器每计一个数就是 1us 所以当主程序检 测到接收成功的标志位后 将计数器 T0 中的数 即超声波来回所用的时间 按测距公 式计算 即可得被测物体与测距器之间的实际距离 9 主程序流程图如图 5 1 1 所示 单片机课程设计 http wwweehomecn forum 94 1html 13 系统初始化 发送超声波脉冲 等待反射超声波 计算距离 显示结果 定时中断程序 有回波吗 外部中断子程序 计时 返回 开始 图 5 1 1 主程序流程 5 2 超声波接受和发射子程序 10 超声波发生子程序包括定时中断服务子程序 如图 5 3 1 所示 和外部中断服务 子程序 如图 5 3 2 所示 单片机课程设计 http wwweehomecn forum 94 1html 14 定时中断入口 发射超声波 停止发射 定时初始化 返回 是否发射完 图 5 3 1 定时中断服务子程序 外部中断入口 读温度 计算时间值 关外部中断 计算距离 读时间 输出结果 开外部中断 返回 图 5 3 2 外部中断服务子程序 它们的作用是通过 P1 0 端口发送 2 个左右的超声波信号频率约 40KHz 的方波 脉 冲宽度为 12us 左右 同时把计数器 T0 打开进行计时 超声波测距器主程序利用外中 断 0 检测返回超声波信号 一旦接收到返回超声波信号 INT0 引脚出现低电平 立即 单片机课程设计 http wwweehomecn forum 94 1html 15 进入中断程序 进入该中断后就立即关闭计时器 T0 停止计时 并将测距成功标志字赋 值 1 如果当计时器溢出时还未检测到超声波返回信号 则定时器 T0 溢出中断将外中 断 0 关闭 并将测距成功标志字赋值 2 以表示此次测距不成功 6 系统测试 6 1 调试 超声波测距器的制作和调试都较为简单 其中超声波发射和接收采用 15 的超声 波换能器 TCT40 10F1 T 发射 和 TCT40 10S1 R 接收 中心频率为 40KHz 安装 时应保持两换能器中心轴线平行并相距 4 8cm 其余元件无特殊要求 若能将超声接 收电路用金属壳屏蔽起来 则可提高抗干扰性能 根据测量范围要求不同 可适当地 调整与接收换能器并接的滤波电容 C4 的大小 以获得合适的接收灵敏度和抗干扰能力 硬件电路制作完成并调整好后 便可将程序编译好下载到单片机试运行 根据实 际情况 可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间 以适应 不同距离的测量需要 6 2 性能分析 虽然结果和预想的有很大的差距 但总体来说已经基本上达到了要求 理想上超 声波测距能达到5到7米左右 而我们所能实现的最大距离只有3米 造成这种原因我想 有以下几点 由于我们采用的是11 0592MHZ的晶振 理论上是按照12MHZ的晶振计算的 所 以对系统造成了一定的误差 由于温度传感器 DS18B20 距离单片机较近 所采集到的温度严重受到单片机的 影响 造成系统误差 6 3 超声波测距注意问题及改善方法 超声波在空气中传播经过多条相隔很近的路径多次来回影响 解决方法有两个 第一是超声波发射间隔时间增长 第二就是超声波发射模块做小 同时探头 T 与 R 平 行于电路板 减小其来回反射路径 提高超声波发射功率 可以增加测量距离 可以采用变压器实现升压 超声波发射头和接收头由于靠的很近 容易受到发射的干扰 应该尽量避免余 波的干扰 从图 13 中可以看到 当发射超声波脉冲时 几乎在同一时刻收到了 解 决方法 一个是增加 T R 之间的安装距离 第二就是软件解决 在发射完后 延长一 段时间再开启检测超声波发射的信号 这就是超声波存在最小测量距离的主要原因 单片机课程设计 http wwweehomecn forum 94 1html 16 避免手接触超声波电路板 容易产生干扰 提高电源的稳定性 测量距离时 应尽量保证 传感器轴线与被测物表面垂直 实际测距范围与被测物表面材料有关 一般不要测量表面为毛料的物体表面 图 11 发射波和反射波示意图 7 总结 在本论文的制作过程中 我发现我在此只考虑了环境温度对超声波速度的影响 如果能将其它环境因素 如 气压 湿度等 考虑进去和采用更精密的温度传感器 在测量精度可以有很大的提高 误差可以越接近于 0 由于超声波的发射功率有限 在最大测量范围指标上尚未达到要求 这可以通过加大发射功率得到解决 不过经设 计后的超声波测距仪仍然具有使用方便 操作简单 读数直观 精度高 成本低 性 价比高 具有系统诊断功能等特点 既可随身携带 又可远程控制 人机界面友好 应用范围广 如可用在精度需要比较高的场合 自动气象站中水气日蒸发量的测试 水位或液面测量 也可用于安防系统中 如 汽车 雷达 还可配合 PC 或 GSM 无线 模块应用于无线远距离环境测量系统 实现远距离的操控以及数据的远距离传输 经过本论文的设计制作 我学会了很多东西 更加坚定了认真严谨的工作态度 虽然我遇到各种各样的困难 但我没有放弃 我查阅网上和图书馆资料 请教老师相 关问题 最终凭着严谨认真的科研态度 创新求实的科学精神 克服了这种种困难 同时 多得各位老师和同学的耐心分析和指导 尤其是杨梅老师给予了我很大的帮助 为此 我们要向我的指导老师杨梅老师表示由衷的感谢 在她的耐心帮助下 我终于 顺利地完成我们的这次设计制作 附录一 超声波测距系统原理图 单片机课程设计 http wwweehomecn forum 94 1html 17 单片机课程设计 http wwweehomecn forum 94 1html 18 单片机课程设计 http wwweehomecn forum 94 1html 19 附录二 超声波测距 PCB 图 单片机课程设计 http wwweehomecn forum 94 1html 20 附录三 超声波测距主程序 单片机课程设计 http wwweehomecn forum 94 1html 21 include define uchar unsigned char define uint unsigned int sbit d8 P2 7 sbit d1 P2 0 sbit d2 P2 2 sbit d3 P2 4 sbit fang P3 1 sbit ds P1 4 define ds18b20 sbit lcden P1 0 sbit lcdrs P1 2 uchar table TMP uchar table1 distance uchar table2 CM double TT float S6 uint temp temp1 time V S uint S5 3 temp2 3 uchar A1 A2 A3 S1 S2 S3 S4 timeh timel flag 延时 void delay uint z uint x y for x z x 0 x for y 110 y 0 y 初始化 DSB18B20 void dsreset uint i ds 0 i 103 while i 0 i ds 1 i 4 while i 0 i read a bit bit tmpreadbit uint i bit dat ds 0 i ds 1 i i dat ds 单片机课程设计 http wwweehomecn forum 94 1html 22 i 8 while i 0 i return dat read a byte uchar tmpread uchar i j dat dat 0 for i 1 i 8 i j tmpreadbit dat j 1 return dat write a byte void tmpwritebyte uchar dat uint i uchar j bit testb for j 1 j 1 if testb ds 0 i i ds 1 i 8 while i 0 i else ds 0 i 8 while i 0 i ds 1 i i temchange 温度转换命令 void tmpchange 单片机课程设计 http wwweehomecn forum 94 1html 23 dsreset delay 1 tmpwritebyte 0 xcc tmpwritebyte 0 x44 get tmp uint gettmp float tt uchar a b dsreset delay 1 tmpwritebyte 0 xcc tmpwritebyte 0 xbe a tmpread b tmpread temp b temp 8 temp temp a tt temp 0 0625 temp tt 10 0 5 return temp fen li void display1 uint temp A1 temp 100 A2 temp 100 10 A3 temp 10 void display2 uint S S1 S 1000 S2 S 1000 100 S3 S 100 10 S4 S 10 write a data void write data uchar date lcdrs 1 rs 1 P0 date delay 5 lcden 1 EN 一个高脉冲写入 delay 5 lcden 0 单片机课程设计 http wwweehomecn forum 94 1html 24 write a command void write com uchar com 液晶写指令 lcdrs 0 RS 0 P0 com 送指令 delay 5 lcden 1 EN 一个高脉冲写入 delay 5 lcden 0 init lcd void init 初始化液晶 uchar i lcden 0 i i write com 0 x38 i i write com 0 x0e 光标不闪烁指令 i i write com 0 x06 i i write com 0 x01 清除所有指令 i i void xianshi uchar a init write com 0 x80 3 delay 5 for a 0 a 4 a write data table a delay 5 write com 0 x80 11 delay 5 for a 11 a 13 a write data table2 a delay 5 write com 0 x80 9 delay 5 write data table2 10 delay 5 write com 0 xc0 单片机课程设计 http wwweehomecn forum 94 1html 25 delay 5 for a 0 a0 write com 0 xc0 9 delay 5 write data table2 S1 delay 5 write data table2 S2 delay 5 write com 0 xc0 12 delay 5 write data table2 S3 delay 5 write data table2 S4 delay 5 else write com 0 xc0 10 delay 5 write data table2 S2 单片机课程设计 http wwweehomecn forum 94 1html 26 delay 5 write com 0 xc0 12 delay 5 write data table2 S3 delay 5 write data table2 S4 delay 5 void send uchar i j k EX1 0 TH0 0 TL0 0 x01 for i 15 i 0 i fang 1 j 5 while j 0 j fang 0 j 4 while

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论