




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录 1 设计任务与要求 . 1 2 方案设计 . 2 2.1 温度测量部分方案 . 2 2.2 主控制部分方案 . 3 3 硬件电路设计 . 8 3.1 键盘单元 . 8 3.2 温度控制及超温和超温警报单元 . 10 3.3 温度测试单元 . 11 3.4 温度控制器件电路 . 11 3.5 七段数码管显示单元 . 12 3.6 接口通讯单元 . 14 4 电源输入部分 . 16 5 程序设计 . 17 5.1 程序结构分析 . 17 5.2 主程序 . 18 5.3 程序代码详见附录 程序清单 . 18 6 测设分析 . 19 7 结论 . 20 8 附录 . 21 8.1 使用说明
2、. 21 8.2 程序清单 . 21 9 参考文献 . 30 单片机/微机接口课程设计说明书 1 1 设计任务与要求 以单片机为核心设计一种多点温度控制系统至少实现两路以上的温度测量与控 制被控温度范围30-60。选择一种温度传感器完成温度信号的检测并以数 字信号的方式传送给单片机利用数码管或液晶显示器实现被测温度的实时显示。其 他功能可自由发挥。 硬件部分包括单片机系统及外围电路、温度检测电路、温度控制电路、按键控 制电路、显示电路及通讯电路等。 软件设计部分主要模块有显示模块、键盘扫描及按键处理模块、温度信号处理 模块、继电器控制模块、单片机与PC机串口通讯模块等。 单片机/微机接口课程设
3、计说明书 2 2 方案设计 2.1 温度测量部分方案 DS18B20是DALLAS公司生产的一线式数字温度传感器它具有微型化、低功耗、 高性能抗干扰能力、强易配处理器等优点特别适合用于构成多点温 度测控系统可 直接将温度转化成串行数字信号按9位二进制数字给单片机处理且在同一总线 上可以挂接多个传感器芯片它具有三引脚TO-92小体积封装形式温度测量范围 55125可编程为912位A/D转换精度测温分辨率可达0.0625被测温 度用符号扩展的16位数字量方式串行输出其工作电源既可在远端引入业可采用 寄生电源方式产生多个DS18B20可以并联到三根或者两根线上CPU只需一根端口 线就能与多个DS18
4、B20通信占用微处理器的端口较少可节省大量的引线和逻辑电 路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。 综上在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳 定它能用做工业测温元件且此元件线形较好。在0100摄氏度时最大线形偏 差小于1摄氏度。该芯片直接向单片机传输数字信号便于单片机处理及控制。 图2-1温度芯片DS18B20 单片机/微机接口课程设计说明书 3 2.2 主控制部分方案 AT89S51 是一个低功耗高性能CMOS 8位单片机片内含8k Bytes ISP(In-system programmable的可反复擦写1000次的Fl
5、ash只读程序存储器器件采用ATMEL公司 的高密度、非易失性存储技术制造兼容标准MCS-51指令系统及80C51引脚结构 芯片内集成了通用8位中央处理器和ISP Flash存储单元功能强大的微型计算机的 AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下 特点40个引脚4k Bytes Flash片内程序存储器128 bytes的随机存取数据存 储器RAM32个外部双向输入/输出I/O口5个中断优先级2层中断嵌套中断 2个16位可编程定时计数器,2个全双工串行通信口看门狗WDT电路片内时钟 振荡器。 此外AT89S51设计和配置了振荡频率可为0Hz并可通过
6、软件设置省电模式。空 闲模式下CPU暂停工作而RAM定时计数器串行口外中断系统可继续工作掉 电模式冻结振荡器而保存RAM的数据停止芯片其它功能直至外中断激活或硬件复 位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式以适应不同产品的需求。 由于系统控制方案简单 ,数据量也不大 ,考虑到电路的简单和成本等因素 ,因此 在本设计中选用 A TMEL 公司的 A T89S51单片机作为主控芯片。主控模块采用单片 机最小系统是由于 A T89S51芯片内含有4 kB的 E2PROM ,无需外扩存储器 ,电路简 单可靠 ,其时钟频率为 024 MHz ,并且价格低廉 ,批量价在 10元以内。
7、 其主要功能特性 兼容MCS-51指令系统 4k可反复擦写 (>1000次ISP Flash ROM 32个双向I/O口 4.3-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8 bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗WDT电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针 可以看出AT89S51提供以下标准功能4K字节Flash闪速存储器128字节内 部RAM32个I/O口线看门狗WDT两个数据指针两个16位定时器/计数器 一个5向量两级中断结构一
8、个全双工串行通信口片内振荡器及时钟。同时, AT89S51 可降至0Hz的静态逻辑操作并支持两种软件可选的节电工作模式。空闲方式停止 CPU的工作但允许RAM定时/计数器串行通信口及中断系统继续工作。掉电方式 何在RAM中的内容但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复 位。 AT89S51引角功能说明 Vcc电源电压 单片机/微机接口课程设计说明书 4 GND地 P0口P0口是一组8位漏极开路型双向I/O口也即地址/数据总线复用口作 为输出口用时每位能驱动8个TTL逻辑门电路对端口写“1”可作为高阻抗输入 端口。在访问外部数据存储器或程序存储器时这组口线分时转换地址低8位和 数据
9、总线复用在访问期间激活内部上拉电阻。在Flash编程时P0口接收指令字 节而在程序校验时输出指令字节校验时要求外接上拉电阻。 P1口P1是一个带内部上拉电阻的8位双向I/O口P1的输出缓冲级可驱动吸 收或输出电流4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉 到高电平此时可作输入口。作输入口使用时因为内部存在上拉电阻某个引脚被 外部信号校验期间P1接收低8位地址。表2-1为P1口第二功能。 表2-1 P1口第二功能 端口引脚 第二功能 P1.5 MOSI用于ISP编程 P1.6 MISO用于ISP编程 P1.7 SCK用于ISP编程 P2口P2是一个带有内部上拉电阻的8位双向
10、I/O口P2的输出缓冲级可驱动4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平此时可 作输入口作输入口使用时因为内部存在上拉电阻某个引脚被外部信号拉低时会 输出一个电流I 。在访问位地址的外部数据存储器如执行MOVX Ri 指令时 P2口线上的内也即特殊功能寄存器在整个访问期间不改变。Flash 编程或校验 时P2也接收高位地址和其它控制信号。 P3口 P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱 动吸收或输出电流4个TTL逻辑门电路。对P3口写入“1”时它们被内部上拉 电阻拉高并可作为输入端口。作输入端口时被外部拉低的P3口将用上拉电阻输出
11、电流I。P3口除了作为一般的I/O口线外更重要的用途是它的第二功能P3口的 第二功能如下表4-2。 表2-2 P3口的第二功能 端口功能 第二功能 端口引脚 第二功能 RXDP3.0 串行输入口 T0P3.4 定时/计数器0外部输入 TXDP3.1 串行输出口 T1P3.5 定时/计数器1外部输入 INT0P3.2 外中断0 WRP3.6 外部数据存储器写选通 INT1P3.3 外中断1 RDP3.7 外部数据存储器读选通 RST复位输入。当振荡工作时RST引脚出现两个机器周期上高电平将使单片机 复位。WDT益出将使该引脚输出高电平设置SFR AUXR 的 DISRTO 位地址8EH单片机/微
12、机接口课程设计说明书 5 可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。 ALE/PROG当访问外部程序存储器或数据存储器时ALE地址锁存允许输出脉 冲用于锁存地址的低8位字节。即使不访问外部存储器ALE仍以时钟振荡频率的1/6 输出的正脉冲信号因此它可对外输出时钟或用于定时目地要注意的是第当访问 外部数据存储器时将跳过一个ALE脉冲。如有必要可通过对特殊功能寄存器SFR 区中的8EH单元的D0位置位可禁止ALE操作。该位禁位后只有一条MOVX 和MOVC 指令ALE才会被激活。此外该引脚伎被微弱拉高单片机执行外部程序时应设置 ALE无效。 PSEN程序储存允许PSE
13、N输出是外部程序存储器的读选通信号当AT89S51 由外部程序存储器取指令或数据时每个机器周期两次PSEN有效即输出两个 脉冲。当访问外部数据存储器高有两次有效的PSEN信号。 EA/VPP外部访问允许。欲使CPU公访问外部程序存储器地址0000HFFFFH EA端必须保持低电平接地。需注意的是如果加密位LB1被编程复位时内部会 锁存EA端状态。如EA端为高电平接Vcc端CPU则执行内部程序存储器中的指 令。Flash存储器编程时,该引脚加上12V的编程电压Vpp。 XTAL1振荡器反相放大器及内部时钟发生器的输入端。 XTAL2振荡器反相放大器的输出端。 AT89S51单片机内部构造及功能
14、特殊功能寄存器特殊功能寄存器的片内空间分存如下图2-2所示。这些地址并 没有全部占用没有占用的地址不可使用读这些地址将得到一个随意的数值。而写 这些地址单元将不能得到预期的结果。 中断寄存器各中断 允许控制位于IE寄存器5个中断源的中断优先级控制位于 IP寄存器。图2-2为AUXR辅助寄存器。 单片机/微机接口课程设计说明书 6 图2-2 AUXR辅助寄存器 双时钟指针寄存器为方便地访问内部和外部数据存储器提供了两个16位数据 指针寄存储器PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H当SFR 中的位DPS=0时选择DP0,而DPS=1时选择DP1。在使用前初始化DP
15、S。 图2-3 双时钟指针寄存器 电源空闲标志电源空闲标志POF在特殊功能寄存储器SFR中PCON的第4位 PCON.4,电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。 存储器结构MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构 均具有64KB外部程序和数据的寻址空间。 程序存储器如果EA引脚接地GND全部程序均执行外部存储器。在AT89S51, 假如接至Vcc电源程序首先执行从地址0000H0FFFH4KB内部程序存储器 再执行地址为1000HFFFFH60KB的外部程序存储器。 单片机/微机接口课程设计说明书 7 数据存储器在AT89S51的具有128字节
16、的内部RAM这128字节可利用直接或间接 寻址方式访问堆栈操作可利用间接寻址方式进行128字节均可设置为堆栈区空间。 看门狗定时器WDTWDT是为了解决CPU程序运行时可能进入混乱或死循环而 设置它由一个14bit计数器和看狗复位SFRWDTRST构成。外部复位时WDT默认 为关闭状态要打开WDT 必按顺序将01H和0E1H写到WDTRST寄存器当启动了WDT 它会随晶体振荡器在每个机器周期计数除硬件复位或WDT溢出复位外没有其它方法 关闭WDT当WDT溢出将使RST引脚输出高电平的复位脉冲。引脚图详见图2-4 图2-4 AT89S51单片机引脚图 单片机/微机接口课程设计说明书 8 3 硬件
17、电路设计 3.1 键盘单元 单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其 它的按键或键盘都是以开关状态来设置控制功能或输入数据。 键开关状态的可靠输入 为了去抖动我采用软件方法它是在检测到有键按下 时执行一个10ms的延时程序后再确认该键电平是否仍保持闭合状态电平如保 持闭合状态电平则确认为真正键按下状态从而消除了抖动影响 在这种行列式矩阵键盘非编码键盘的单片机系统中键盘处理程序首先执行等待 按键并确认有无按键按下的程序段。当确认有按键按下后下一步就要识别哪一个按 键按下。对键的识别通常有两种方法一种是常用的逐行扫描查询 法另一种是速度 较快的线反转法。 对照图示的4
18、*4键盘说明线反转法工作原理。首先辨别键盘中有无键按下有 单片机I/O口向键盘送全扫描字然后读入行线状态来判断。方法是向行线输出全 扫描字00H把全部列线置为低电平然后将列线的电平状态读入累加器A中。如果 有按键按下总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪 一个键被按下是通过将列线逐列置低电平后检查行输入状态来实现的。方法是依 次给列线送低电平然后查所有行线状态如果全为1则所按下的键不在此列如 果不全为1则所按下的键必在此列而且是在与零电平行线相交的交点上的那个键。 键盘共有16个按键用于方便设定温度。 ? 数字按键输入数字0-9 设置的确认修改设置温度时进行确认 设置的
19、清除修改设置温度时进行删除 开启电源 关闭电源 显示及设置转换到温度点1按此按键后显示预设置温度的数码管 F1 确认 清除 0 9 关闭 开启 单片机/微机接口课程设计说明书 9 闪烁 显示及设置转换到温度点2按此按键后显示预设置温度的数码管 闪烁 表3-1键盘的按键分布 P2.0 0 1 2 3 P2.1 4 5 6 7 P2.2 8 9 F1 F2 P2.3 清除 开启 关闭 确定 P2.4 P2.5 P2.6 P2.7 F2 单片机/微机接口课程设计说明书 10 3.2 温度控制及超温和超温警报单元 当采集的温度经处理后超过规定温度上限时单片机通过 P1.4 输出控制信号驱 动三极管 D
20、1 使继电器 K1 开启降温设备 ( 压缩制冷设备 当采集的温度经处 理后低于设定温度下限时单片机通过 P1.5 输出控制信号驱动三极管 D2 使继电 器 K2 开启升温设备 ( 加热器1 。当由于环境温度变化太剧烈或由于加热或降温 设备出现故障或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规 定的温度限内的时候单片机通过三极管驱动扬声器发出警笛声。具体电路连接如图 3-1 所示。 图3-1具体电路连接图 单片机/微机接口课程设计说明书 11 3.3 温度测试单元 采用温度芯片DS18B20。使用集成芯片能够有效的减小外界的干扰提高测量 的精度简化电路的结构。 3.4 温度控制器件
21、电路 单片机通过三极管控制继电器的通断最后达到控制电热器的目的。 当温度未达到要求时单片机发送高电平信号使三极管饱和导通继电器使电源 与电热器接通电热器加热。温度慢慢升高。 当温度上升到预定温度时单片机发送低电平信号三极管进入截止状态继电器 的弹片打到另一侧使电热器与电源断开电热器停止加热。 继电器电路中有一个三极管8050的保护电路即将一个二极管反向接到三机管 的两端。连接方法如图3-2所示。 图3-2 单片机控制信号 其原理是当继电器突然断电时继电器产生很大的反向电流。二极管的作用是 将反向电流分流使流过三级管8050的电流比较小达到保护三极管8050的作用。 单片机/微机接口课程设计说明
22、书 12 3.5 七段数码管显示单元 本部分电路主要使用七段数码管和移位寄存器芯片74LS164。单片机通过I2C总 线将要显示的数据信号传送到移位寄存器芯片74LS164寄存再由移位寄存器控制数 码管的显示从而实现移位寄存点亮数码管显示。由于单片机的时钟频率达到12M 移位寄存器的移位速度相当快所以我们根本看不到数据是一位一位传输的。从人类 视觉的角度上看就仿佛是全部数码管同时显示的一样。具体见实际连线图如图3-3。 当清除端CLEAR为低电平时输出端QAQH均为低电平。 串行数据输入 端AB可控制数据。当 A、B 任意一个为低电平则禁止新数据输入在时钟端 CLOCK脉冲上升沿作用下 Q0
23、为低电平。当 A、B 有一个为高电平则另一个就 允许输入数据并在 CLOCK 上升沿作用下决定 Q0 的状态逻辑封装图如图3-3 图3-3逻辑封装图 引出端符号CLOCK 时钟输入端CLEAR 同步清除输入端低电平有效AB 串 行数据输入端QAQH 输出端。真值表表3-2 表3-2 真值表 单片机/微机接口课程设计说明书 13 123456 A B C D 654321 D C B ATitle NumberRevisionSize B Date:22-Sep-2004Sheet of File:E:Documents and Settings 公用桌面复件 89s51综合实验板原理图.ddb
24、Drawn By: a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 DS6 a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 DS7 a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp9 DS8 a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 DS9 a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9
25、DS13 a bf c g d e VCC 1 2 3 4 5 6 7 a b c d e f g 8 dp dp 9 DS16 A 1 B 2 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U16 74LS164 A 1 B 2 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U13 74LS164 A 1 B 2 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U12 74LS164 A 1 B 2
26、 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U14 74LS164 A 1 B 2 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U15 74LS164 A 1 B 2 QA 3 QB 4 QC 5 QD 6 CLK 8 CLR 9 QE 10 QF 11 QG 12 QH 13 U9 74LS164+5V+5V+5V+5V+5V+5V R1R2R3R4R5R6 +5V+5V+5V+5V+5V+5V SDA SCL 图3-4 实际连线图 单片机/微机接口课程设
27、计说明书 14 3.6 接口通讯单元 max232资料简介 该产品是由德州仪器公司TI推出的一款兼容RS232标准的芯片。由于电脑串 口rs232电平是-10v +10v而一般的单片机应用系统的信号电压是ttl电平0 +5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发 生器电路提供TIA/EIA-232-F电平。 该器件符合TIA/EIA-232-F标准每一个接收器将TIA/EIA-232-F电平转换成 3-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。 主要特点 1、单5V电源工作 2、 LinBiCMOS
28、TM工艺技术 3、 两个驱动器及两个接收器 4、 ±30V输入电平 5、低电源电流典型值是8mA 6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.28 7、ESD保护大于MIL-STD-883方 法3015标准的2000V 5 1单片机有一个全双工的串行通讯口所以单片机和电脑之间可以方便地进行 串口通讯。进行串行通讯时要满足一定的条件比如电脑的串口是RS232电平的而 单片机的串口是TTL电平的两者之间必须有一个电平转换电路我采用了专用芯片 MAX232进行转换虽然也可以用几个三极管进行模拟转换但是还是用专用芯片更 简单可靠。 在本设计中采用了三线制连接串
29、口也就是说和电脑的9针串口只连接其中的3 根线第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法但是 对我来说已经足够使用了电路如下图所示MAX232的第10脚和单片机的11脚连 接第9脚和单片机的10脚连接第15脚和单片机的20脚连接串口通讯具体如 图3-5 单片机/微机接口课程设计说明书 15 图3-5 通讯接口连线图 单片机/微机接口课程设计说明书 16 4 电源输入部分 控制系统主控制部分电源需要用5V直流电源供电其电路如图4-1所示把频率 为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是 把单相交流电经 过电源变压器、整流电路、滤
30、波电路、稳压电路转换成稳定的直流 电压。 由于输入电压为电网电压一般情况下所需直流电压的数值和电网电压的有效值 相差较大因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压所 以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大 的交流分量会影响到负载电路的正常工作。需通过低通滤波电路滤波使输出电压 平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影 响从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片7805解决了电源稳 压问题。 D1 T1 220uF C5 220uF C8 0.1uF C6 0.1uF C7 7805 123 2
31、20V 5V 5V 470 R3 Res2 D2 VCC 电源指示 图4-1电 源部分连线图 单片机/微机接口课程设计说明书 17 5 程序设计 5.1 程序结构分析 主程序调用了5个子程序分别是数码管显示程序、键盘扫描及按键处理程序、 温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。 键盘扫描电路及按键处理程序实现键盘的输入按键的识别及进入相应的程序。 温度信号处理程序对温度芯片送过来的数据进行处理进行判断和显示。 数码管显示程序向数码的显示送数控制系统的显示部分。 继电器控制程序控制继电器动作 串口通讯程序实现PC机与单片机通讯将温度数据传送给PC机。 图5-1程序结构图 单
32、片机/微机接口课程设计说明书 18 5.2 主程序 图5-2主程序结构图 程序开始的时候先设置初始化然后就控制数码管显示当前温度。接着就判断 F1、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温度控 制点2的程序。程序控制设置温度的两个数码管闪烁的此时键盘输入有效。有按 键按下的时候进入按键处理程序。按下“确定”按键后程序进入判断程序和继电 器控制程序。继电器动作后程序回到显示当前程序并开始循环。 5.3 程序代码详见附录 程序清单 单片机/微机接口课程设计说明书 19 6 测设分析 1、测试环境 环境温度28摄氏度室内面积20平方米 测试仪器数字万用表温度计0-100摄氏
33、度 2、测试方法 使系统运行采用温度计同时测量室内度变化情况得出系统测量的温度。 3、测试结果 设定温度由0摄氏度到40摄氏度 标定温差<=1摄氏度 调节时间 15s具体视现场情况 静态误差<=0.5摄氏度 最大超调量1摄氏度 4、通过测试分析对于实际室内的温度控制可以再提出以下 2 点方法 增加传感器个数对各个温度传感器采集的数据进行求算术平均可得到较为 准确的温度值。 对实际室内的温度控制可采用功率较大的电炉并且通过风扇 对箱内温度进行充分搅和降温设备可采用空气压缩机等制冷设备。 5、通过实验测试和分析发现虽然传感器的温度采集精度最高可得到 0.06 但测试得到的数据最小间隔为
34、 0.03 。通过分析当对浮点数求平均处理时遇 到同一时刻两个传感头采集的温度相差不大使 0.06 时求出平均温度变为 0.03 为了解该数据是否真实可采用一个高精度的数字温度计测试发现读出的 值与其基本一致由此推断如果在同一时间增加采集温度 的个数则可以进一步提高 温度的精度。 单片机/微机接口课程设计说明书 20 7 结论 在工业生产和日常生活中对温度控制系统的要求主要是保证温度在一定温度 范围内变化稳定性好不振荡对系统的快速性要求不高。在论文中简单分析了单 片机温度控制系统设计过程及实现方法。本系统的测温范围为-1040温度检 测系统根据用户设定的温度范围完成一定范围的温度控制。 89S
35、51的时钟最高可达12MI/O口可达32个高的时钟频率和丰富的I/O都 为我们实现电路功能提供了非常有利的条件。同时也因为开发环境友好易用方便 大大加快本系统设计开发。 本制作的设计中使用了继电器控制的只是插座电路因此该系统的可扩展性很 强。随着插入插座的电器的不同可以实现许多其它功能的电路。 单片机/微机接口课程设计说明书 21 8 附录 8.1 使用说明 1、将温度控制箱上的开关全部打到“关”的位置 2、将温度芯片插到温度控制箱的指定位置 3 、用串口线将温度控制箱与计算机相连打开相应的应用程序 4、将用电器的插头插到温度控制箱的插座 5、接上温度控制箱的电源、并打开开关。在温度控制箱上的
36、数码管显示出当前温度 6、按F1键进入温度点1的设置。通过键盘设置所需要的温度然后按“确定”键。 系统会将设置值与当前值进行比较通过温度芯片的反馈单片机控制加热或冷却水 的温度使水的温度稳定在设置的温度上。从而达到控制温度的作用。 7、按F2键则相应进入温度点2 的设置。与F1键的使用方法相同。 8、当要关闭系统时先关掉开关然后再拔掉电源。 框图表示 8.2 程序清单 主程序 ORG 0000H ;DS18B20.ASM DS18SL EQU 41H ;用于保存读出温度的低8位 DS18SH EQU 40H ;用于保存读出温度的高8位 DS18FIG EQU 8H ;是否检测到DS18B20标
37、志位 A_BIT1 EQU 31H ;数码管个位数存放内存位置 B_BIT1 EQU 32H ;数码管十位数存放内存位置 D_BIT1 EQU 35H ;数码管百位数存放内存位置 DS18CD1 EQU 42H ;DS18CD1-DS18CD8暂存64位ROM DS18CD2 EQU 43H ;从低到高 DS18CD3 EQU 44H DS18CD4 EQU 45H DS18CD5 EQU 46H DS18CD6 EQU 47H DS18CD7 EQU 48H DS18CD8 EQU 49H 确认温度控制箱 上的开关全部打 到关的状态 接上温度芯片连 接好电路接上电 源打开开关 按F1或F2进
38、行 温度点1或温度 点2的设定 系统开始工 作直至工作 结束关 闭电 源 单片机/微机接口课程设计说明书 22 DS1864B EQU 4AH DS18ADS EQU 4BH DS18DQ EQU P1.0 ;30H,31H,32H,33H: X 个位 十位 X MOD7: MOV SP,#60H LCALL GET_TEMPER ;调用读温度子程序 LCALL READCODE AJMP MOD7 INIT_1820: ;DS18B20初始化 SETB DS18DQ CLR DS18DQ ;延时,500US低MC MOV R7,#250 DJNZ R7,$ MOV R7,#150 DJNZ
39、R7,$ SETB DS18DQ ;释放总线 LCALL DELAY60US ;13-60US的等待时间 MOV R6,#4 SETDSDQ: LCALL DELAY60US JNB DS18DQ,SETDSDQFH ;60- 240US内是否有返回信号,为0跳 DJNZ R6,SETDSDQ MOV R7,#250 DJNZ R7,$ CLR DS18FIG RET SETDSDQFH: SETB DS18FIG MOV R7,#250 DJNZ R7,$ MOV R7,#100 DJNZ R7,$ RET; 数据处理程序 TEMP0: INC A AJMP TEMP1 单片机/微机接口课程
40、设计说明书 23 TEMPCOV: MOV A,DS18SL ;数据处理子程序 TEMPCOV MOV B,#16 DIV AB JB B.3,TEMP0 TEMP1: MOV 34H,A ;将DS18SL的高四位右移四位,存入 34H中温度值 MOV A,B ;将DS18SL的低四位X10/16得小数后 一位数. MOV B,#10 MUL AB MOV B,#16 DIV AB MOV 30H,A ;将小数后一位数.存入30H中 MOV A,DS18SH ;DS18SH中存放高8位数,权 重16 MOV B,#16 MUL AB ADD A,34H ;34H中存入温度值的整数部分 MOV
41、B,#10 DIV AB MOV 31H,B ;个位存入31H中 MOV B,#10 ; DIV AB ; MOV 32H,B ;十位存入32H中 MOV B,#10 ; DIV AB ; MOV 35H,B ;百位存入33H中 MOV A,DS18SH MOV 33H,#10H ; JB ACC.7,EXIT7 MOV 33H,#00H EXIT7: RET GET_TEMPER: ;读出转换后的温度值,并显示 SETB DS18DQ LCALL INIT_1820 ;先复位DS18B20 单片机/微机接口课程设计说明书 24 JB DS18FIG,TSS2 RET ;判断DS1820是否存
42、在?若DS18B20不存在则返 TSS2: MOV DS18ADS,#0 DS18JX: LCALL DS18CODP MOV A,DS18ADS ADD A,#9 MOV DS18ADS,A CJNE A,#63,DS18JX RET DS18CODP: LCALL MRCOVT ;转换指定的DS18B20的温度 LCALL MRRDTEDP ;显示温度 RET TEMP: LCALL INIT_1820 JB DS18FIG,NEXT4 RET NEXT4: MOV DS18ADS,#9 MOV A,#0CCH ;SKIP ROM LCALL WRITE_1820 MOV A,#44H ;
43、温度转换命令 LCALL WRITE_1820 LCALL DELAY1S LCALL MRRDTEDP RET;写DS18B20的子程序(有具体的时序要求 WRITE_1820: ;写DS18B20 MOV R5,#8 DS18JXWE: SETB DS18DQ ;初始化 CLR DS18DQ CLR DS18DQ MOV R7,#5 DJNZ R7,$ ;拉低15US内,写入数据 单片机/微机接口课程设计说明书 25 CLR C RRC A MOV DS18DQ,C LCALL DELAY60US ;持续60US SETB DS18DQ ;写完一个位 DJNZ R5,DS18JXWE RE
44、T READ_1820_CODE: ;读取CODE 64位 MOV R4,#8 ;读8次数 MOV R1,#DS18CD1 ;低位地址存在R1 DS18JXRD3: MOV R5,#8 ;8位数据 DS18JXRD2: SETB DS18DQ CLR DS18DQ ;前两句完成初始化 NOP NOP ;延时至少1US SETB DS18DQ ;上升沿,并在,15US内读数 MOV R7,#5 DJNZ R7,$ MOV C,DS18DQ RRC A LCALL DELAY60US ;读时序,最少60US DJNZ R5,DS18JXRD2 MOV R1,A INC R1 DJNZ R4,DS1
45、8JXRD3 SETB DS18DQ RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数 据 READ_18200: MOV R4,#2 ;读两次数 MOV R1,#DS18SL ;低位地址存在R1 DS18JXRD1: MOV R5,#8 ;8位数据 DS18JXRD: 单片机/微机接口课程设计说明书 26 SETB DS18DQ CLR DS18DQ ;前两句完成初始化 NOP NOP ;延时至少1US SETB DS18DQ ;上升沿,并在,15US内读数 MOV R7,#5 DJNZ R7,$ MOV C,DS18DQ RRC A LCALL DELAY60US ;
46、读时序,最少60US DJNZ R5,DS18JXRD MOV R1,A DEC R1 DJNZ R4,DS18JXRD1 SETB DS18DQ RET READ_1820_1: ;读取1位 SETB DS18DQ CLR DS18DQ CLR DS18DQ CLR DS18DQ SETB DS18DQ MOV R7,#5 DJNZ R7,$ JB DS18DQ,WEFH LCALL DELAY10MS WEFH: LCALL DELAY60US RET READCODE: ;读取64位ROM,并显示出来 SETB DS18DQ LCALL INIT_1820 JB DS18FIG,NEXT
47、 RET NEXT: MOV A,#33H 单片机/微机接口课程设计说明书 27 LCALL WRITE_1820 LCALL READ_1820_CODE LCALL DISPLAYCD RET DS1864SEN: ;送出64个位的数据 MOV R4,#8 MOV DPTR,#DS18TAB DS1864SEN1: MOV A,DS1864B MOVC A,A+DPTR LCALL WRITE_1820 INC DS1864B DJNZ R4,DS1864SEN1 RET MATCHROM: LCALL INIT_1820 MOV A,#55H ;MARCH ROM LCALL WRITE
48、_1820 MOV DS1864B,DS18ADS LCALL DS1864SEN RET MRCOVT: ;匹配ROM并发出温度转换命令 LCALL MATCHROM MOV A,#44H ;发出温度转换命令 LCALL WRITE_1820 LCALL DELAY1S RET MRRDTEDP: ;匹配ROM并显示转换温度 LCALL INIT_1820 LCALL MATCHROM MOV A,#0BEH ;发出读取命令 LCALL WRITE_1820 LCALL READ_18200 LCALL TEMPCOV LCALL DISPLAY ;调用数码管显示子程序 RET 单片机/微机接口课程设计说明书 28 键盘子程序 START:NOP ;程序开始 LCALL CH_KEY ;检查键盘 AJMP START ;返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理专业职业生涯规划
- 车辆作为抵押物借款反担保协议书
- 厂房租赁与供应链管理合作协议
- 生态农业餐厅试用期配菜员有机食材聘用合同
- 茶园土地流转与茶叶种植保险合作合同
- 叉车操作员健康体检与劳动合同
- 智慧城市背景下出台政策推动房地产产业升级合同
- 生态旅游区开发拆迁补偿与民宿买卖合同
- 插班生入学后学业支持及辅导合同
- 车辆股份交易与品牌使用权及售后服务授权协议
- 胜任力模型-财务
- 陶行知教育名篇读书分享ppt
- 深圳中考志愿表格模板
- 2023浙江衢州市江山市定向培养乡镇文化员招生(招聘)1人考试备考试题及答案解析
- 电力系统三相短路电流的计算课程设计论文
- 村卫生室医保自查自纠报告及整改措施
- 部编版道德与法治五年级下册期末综合测试卷含答案(共6套)
- 郑州市第四中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
- 衢州市建筑工程质量通病防治措施
- 高边坡专项检查记录表格
- 2023年新改版教科版五年级下册科学全册练习题(一课一练)含答案
评论
0/150
提交评论