温度控制器实验报告
综合设计性实验报告

[4] 姜威.实用电子系统设计基础[M].2008.1.
[5] 张靖武.单片机系统的PROTEUS设计与仿真[M].2007.4.
[6] 赵海雁.《AD590温度传感器》.测试技术学报.1997.11.
[7] 刘燕,兰志强. 《AD590集成电路温度传感器的特性测量与应用》.中国仪器 仪表,2005.6.
6实验注意事项
1 电路板的检查: 检查电路板的焊接是否正确,有无虚焊、错焊以及漏焊,各电阻的阻值是否正确,集成运放LM324的管教是否连接正确,以及AD590和1N4728的连接是否有误。在该次调试中,发现有一电阻接错,后仔细对照图纸检查,重新焊接正确。
2 各关键点电压的测量:分别测量各关键点的电压值,检查电路工作是否基本正确。实际测得,U0=2.81V,U1=2.63V,Uout=3.8V,温度改变,U0变化,但是输出不变。分析后发现,原来最后一个放大器U2D的反馈电阻接到了+端,所以导致输出电压值恒定不变,于是将电阻重新焊接。
这次的实验跟我们以前做的实验不同,因为我觉得这次我们是真真正正的自己亲自去完成。所以是我觉得这次实验最宝贵,最深刻的。就是实验的过程全是我们学生自己动手来完成的,这样,我们就必须要弄懂实验的原理。在这里我深深体会到哲学上理论对实践的指导作用:弄懂实验原理,而且体会到了实验的操作能力是靠自己亲自动手,亲自开动脑筋,亲自去请教别人才能得到提高的。 我们做实验绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么实验,那么做了也是白做。实验总是与课本知识相关的, 在实验过程中,我们应该尽量减少操作的盲目性提高实验效率的保证,有的人一开始就赶着做,结果却越做越忙,主要
DS18B20温控实验报告 - 副本

桂林航院电子工程系单片机课程设计与制作说明书设计题目:DS18B20数字温度计的设计专业:通信技术班级:学号:姓名:指导教师:2012年 6 月 28 日桂林航天工业学院单片机课程设计与制作成绩评定表单片机课程设计与制作任务书专业:通信技术学号: 2 姓名:一、设计题目:DS18B20数字温度计的设计二、设计要求:1.要求采集温度精确到度。
2.显示测量温度三、设计内容:硬件设计、软件设计及样品制作四、设计成果形式:1、设计说明书一份(不少于4000字);2、样品一套。
五.完成期限: 2010 年月日指导教师:贾磊磊年月日教研室:年月日目录一摘要 (1)设计要求 (1)二理论设计 (2)硬件电路计 (2)2.1.1芯片介绍 (2)2.1.2 DS18B20简介 (7)设计方案 (9)2.2.1.显示方案 (9)2.2.2.系统硬件电路设计 (11)2.2.3软件设计流程及描述 (11)三.系统的调试 (13).硬件的调试 (13)实验结果 (19)四、设计注意事项 (19)点阵设计注意事项 (20)单片机注意事项 (16)仿真器使用注意事项 (16)五.设计心得体会 (17)总结与体会 (17)摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
其中,温度控制也越来越重要。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业控制中。
本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。
温度控制系统实验报告

温度控制系统实验报告温度控制系统实验报告一、引言温度控制系统作为现代自动化领域的重要组成部分,广泛应用于工业生产、家电和环境控制等领域。
本实验旨在通过搭建一个简单的温度控制系统,了解其工作原理和性能特点。
二、实验目的1. 了解温度控制系统的基本原理;2. 掌握温度传感器的使用方法;3. 熟悉PID控制算法的应用;4. 分析温度控制系统的稳定性和响应速度。
三、实验装置本实验使用的温度控制系统由以下组件组成:1. 温度传感器:用于测量环境温度,常见的有热敏电阻和热电偶等;2. 控制器:根据温度传感器的反馈信号,进行温度控制;3. 加热器:根据控制器的输出信号,调节加热功率;4. 冷却装置:用于降低环境温度,以实现温度控制。
四、实验步骤1. 搭建温度控制系统:将温度传感器与控制器、加热器和冷却装置连接起来,确保各组件正常工作。
2. 设置控制器参数:根据实际需求,设置控制器的比例、积分和微分参数,以实现稳定的温度控制。
3. 测量环境温度:使用温度传感器测量环境温度,并将测量结果输入控制器。
4. 控制温度:根据控制器输出的控制信号,调节加热器和冷却装置的工作状态,使环境温度保持在设定值附近。
5. 记录数据:记录实验过程中的环境温度、控制器输出信号和加热器/冷却装置的工作状态等数据。
五、实验结果与分析通过实验数据的记录和分析,我们可以得出以下结论:1. 温度控制系统的稳定性:根据控制器的调节算法,系统能够在设定值附近维持稳定的温度。
但是,由于传感器的精度、控制器参数的选择等因素,系统可能存在一定的温度波动。
2. 温度控制系统的响应速度:根据实验数据,我们可以计算出系统的响应时间和超调量等参数,以评估系统的控制性能。
3. 温度传感器的准确性:通过与已知准确度的温度计进行对比,我们可以评估温度传感器的准确性和误差范围。
六、实验总结本实验通过搭建温度控制系统,探究了其工作原理和性能特点。
通过实验数据的分析,我们对温度控制系统的稳定性、响应速度和传感器准确性有了更深入的了解。
大棚智能温控实验报告

大棚智能温控实验报告大棚智能温控是一种利用传感器和控制系统实现对大棚内温度进行自动调控的技术,可以提高农作物的生长效率,减少能源消耗。
为了验证大棚智能温控的效果,我们进行了一次实验。
实验材料和仪器:1. 大棚:使用面积为10平方米的大棚,安装了透明的塑料薄膜。
2. 温控器:使用一款智能温控器作为控制系统,可以根据设定的温度范围自动控制大棚内的温度。
3. 传感器:在大棚内设置了温度传感器,可以实时监测大棚内的温度。
4. 加热设备:使用一台电热器作为加热设备,可以通过控制器开关来调节加热功率。
5. 计算机:用于与温控器和传感器进行连接和数据采集。
实验步骤:1. 设置温度范围:根据农作物的需求,我们将温度范围设置在18℃到30℃之间。
2. 开始记录数据:启动温控器和传感器,开始记录大棚内的温度数据。
3. 观察温度变化:通过计算机上的监控界面,实时观察大棚内的温度变化。
4. 调节加热功率:当大棚内温度低于设定的最低温度时,打开加热器并逐渐增加加热功率,直到温度达到设定范围为止。
当温度高于设定的最高温度时,关闭加热器。
5. 结束记录数据:记录实验过程中的温度变化数据。
6. 分析实验结果:利用记录的数据,分析大棚智能温控系统对温度的调控效果。
实验结果:通过实验数据的分析,我们发现大棚智能温控系统可以有效地维持大棚内的温度在设定范围内波动。
在实验过程中,大棚内的温度在18℃到30℃之间波动,温度波动幅度较小,并且温度变化与设定的目标温度基本一致。
实验结论:大棚智能温控系统可以有效地控制大棚内的温度,提高农作物的生长效率。
通过对温度的精确调控,可以减少能源的浪费,降低农业生产成本。
同时,智能温控系统的自动化调控还可以减少人工操作,提高工作效率。
进一步改进:在实际应用中,还可以进一步改进智能温控系统。
例如,可以增加湿度传感器,实现对大棚内湿度的自动调控;可以引入光照传感器,实现对大棚内光照强度的自动调控。
通过综合调控大棚内的温度、湿度和光照等因素,进一步提高农作物的生长效率。
PID实验报告范文

PID实验报告范文PID(Proportional-Integral-Derivative)是一种常用于控制系统的算法,它根据当前的误差值和历史误差值的积累来调整控制量,从而实现系统的稳定性和精确性。
在本次实验中,我们将学习如何使用PID算法来控制一个简单的温度控制系统。
实验步骤:1.实验准备:准备一个温度传感器、一个发热器以及一个温度控制器。
将温度传感器安装在控制对象上,将发热器与温度控制器连接,并将温度控制器连接到计算机。
2.确定控制目标:我们的目标是将系统的温度稳定在一个特定的温度值。
在本次实验中,我们将目标温度设定为50°C。
3.参数调整:调整PID控制器的三个参数,即比例系数Kp、积分系数Ki和微分系数Kd。
开始时,我们可以将这些参数设置为一个合理的初始值,例如Kp=1,Ki=0.1,Kd=0.014.实验记录:记录系统的温度变化过程。
在开始实验之前,将控制对象的温度设定为初始温度,并将PID控制器的输出设定为零。
记录系统的温度、控制量和误差值。
5.PID计算:根据当前的误差值、历史误差值和时间间隔,计算PID控制器的输出。
6.控制实施:根据PID控制器的输出,控制发热器的加热功率。
根据输出值的大小调整发热器的功率大小。
7.实验分析:观察系统的温度变化过程,并分析PID控制器的参数调整对系统性能的影响。
根据实验结果,调整PID参数,使系统的稳态和动态响应性能都较好。
实验结果:我们进行了多组实验,可以观察到系统温度在初始阶段有较大的波动,但随着时间的推移,温度开始逐渐稳定在目标温度附近。
通过对PID参数进行调整,我们发现参数的选择对系统的稳定性和响应速度有很大影响。
当比例系数Kp较大时,系统对误差的响应速度很快,但也容易引起过冲现象,导致系统产生振荡。
因此,我们需要根据实际需求进行调整,找到一个合适的值。
当积分系数Ki较大时,系统对积累误差的反应较快,可以很好地消除稳态误差,但也容易引起系统的超调。
pid控制实验报告

pid控制实验报告PID控制实验报告引言PID控制是一种常用的控制算法,广泛应用于工业自动化系统中。
本实验旨在通过实际的PID控制实验,验证PID控制算法的效果和优势,并对PID控制的原理、参数调节方法等进行探讨和分析。
一、实验目的本次实验的目的是通过一个简单的温度控制系统,使用PID控制算法来实现温度的稳定控制。
通过实验,验证PID控制算法的有效性和优越性,掌握PID控制的基本原理和参数调节方法。
二、实验设备和原理本实验所用的设备为一个温度控制系统,包括一个温度传感器、一个加热器和一个控制器。
温度传感器用于实时检测环境温度,加热器用于调节环境温度,控制器用于实现PID控制算法。
PID控制算法是基于误差的反馈控制算法,其主要原理是通过不断地调整控制器的输出信号,使得系统的实际输出与期望输出之间的误差最小化。
PID控制算法由比例控制、积分控制和微分控制三部分组成。
比例控制通过比例系数调整控制器的输出信号与误差的线性关系;积分控制通过积分系数调整控制器的输出信号与误差的积分关系;微分控制通过微分系数调整控制器的输出信号与误差的微分关系。
通过合理调节这三个系数,可以实现对系统的精确控制。
三、实验步骤1. 搭建温度控制系统:将温度传感器、加热器和控制器连接在一起,确保信号传输的正常。
2. 设置期望温度:根据实验要求,设置一个期望的温度作为控制目标。
3. 调节PID参数:根据实验的具体要求和系统的特性,调节PID控制器的比例系数、积分系数和微分系数,使得系统的响应速度和稳定性达到最佳状态。
4. 开始实验:启动温度控制系统,观察实际温度与期望温度的变化情况,记录实验数据。
5. 数据分析:根据实验数据,分析PID控制算法的效果和优势,总结实验结果。
四、实验结果与讨论通过实验,我们得到了一系列的实验数据。
根据这些数据,我们可以进行进一步的分析和讨论。
首先,我们观察到在PID控制下,温度的稳定性得到了显著的提高。
实验报告

第I 页课程设计说明书数字显示温度控制器设计制作摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
本次设计一个数字显示温度的测量与控制装置.应用温度敏感元件和二次仪表的组合,对温度进行调节、控制,且能直接读数.经实验验证此控制器的性能指标达到要求,为温度测量与控制的工业应用奠定了一定的基础。
关键词:温度传感器数字电压表温度控制执行机构。
第II 页课程设计说明书目录1设计任务及要求 (1)2数字温度控制器设计方案 (1)3温度控制器电路的设计 (3)3.1温度传感器的选择 (3)3.2采样电路及校准电路 (4)3.3上下限采集电路 (5)3.4温度比较电路 (6)3.5 温度控制电路 (7)3.7 显示温度电路 (10)3.8 直流电源电路 (12)3.8.1稳压电源设计 (12)3.8.2 电路设计 (14)4整机工作原理 (14)5整体电路图 (16)致谢 (18)参考文献 (18)课程设计说明书1 设计任务及要求采用热敏电阻作为温度传感器,由于温度变化而引起的电压变化,在利用比较运算放大器与设置的温度值对应的电压进行比较,输出高或低电平从而对控制对象加热器进行控制。
其电路可分为三部分:测温电路,比较/显示电路,控制电路。
设计要求:(1):实现题目要求的内容(2):电路在功能相当的情况下越简单越好(3):要求输入电压为5V,红绿发光二极管为负载(4):调节电位器,使红,绿发光二极管交替点亮2 数字温度控制器设计方案方案1:此电路是一种数字温度控制器的参考设计方案图1 方案流程图原理:温度检测电路通过热敏电阻检测温度并将温度信号转化成电压信号,时钟发生器产生的脉冲启动A/D转换电路。
通过A/D转换电路将模拟信号转化成数字信号,利用4课程设计说明书线——7段显示译码器/驱动器将得到的BCD码送至LED数码显示管显示。
实验报告 控制器

实验报告控制器1. 引言控制器是现代自动化系统中的重要组成部分,它能够实时获取测量信号并根据设定的控制策略对系统进行调节。
本实验旨在通过设计和搭建一个控制系统,探讨控制器在自动化系统中的作用和性能表现。
2. 实验目标本实验的主要目标包括:- 理解控制器的基本原理和功能;- 学习控制器的设计和调节方法;- 搭建一个简单的控制系统并测试其性能。
3. 实验设备和材料- 电脑;- 控制系统试验箱;- 温度传感器;- 控制器;- 电源供应器;- 执行机构(如电动阀门);- 监测仪器(如示波器)。
4. 实验步骤4.1 系统建模首先,需要对待控制的系统进行建模。
在本实验中,我们将以温度控制系统为例进行说明。
通过连接温度传感器和执行机构(电动阀门)到控制系统试验箱中,我们可以获取温度信号并调节执行机构来控制系统的温度。
4.2 控制器设计根据系统的特性和控制要求,我们可以设计一个合适的控制策略。
常见的控制策略包括比例控制、积分控制和微分控制。
通过调节这些控制参数,我们可以使系统达到期望的控制效果。
4.3 控制器调节在设计控制器后,需要进行实际的调节工作。
根据试验箱中的调节装置,我们可以通过改变不同的控制参数来调整控制系统的性能。
在调整过程中,可以使用监测仪器来监测系统的响应,并根据实际情况进行参数的微调。
4.4 性能测试在完成控制器调节后,我们可以对系统进行性能测试。
通过改变设定值或输入干扰,观察控制器的响应以及系统是否能够快速恢复到设定状态。
同时,可以记录系统的调整时间、超调量等性能指标,并与设计要求进行比较。
5. 实验结果与讨论通过对控制器的设计和调节,我们成功地搭建了一个温度控制系统并进行了性能测试。
实验结果显示,控制器能够快速响应输入信号,并使系统的温度稳定在预设范围内。
与设计要求相比,实验结果表明控制器的性能良好。
然而,也需要注意到,在实际应用中,系统参数可能会发生变化,导致控制器的性能下降。
因此,对于复杂的控制系统,需要进行定期的参数调节和优化,以确保其性能持续稳定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计实验报告——温度控制器班级:学号: 电气0806 姓名: 08291174 老师: 李长城 合作者: 姜久春李志鹏一、实验要求和目的本课程设计的课题是温度控制器。
●用电压输入的变化来模拟温度的变化,对输入的模拟电压通过ADC0832转换成数字量输出。
输入的电压为0.00V——5.00V,在三位数码显示管中显示范围为00.0——99.9。
其中0V对应00.0,5V对应99.9●单片机的控制目标是风机和加热器。
分别由两个继电器工作来模拟。
系统加了一个滞环。
适合温度为60度。
◆当显示为00.0-50.0时,继电器A闭合,灯A亮,模拟加热器工作。
◆当显示为为50.0-55.0时,保持继电器AB的动作。
◆当显示为55.0-65.0时,继电器A断开,灯A熄灭,模拟加热器停止工作。
◆当显示为65.0-70.0时,保持继电器AB的动作◆当显示为70.0-99.9时,继电器B闭合,灯B亮,模拟风机的工作。
二、实验电路涉及原件及电路图由于硬件系统电路已经给定,只需要了解它的功能,使用proteus 画出原理图就可以了。
实验设计的电路硬件有:1、AT89S52本温度控制器采用AT89C52单片机作为CPU,12MHZ晶振AT89C52的引脚结构图:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
主要功能特性:•兼容MCS-51指令系统•8k可反复擦写(>1000次)ISP Flash ROM•32个双向I/O口•4.5-5.5V工作电压•3个16位可编程定时/计数器•时钟频率0-33MHz•全双工UART串行中断口线•256x8bit内部RAM•2个外部中断源•低功耗空闲和省电模式•中断唤醒省电模式•3级加密位•看门狗(WDT)电路•软件设置空闲和省电功能•灵活的ISP字节和分页编程•双数据寄存器指针89S52芯片的各引脚功能如下:GND 接地Vcc 接电源P0.0-0.7 开漏双向I/O口P2.0-2.7 内部上拉的双向I/O口P1.0-1.7 内部上拉的双向I/O口P3.0-3.7 内部上拉的双向I/O口特殊功能引脚:MOSI,MISO,SCK(P1.5,P1.6,P1.7)用于ISP编程RXD(P3.0)串行输入口TXD(P3.1) 串行输出口WR (P3.6)外部数据存储器写信号RD (P3.7)外部数据存储器读信号T0 (P3.4) 定时器0外部输入T1 (P3.5) 定时器1外部输入INT0 (P3.3) 外部中断0INT1 (P3.2) 外部中断1RST 复位ALE 地址锁存使能EA/Vpp 外部寻址使能/可编程电压PSEN 程序存储器使能XTAL1 振荡器反相放大器及内部时钟发生器的输入端XTAL2 振荡器反相放大器输出端2、ADC0832这是一个串行的AD转换芯片,实验所用的是八个管脚的芯片:芯片接口说明:· CS_ 片选使能,低电平芯片使能。
· CH0 模拟输入通道0,或作为IN+/-使用。
· CH1 模拟输入通道1,或作为IN+/-使用。
· GND 芯片参考0 电位(地)。
· DI 数据信号输入,选择通道控制。
· DO 数据信号输出,转换数据输出。
· CLK 芯片时钟输入。
· Vcc/REF 电源输入及参考电压输入(复用)。
单片机对ADC0832 的控制原理:正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。
(见图3)当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能。
3、共阳极LED数码管三、程序设计流程本来预习中,我已经找到了一种芯片可以做AD转换的,是ADC674,但是实验要求用ADC0832的,过程不同,但是程序思路是基本不变的。
我的预习中使用了两种思路设计关于温度变化导致继电器动作的程序:采用12位AD转换器AD1674可以实现000——999的输出显示。
另外用内部定时器来产生中断,定时采集数据信息。
具体的设计思路有如下:1、思路<500?Y-----开加热,转下N-----转下>550?Y-----关加热器,转下N-----转下<650?Y-----关风机,转下N-----转下>700?Y-----开风机,结束N-----结束这种方法思维,可以任意时刻采集到的温度信号,通过单片机控制直接进行相应的继电器操作。
设输入信号量为X,相关的核心程序为:MOV 30H,#500MOV 31H.#550MOV 32H.#650MOV 33H,#700 PD0:CLR CyMOV A, #XSUBB A,30HJNC PD1MOV P1.0,#1 PD1: CLR CyMOV A, #XSUBB A,31HJC PD2MOV P1.0,#0 PD2: CLR CyMOV A, #XSUBB A,32HJNC PD3MOV P1.1,#0 PD3: CLR CyMOV A, #XSUBB A,33HJC JSMOV P1.1,#1 JS: SJMP $2、思路通过和500、550、650和700进行比较,确定在小于500时,开发加热器和大于700时,开风机。
在500——550到650——700的区间中间,需要与前一段时间采集到的信息进行比较才能确定如何对继电器发命令。
具体为:MOV 30H,#500MOV 31H.#550MOV 32H.#650MOV 33H,#700 PD0:CLR CyMOV A, #XSUBB A,30HJNC PD1 MOV P1.0,#1 PD1: CLR CyMOV A, #XSUBB A,31HJNC PD2CLR CyMOV A,#X SUBB A,@R0JNC PD2CPL P1.0 PD2: CLR CyMOV A, #XSUBB A,32HJNC PD3CLR CyMOV A,#X SUBB A,@R0JNC PD3CPL P1.1PD3: CLR CyMOV A, #XSUBB A,33HJC JSMOV P1.1,#1 JS: MOV @R0,#X SJMP $通过按照电路板画出原理图后,我觉得这个思路不是很好。
和同组的同学讨论过后,发现了同组的同学思路极其敏捷。
他通过用CJNE的语言,判断Cy的大小来进行判断温度,进而进行继电器工作,十分简便快速。
因此我们最后用了这个方法来进行编程序。
另外,还有一些需要解决的问题:◆采集数据后的算法。
设采集量为X(0~255),转换成AB.C(00.0~99.9)。
X×100÷256=AB.CX先乘100,高八位就相当于已经除了256,即AB部分;低八位再除10,获得C部分。
◆显示字形,继电器控制及继电器LED灯控制详请见程序。
需要注意的是AB.C中的B字码需要加个小数点,以及取反序的共阳码。
四、实验原理图见后附件1五、实验程序ORG 0000HLJMP MAINORG 0500HMAIN:MOV SP,#80HSETB P1.4LCALL DELAYMOV R7,#8;取8次值,存R7MOV R0,#0;和的低八位,存R0CLR CCLR AMOV R1,#0;和的高八位,存R1XIAODOU: LCALL ADMOV A,R0ADD A,R2;R2为采集值MOV R0,ACLR AADDC A,R1MOV R1,ADJNZ R7,XIAODOUMOV R6,#3;移位3次,意在除8,存R6 CHU8: CLR CMOV A,R1RRC AMOV R1,AMOV A,R0 RRC AMOV R0,ADJNZ R6,CHU8;除8后R0存平均值MOV A,R0MOV R3,ALCALL BCDLCALL DISPLAY;除8以后DISPLAY LCALL RELAYANDLEDSJMP MAINAD: MOV A,#00HMOV R2,A;数据初始化 SETB P3.3 ;CS置高 CLR P3.2 ;CLK清零 CLR P3.3 ;片选CS SETB P3.0;第一个脉冲下沉之前,DI必须置1,起始信号LCALL MC ;脉冲SETB P3.0;输入DI,设置信号为10,选择通道0单独工作LCALL MCCLR P3.0LCALL MCMOV 30H,#08H;读取8位数据ADDATA: MOV C,P3.1 ;接收MOV ACC.0,CRL ALCALL MCDJNZ 30H,ADDATA;8次之后结束数据接收 SETB P3.3 CLR P3.2 SETB P3.1MOV R2,ARETMC: SETB P3.2NOPNOPNOPCLR P3.2NOPNOPNOPRET;BCD转换成AB.CBCD: MOV A,R3MOV B,#100 MUL ABMOV 40H,A ;低八位40H MOV 41H,B ;高八位41H MOV A,41HMOV B,#10DIV ABMOV 50H,A ;A MOV 51H,B ;B MOV A,40HMOV B,#10MUL ABMOV A,BMOV 52H,A ;C;显示AB.CDISPLAY: SETB P1.5SETB P1.6SETB P1.7MOV A,50HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.5 ;显示A ;共阳极,低电平有效 LCALL DELAY SETB P1.5MOV A,51HMOV DPTR,#TABMOVC A,@A+DPTRORL A,#01HMOV P0,ACLR P1.6 ;显示B. LCALL DELAYSETB P1.6MOV A,52HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.7 ;显示C LCALL DELAYRET;继电器和LEDRELAYANDLED: CLR CMOV A,R2CJNE A,#128,JP ;50 JP: JNC JP1SETB P1.2CLR P1.0CLR P1.3SETB P1.1SJMP COMJP1: CJNE A,#141,JP10 ;55 JP10: JNC JP2CLR P1.3SETB P1.1SJMP COMJP2: CJNE A,#166,JP20 ;65 JP20: JNC JP3CLR P1.2SETB P1.0CLR P1.3SETB P1.1SJMP COMJP3: CJNE A,#179,JP30 ;70 JP30: JNC JP4CLR P1.2SETB P1.0SJMP COMJP4: CLR P1.2SETB P1.0SETB P1.3CLR P1.1COM: RETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H, 0FEH,0F6H ;共阳码反序DELAY: MOV R5,#02HDELAY0: MOV R4,#0FFHDELAY1: DJNZ R4,DELAY1DJNZ R5,DELAY0RETEND六、实验电路原理图仿真见后附件2七、调试过程遇到的问题以及解决办法根据原先所制的原理图,我们编写了程序,用proteus仿真,效果很理想(除了上限不能达到99.9,只到达99.2)。