单片机课程设计之多点温度测量系统的设计
- 格式:doc
- 大小:572.50 KB
- 文档页数:13
多点温度测量课程设计一、课程目标知识目标:1. 学生能理解温度测量的基本原理,掌握不同温度测量工具的使用方法。
2. 学生能够运用多点温度测量方法,分析物体的温度分布特点。
3. 学生了解温度在生活中的应用,知道温度对物体性质的影响。
技能目标:1. 学生能够正确使用温度计、红外测温仪等工具进行多点温度测量。
2. 学生能够通过实验数据,绘制温度分布图,分析温度变化规律。
3. 学生能够运用所学知识,解决实际生活中的温度测量问题。
情感态度价值观目标:1. 学生对温度测量产生兴趣,增强对物理实验的好奇心和探究欲望。
2. 学生通过合作完成实验,培养团队协作精神和沟通能力。
3. 学生认识到温度测量在生活中的重要性,提高环保意识和节能意识。
分析课程性质、学生特点和教学要求:本课程为物理学科实验课,针对八年级学生设计。
学生已具备一定的物理知识和实验技能,对温度测量有一定的了解。
课程旨在通过实践操作,让学生掌握多点温度测量的方法,提高实验能力。
教学要求注重实践性、探究性和合作性,鼓励学生主动参与、积极思考,将所学知识应用于实际生活中。
课程目标分解:1. 知识目标:通过课堂讲解、实验演示和练习,使学生掌握温度测量的基本知识和技能。
2. 技能目标:通过分组实验,让学生动手操作,培养实际操作能力和数据分析能力。
3. 情感态度价值观目标:通过实验探究和讨论,激发学生学习兴趣,培养合作精神,增强环保意识。
二、教学内容本章节教学内容依据课程目标,结合教材第四章“温度与热量”相关内容,进行如下安排:1. 温度测量原理:- 温度定义与单位- 温度测量的基本原理(如膨胀原理、电热效应等)2. 温度测量工具:- 常见温度测量工具(如酒精温度计、电子温度计、红外测温仪等)- 不同温度测量工具的使用方法及注意事项3. 多点温度测量方法:- 实验设计:多点温度测量实验步骤及要求- 实验操作:分组进行实验,测量不同位置的温度- 数据处理:绘制温度分布图,分析温度变化规律4. 温度测量在生活中的应用:- 温度对物体性质的影响(如熔点、沸点等)- 温度测量在环保、节能等方面的实际应用案例教学进度安排:第一课时:温度测量原理与温度测量工具介绍第二课时:多点温度测量实验操作与数据收集第三课时:温度分布图绘制与分析,讨论温度测量在实际生活中的应用教学内容科学性和系统性:确保所选教学内容符合科学性,紧密联系教材,逐步引导学生从理论知识过渡到实践操作。
基于单片机的多点无线温度监控系统1. 引言1.1 研究背景在现代社会,温度监控系统在各个领域中发挥着重要作用,例如工业生产、环境监测、医疗保健等。
随着科技的不断发展,基于单片机的多点无线温度监控系统逐渐成为一种趋势。
研究背景部分将深入探讨这一领域的发展现状,以及存在的问题和挑战。
目前,传统的有线温度监控系统存在布线复杂、安装维护困难等问题,限制了其在一些特定场景下的应用。
而无线温度监控系统以其布线简便、实时监测等优势逐渐被广泛应用。
目前市面上的产品多数存在监测范围有限、数据传输不稳定等问题,迫切需要一种更为稳定、可靠的无线温度监控系统。
本文将基于单片机技术设计一种多点无线温度监控系统,旨在解决现有系统存在的问题,提高监测范围和数据传输稳定性。
通过对单片机、温度传感器、通信模块等关键部件的选择和设计,构建一套高性能的无线温度监控系统,为相关领域的应用提供更好的技术支持和解决方案。
1.2 研究意义无线温度监控系统的研究意义在于提高温度监控的效率和精度,实现对多个点位的远程管理和监控。
通过使用单片机技术,可以实现对多个温度传感器的同时监测和数据传输,使监控过程更加智能化和便捷化。
这对于各种需要严格控制温度的场合如实验室、制造业、医疗行业等具有重要意义。
无线温度监控系统的研究也有助于推动物联网技术的发展,为智能家居、智能城市等领域打下基础。
通过建立稳定、高效的多点无线温度监控系统,不仅可以提高生产效率,降低能耗,提升产品质量,还可以有效预防事故发生,保障人员安全。
研究基于单片机的多点无线温度监控系统具有重要的现实意义和应用前景。
1.3 研究目的本文旨在设计并实现基于单片机的多点无线温度监控系统,通过对温度传感器采集的数据进行处理和传输,实现对多个监测点的实时监控。
具体目的包括:1. 提高温度监控系统的便捷性和灵活性,使监控人员可以随时随地实时获取监测点的温度数据,为及时处理异常情况提供有力支持;2. 降低监控系统的成本,利用单片机和无线通信模块取代传统的有线连接方式,减少线缆布线成本和维护成本;3. 提升监控系统的稳定性和可靠性,通过精心选型与设计,以及合理的系统实现过程,确保系统能够持续稳定地运行,并提供准确可靠的数据;4. 探索未来监控系统的发展方向,从实际应用情况出发,进一步优化系统性能,并为未来无线温度监控系统的研究和应用奠定基础。
基于某单片机的多点温度测量系统设计设计需求及背景:在许多工业领域中,需要实时监测多点的温度数据,以确保系统的正常运行和生产过程的稳定性。
传统的温度测量系统通常使用多个独立的传感器连接到数据采集器,然后通过有线或无线的方式将数据传输到主控制系统。
这种设计方式存在布线繁琐、维护成本高等问题。
因此,我们需要设计一种基于单片机的多点温度测量系统,以实现简化布线、降低成本、提高系统可靠性等目的。
该系统需要能够同时测量多个点的温度,并将数据发送到中央控制系统进行处理和监控。
设计方案:1.硬件设计:- 选择一款适合的单片机作为系统主控制器,如Arduino或STM32等;-集成多个温度传感器,如DS18B20等,连接到单片机的GPIO口;-添加合适的电源管理模块,以确保传感器和单片机正常工作;-集成无线通信模块,如WiFi、蓝牙或LoRa等,以将数据传输至中央控制系统;-设计外壳和固定装置,以方便系统的安装和使用。
2.软件设计:-编写单片机上的程序,实现多路温度传感器数据的采集和处理;-设计通信协议,将采集到的数据封装成数据包,并通过无线通信模块发送至中央控制系统;-在中央控制系统上编写数据接收和处理程序,对接收到的数据进行解析和展示;-实现远程监控功能,可以通过手机或电脑实时查看系统各点的温度数据。
3.系统特点:-灵活布线:传感器可以分布在不同位置,无需固定布线,减少安装和维护成本;-高可靠性:采用单片机控制和无线通信,系统稳定性高,数据传输可靠;-高效监控:通过中央控制系统实现多点温度数据的集中管理和实时监控;-易扩展:可以根据需要增加更多传感器和扩展功能,满足不同的监测需求。
总结:基于单片机的多点温度测量系统设计,可以提高监测效率、降低成本并提高系统可靠性。
通过合理的硬件设计和软件开发,可以实现多路温度数据的实时采集和传输,为工业自动化和生产管理提供有力支持。
未来,在不断优化和扩展的基础上,这种系统设计还可以应用到更多领域,并实现更多功能和特性的进一步发展。
多点温度检测系统设计论文一、引言多点温度检测是一种常见的传感器应用技术,在工业控制、环境监测以及医疗领域都有重要的应用。
传统的温度检测系统通常只能测量一个点的温度,无法满足实际需求。
因此,设计一种多点温度检测系统,能够同时测量多个点的温度,对于提高温度检测的精度和效率具有重要的意义。
二、系统设计思想多点温度检测系统的设计思想是通过多个温度传感器进行温度测量,并将测量结果传输给中央控制单元进行数据分析和处理。
系统的设计需要考虑以下几个方面:传感器的选择和布置、通信方式的选择、数据处理算法以及系统的集成与控制。
1.传感器的选择和布置传感器的选择关系到整个系统的性能,常见的温度传感器有热电偶、热敏电阻、半导体温度传感器等。
在选择传感器时需要考虑温度范围、精度要求、响应时间等因素。
传感器的布置也需要考虑被测对象的特点,合理布置传感器可以提高温度测量的准确性。
2.通信方式的选择多点温度检测系统需要将多个传感器的测量结果传输到中央控制单元进行处理和分析。
通信方式的选择需要考虑传输距离、数据传输速率、抗干扰能力等因素。
常见的通信方式包括有线通信和无线通信,根据具体的应用场景选择合适的通信方式。
3.数据处理算法4.系统集成与控制三、系统实施方案在系统实施方案中,需要具体考虑系统的硬件设计和软件开发。
1.硬件设计硬件设计包括传感器的选择和布置、通信模块的选择和接口设计,以及中央控制单元的选取和接口设计。
根据实际需求进行硬件设计,确保系统的稳定性和可靠性。
2.软件开发软件开发包括系统的数据处理算法、通信协议的设计和编程,以及系统的控制逻辑和用户界面的设计。
根据具体的应用需求进行软件开发,确保系统的易用性和性能优化。
四、系统实验和测试在系统实验和测试中,需要对系统的性能进行评估和验证。
可以通过与已有的温度检测系统进行对比实验,评估多点温度检测系统的优劣势。
同时,还需要对系统的稳定性和可靠性进行测试,以确保系统在实际应用中的可用性。
基于51单片机的多点温度检测系统设计作者:程院莲来源:《数字技术与应用》2012年第11期摘要:多点温度检测系统由下位机和上位机两大部分组成。
下位机选用AT89C51单片机和DS18B20数字温度传感器为核心器件,实现温度的检测并提供标准RS232通信接口。
上位机实现数据处理与显示,选用通用PC。
该系统可应用于在工业及民用常温多点监测场合,如仓库测温、空调系统的温度检测等领域。
关键词:单片机 DS18B20 温度检测单总线中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2012)11-0008-02运用主从分布式思想,下位机(单片机)实现各点温度数据的实时采集和处理,上位机(PC机)则显示各点温度值,采用RS-232串行通讯标准,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。
该系统具有巡检速度快,扩展性好,成本低的特点,可以应用在工业及民用常温多点监测场合。
如粮食仓储系统、医疗与健诊的温度测试、空调系统的温度检测等。
1、系统设计方案在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。
系统设计方案框图如图1所示。
2、下位机硬件设计下位机的功能主要包括:多点温度测试及其相关处理,与上位机通讯传输温度数据。
理工科类大学毕业设计论文南开大学本科生毕业设计中文题目:基于单片机的多点温度测量系统设计英文题目:Design of based on the microprocessor multipoint temperature measurement system学号:****姓名:****年级:****专业:电子信息科学与技术系别:电子科学系指导教师:****完成日期:****摘要通过运用DS18B20数字温度传感器的测温原理和特性,利用它独特的单线总线接口方式,与AT89C51单片机相结合实现多点测温。
并给出了测温系统中对DS18B20操作的C51编程实例。
实现了系统接口简单、精度高、抗干扰能力强、工作稳定等特点。
本文介绍基于AT89C51单片机、C语言和DS18B20传感器的多点温度测量系统设计及其在Proteus平台下的仿真。
利用51单片机的并行口,同步快速读取8支DS18B20温度,实现了在多点温度测量系统中对多个传感器的快速精确识别和处理,并给出了具体的编程实例和仿真结果。
关键词:单片机;DS18B20数字温度传感器;Proteus仿真;C51编程AbstractWith using the measuring principle and characteristics of the numerical temperature sensor of DS18B20,making use of special characteristics of single line as the total line, and combine together with AT89C51 to realize several points temperature measuring. Also this paper gives the example of the C51 program which is used to operate to the DS18B20. Make system have characteristics of simple, high accuracy, strong anti- interference ability, stable work etc.This design introduced AT89C51 monolithic integrated circuit temperature control system design from the hardware and the software two aspects. A multipoint temperature measurement system based on DS18B20 and AT89C51 microcontroller is designed and simulated by Proteus in this paper, including software and hardware design of this system. The system has such advantages as novel circuit design, quick measurement speed, high measurement accuracy, and good practicality.Key words: SCM;DS18B20;Proteus simulation;C51 program目录摘要 (I)Abstract ............................................................................................... I I 第一章绪论 (1)1.1温度智能测控系统的研究背景与现状分析 (1)1.2温度智能测控系统的工作原理 (2)第二章单片机简介 (3)2.1单片机的定义 (3)2.2单片机的基本结构 (4)2.3单片机执行指令的过程 (5)2.4单片机的特点 (6)第三章数字温度传感器DS18B20原理 (7)3.1概述 (7)3.2主要特征 (7)3.3引脚功能 (8)3.4工作原理及应用 (8)3.5单片机对DS18B20的操作流程 (8)3.6 DS18B20与单片机的接口 (9)3.7 DS18B20芯片ROM指令表 (9)3.8 DS18B20芯片存储器操作指令表 (10)3.9 DS18B20复位及应答关系及读写隙 (11)第四章系统硬件设计 (12)4.1系统结构设计思路 (12)4.2系统框图 (13)4.3系统硬件设计 (13)第五章系统软件设计 (16)5.1 系统软件设计思路 (16)5.2系统软件设计 (21)第六章系统运行结果 (27)第七章结束语 (31)参考文献 (32)致谢 (33)第一章绪论1.1温度智能测控系统的研究背景与现状分析温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。
基于单片机的多点无线温度监控系统随着物联网技术的不断发展,无线传感器网络(WSN)在各个领域中的应用越来越广泛。
温度监控系统作为最基本的传感器网络应用之一,在工业控制、环境监测、医疗保健等领域中发挥着重要作用。
本文将介绍一种基于单片机的多点无线温度监控系统,通过这种系统可以实现对多个点位温度数据的实时监测和远程传输。
一、系统设计方案1. 系统硬件设计该温度监控系统的核心部件是基于单片机的无线温度传感器节点。
每个节点由温度传感器、微控制器(MCU)、无线模块和电源模块组成。
温度传感器选用DS18B20,它是一种数字温度传感器,具有高精度、数字输出和单总线通信等特点。
微控制器采用常见的ARM Cortex-M系列单片机,用于采集温度传感器的数据、控制无线模块进行数据传输等。
无线模块采用低功耗蓝牙(BLE)模块,用于与监控中心进行无线通信。
电源模块采用可充电锂电池,以确保系统的长期稳定运行。
系统的软件设计主要包括传感器数据采集、数据处理和无线通信等部分。
传感器数据采集部分通过单片机的GPIO口读取温度传感器的数据,并进行相应的数字信号处理。
数据处理部分对采集到的数据进行滤波、校正等处理,以保证数据的准确性和稳定性。
无线通信部分则通过BLE模块实现与监控中心的无线数据传输。
二、系统工作原理1. 温度传感器节点工作原理每个温度传感器节点通过温度传感器采集环境温度数据,然后通过单片机将数据处理成符合BLE通信协议的数据格式,最终通过BLE模块进行无线传输。
2. 监控中心工作原理监控中心通过接收来自各个温度传感器节点的温度数据,并进行数据解析和处理,最终在界面上显示出各个点位的温度数据。
监控中心还可以设置温度报警阈值,当某个点位的温度超过预设阈值时,监控中心会发出报警信息。
三、系统特点1. 多点监控:系统可以同时监测多个点位的温度数据,实现对多个点位的实时监控。
2. 无线传输:系统采用BLE无线模块进行数据传输,避免了布线的烦恼,使得系统的安装和维护更加便捷。
基于MCS-51单片机多点温度测控系统的设计
汤泽容
【期刊名称】《收藏与投资》
【年(卷),期】2017(000)012
【摘要】基于MCS-51单片机多点温度测控系统的设计,利用单片机的I/O口外接数字温度传感器——DS18B20,测出实际温度,通过液晶1602显示出温度值,可以广泛用于生态农业、工业等.
【总页数】1页(P82-82)
【作者】汤泽容
【作者单位】重庆工贸职业技术学院
【正文语种】中文
【中图分类】TP2
【相关文献】
1.基于MCS-51单片机的温度测控系统的设计 [J], 汤泽容
2.基于单片机的多点温度测控系统的设计 [J], 雷霖;沈小林;李萍
3.基于MCS-51单片机的多点定时器设计 [J], 董军堂;邵婷婷;常艳玲
4.基于AT89C51单片机的农用大棚多点温度测控系统设计与实现 [J], 杨杰
5.基于MCS-51单片机多点温度测控系统的设计 [J], 汤泽容
因版权原因,仅展示原文概要,查看原文内容请购买。
单片机复位报警点按键调时钟振荡时钟振荡主控制器显示温度传感单片机使用系统设计课题:多点温度测量系统的设计姓名:班级:学号:指导老师:日期:一、设计的背景和意义温度测控技术在各个领域使用越来越广泛,同时温度测量也被人们所关注,人们对测试温度的仪器要求越来越高,要为人类工、科研、生活提供更好的设施,那就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
二、系统总体方案设计因为要用到温度传感器,所以在单片机电路设计中,大多都是使用传感,我们使用的是DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,可以满足设计的要求。
1、原理:(1)将 AD590 作为室温度传感器,当温度变化时,AD590 会产生电流的变化,经 OPA1 将电流转换为电压,由 OPA2 作为零为调整,最后由 OPA3 反相放大 10 倍。
(2)ADCO804 输出最大转换值=FFH(255)。
OPA3 为放大10 倍时。
则本电路最大测量温度为;最大显示温度为 5.1/10V=0.51V,即51°C(10 为放大倍数)。
255X=51,知 X=0.2,即先乘 2 再除 10。
FF→255→255ⅹ2→510,R4=0.5R3=10。
即D4=0,D3=5,D2=1,D1=0,本电路显示器只取D3、D2两位数。
(3)按下P2.1按钮,放开后立即进入温度设定模式,显示设定最高温度为34°C (建立在 TABLE 内)每按一次设定温度将减少 1°C,直至最低温度 20°C,再按一次回到 34°C。
(4)当室温高于设定温度,压缩机(P3.0)运转,使室温降低,当室温低于设定值时,压缩机停止运行。
(5)当进入设定温度模式,如末按下设定按钮(P2.1)经数秒后自动解除设定模式,回到室温显示模式。
(6)本程序以计时中断,每 50ms 中断一次,比较室温一次,而令压缩机运转和停止。
总体设计框图:电路原理图:三、硬件设计1.复位操作复位是单片机的初始化操作,其主要功能是把PC 初始化为0000H,使单片机从0000H 单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或者操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。
(1)复位操作还对单片机的个别引脚信号有影响,例如把ALE和PSEN 非信号变为无效状态,即ALE=0,PSEN=1。
(2)复位信号及其产生RST 引脚是复位信号的输入端,复位信号是高电平有效,其有效时间持续24 个振荡脉冲周期(即 2 个机器周期)以上,若使用频率为6MHz 的晶振,则复位信号持续时间应超过4us 才能完成复位操作。
产生复位信号的电路逻辑如图(3)复位方式复位操作有上电自动复位和按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,在单片机控制的数字显示温度计电路设计中的单片机复位就是这种方式,其中电容 C 为22uF,电阻R 为1k 欧姆。
这样,只要电源Vcc(+5V)的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中按键电平复位是通过使复位端经电阻和Vcc 电源接通而实现的而按键复位脉冲复位则是利用RC 微分电路产生的正脉冲来实现的。
显示温度值的LED显示器:LED 显示器是单片机使用系统中常用的廉价输出设备。
它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画划发光,控制某段发光二极管导通,就能显示出某个数码或字符,常用八段LED显示器有两种结构,如图:在静态显示系统中,每位显示器都应有各自的锁存器、译码器(若采用软件译码,译码器可省去)和驱动器,用以锁存各自待显示数字的BCD 码或字段码。
因此,静态显示系统在每一次显示输出后能够保持显示不变,仅在待显示数字需要改变时,才更新其数字显示锁存器中的内容。
这种显示占用CPU 的时间少,显示稳定可靠。
缺点是,当显示的位数较多时,占用的I/O 口较多。
C PU 需定时地对每位LED 显示器进行扫描,每位LED 显示器在动态显示的系统中,分时轮流工作,每次只能使一位LED 显示,但由于人的视觉暂留现象,仍感觉所有的LED 显示器都在同时显示。
这种显示的优点是使用硬件少,占用I/O 口少。
缺点是占用CPU 时间长,只要不执行显示程序,就立刻停止显示。
但随着大规模集成电路的发展,目前已有能自动对显示器进行扫描的专用显示芯片,使电路既简单又占用CPU 时间。
在我们所设计的温度计中数码管显示就是利用的动态显示。
温度传感器DS1820DS1820 内部结构框图如图::DS1820 测温原理如图:图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1 和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1 温度系数晶振产生的脉冲信号进行减法计数,当计数器1 的预置值减到0 时,温度寄存器的值将加1 ,计数器1的预置将重新被装入,计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正。
四、系统软件设计1温度控制流程图2 电路程序;6M 晶体89c51temphead equ 40h display_data1_reg data 30h display_data2_reg data 31h display_data3_reg data 32h display_long_reg data 33hled1_bit bit p3.0led2_bit bit p3.1led3_bit bit p3.2time1sok bit 01HTEMPONE0K BIT 02HWiredogcs bit p3.7;TIAOSHI_LONG DATA 21H;TIAOSHI_DATA DATA 22Htempl data 34htemph data 35htemphc data 36htemplc data 37htempdin bit p2.0ORG 0000HLJMP STARTORG 000BHAJMP LEDORG 0030Hstart: MOV sp,#60Hmov tmod,#21Hmov pcon,#00Hmov scon,#01010000bmov th1,#243mov tl1,#243SETB ET0mov display_long_reg,#00hSETB EAMAIN: CLR TEMPONE0K MAIN1: L CALL DLY_1SJNB TEMPONE0K,MAIN2clr eaLCALL READTEMP1setb eaLCALL CONVTEMPMAIN2: clr eaLCALL READTEMPsetb easetb TEMPONE0KAJMP MAIN1;**************************************************** ; DS1820 复位;**************************************************** INITDS1820: SETB TEMPDINNOPNOPCLR TEMPDINMOV R6,#0A0HDJNZ R6,$MOV R6,#0A0HDJNZ R6,$SETB TEMPDINMOV R6,#32HDJNZ R6,$MOV R6,#3CHLOOP1820: MOV C,TEMPDINJC INITDS1820OUTDJNZ R6,LOOP1820INITDS1820OUT: SETB TEMPDINRET;**************************************************** ; 读DS1820 的数据;入口条件:数据存放在ACC 中;**************************************************** READDS1820: MOV R7,#08HSETB TEMPDINNOPNOPREADDS1820 LOOP: CLR TEMPDINNOPNOPNOPSETB TEMPDINMOV R6,#07HDJNZ R6,$MOV C,TEMPDINMOV R6,#3CHDJNZ R6,$RRC ASETB TEMPDINDJNZ R7,READDS1820LOOP MOV R6,#3CHDJNZ R6,$ RET**************************************************** ; 写DS1820 的数据;出口条件:数据存放在ACC 中;**************************************************** WRITEDS1820: MOV R7,#08HSETB TEMPDINNOPNOPRRC AMOV TEMPDIN,CMOV R6,#34HDJNZ R6,$SETB TEMPDINDJNZ R7,WRITEDS1820LOPRET;***********************************************; 启动温度转换;*********************************************** READTEMP: LCALL INITDS1820MOV A,#0CCHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV A,#44HLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$RET;***********************************************; 读取转换后的温度值;*********************************************** READTEMP1: LCALL INITDS1820MOV A,#0CCHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV A,#0BEHLCALL WRITEDS1820MOV R6,#34HDJNZ R6,$MOV R5,#09HMOV R0,#TEMPHEADINC R0READTEMP21: LCALL CRC8CAL DJNZR5,READTEMP2MOV A,BJNZ READTEMPOUTMOV R1,#TEMPHEADMOV A,@R1MOV TEMPL,AINC R1MOV A,@R1MOV TEMPH,AREADTEMPOUT: RET;********************************************************** ; 处理温度BCD 码程序;********************************************************** CONVTEMP: MOV A,TEMPHANL A,#80HJZ TEMPC1 ;判断是否为负数CLR CMOV A,TEMPL CPLADD A,#01H MOVTEMPL,AMOV A,TEMPHCPL AADDC A,#00HMOV TEMPH,AMOV TEMPHC,#0BHSJMP TEMPC11TEMPC1: MOV TEMPHC,#0AH TEMPC11: MOV A,TEMPHCSWAP AMOV TEMPHC,AMOV A,TEMPLMOV TEMPLC,AMOV A,TEMPLANL A,#0F0HSWAP AMOV TEMPL,AMOV A,TEMPHANL A,#0FHSWAP AORL A,TEMPLLCALL HEX2BCD1MOV TEMPL,AANL A,#0F0HSWAP AORL A,TEMPHCMOV TEMPHC,AMOV A,TEMPLANL A,#0FHSWAP AORL A,TEMPLCMOV TEMPLC,AMOV A,R7JZ TEMPC12ANL A,#0FHMOV R7,AMOV A,TEMPHCANL A,#0FHORL A,R7MOV TEMPHC,ATEMPC12: RETTEMPDOTTAB: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H DB 06H,07H,08H,08H,09H,09H ;*********************************************CRC8LOOP1: XRL A,BRRC AMOV A,BJNC CRC8LOOP2XRL A,#18H CRC8LOOP2: RRC AMOV B,APOP ACCRR APUSH ACCDJNZ R7,CRC8LOOP1POP ACCRET;*********************************************; 单字节16 进制转换BCD;入口条件:数据存放在ACC 中;出口条件:数据存放在ACC 中;*********************************************HEX2BCD1: MOV B,#64HDIV ABMOV R7,AMOV A,#0AHXCH A,BDIV ABSWAP AORL A,BRET;*********************************************; 1S 延时程序;*********************************************DLY_1S: PUSH PSWSETB RS0MOV R7,#10DLY_1S_1: MOV R6,#200DJNZ R5,$DJNZ R6,DLY_1S_2DJNZ R7,DLY_1S_1POP PSWRET;********************************************; 数码管显示程序;********************************************;********************************************************** ; LED;入口条件:输入数据放入ACC;输出:转换后的数据保存显示器缓冲区中中;影响数据:ACC;********************************************************** LED: push accpush dphpush dplmov th0,#0fchmov tl0,#66hmov dptr,#led_tab_1mov a,display_long_reginc display_long_regrl ajmp @a+dptrled_tab_1: ajmp led1ajmp led2ajmp led3led1: setb led1_bitsetb led2_bitsetb led3_bitmov a,TEMPLCanl a,#0fhmov dptr,#led_tab_2movc a,@a+dptrajmp led_exitled2: setb l ed1_bitsetb l ed2_bitsetb led3_bitmov a,TEMPLCanl a,#0f0hswap amov dptr,#led_tab_2movc a,@a+dptrclr acc.7mov p1,aclr led2_bitajmp led_exitled3: setb led1_bitsetb led2_bitsetb led3_bitmov a,TEMPHCanl a,#0fhmov dptr,#led_tab_2movc a,@a+dptrmov p1,aclr led1_bitmov display_long_reg,#0ajmp led_exitled_tab_2: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H, 80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0ffHled_exit: pop dplpop dphpop accreti;*********************************************五设计总结这个设计是参考了很多的材料才完成的,虽然设计的不是很完美,但是能够完成老师的要求,在做这个课程设计的时候,我的朋友帮我找了不少资料,在此,我要特别感谢他。