已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
唐唐 山山 学学 院院 单片机原理单片机原理 课课 程程 设设 计计 题题 目目 简易数字温度计简易数字温度计 系系 部部 智能与信息工程学院智能与信息工程学院 班班 级级 姓姓 名名 学学 号号 指导教师指导教师 20172017 年年 1 1 月月 2 2 日至日至 1 1 月月 6 6 日日 共共 1 1 周周 20172017 年年 1 1 月月 4 4 日日 单片机原理单片机原理 课程设计任务书课程设计任务书 一 设计题目 内容及要求一 设计题目 内容及要求 设计题目 设计题目 简易数字温度计 设计内容设计内容 所设计数字温度计应具有以下功能 1 可以测量 50 到 110 摄氏度内的温度 2 在液晶上显示当前温度 分别为百位 十位 个位和小数点后一位 3 测量精度误差在正负 0 5 摄氏度以内 设计要求 设计要求 1 根据题目要求进行系统总体设计 2 完成系统硬件电路的设计 3 系统程序的设计 1 程序流程图 2 完整源程序 3 正确仿真运行 4 撰写设计说明书 符合格式要求 二 设计原始资料二 设计原始资料 PROTEUS 软件 WAVE KEIL 软件 实验箱 三 要求的设计成果 课程设计说明书 设计实物 图纸等 三 要求的设计成果 课程设计说明书 设计实物 图纸等 设计结果能正确仿真演示 课程设计说明书一份 要求有硬件设计原理图 仿真结果图 源程序代码 四 进程安排四 进程安排 1 2 日 1 3 日上午 查阅资料 设计电路原理图 编写程序 1 4 日下午 1 5 日 中心机房调试程序 1 6 日 课程设计答辩 五 主要参考资料五 主要参考资料 1 肖看肖看 李群芳李群芳 单片机原理 接口及应用 清华大学出版社单片机原理 接口及应用 清华大学出版社 2010 9 2 楼然苗楼然苗 单片机课程设计指导单片机课程设计指导 北京北京 北京航空航天大学出版社北京航空航天大学出版社 2002 3 孙育才主编 孙育才主编 MCS 51 系列单片微型计算机及其应用系列单片微型计算机及其应用 东南大学出版社东南大学出版社 指导教师 签名 指导教师 签名 教研室主任 签名 教研室主任 签名 课程设计成绩评定表课程设计成绩评定表 出勤天数 出勤 情况 缺勤天数 出勤情况及设计过程表现 20 分 课设答辩 20 分 设计成果 60 分 成 绩 评 定 总成绩 100 分 提问 答辩 问题 情况 综 合 评 定 指导教师签名 年 月 日 目 录 1 方案论证 1 2 硬件设计 2 2 1 系统构成 2 2 2 器件选择 2 2 2 1 AT89C51 概述 2 2 2 2 AT89C51 引脚功能 3 2 2 3 复位电路的设计 4 2 3 数字温度传感器 5 2 3 1 DS1621 的技术指标 5 2 3 2 DS1621 的工作原理 6 2 4 单片机和 DS1621 接口电路 6 2 5 七段 LED 数码显示电路 7 3 系统软件设计 9 3 1 编程语言选择 9 3 2 主程序的设计 9 3 3 温度采集模块设计 10 3 4 温度计算模块设计 10 3 5 串行总线编程 11 4 软硬件调试结果分析 12 5 设计总结 13 6 参考文献 14 附录 A 多点温度采集系统电路原理图 15 课程设计说明书课程设计说明书 0 1 方案论证 该系统可以使用方案一 热敏电阻 方案二 数字温度芯片 DS1621 实现 采 用数字温度芯片 DS1621 测量温度 输出信号全数字化 便于单片机处理及控制 省去传统的测温方法的很多外围电路 且该芯片的物理化学性很稳定 它能用做 工业测温元件 此元件线形较好 在 0 100 摄氏度时 最大线形偏差小于 1 摄氏 度 DS1621 的最大特点之一采用了单总线的数据传输 由数字温度计 DS1621 和 微控制器 AT89C51 构成的温度测量装置 它直接输出温度的数字信号 可直接与 计算机连接 这样 测温系统的结构就比较简单 体积也不大 采用 51 单片机控 制 软件编程的自由度大 可通过编程实现各种各样的算术算法和逻辑控制 而 且体积小 硬件实现简单 安装方便 控制工作 还可以与 PC 机通信上传数据 另外 AT89S51 在工业控制上也有 着广泛的应用 编程技术及外围功能电路的配合使用都很成熟 该系统利用 AT89C51 芯片控制温度传感器 DS1621 进行实时温度检测并显示 能够实现快速测量环境温度 并可以根据需要设定上下限报警温度 该系统扩展 性非常强 它可以在设计中加入时钟芯片 DS1302 以获取时间数据 在数据处理同 时显示时间 并可以利用 AT24C16 芯片作为存储器件 以此来对某些时间点的温 度数据进行存储 利用键盘来进行调时和温度查询 获得的数据可以通过 MAX232 芯片与计算机的 RS232 接口进行串口通信 方便的采集和整理时间温度数据 故 采用了方案二 测温电路的总体设计方框图如图 1 1 所示 控制器采用单片机 AT89C51 温度 传感器采用 DS1621 用 5 位 LED 数码管以串口传送数据实现温度显示 图 1 1 测温电路的总体设计方框图 课程设计说明书课程设计说明书 1 2 硬件设计 2 1 系统构成 本温度数据采集系统的主要功能是测量温度 并显示温度测量结果 并附带 了单片机和 PC 机之间通讯接口 系统结构包括单片机部分 温度传感器 显示电 路 通讯接口电路等几个部分 图 2 1 为系统的总体结构框图 系统工作原理是 电路在上电后 最先单片机利用模拟总线 I2C 对 DS1621 进 行寻址 单片机在接收到 DS1621 应答后 单片机将设置 状态寄存器的值通过 I2C 总线写入该寄存器 之后 DS1621 在单片机控制下进行温度测量 然后 DS1621 把 所采集的温度 50 摄氏度 100 摄氏度 精度为 0 5 摄氏度 传输给单片机 最后单片机把温度数据送到 LED 上显示 系统中附带的串行接口以供备用 2 2 器件选择 2 2 1 AT89C51 概述 对于单片机的选择 可以考虑使用 8031 与 8051 系列 由于 8031 没有内部 RAM 系统又需要大量内存存储数据 因而不适用 所以 我们选用 51 系列单片 机 AT89C51 AT89C51 是美国 ATMEL 公司生产的低功耗 高性能 CMOS8 位单片机 片内含 4KB 的可编程的 Flash 只读程序存储器 兼容标准 8051 指令系统及引脚 并集成了 Flash 程序存储器 既可在线编程 ISP 也可用传统方法进行编程 因此 低价位 AT89C51 单片机可应用于许多高性价比的场合 可灵活应用于各种 控制领域 对于简单的测温系统已经足够 单片机 AT89C51 具有低电压供电和体 积小等特点 四个端口只需要两个口就能满足电路系统的设计需要 很适合便携 手持式产品的设计使用系统可用二节电池供电 AT89C51 的主要特性如下 图 2 1 测温系统的总体结构框图 课程设计说明书课程设计说明书 2 与 MCS 51 兼容 4K 字节可编程闪烁存储器 三级程序存储器锁定 128 8 位内部 RAM 32 根可编程 I O 线 两个 16 位定时器 计数器 5 个中断源 可编程串行通道 片内振荡器和时钟电路 2 2 2 AT89C51 引脚功能 单片机芯片 AT89C51 为 40 引脚双列直插式 封装 其各个引脚功能介绍如下 芯片 AT89C51 的引脚排列和逻辑符号如图 2 2 所示 各引脚分别为 VCC 供电电压 图 2 2 AT89C51 的引脚 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每个管脚可吸收 8TTL 门电流 当 P1 口的管脚写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以 被定义为数据 地址的第八位 在 FLASH 编程时 P0 口作为原码输入口 当 FLASH 进行校验时 P0 输出原码 此时 P0 外部电位必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 电位被内部上拉为高可用作输入 P1 口被外 部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校 验时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚电位被内部上拉电阻拉高 且作为输入 作为 输入时 P2 口的管脚电位被外部拉低 将输出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址 的高八位 在给出地址 1 时 它利用内部上拉的优势 当对外部八位地址数据 图 4 2 AT89C51 的引脚 排列图 课程设计说明书课程设计说明书 3 存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校 验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入时 由 于外部下拉为低电平 P3 口将输出电流 ILL 也是由于上拉的缘故 P3 口也可 作为 AT89C51 的一些特殊功能口 同时 P3 口同时为闪烁编程和编程校验接收一些 控制信号 RST 复位输入端 当振荡器复位时 要保持 RST 两个机器周期的高电平时 间 PSEN 外部程序存储器的选通信号 在由外部程序存储器取址期间 每个机器周期 PSEN 两次有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 访问外部 ROM 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 访问内部 ROM 在 FLASH 编程期间 此引脚也用于 施加 12V 编程电源 VPP 2 2 3 复位电路的设计 单片机的复位电路如图 2 2 所示 该复位电路采用手动复位与上电复位相结 合的方式 当按下按键 S1 时 VCC 通过 R2 电阻给复位输入端口一个高电平 实现 复位功能 即手动复位 上电复位就是 VCC 通过电阻 R2 和电容 C 构成回路 该回 路是一个对电容 C1 充电和放电的电路 所以复位端口得到一个周期性变化的电压 值 并且有一定时间的电压值高于 CPU 复位电压 实现上电复位功能 图 2 3 单片机的复位 电路 课程设计说明书课程设计说明书 4 2 3 数字温度传感器 2 3 1 DS1621 的技术指标 DS1621 是美国 DALLAS 公司生产的一种功能较强的数字式温度传感器和恒温控 制器 数字接口电路简单 与 I2C 总线兼容 且可以使用一片控制器控制多达 8 片 的 DS1621 其数字温度输出达 9 位 精度为 0 5 摄氏度 DS1621 可工作在最低 2 7V 电压下 适用于低功耗应用系统 DS1621 的引脚排列图如图 2 4 所示 引脚功能描述如表 2 1 所示 引脚符号功能描述 1SDA 2 线 I2C 串行数据输入 输出 2SCL 2 线 I2C 串行时钟端 3TOUT温度上下限超出输出 4GND地 5A2 A0片选地址输入 A2 A0 6VDD电源端 2 7 5 5V 图 2 4 DS1621 的引脚排列图 表 2 1 DS1621 的引脚功能表 课程设计说明书课程设计说明书 5 2 3 2 DS1621 的工作原理 DS1621 的构成原理框图如图 2 5 所示 在测量温度时使用了独有的在线温度 测量技术 它通过在一个由对温度高度敏感的振荡器决定的计数周期内对温度低 敏感的振荡器时钟脉冲的计数值的计算来测量温度 DS1621 在计数器中预置了一 个初值 它相当于 50 摄氏度 如果计数周期结束之前计数器达到 0 已预置了 此初值的温度寄存器中的数字就会增加 从而表明温度高于 55 摄氏度 与此同 时 计数器斜坡累加电路被重新预置一个值 然后计数器重新对时钟计数 直到 计数值为 0 通过改变增加的每 1 内的计数器的计数 斜坡累加电路可以补偿 振荡器的非线性误差 以提高精度 任意温度下计数器的值和每一斜坡累加电路 的值对应的计数次数须为已知 DS1621 通过计算可以得到 0 5 摄氏度的精度 温度输出为 9 位 在发出读温 度值请求后还会输出两位补偿值 表 2 给出了所测的温度和输出数据的关系 这 些数据可通过 2 线制串行口连续输出 MSB 在前 LSB 在后 2 4 单片机和 DS1621 接口电路 前面已经介绍了 DS1621 温度传感器以 8 位数字输出 数据输出与 I2C 总线兼 容 可以方便地通过 SDA SCL 以串行方式与单片机相连 而 AT89C51 面向主 从 功能字节的 I2C 总线串行 I O 口 所以多路温度数字量可以通过 I2C 总线直接送 GAS97C2051 单片机 I2C 总线 Inter IC BUS 是 Philips 公司推出的双向两线串行通信标准 由 于它具有接口少 通信效率高等优点 现已得到广泛的应用 I2C 总线是一种串行的 图 2 5 DS1621 的构成原理框图 斜坡累加电路 重预置 比较器 计 数 温度低敏感振荡器 重预置电路 温度寄存器 温度低敏感振荡器计数器 0 课程设计说明书课程设计说明书 6 数据总线 挂在总线上的各集成电路模块 单片机和具有各种功能的电路芯片 通过一条串行的数据线 SDA 和一条串行的时钟线 SCL 按一定的通信协议 进行寻址和信息的传输 每个电路模块都有唯一的地址 在信息的传输过程中 I2C 总线上的电路模块有的是主控器 有的是被控器 主控器和被控器都可以是发 送器或接收器 这完全取决于它所要完成的功能 采用 I2C 总线可最大限度地简化 电路结构 实现电路的模块化 标准化设计 I2C 总线在进行数据传输时 由作为主控器的 AT89C51 来初始化一次数据的传 输 并在 I2C 总线上提供时钟进行传送 信息传送的对象 方向和传送的开始 终 止也由主控器 AT89C51 来决定 此时 在 I2C 总线上被主控器所寻址的集成电 路模块称为被控器 DS162 在 I2C 总线上 数据由发送器传出 并被接收器接收 接收器在每次正确接收到一个数据字节后 都要在数据总线 SDA 上给发送器一 个应答信号 因单片机 AT89C51 本身 没有 I2C 硬件资源 所以必须用软件来模拟 I2C 总线 本系统利用单片机 AT89C51 的 P3 0 和 P3 1 引脚分别作 I2C 总线的数据线和时钟线 见附录 A AT89C51 模拟 I2C 总线主要由软件设置来实现其功能 2 5 七段 LED 数码显示电路 采用七段 LED 数码显示 LED 显示器内部由 7 段发光二极管组成 因此亦称之 为七段 LED 显示器 由于主要用于显示各种数字符号 故又称之为 LED 数码管 每个显示器还有一个圆点型发光二极管 用于显示小数点 在单片机 AT89C51 接 收到 DS1621 所采集的温度数据后 单片机把所读到的数据送给数码管显示 系统 具体的显示电路如图 2 6 所示 显示电路中单片机 AT89C51 的 P0 口直接驱动 8 段数码管 其中需要给 P0 外 图 2 6 七段 LED 数码管显示电路 课程设计说明书课程设计说明书 7 接上拉电阻 完成字形码的输出 字形选择 而 P2 1 P2 5 控制 6 位 LED 进行分 时选通 这样在任一时刻 只有一位 LED 是点亮的 但只要扫描的频率足够高 一般大于 25Hz 由于人眼的视觉暂留特性 直观上感觉却是连续点亮的 这就 是我们常说的动态扫描电路 课程设计说明书课程设计说明书 8 3 软件设计与调试 3 1 编程语言选择 51 的编程语言常用的有两种 一种是汇编语言 一种是 C 语言 汇编语言的 机器代码生成效率很高但可读性却并不强 复杂一点的程序就更是难读懂 而 C 语言在大多数情况下其机器代码生成效率和汇编语言相当 C 语言很好的结构性 和模块化更容易阅读和维护 用 C 编写程序比汇编更符合人们的思考习惯 开发 者可以更专心的考虑算法而不是考虑一些细节问题这样就减少了开发和调试的时 间 而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题 3 2 主程序的设计 主程序的主要功能是负责多点温度数据的实时采集 传输 处理和显示 其 程序流程如图 3 1 所示 初始化 N 读温度数据并存储 生成地址字节 1001000 循环次数 3 延时 1S 以上等待结 果 启动转换 向设置 状态寄存器设置为连续工作方式 生成地址字节 1001000 循环次数 3 次 地址字节加 02H 循 环次数减 1 为 0 读温度数据并存储及显示 地址字节加 02H 循 环次数减 1 为 0 图 3 1 主程序流程图 N N 课程设计说明书课程设计说明书 9 3 3 温度采集模块设计 为本温度采集系统开发的软件程序 可以对 DS1621 内部的寄存器编程控制 DS1621 的工作方式 以及从这些数据寄存器读取温度值 最后把经过单片机数据 处理后的温度送到 LED 上显示 AT89C51 扮演着上传下达的角色 单片机端的程序 采用了 C 语言 DS1621 一侧的通信程序将利用并行端口 P3 0 和 P3 1 来模拟 I2C 总线协议 总线上的通信通过程序来实现 整个软件采用了模块化的程序设计方法 为了实现 AT89C51 和 DS1621 之间 I2C 协议之下的串行通信 编写了一些专用子程序 这些子程序段包括 符号定 义 AT89C51 的端口初始化 启动信号时序产生 停止信号时序产生 发送字节 读取字节 读取温度 显示 系统电路在上电后开始工作 最先程序单片机进行初始化设置 然后单片机 利用模拟 I2C 总线对 DS1621 进行寻址 单片机在接收到 DS1621 应答后 紧接着单 片机利用命令 AAh ACh EEh 22h 将设置 状态寄存器的值通过 I2C 总线写入 DS1621 状态寄存器 该系统中把 DS1621 设置为连续温度转换工作方式 之后 DS1261 在单片控制下进行温度测量 然后 DS1261 把所采集的温度传输给单片机 最后单片机把温度数据送到 LED 上显示 3 4 温度计算模块设计 计算温度子程序将从 DS1621 中读取的温度值进行 BCD 码的转换运算 并进行 温度值正负的判定 其程序流程图如图 3 2 所示 开始 温度零下 温度值取补码置 标志 计算小数位温度 BCD 值 计算整数位温度 BCD 值 结束 置 标 志 N Y 图 3 2 温度计算流程图 课程设计说明书课程设计说明书 10 3 5 串行总线编程 在本系统中 单片机 AT89C51 作为主控器件 3 个 DS1621 作为被控器 所以 我们只要考虑主方式下的状态处理模块 即考虑 AT89C51 主发送和主接收方式下 的状态处理模块 该电路中为了简化电路设计在 I2C 总线的时钟和数据上各加了一 个上拉电阻 以获取一定的上拉电流使信号采集可靠 本系统中挂在 I2C 总线上的各电路模块都有其节点地址 AT89C51 作为主控器 其节点地址无意义 作为被控器的 3 个 DS1621 都有其节点地址 其地址为 1001A2A1A0 其中 1001 是器件编号 已由芯片生产厂家规定 A2A1A0 为 DS1621 的 3 个引脚 在电路中分别接高低电平决定 2 个 DS1621 的不同地址 2 个 DS1621 的地址分别为 1001000 1001010 本系统中的 I2C 总线的寻址方式为的广播寻址 即 AT89C51 对挂在 I2C 总线上 所有的 DS1621 的广播呼叫寻址 AT89C51 发出开始信号 S 后的第一个字节确定由 AT89C51 所选择的一个 DS1621 的地址 然后在第一个字节以后开始数据传送 具体实现寻址的方法是 由 AT89C51 发出启动位 S 后紧跟着发送从器件 DS1621 的 7 位地址码 即 S SLA 在节点地址寻址中 SLA 为被寻址的从节点地址 主控设备在发送数据前 在时钟为高时 在数据线上发送一个由高到低的信号来 表示开始传送数据 DS1621 接收到开始信号时 移入后续 8 位 高 7 位地址线 和一个 R W 位 来确定进行如何操作 R W 位为 0 表示写 为 1 表示读 读写操 作完成后 在时钟为高时 在数据线上发送一个由低到高的信号表示传送结束 具体数据格式如图 3 3 所示 时序如图 3 4 所示 图 3 3 串行通信的数据格式 图 3 4 串行通信的时序图 课程设计说明书课程设计说明书 11 4 软硬件调试结果分析 本设计应用 Proteus 及 Keil 软件 首先根据自己设计的电路图用 Proteus 软 件画出电路模型 关于这个软件的使用通过查一些资料和自己的摸索学习 然后 用 Keil 软件对所编写的程序进行编译 链接 如果没有错误和警告便可生成程序 的 hex 文件 调试好程序后将目标文件导入 Proteus 的 AT89C51 芯片中进行软件 调试 最后进行三路温度的对比测试 数字温度计的仿真电路图如图 4 1 所示 图 4 1 仿真图 仿真结果分析 不断调整三路 DS1621 的温度值 发现 LED 显示器上的数值和 DS1621 屏幕上的标准值相差无几 在误差允许的范围之内 当某一路的温度不在 50 80 范围时 两个 LED 同时发光 表示告警信息 经调试 证明开发者最终设计 出结构合理 美观 主要电气指标良好 性能稳定可靠的电路 课程设计说明书课程设计说明书 12 5 设计总结 不知不觉中 一周的课程设计实习已经接近尾声了 可能是假期快到的缘故 总感觉这次实习特别短暂 此刻 真是感慨万千啊 现在我可以自豪的说 这次 实习我达到了预期的目标 因为在实习期间 我每天都在接触新的东西 每天都 会有新的问题等待我去探讨去解决 每天都有新收获 回想课设第一天 我们做点电脑前 不知道自己能干点什么 对于指导老师 的讲解也是云里雾里的 因为头一回接触 Proteus 和 Keil 这两个软件 但是我相 信 只要自己用心了 没有办不成的事 于是 我静下心来 仔细研究老师下发 的教程 我珍惜每一次的上机机会 勤加练习 课下积极研究手册和相关书籍 两天过后 才算有点眉目了 到这时心里才算稍微安稳了一些 再加上以前学过 名为 Protel 的电路设计软件 所以我的自信心加强了 在这次设计过程中 体现出自己单独设计电路的能力以及综合运用知识的能 力 体会了学以致用 突出自己劳动成果的喜悦心情 从中发现自己平时学习的 不足和薄弱环节 从而加以弥补 在此感谢我们的田红霞 张国旭老师 老师严谨细致 一丝不苟的作风一直 是我工作 学习中的榜样 老师循循善诱的教导和不拘一格的思路给予我无尽的 启迪 这次简易数字温度计设计的每个实验细节和每个数据 都离不开老师您的 细心指导 而您开朗的个性和宽容的态度 帮助我能够很顺利的完成了这次课程 设计 同时感谢对我帮助过的同学们 谢谢你们对我的帮助和支持 让我感受到同 学的友谊 课程设计说明书课程设计说明书 13 6 参考文献 1 肖看 李群芳 单片机原理 接口及应用 清华大学出版社 2010 9 2 楼然苗 单片机课程设计指导 北京 北京航空航天大学出版社 2002 3 孙育才主编 MCS 51 系列单片微型计算机及其应用 东南大学出版社 课程设计说明书课程设计说明书 14 附录 A 多点温度采集系统电路原理图 课程设计说明书课程设计说明书 15 附录 B C 语言源代码 include reg51 h include intrins h define uchar unsigned char define uint unsigned int define DiSdata P0 七段码数据输出口 define discan P2 扫描数据输出口 sbit DIN P0 7 小数点控制 sbit Scl P3 0 串行时钟 sbit Sda P3 1 串行数据 sbit alarm P1 7 sbit alarm2 P1 6 uint i uint h uint temp uchar dath 2 温度输入口 uchar ff2 ff1 0 t3 0 uchar code dis 7 12 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x00 0 x40 共阴 LED 段码表 0 1 2 3 4 5 6 7 8 9 灭 uchar code scan con 5 0 xfd 0 xfb 0 xf7 0 xef 0 xdf LED 显示控制 对应 0 的 LED 有效 uchar data display 5 0 x00 0 x00 0 x00 0 x00 0 x002 显示单元数据 共 6 个数据和一个运算暂用 uchar data display1 5 0 x01 0 x02 0 x03 0 x04 0 x052 uchar data DD 4 0 x90 0 x92 0 x94 void delay us uint t 延时函数 for t 0 t 课程设计说明书课程设计说明书 16 scan LED 扫描函数 uchar k for k 0 k 5 k discan scan con k 控制位送 P2 口 DiSdata dis 7 display k 数据位送 P0 口 if k 3 DIN 1 else DIN 0 小数点显示 delay us 150 void delay void 延时函数 nop nop nop nop nop nop void i start void 开始CI 2 Sda 1 Scl 1 delay Sda 0 delay Scl 0 课程设计说明书课程设计说明书 17 void i stop void 终止CI 2 Sda 0 Scl 1 delay Sda 1 delay Scl 0 Sda 0 bit i clock void 应答信号 bit sample Scl 1 delay sample Sda nop nop Scl 0 delay return sample void i ack void Sda 0 i clock Sda 1 bit i send uchar i data 发送CI 2 课程设计说明书课程设计说明书 18 uchar i for i 0 i 8 i Sda bit i data i data i data 1 i clock Sda 1 return i clock uchar i receive void I2C 接收 uchar i data 0 uchar i for i 0 i 8 i i data 1 Scl 0 delay Scl 1 delay i data Sda Scl 0 delay return i data bit start temperature T unsigned char d 开始转换命令 uchar t1 t1 DD d i start if i send t1 if i send 0 xee 课程设计说明书课程设计说明书 19 i stop delay return 1 else i stop delay return 0 else i stop delay return 0 bit read temperature T unsigned char p unsigned char d unsigned char t1 t2 t1 DD d t2 DD d 0 x01 i start if i send t1 if i send 0 xaa i start if i send t2 p 1 i receive 课程设计说明书课程设计说明书 20 i ack p i receive i stop delay i send t1 i send 0 x22 delay return 1 else i stop delay return 0 else i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业数据分析报告撰写规范
- 2026年余热制冷制热技术项目可行性研究报告
- 2026年居家适老化与智能化改造项目公司成立分析报告
- 2026年云计算 医疗影像云存储项目公司成立分析报告
- 2026年食品药品检验技术专业模拟题集含答案
- 2026年国际金融风险管理专业认证考试模拟卷
- 2026年专业工程师岗位晋升理论与应用知识试题集
- 2026年人工智能在智能家居系统中的调度算法考试题
- 2026年环境科学基础知识与实践技能试题
- 2026年土木工程师基础专业能力测试题
- 初中地理七年级《世界气候》单元复习课教学设计
- 厨师基础知识培训课件
- 广告法培训教学课件
- 2025年度病案管理科主治医师工作总结及2026年工作规划
- 肾宝胶囊产品课件
- Unit 1 Time to Relax Section B(1a-2c)教学课件 人教新教材2024版八年级英语下册
- GB/T 3098.5-2025紧固件机械性能第5部分:自攻螺钉
- 2026年陕西单招基础薄弱生专用模拟卷含答案基础题占比80%
- 2025年印刷及包装行业智能化改造项目可行性研究报告
- 命造收录200例(二)
- 颅内钙化CT、MRI诊断、鉴别诊断
评论
0/150
提交评论