




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学单片机课程设计说明书 第 1 页 共 19 页 1 1 引言引言 本设计是一种基于单片机原理的简易实用的温度控制系统 采用 AT89C51 作为 CPU 主控装置 电路主要由温度采集和电机控制电路组成 温度采集由智能温度传 感器 DS18B20 集成芯片完成 该系统主要用于实现温度采集 显示和控制功能 1 11 1 设计任务与要求设计任务与要求 使用 AT89C51 单片机为核心 使用 4 位集成式数码管显示当前温度 温度传感 使用 DS18B20 用 4 位集成式数码管显示当前温度 当温度在范围CC 00 70 20 之外时 直流电动机开始旋转 控制程序在 Keil 软件中编写 编译 整个控制电 路在 Proteus 仿真软件中连接调试 1 21 2 实用价值与理论意义实用价值与理论意义 温度的测量和控制在工业生产中获得了广泛的应用 在工农业生产 日常的生 活等领域都占有重要的地位 随着对温度控制精度的不断提高 温度控制系统的 控制技术得到了迅速发展 目前温度控制系统广泛应用于社会生活 生产 成为 发展国民经济的重要设备之一 所以温度控制智能化有着极其重要的意义 通过对温度控制通信系统的设计 了解信息采集测试 控制及通信的过程 提 高在电子工程设计和操作方面的综合能力 初步培养在完成工程项目中所应具备 的基本素质和要求 以 AT89C51 单片机为核心 使用 4 位集成式数码管显示当前 温度 使用 DS18B20 温度传感器来设计一个用 4 位集成式数码管显示当前温度 当温度在 CC 00 70 20 范围之外时 使直流电动机开始旋转的程序并仿真调试 验证该设计可行性 2 2 方案设计方案设计 采用 AT89C51 作为 CPU 主控制器 电路由温度采集 电机控制 显示电路组成 系统的总体电路原理图如图 2 1 所示 中北大学单片机课程设计说明书 第 2 页 共 19 页 图 2 1 电路原理图 3 3 硬件电路的设计硬件电路的设计 3 13 1 温度采集电路温度采集电路 3 1 1 DS18B20 数字温度传感器基本特性 独特的一线接口 只需要一条口线通信 多点能力 简化了分布式温度传感应 用 无需外部元件 可用数据总线供电 电压范围为 3 0 V 至 5 5 V 无需备用电源 测量温度范围为 55 C 至 125 可编程的分辨率为 9 12 位 温度转换为 12 位数字格式最大值为 750 毫秒 用户可定义的非易失性温度报警设置 应用范围包 括恒温控制 工业系统 消费电子产品温度计 或任何热敏感系统 表 3 1 中所示为 DS18B20 内部寄存器阵列 其中的 2 3 字节是可设置的文都 超限报警值 同一总线上的器件可以设置不同的高 低限报警数值 当某一点的 文都超限是 改点就会发出报警信号 表 3 1 DS18B20 内部寄存器 寄存器位置说明寄存器位置说明 0温度测量低字节5保留 1温度测量高字节6保留 2高限报警温度值7保留 3低限报警温度值8CRC 4状态设置字 主控制器件对 DS18B20 的各种控制都是通过传输操作指令进行的 对 ROM 操作 CPU 复位和振荡电路 电机控制电路 显示电路 温度采集电路 中北大学单片机课程设计说明书 第 3 页 共 19 页 的命令制记过能表如表 3 2 所示 表 3 2 DS18B20 ROM 操作指令 命令功能命令功能 33H读取器件的编码制F0H搜索器件编码 55H根据编码制查找器 件 ECH报警器件搜索 CCH跳过读取编码制操 作 表 3 3 DS18B20 RAM 操作指令 命令功能命令功能 4EH写内部数据存储器44H温度转换命令 BEH读内部数据存储器B8H调用 EEROM 内数 值 48H复制内部数据存储 器 B4H读器件供电方式 3 1 2 DS18B20 数字温度传感器 芯片引脚 表 3 4 DS18B20 的引脚 引脚符号说明 1GND地线引脚 2DQ单线运用的数据输入 输出 引脚 3VDD可选 VDD 引脚 3 1 3 电路 如 3 1 图所示为温度采集电路 由于 DS18B20 是单线数据传输的智能温度传感 器 在使用中不需要如何外围的元件 在连接时仅需要一条口线即可实现单片机 与 DS18B20 的双向通信 所以此温度采集电路只需将 DS18B20 外接一个上拉电阻 然后接在单片机的 I O 接口 中北大学单片机课程设计说明书 第 4 页 共 19 页 VCC 图 3 1 温度采集电路 3 23 2 CPUCPU 电路电路 CPU 电路主要包括复位和晶振电路 复位电路主要是在系统上电时提供复位信 号 直至系统电源稳定后 撤销复位信号 为可靠起见 电源稳定后还要经一定 延时才撤销复位信号 以防止电源开关过程中引起的抖动而影响复位 本电路 主要是由一个按键和电容电阻组成的 RC 复位电路 晶振电路是由片内振荡电路输入线外接石英晶体和微调电容组成 此处使用 12MHZ 的晶体振荡器 3 33 3 电机控制电路电机控制电路 本系统的电机控制电路 电动机回路是一个简单的开关电路 主要由单片机的 I O 接口接电路的输入端 通过单片机的 I O 口的电平控制三极管的通断 来控制 继电器 从而达到控制电机的目的 3 43 4 显示电路显示电路 硬件显示电路部分由四位数码管构成 采用的是动态扫描方式 通常将所有位 的段选线相应的并联在一起 有一个 8 位的 I O 口控制 形成段选线的多路复用 而各位共阳极分别有相应的 I O 口控制 实现各位的分时复用 段选和位选位同 相驱动 不需要对每个 LED 数码管单独配置锁存和驱动电路 简化电路 显示部分的四位一体的数码管用 74LS04 驱动 P3 3 作为温度采集信号线 P0 口为显示数据线 P2 口作为位选线 动态扫描实现显示温度 4 4 软件设计电路软件设计电路 软件设计主要分为两部分 主程序和服务子程序 子程序包括显示和温度传感 器读 写程序 GND I O VCC 中北大学单片机课程设计说明书 第 5 页 共 19 页 4 14 1 温度转换的程序设计温度转换的程序设计 单片机实现温度转换读取温度数值程序的流程如图 4 1 所示 图 4 1 温度转换 N S 图 开始 初始化 DS18B20 应答脉冲 发起 skip rom 的命令 发温度转换的命令 延时 1s 等待温度转换完成 初始化 DS18B20 应答脉冲 发起读温度命令 读取第温度数据 是 否 是 否 中北大学单片机课程设计说明书 第 6 页 共 19 页 4 24 2 数码管显示电路数码管显示电路 显示数据刷新子程序主要是对显示缓冲器中的显示数据惊喜刷新操作 当最高 显示位为 0 时将符号位移入下一位 显示数据刷新流程图如图 4 2 所示 图 4 2 显示 N S 图 开始 温度零 下 置 标志 计算采集的温度 温度数据移入显示寄存器 十位 0 十位显示符号百位不显示 是 是 百位 0 百位显示数据 是 结束 否 否 中北大学单片机课程设计说明书 第 7 页 共 19 页 5 5 KeilKeil 及及 ProtuesProtues 仿真仿真 在 Keil 中完成编辑 编译 连接 调试 仿真等整个流程 然后分别由 C51 及 A51 编译器编译生成目标文件 OBJ 目标文件可由 LIB51 创建生成库文件 也可以与库文件一起经 L51 连接定位生成绝对目标文件 ABS ABS 文件由 OH51 转 换成标准的 Hex 文件 在 Proteus 中连接电路 实现它的电路仿真是交互的 可视化 实现软件源码 级的实时调试 图 5 1 Keil 软件中的调试图 以下各图分别为仿真的结果图 图 5 2 是 proteus 软件中的电路图 四位数码管 显示采集到的温度 当温度为负值时显示符号 当十位和百位为零时不显示该位 从图中可以看出 在 20 70 范围内电机停转 数码管显示温度传感器的温度值 当温度大于 70 或者小于 20 时电机开始转动 中北大学单片机课程设计说明书 第 8 页 共 19 页 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 21 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 X1 CRYSTAL C1 1n C2 1n R2 10k C3 1uF Q1 BD911 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 VCC VCC RL1 JWD 171 17 D1 1N4002 88 8 图 5 2 电路仿真图 中北大学单片机课程设计说明书 第 9 页 共 19 页 8 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 图 5 3 温度采集及显示电路 中北大学单片机课程设计说明书 第 10 页 共 19 页 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C5166 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 X1 CRYSTAL C1 1n C2 1n R2 10k C3 1uF Q1 BD911 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 VCC VCC RL1 JWD 171 17 D1 1N4002 0 00 Q1 BD911 VCC RL1 JWD 171 17 D1 1N4002 0 00 66 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 图 5 4 规定正范围内电机停转 中北大学单片机课程设计说明书 第 11 页 共 19 页 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51110 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 X1 CRYSTAL C1 1n C2 1n R2 10k C3 1uF Q1 BD911 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 VCC VCC RL1 JWD 171 17 D1 1N4002 207 RL1 JWD 171 17 207 110 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 图 5 5 超出 70 电机转动 中北大学单片机课程设计说明书 第 12 页 共 19 页 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 17 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 X1 CRYSTAL C1 1n C2 1n R2 10k C3 1uF Q1 BD911 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 VCC VCC RL1 JWD 171 17 D1 1N4002 0 00 17 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 Q1 BD911 VCC RL1 JWD 171 17 0 00 图 5 6 规定负范围内电机停转 中北大学单片机课程设计说明书 第 13 页 共 19 页 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 26 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 X1 CRYSTAL C1 1n C2 1n R2 10k C3 1uF Q1 BD911 12 U3 A 7404 34 U3 B 7404 56 U3 C 7404 1312 U3 D 7404 VCC VCC RL1 JWD 171 17 D1 1N4002 207 26 0 DQ 2 VCC 3 GND 1 U2 DS18B20 R1 4k7 VCC RL1 JWD 171 17 207 图 5 7 小于 20 电机转动 中北大学单片机课程设计说明书 第 14 页 共 19 页 6 6 结论结论 本课程设计阐述了以 AT89C51 单片机为核心 使用 DS18B20 温度传感器以及 4 位 集成式数码管显示温度的数码管显示的温控电动机 实现了通过数码管监测温度 当 温度在 CC 00 70 20 范围之外时 直流电动机开始旋转的要求 附录附录 温控电动机源程序温控电动机源程序 DS18B20 的读写程序 数据脚 P3 3 温度传感器 18B20 汇编程序 采用器件默认的 12 位转化 最大转化时间 750 微秒 显示温度 55 到 125 度 显示精度 为 0 1 度 显示采用 4 位 LED 共阳显示测温值 P0 口为段码输入 P2 0 P2 3 为位选 include include define Disdata P0 段码输出口 define discan P2 扫描口 define uchar unsigned char define uint unsigned int sbit DQ P3 6 温度输入口 sbit DIN P0 7 LED 小数点控制 uint h int temp float temp2 温度小数部分用查表法 uchar code ditab 16 0 x00 0 x01 0 x01 0 x02 0 x03 0 x03 0 x04 0 x04 0 x05 0 x06 0 x06 0 x07 0 x08 0 x08 0 x09 0 x09 uchar code dis 7 12 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xff 0 xbf 共阳 LED 段码表 0 1 2 3 4 5 6 7 8 9 不亮 uchar code scan con 4 0 xfe 0 xfd 0 xfb 0 xf7 列扫描控制字 uchar data temp data 2 0 x00 0 x00 读出温度暂放 uchar data display 5 0 x00 0 x00 0 x00 0 x00 0 x00 显示单元数据 共 4 个数据和 一个运算暂用 11us 延时函数 中北大学单片机课程设计说明书 第 15 页 共 19 页 void delay uint t for t 0 t void delayms uint ms uint i uchar j for i ms i 0 i for j 112 j 0 j 显示扫描函数 void scan char k for k 0 k0 i DQ 1 nop nop 从高拉倒低 DQ 0 nop nop nop nop 5 us DQ val 最低位移出 delay 6 66 us val val 2 右移 1 位 DQ 1 delay 1 DS18B20 读 1 字节函数 从总线上取 1 个字节 uchar read byte void uchar i uchar value 0 for i 8 i 0 i DQ 1 nop nop value 1 DQ 0 nop nop nop nop 4 us DQ 1 nop nop nop nop 4 us if DQ value 0 x80 delay 6 66 us 中北大学单片机课程设计说明书 第 17 页 共 19 页 DQ 1 return value 读出温度函数 read temp ow reset 总线复位 delay 200 write byte 0 xcc 发命令 write byte 0 x44 发转换命令 ow reset delay 1 write byte 0 xcc 发命令 write byte 0 xbe temp data 0 read byte 读温度值的低字节 temp data 1 read byte 读温度值的高字节 temp temp data 1 temp 6348 温度值正负判断 temp2 65536 temp 0 0625 负温度求补码 标志位置 1 return temp 返回温度值 温度数据处理函数 二进制高字节的低半字节和低字节的高半字节组成一字节 这个 字节的二进制转换为十进制后 就是温度值的百 十 个位值 而剩 下的低字节的低半字节转化成十进制后 就是温度值的小数部分 void work temp uint tem uchar n 0 t r if tem 6348 温度值正负判断 tem 65536 tem n 1 负温度求补码 标志位置 1 display 4 tem 取小数部分的值 中北大学单片机课程设计说明书 第 18 页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度生态旅游项目单包建筑工程施工合同
- 2025年标准砖新型城镇化建设专项采购合同
- 2025版公路桥梁施工安全保密协议书汇编
- 2025年度建筑工程居间合同协议书(新型城镇化)
- 2025版文化创意产业项目投标标前合作合同
- 2025年金融产品代理推广合同
- 2025版机器人设计制作合同范本模板
- 2025版电子商务平台提前终止合作协议书
- 2025版顺丰快递快递服务质量考核合同
- 2025版电信企业员工试用期劳动合同参考模板
- 中国哲学经典著作导读知到章节答案智慧树2023年西安交通大学
- 2023年泰州市高级教师职称考试试题
- 业余足球比赛技术统计表
- 社情民意写作基本知识要点课件
- 医疗器械生产企业GMP培训专家讲座
- 2023年中远海运船员管理有限公司招聘笔试题库及答案解析
- 辐射及其安全防护(共38张PPT)
- 金风15兆瓦机组变流部分培训课件
- 膀胱镜检查记录
- 沈阳终止解除劳动合同证明书(三联)
- 化工装置静设备基本知识
评论
0/150
提交评论