单片机程序设计-温度测控实验报告
单片机实验-单片机水温控制实验
单片机水温控制实验姓名:徐晨学号:5130209390 班级:F1302014小组成员:王林涛赵路杰一、实验目的综合应用,全面掌握模拟量测量及闭环控制原理。
二、实验分工赵路杰、王林涛负责单片机的编程工作,小组成员共同完成单片机的调试工作。
三、实验设备清单、接线图、原理图1、实验器材:51单片机电路、A/D、D/A电路、温度测量电路。
2、51单片机电路3、温度测量电路4、继电器输出电路四、实验内容及过程1、用单片机控制水壶温度。
测量传感器用热电阻,通过编程,控制水温达到设定值。
要求最终的误差在±1℃ 以内。
2、数码管左边2位显示水温设定值(通过拨码盘设定),右边2位显示水温实测值。
(用十进制数表示)五、编程说明1、实验中水温的控制是通过开关量的输出实现的,即通过控制水壶电源的通断来实现水温的控制。
由实验板上的小继电器来驱动中间继电器,再通过中间继电器来驱动水壶加热电源。
2、为保证继电器的使用寿命,实验中必须考虑继电器的动作时间间隔,避免继电器快速频繁动作。
4、程序框图中断子程序:断点保护入栈读0809转换结转换成对应温度转换成十进制数启动AD转换出栈中断返回5、控制程序LED1 EQU 30HLED2 EQU 31HLED3 EQU 32HLED4 EQU 33HSETL EQU 34HSETH EQU 35HREALL EQU 36HREALH EQU 37HAIM EQU 38H ;目标温度REAL EQU 39H ;真实温度PROTECTION EQU 3AH ;保护现场,将A的值保护起来DIFFERENCE EQU 3BH ;目标温度与真实温度的差值ORG 0000HLJMP BEGINORG 0060HBEGIN:MAIN:MOV REAL,#28H ;对控制目标赋初值,40度CONTROL:LCALL READ_BCD; ;读取拨码盘温度LCALL GETT ; 读取实际温度CLR CY;MOV A,AIM;MOV R0,REAL;SUBB A,R0; 根据目标温度与实际温度的差值,选择相应的加热程序JC OVERHEATPRE;MOV DIFFERENCE,A;SUBB A,#15;JNC TEMP15;CLR CY;MOV A,DIFFERENCE;SUBB A,#5;JNC TEMP5;CLR CY;MOV A,DIFFERENCE;SUBB A,#3;JNC TEMP3;CLR CY;MOV A,DIFFERENCE;JNC TEMP1;LCALL DELAY1_10S;LJMP CONTROL;OVERHEATPRE:LJMP OVERHEAT;TEMP15: ;温差15度及以上加热程序MOV DPTR,#7FFCH ;启动继电器MOV A,#0FFHMOVX @DPTR,A;LCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1SCLR A;MOVX @DPTR,ALCALL DELAY1S ;加热5s等待1sLJMP CONTROL;TEMP5: ;温差5度及以上加热程序MOV DPTR,#7FFCHMOV A,#0FFHMOVX @DPTR,A;LCALL DELAY1SLCALL DELAY1SCLR A;MOVX @DPTR,ALCALL DELAY1SLCALL DELAY1SLCALL DELAY1S ;加热2秒等待3sLJMP CONTROL;TEMP3: ;温差3度及以上加热程序MOV DPTR,#7FFCHMOV A,#0FFHMOVX @DPTR,A;LCALL DELAY1SCLR A;MOVX @DPTR,ALCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1S ;加热1秒等待4秒LJMP CONTROL;TEMP1: ;温差1度及以上加热程序MOV DPTR,#7FFCHMOV A,#0FFHMOVX @DPTR,A;LCALL DELAY1_10SLCALL DELAY1_10SLCALL DELAY1_10SLCALL DELAY1_10SLCALL DELAY1_10SCLR A;MOVX @DPTR,ALCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1S ;加热0.5秒等待5秒LJMP CONTROL;OVERHEAT: ;温度过热等待程序MOV DPTR,#7FFCHMOV A,#00HMOVX @DPTR,ALCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1SLCALL DELAY1S ;冷却5秒,等待水温下降LJMP CONTROL;READ_BCD:SETB P1.7 ;选择BCD相关数码MOV DPTR,#0BFFFHMOVX A,@DPTRCPL AMOV R0,AANL A,#0FHMOV SETL,AMOV A,R0SWAP AANL A,#0FHMOV SETH,AMOV LED2,SETLMOV LED1,SETH ;设定温度的十位在SETH,个位在LEDH MOV B,#10MOV A,SETHMUL ABADD A,SETL ;MOV AIM,A ;设定温度值存在AIM中RETDELAY1_10S:MOV TMOD,#10H;设定定时器1位方式一MOV TH1,#3CHMOV TL1,#0B0H;SETB TR1L2: JBC TF1,L1SJMP L2 ;假定时钟频率为6MhzL1:CLR TR1RETDELAY1S:MOV R0,#10;MOV TMOD,#10H;设定定时器1位方式一MOV TH1,#3CHMOV TL1,#0B0H;SETB TR1L4: JBC TF1,L3SJMP L4L3:MOV TH1,#3CHMOV TL1,#0B0HDJNZ R0,L4CLR TR1RETDISPLAY: ;显示程序MOV A,LED1ANL A,#0FHMOV DPTR,#DSEG1MOVC A,@A+DPTRMOV DPTR,#7FFBHMOVX @DPTR,AMOV A,LED2ANL A,#0FHMOV DPTR,#DSEG1MOVC A,@A+DPTRMOV DPTR,#7FFAHMOVX @DPTR,AMOV A,REALHANL A,#0FHMOV DPTR,#DSEG1MOVC A,@A+DPTRMOV DPTR,#7FF9HMOVX @DPTR,AMOV A,REALLANL A,#0FHMOV DPTR,#DSEG1MOVC A,@A+DPTRMOV DPTR,#7FF8HMOVX @DPTR,ARETGETT: ;传感器温度获得程序MOV DPTR,#0DFFAH; 信号来源为IN2CLR A ;MOVX @DPTR,A; 开始进行数据转换JB P3.3,$MOV PROTECTION,AMOV DPTR,#0DFFAH; 读取AD转换后的温度MOVX A,@DPTRMOV B,#100;MUL AB ;MOV REAL,B; 真实温度值为BMOV A,B ;MOV B,#10;DIV AB ;MOV REALL,B ;MOV REALH,A;LCALL DISPLAYMOV A,PROTECTIONRETDSEG1:DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND六、实验结果与分析初始程序运行地并不顺利,之后通过仔细地调试,所有分模块的功能都可以实现,但是出于时间原因,最终的加热效果并没有得到验证。
温度控制器实验报告(1)1
单片机课程设计实验报告——温度控制器班级:学号:姓名:老师:合作者:一、实验要求和目的本课程设计的课题是温度控制器。
● ●用电压输入的变化来模拟温度的变化,对输入的模拟电压通过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存储器可有效地降低开发成本。
单片机温度控制器实验报告
南京邮电大学通达学院2010/2011学年第1学期课程设计实验报告课题名称基于CPU的8LED温度显示控制器的设计专业通信工程学生班级070018学号07001836姓名赵静静指导老师林建中实验日期2010 年11 月19 日题目:基于单片cpu的8led温度显示控制器的设计一,实验目的和要求1,Proteus软件的MCS51单片机仿真学习2,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电器原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取,原理图的电气连接,程序的编写编译以及运行,并能查出其错误等。
基本要求:用热敏电阻或温度传感器作温度探头,通过AD转换器变换,把温度数据转换成BCD码在LCD上显示。
显示精度±0。
5℃能记录和回放温度参数,记录间隔可任意设定(1S到1h,步长1s)回放数据速度可设定画出温度变化曲线。
发挥部分:1 显示精度提高到±0。
1℃2 显示精度提高到±0。
01℃3 与实际温度计温度比较,找出温度显示误差曲线,在报告中描出,并分析误差来源4 实现温度自动补赏二,实验仪器微型计算机一台三,实验原理温度测量通常可以用两种方式来实现,一种是用热敏电阻之类的器件,由于感温效应,热敏电阻的阻值能够随温度变化,当热敏电阻接入电路,测量过它的电流或其两端的电压就会随温度变化发生响应的变化,在将温度变化的电压或电流采集过来,进行A/D 转化后,发送到单片机进行处理,通过显示电路,就可以将被测温度显示出来。
这种设计需要用到A/D转换电路,其测温电路比较麻烦。
第二种方法是用温度传感器芯片。
温度传感器芯片能把温度信号转换成数字信号,直接发送给单片机,转换后通过显示电路既可以显示。
四,基本芯片及其原理单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O 接口等部件,构成一个完整的微型计算机。
《单片机实习报告温控系统
学院单片机课程设计报告书题目:温度控制系统设计院系名称:学院学生姓名:)专业名称:自动化班级:自动时间:2011年6月7日至6月17 日温度控制系统设计一、设计目的在现代化的工业生产中电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
温度作为一个基本物理量,它是一个与人们的生活环境、生产活动密切相关的重要物理量。
在现代化的工业生产过程中温度作为一种常用的主要被控参数,在很多生产过程中我们需要对温度参数进行检测。
例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测。
采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
本次设计我们采用MCS-52系列单片机与各种外围电路构成单片机温度自动检测和控制系统,通过检测和控制一个温箱模型,实现对温度的实时检测和控制。
通过本次设计掌握对温度检测控制系统的硬件设计方法和软件编写方法。
熟悉了Protues软件和Kiel软件的使用方法。
通过课题的研究进一步巩固所学的知识,同时学习课程以外的相关知识,培养综合应用知识的能力。
锻炼动手能力与实际工作能力,将所学的理论与实践结合起来。
二、设计要求本温度控制系统是一个闭环反馈控制系统,它用温箱中的温度传感器将检测到的温度信号经放大,A/D转换后送入单片机中进行数据处理并显示当前温度值,用当前温度值与设定温度值进行比较。
根据比较的结果得到控制信号用以控制控制箱中继电器的通断,实现对温箱中加热器的控制。
通过这种控制方式实现对保温箱的温度控制。
本课题设计的要求主要包括硬件设计和软件设计两部分。
系统功能由硬件和软件两大部分协调完成,硬件部分主要完成主机电路、数据采集电路、控制执行等电路的设计。
基于51单片机的水温测控系统实验报告
摘要本次实验是软硬件相结合的实验,通过传感器得到的阻值与其它电阻,可以搭建一个电桥,将水温转化为电压,然后通过放大器将电压放大到所需要的值,将所得的电压送入单片机的AD转换电路,将模拟信号转换成数字信号,从而在单片机的液晶屏上显示当前的温度。
此烧水壶是可控制的,即设定温度,使水加热到设定温度且保温,此控制算法采用PID控制算法来控制继电器的通断,来保证水温恒定在设定温度处。
一、设计要求1.传感器:Pt100铂热电阻2.测量放大器:自己设计与搭建3.被控对象:400W电热杯,约0.5公斤自来水4.执行机构:12V驱动,5A负载能力的继电器5.控制系统:51单片机6.控制算法:PID7.温度范围:环境温度~100度8.测量误差1度,控制误差2度二、设计原理及方案1.热电阻传感器热电阻传感器是利用导体或半导体的电阻值随温度变化而变化的原进行测温的。
热电阻的工作原理:温度升高,金属内部原子晶格的振动加剧,从而使金属内部的自由电子通过金属导体时的阻碍增大,宏观上表现出电阻率变大,电阻值增加,我们称其为正温度系数,即电阻值与温度的变化趋势相同。
2.实验原理框图3.测量放大器电路图说明:电位器R10用来调节偏置电压,而电位器R7则用来调节增益。
实验时,用R10来调节零点,用R7来调节满度。
该电路将0℃-100℃转换为0-5V 电压。
上述电路图采用仪表放大器,将铂热电阻两端的电压U2与电位器R10两端的电压U1差放大,放大器输出电压U0与电压差的关系为:)-)(2(1127248U U R RR R U o ⨯+=由铂热电阻阻值与水温的关系可知,铂热电阻的范围是ΩΩ140~100。
则100)10012(12-140)140(1212)-(100)10012(12-100)10012(1212⨯+⨯+≤≤⨯+⨯+K K U U K K 整理得:V U U 04.0)-(012≤≤而仪表放大器的输出电压为0~5V ,所以放大倍数大约为:5/0.04=125。
基于单片机的温度测控系统的设计
基于单片机的温度测控系统的设计在现代的工业领域和生活中,温度测控系统被广泛应用,以监测和控制温度。
本文将介绍一个基于单片机的温度测控系统设计。
1.系统概述该系统的设计目标是能够测量和监控环境中的温度,并能自动调节温度以保持设定的温度。
该系统由传感器模块、数据处理模块和执行器模块组成。
2.传感器模块传感器模块用于测量环境中的温度。
在该系统中,我们可以使用温度传感器来实现温度测量。
常见的温度传感器有热电偶、热电阻等。
传感器模块将温度数据传输给数据处理模块。
3.数据处理模块数据处理模块基于单片机来实现。
单片机通过接收传感器模块传输的温度数据,进行数据处理和判断,并决定是否需要调节温度。
数据处理模块还可以设置一个温度阈值,当环境温度超过或低于该阈值时,触发执行器模块进行温度调节。
4.执行器模块执行器模块是用来调节环境温度的关键。
在该系统中,我们可以使用电热器或制冷器来调节温度。
执行器模块会根据数据处理模块的控制信号来决定是否打开或关闭电热器或制冷器,以达到设定的温度。
5.界面设计为了方便用户的操作和监控,我们可以设计一个用户界面模块。
用户界面模块可以通过LCD显示屏展示当前环境温度和设定的温度,并提供一些按键用于设置温度阈值。
用户可以通过按键来设置温度阈值,同时可以看到当前温度和设定的温度。
6.系统工作流程系统的工作流程如下:-传感器模块测量环境温度,并将温度数据传输给数据处理模块。
-数据处理模块接收温度数据,并进行处理和判断。
-如果环境温度超过或低于设定的温度阈值,数据处理模块触发执行器模块进行温度调节。
-执行器模块根据数据处理模块的控制信号,打开或关闭电热器或制冷器,以调节环境温度。
-用户可以通过用户界面模块设置温度阈值,同时可以实时监控当前温度和设定的温度。
7.系统优化为了进一步优化系统的性能,我们可以考虑以下几个方面:-引入PID控制算法,以提高温度的稳定性和控制精确度。
-添加温度报警功能,当环境温度超过一定范围时,触发警报。
单片机原理与应用实验报告——温度测量显示及设定
《单片机原理与应用》课程实验报告院系:班级:学生:学号:指导教师:设计时间:哈尔滨工业大学1 实验的目的、内容和设备1.1 实验的目的单片机综合实验的目的是训练单片机应用系统的编程及调试能力,通过对一个单片机应用系统进行系统的编程和调试,掌握单片机应用系统开发环境和仿真调试工具及仪器仪表的实用,掌握单片机应用程序代码的编写和编译,掌握利用单片机硬件仿真调试工具进行单片机程序的跟踪调试和排错方法,掌握示波器和万用表等杆塔工具在单片机系统调试中应用。
1.2 实验内容实验的内容是利用APP001开发板实现一个温度测量显示和控制的单片机应用系统,利用APP001开发板上的温度传感器测量温度,通过键盘输入一个稳定设定值,当测量温度高于设定温度时发出声音报警,开启散热风扇开关,并在LCD上显示实时温度值,设定温度值和散热风扇的开关状态,其中日期和时间利用单片机的定时器来产生,并能通过键盘来设定。
通过该实验学习和掌握以下的内容:1)MPLAB开发环境的使用,程序编写和排错及软件仿真2)利用MPLAB和ICD2对程序进行在线仿真和调试3)使用万用表和示波器等仪器对硬件系统进行测量和调试4)PIC18F452单片机的I/O和PWM驱动及编程方法5)PIC18F452单片机LCD和键盘接口及编程方法6)PIC18F452单片机的USART编程及与PC机的通讯方法7)利用Timer1外接32.768kHz的晶振产生RTC1.3 实验设备1)运行MPLAB的PC机2)示波器、万用表3)直流电源4)ICD2仿真器5)APP001多功能实验板2 总体设计2.1 硬件总体设计系统组成方案图1系统框图2.2 软件总体设计图2主程序框图图3 中断程序框图3 硬件设计1)散热风扇开发输出控制:实验中我们利用一个LED来模拟风扇状态,当散热风扇开关打开时,LED被点亮发光,当散热风扇关闭时,LED不发光。
开发板上的指示灯D11由RB2,低电平亮,高电平灭。
单片机温度计实训报告
一、引言随着科技的不断发展,单片机在各个领域得到了广泛的应用。
单片机作为一种微型计算机,具有体积小、成本低、功能强等特点,在智能仪表、自动化控制等领域具有重要作用。
本实训报告主要介绍了单片机温度计的设计与实现过程,通过实训,加深了对单片机原理、接口技术以及编程方法的理解。
二、实训目的1. 熟悉单片机的硬件结构和接口技术;2. 掌握单片机编程方法,提高编程能力;3. 学会使用传感器进行温度测量;4. 培养动手能力和团队协作能力。
三、实训原理本实训采用AT89C51单片机作为主控制器,利用DS18B20数字温度传感器进行温度测量,并通过LCD显示屏显示温度值。
1. DS18B20数字温度传感器:DS18B20是一款高精度、高稳定性的数字温度传感器,具有单总线接口,方便与单片机进行通信。
2. AT89C51单片机:AT89C51是一款经典的51系列单片机,具有丰富的片上资源,适合于各种嵌入式应用。
3. LCD显示屏:LCD显示屏用于显示温度值,方便用户查看。
四、实训步骤1. 硬件电路设计根据设计要求,设计如下硬件电路:(1)单片机最小系统:包括AT89C51单片机、晶振、复位电路、电源电路等。
(2)DS18B20传感器电路:将DS18B20传感器与单片机相连,实现温度数据的采集。
(3)LCD显示屏电路:将LCD显示屏与单片机相连,用于显示温度值。
2. 软件编程(1)初始化单片机:设置单片机的时钟、IO口等。
(2)初始化DS18B20传感器:设置DS18B20传感器的分辨率、工作模式等。
(3)读取温度数据:通过DS18B20传感器读取温度数据。
(4)显示温度值:将读取到的温度值显示在LCD显示屏上。
3. 系统调试将设计好的硬件电路和软件程序进行调试,确保系统能够正常运行。
五、实训结果与分析1. 实训结果通过实训,成功实现了单片机温度计的设计与实现,系统能够实时采集温度数据,并通过LCD显示屏显示温度值。
单片机温度传感器设计报告
单片机温度传感器设计报告一、设计目的本设计旨在利用单片机和温度传感器构建一个温度测量系统,实时监测周围环境的温度,并通过显示屏显示出来。
通过这个设计,可以使用户及时了解到室内环境的温度情况,为用户提供一个舒适的居住环境。
二、设计原理1.硬件部分温度传感器:采用数字温度传感器DS18B20,具有高精度、线性度高、抗干扰性好等优点,可以提高温度测量的准确性。
单片机:采用STC89C52单片机,具有丰富的外设资源和强大的计算能力,可以实现温度数据的采集、处理和显示功能。
电源:采用稳压电源,保证系统的稳定性和可靠性。
2.软件部分主程序:通过单片机的AD转换模块,将温度传感器的模拟信号转换为数字信号,然后进行温度计算和数据处理,最后将结果显示在液晶显示屏上。
温度转换算法:根据温度传感器的数据手册,利用公式将采集到的数字信号转换为实际温度值。
实时显示功能:通过控制单片机的定时器和中断,实现对温度数据的实时采集和显示。
三、设计步骤1.硬件连接将温度传感器的VCC接到单片机的5V电源引脚,GND接到单片机的地引脚,DQ接到单片机的P1口。
将液晶显示屏的VCC接到单片机的5V电源引脚,GND接到单片机的地引脚,RS、RW、E分别接到单片机的P2.0、P2.1、P2.2口,D0-D7接到单片机的P0口。
将单片机的P3口接到稳压电源的输出端,作为单片机的电源。
2.软件编程使用Keil C51软件进行编程,编写主程序和温度转换算法。
通过对单片机的中断和定时器的配置,实现对温度数据的实时采集和显示。
通过对液晶显示屏的控制,将温度数值显示在屏幕上。
同时,可以设置温度报警功能,当温度超过设定的范围时,通过蜂鸣器发出警告声。
四、实验结果经过上述设计和调试,实验结果显示良好。
温度传感器能够准确地采集到周围环境的温度值,并通过液晶显示屏实时显示出来。
当温度超过设定范围时,蜂鸣器发出警告声,提醒用户采取相应的措施。
整个系统工作稳定、准确性高、实用性强。
单片机温度控制实习报告
单片机温度控制实习报告一、实习目的1. 学习并掌握单片机的基本原理和应用,了解单片机在温度控制方面的应用。
2. 学习电路原理图设计,焊接和装配,提高电子线路的基本焊接装配工艺、规范及注意事项。
3. 学习并掌握温度传感器的原理和应用,了解其与单片机的接口电路设计。
4. 学习并掌握单片机编程,实现温度数据的采集、处理和显示。
5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。
二、实习内容和过程1. 实习的第一步是学习并理解单片机的基本原理和温度控制原理。
通过查阅资料,了解单片机的内部结构、工作原理以及温度控制的基本方法。
2. 实习的第二步是设计电路原理图。
根据实习要求,设计出单片机、温度传感器、显示器等元件的连接电路。
在此过程中,要充分考虑电路的稳定性、可靠性和可扩展性。
3. 实习的第三步是进行焊接和装配。
按照电路原理图,将各个元件焊接在电路板上。
在焊接过程中,要注意焊接姿势、焊接温度和焊接时间,确保焊接质量。
4. 实习的第四步是编写单片机程序。
根据温度控制要求,编写单片机程序,实现温度数据的采集、处理和显示。
在此过程中,要充分考虑程序的稳定性、可靠性和可维护性。
5. 实习的最后一步是进行系统测试。
通过实际操作,测试系统的工作性能,检查是否达到预期效果。
如发现问题,进行分析、调试,直至解决问题。
三、实习收获和体会1. 通过本次实习,我对单片机的基本原理和应用有了更深入的了解,掌握了单片机在温度控制方面的应用。
2. 我学会了电路原理图设计,提高了电子线路的基本焊接装配工艺、规范及注意事项。
3. 我掌握了温度传感器的原理和应用,了解了其与单片机的接口电路设计。
4. 我学会了单片机编程,实现了温度数据的采集、处理和显示。
5. 本次实习锻炼了我的动手能力,培养了解决实际问题的能力,提高了我的综合素质。
四、实习总结通过本次单片机温度控制实习,我对单片机技术和温度控制技术有了更深入的了解。
在实习过程中,我不仅学到了专业知识,还锻炼了自己的动手能力和解决问题的能力。
温度检测系统设计--单片机课程设计报告
电气工程学院单片机课程设计报告班级:姓名:学号:设计题目:温度检测系统设计设计时间:评定成绩:评定教师:摘要以51单片机为核心,设计一个温度检测系统。
该系统基于8051核心的单片机AT89S51,通过串行AD转换芯片PCF8591将基于NTC热敏电阻的测温电路输出的模拟信号转换成数字信号,并根据电路特性曲线计算出目标温度值,还具有通过lcd1602液晶显示目标温度和超过设定阈值报警功能。
该系统面向普通的要求不高的测温场景,并尽可能提高测量精度、减小测量误差。
Proteus仿真、keil与proteus联调是此次设计该系统的主要手段,即过程中,通过软件对系统各个模块功能的调试。
该系统的核心有以下几个部分:lcd控制、i²c通信协议,以及NTC热敏电阻特性曲线和补偿算法。
由于该系统功能简单,元器件数量较少,最终可以在单片机学习板上实现。
由于仿真和实际学习板的条件不同,使用软件仿真是时采用AT89S51单片机,实际调试时使用STC89C52RC单片机,其功能完全兼容AT89S52单片机。
关键词:温度检测、51单片机、i²c通讯、NTC热敏电阻、仿真目录一、设计要求 (2)1.1 设计要求分析 (2)二、方案设计和选定 (3)2.1文献综述 (3)2.1.1 单片机模块 (3)2.1.2 AD转换模块 (3)2.1.3 显示模块 (4)2.1.4 报警模块 (4)2.1.5 测温模块 (5)2.1.6 输入模块 (5)2.2 最终方案选定 (5)2.3硬件成本计算 (6)三、硬件设计(基于proteus) (8)3.1 仿真原理图设计 (8)3.2 仿真器件选择及参数设定 (11)四、程序设计 (12)4.1程序流程图 (12)4.2 LCD显示程序 (13)4.3 PCF 8591控制程序 (16)4.3 测温电路算法设计 (16)4.5 报警模块和按键模块程序设计 (26)五、调试过程 (29)5.1 软硬件调试 (29)5.2 运行效果展示 (30)六、设计总结.......................................................................................... 错误!未定义书签。
单片机智能仪器设计温度测量显示报告
辽宁科技学院智能仪器设计基础课程设计----温度测量显示报警院系:专业:班级:姓名:学号:时间:指导老师:1.设计要求:热电阻温度设计:①温度传感器铂PT100②显示温度数值,精度0.1℃③温度超限报警2.方案设计:方案说明:本设计的采用STC89C52为核心,DA0804数据采集。
将外部的模拟信号经过A/D(ADC0804)转换后送给单片机STC89C52进行处理。
处理后将显示数据传送给数码管显示。
在到达设定的报警温度时进行报警。
温度测量显示报警是通过铂电阻的阻值随温度的变化而变化,将阻值的变化通过电桥电路转化成电压变化,用运放把电压放大到AD可以接受的范围,AD将电压信号转换成数字信号传输到单片机,经过单片机处理,将温度数值显示到七段数码管上。
当温度大于80℃时蜂鸣器进行报警提示。
3.硬件设计:3.1单片机及其最小应用系统STC89C52是一个高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
各引脚的功能如下:Vss(20):接地。
Vcc(0):接+5V电源。
XTAL1(19)和XTAL2(18):在使用单片机内部振荡电路时,这两个端子用来外接石英晶体和微调电容。
如图3.1所示,本硬件图使用11.0592MHz石英晶振。
(9): RST是复位信号输入端。
当此输入端保持两个机器周期(24RST/VPD个振荡周期)的高电平时,就可以完成复位操作。
ALE/PROG(30):ALE是地址锁存允许信号,在访问外部存储器时,用来锁存由P0口送出的低8位地址信号。
在不访问外部存储器时,ALE以振荡频率1/6的固定速率输出脉冲信号。
因此它可用作对外部输出脉冲信号。
因此它可用作对外输出的时钟。
但要注意,只要外接有存储器,ALE端输出的就不再是连续的周期脉冲信号。
PSEN(29):它是外部程序存储器ROM的读选通信号。
在执行访问外部ROM 指令时,会自动产生PSEN信号;而在访问外部数据存储器RAM或访问内部ROM 时,不产生PSEN信号。
单片机温控风扇实训报告
一、实训目的本次实训旨在通过实践操作,掌握单片机在温控风扇中的应用技术。
通过学习单片机的编程、硬件连接和调试方法,实现温控风扇的自动控制,达到调节环境温度的目的。
二、实训原理1. 硬件组成:本实训所使用的硬件主要包括STC89C52单片机、DS18B20温度传感器、直流电机、按键、LED显示模块等。
2. 软件组成:软件采用C语言编写,主要实现以下功能:- 温度检测:通过DS18B20温度传感器实时检测环境温度。
- 温度显示:通过LED显示模块实时显示当前环境温度。
- 风扇控制:根据设定的温度阈值,自动控制风扇的转速和启停。
- 按键控制:通过按键手动设置温度阈值和调整风扇档位。
三、实训步骤1. 硬件连接:- 将DS18B20温度传感器连接到单片机的P1.0引脚。
- 将直流电机连接到单片机的P2.0引脚,并添加相应的驱动电路。
- 将按键连接到单片机的P3.0引脚。
- 将LED显示模块连接到单片机的P0口。
2. 程序编写:- 使用C语言编写程序,实现以下功能:- 初始化DS18B20温度传感器和LED显示模块。
- 实时读取DS18B20温度传感器的温度值。
- 将温度值显示在LED显示模块上。
- 根据设定的温度阈值,控制风扇的转速和启停。
- 通过按键手动设置温度阈值和调整风扇档位。
3. 程序调试:- 将编写好的程序烧录到单片机中。
- 使用调试工具对程序进行调试,确保程序运行正常。
四、实训结果1. 温度检测:通过DS18B20温度传感器,可以实时检测环境温度,并显示在LED显示模块上。
2. 温度显示:LED显示模块可以清晰地显示当前环境温度。
3. 风扇控制:根据设定的温度阈值,风扇可以自动调整转速和启停,实现温控功能。
4. 按键控制:通过按键可以手动设置温度阈值和调整风扇档位。
五、实训总结1. 通过本次实训,掌握了单片机在温控风扇中的应用技术,学会了如何使用单片机编程、硬件连接和调试。
2. 熟练掌握了DS18B20温度传感器、直流电机、按键和LED显示模块的使用方法。
单片机课程设计报告:温度计测试
1课程设计课程名称 单片机原理与接口技术课程设计题目名称 温度计测试学 院 物理与光电工程学院 专业班级 13电子科学与技术2班 学 号姓 名联系方式 任课教师2015年12月28号目录一 1、引言2、设计目的1.设计任务和要求 (1)2.方案设计与论证…………………………………………………… 2.1各方案的优点……………………………………………2.2各方案的缺点……………………………………………2.3对比选择…………………………………………………二系统设计原理1. 主控制器……………………………………2. 显示电路……………………………………3. 温度传感器的简介与工作原理……………………………………4、74HC573 引脚与工作原理……………………………………三总原理图……………………………………四、主程序设计五.电路安装调试及结果六.元件清单图七.个人总结与体会附录:1、PCB2、实物图3、参考文献4、程序代码1一、引言在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
传统的测温元件有热电偶和二电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
温度控制系统广泛应用于社会生活的各个领域 ,如家电、汽车、材料、电力电子等 ,常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。
控制领域还大量采用传统的PID控制方式,但PID 控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
c51单片机实验温度采集控制报告
(一)试验要求
1、在数码管的第一、二个显示当前环境温度,第三、六个数码管熄灭,第四、五个数码管显示设定温度,第七、八个数码管显示电机转速;设定温度初值25,利用“+”“-”两个按键可以加减该温度数值,范围在16~30之间,按键按下蜂鸣器响0.2s。
2、根据设定温度和实际环境温度的温差驱动直流电机。设定温度等于环境温度,直流电机停转;设定温度和环境温度温差的绝对值越大,直流电机转速越快(要求最大转速控制在100以内)。
八、对本实验过程及方法、手段的改进建议
九、附录
温度采集控制实验程序
/*
main.c
LM75A数字温度计
*/
#include "I2C.h"
#include <reg51.h>
#include <string.h>
#include <absacc.h>
#include <CTYPE.H>
//定义显示缓冲区(由定时中断程序自动扫描)
3、I2C工作原理
1)I2C总线概述
I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需
的包括总线裁决和高低速器件同步功能的高性能串行总线。
2)I2C信号线
I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。
单片机温度检测记录系统实验报告1
指导教师:年月日单片机温度检测记录系统2012 年 7 月 17 日温度参数检测在测控系统、工业控制等场合中占有重要的地位,设计一个具有温度实时显示和动态记录功能的温度检测记录系统就显得非常必要。
本文提出了以STC89C52单片机为核心的温度检测与记录系统的设计方法,在这种方法中采用了新型可编程温度传感器DS18B20进行温度检测,这种传感器具有很多的特点,抗干扰能力强、温度采集精度高、稳定性好、电路简单、控制方便等等;时钟显示模块采用了DS1302,它能提供包括秒、分、时、日期、月份、年份信息,可以选择12小时制和24小时制;创造性的采用了24C02与串口的方法来有效得存储数据;LCD液晶显示器用来显示时间温度的数据。
这篇文章还给出了系统总体框架、程序流程图和Altium Designer 6原理图,并在硬件平台上实现了所设计功能。
关键词:STC89C52单片机;温度传感器;时钟显示1. 设计任务 (1)1.1 任务描述 (1)1.1.1 小任务 (1)1.2 技术指标 (1)1.3 难点分析 (1)2. 方案比较与论证 (2)2.1 方案选择 (2)2.2 方案论证 (3)2.3 小结 (4)3. 系统硬件设计 (5)3.1 总体设计 (5)3.2 硬件模块电路分析 (6)3.3 发挥部分设计 (13)3.4 电路原理图 (13)3.5 小结 (13)4. 系统仿真与软件设计 (14)4.1 仿真设计与分析 (14)4.2 软件设计 (15)5. 系统调试与组装 (18)5.1 PCB板 (18)5.2 样机调试 (18)5.3 样机功能 (18)5.4 发挥部分测试结果 (19)5.5 小结 (19)6. 结论 (20)参考文献 (21)附录一 (22)附录二 (25)1. 设计任务1.1 任务描述设计制作一台可检测和记录温度的系统。
1.1.1 小任务温度检测系统可以根据外界的情况在相应的间隔时间显示出对应的温度值。
单片机_温度控制_课设报告
单片机温度控制系统摘要:该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了水温自动控制系统的设计,该系统的温度给定值可由人工通过键盘进行设定,测量温度经过A/D转换由数码管显示,通过PID控制算法对温度进行调节,使温度输出值在给定值上下波动,控制该系统的静态误差为1℃,用LED灯模拟加热强度,并用串口将输出的水温随时间的变化数值发到PC机上。
关键字:飞思卡尔单片机水温控制MC9S12DG1281、设计题目与设计任务σ≤;3.温度误要求:1温度连续可调范围是30-150摄氏度;2 超调量20%<±;4尝试使用能预估大滞后的方法,如史密斯预估,或大林算法;也可差0.5用PID及改进算法。
内容:1.根据题目的技术要求,画出系统组成的原理框图;2. 给出系统硬件电路图;3.确定温度控制方案;4. 给出控制方法及控制程序;5.整理设计数据资料,课程设计总结,撰写设计计算说明书。
2、前言:随着电子技术和计算机的迅速发展,计算机测量控制技术拥有操作简单、控制灵活、使用便捷以及性价比较高的优点,从而得到了广泛的应用。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可以实现对数字信息的处理和控制,因此,单片机广泛应用于现代工业控制中。
利用单片机对温度测量控制会大大提高系统的可靠性和准确性。
该设计实验是在实验室完成,实验任务是设计制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。
水温由人工通过4*4的键盘设定,并能在环境温度改变时实现对水温的自动控制,采用PWM技术控制电阻丝的加热,加热强度由8个LED小灯模拟,以保持设定的温度基本不变,测量温度经过A/D 转换在4位数码管上显示(保留一位小数),并将温度每秒钟向计算机发送一次。
一、系统设计的功能该系统的闭环控制系统框图如图1.1所示。
图1.1 水温控制系统结构框图单片机对温度的测量控制是基于传感器、A/D转换器以及扩展接口和执行机构来进行的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子电路设计实验报告——温度测控实验班级:信息76学号:07052148姓名:黄翔一、实验要求:1.温度范围:环境温度~100℃2.误差:测度误差1℃,控制误差2℃系统实现:100铂热电阻;1.传感器:Pt2.测量放大器:自设电路;3.被控对象:400W电热杯,约0.5公斤自来水;4.执行机构:12V驱动,5A负载能力的继电器;5.控制系统:51单片机;6.控制算法:PID算法;二、实验原理图:R2为热敏电阻,与杯具相连三、流程图:程序代码:KP EQU 18HKI EQU 19HKD EQU 1AHORG 0000HLJMP C_STARTORG 0003HORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 0030HC_START:MOV SP,#60HMOV KP,#15HMOV KI,#03HMOV KD,#08HMOV 33H,#0FFHMOV 32H,#00HMOV 35H,#0AEHMOV 23H,#08HMOV 20H,#00HMOV TMOD,#11H ;定时器0,1工作在定时方式1 MOV TL0,#00H ;定时器0作2秒定时(一次中断5ms)MOV TH0,#4CHMOV 51H,#28HMOV TL1,#00HMOV TH1,#4CHSETB EA ;总中断开放SETB ET0SETB TR0SETB PT1 ;定时器1高优先级 ;定时器初始化,LCALL INIMOV 48H,#0EHMOV 49H,#0DHMOV 47H,#0AHMOV 4AH,#07HMOV 4BH,#00HMOV 4CH,#0AHMOV 4DH,#0AHMOV 4EH,#0AHMOV 4FH,#0AHLCALL ADLCALL CHANGELCALL DPLAYSSS: LCALL KINPUTLCALL INPUTAJMP SSSINPUT: CLR EACLR P1.0CLR CMOV A,#09HSUBB A,5AHJC FEIFASSS4: MOV 4EH,5AH LCALL DPLAYSSS1: LCALL KINPUT JZ SSS1MOV A,5AHCJNE A,#0FH,SSS2MOV 4AH,#00HMOV 4BH,4EHMOV 4FH,#0AHMOV 4EH,#0AHLCALL DPLAYLCALL SHURULJMP FEIFASSS2: MOV A,5AHCLR CSUBB A,#0AHJNC SSS1MOV 4FH,5AHLCALL DPLAYSSS3: LCALL KINPUT JZ SSS3CLR CMOV A,5AHSUBB A,#0AHJC SSS4MOV A,5AHCJNE A,#0FH,SSS3MOV 4AH,4EHMOV 4BH,4FHMOV 4EH,#0AHMOV 4FH,#0AHLCALL DPLAYLCALL SHURU FEIFA: SETB EARETSHURU: MOV A,4AHMOV B,#0AHMUL ABADD A,4BHMOV B,#0AHMUL ABMOV 2AH,AMOV 2BH,BMOV A,BRRC AMOV 2BH,AMOV A,2AHRRC AMOV 2AH,AMOV A,2BHRRC AMOV A,2AHRRC AMOV 35H,ARETPID: LCALL ADLCALL ADCLR CMOV A,R6RRC AMOV R6,AMOV A,R7RRC AMOV R7,AMOV A,R6RRC AMOV A,R7RRC AMOV 30H,A ;30H, 当前温度CLR CMOV A,35H ;35H,设定温度SUBB A,30HJC HIGHERMOV 31H,A ;31H,当前差值ADD A,32H ;32H,积分值MOV 32H,AMOV A,33H ;33H,上次差值CLR CSUBB A,31HRR AMOV 34H,A ;34H,微分项MOV 33H,31HSETB RS1MOV A,KPMOV B,31HMUL ABMOV R1,B ;MOV R0,AMOV A,KIMOV B,32HMUL ABMOV R3,BMOV R2,AMOV A,KDMOV B,34HMUL ABMOV R5,BMOV R4,ACLR CMOV A,R0ADD A,R2MOV R6,AMOV A,R1ADDC A,R3MOV R7,ACLR CMOV A,R6SUBB A,R4MOV R6,AMOV A,R7SUBB A,R5MOV R7,AMOV 36H,R6 ;UK_LMOV 37H,R7 ;UK_HCLR RS1SETB 20H.0RETHIGHER: CLR 20H.0RETUK: JC ZEROMOV A,37HCJNE A,#00H,HUAFEN CLR CMOV A,36HSUBB A,#0C8HJC NINEMOV 52H,#30HRETNINE: CLR CMOV A,36HSUBB A,#0B4HJC EIGHTMOV 52H,#24HRETEIGHT: CLR CMOV A,36HSUBB A,#0A0HJC SEVENMOV 52H,#20HRETSEVEN: CLR CMOV A,36HSUBB A,#8CHJC SIXMOV 52H,#1CHRETSIX: CLR CMOV A,36HSUBB A,#78HJC FIVEMOV 52H,#18HRETFIVE: CLR CMOV A,36HSUBB A,#64HJC FOURMOV 52H,#14HRETFOUR: CLR CMOV A,36HSUBB A,#50HJC THREEMOV 52H,#10HRETTHREE: CLR CMOV A,36HSUBB A,#3CHJC TWOMOV 52H,#0CHRETTWO: CLR CMOV A,36HSUBB A,#28HJC ONEMOV 52H,#08HRETONE: CLR CMOV A,36HSUBB A,#14HJC ZEROMOV 52H,#04HRETZERO: MOV 52H,#00HRETHUAFEN: MOV 52H,#30HRETINTT0: PUSH ACCPUSH PSWCLR ET0CLR TR0DJNZ 51H,DS2MWEI;FEI O ZHUANYI;读da,根据pid数据计算继电器通断时间,即定时器1的初始数据计算MOV 51H,#28HDJNZ 23H,CPIMOV 23H,#08HMOV 32H,#00HCPI: LCALL ADLCALL CHANGELCALL DPLAYLCALL PIDJNB 20H.0,QWELCALL UKMOV A,52HJZ QWESETB P1.0MOV TL1,#00H ;MOV TH1,#4CHSETB ET1SETB TR1AJMP DS2MWEIQWE: CLR P1.0DS2MWEI:MOV TL0,#00H ;定时器0作2秒定时(一次中断5ms)MOV TH0,#4CHSETB ET0SETB TR0POP PSWPOP ACCRETIINTT1: PUSH ACCPUSH PSWCLR ET1CLR TR1DJNZ 52H,DAOCLR P1.0POP PSWPOP ACCRETIDAO: MOV TL1,#00H ;MOV TH0,#4CHSETB ET1SETB TR1POP PSWPOP ACCRETIAD: MOV R6,#00HMOV R7,#00HSETB P1.4LCALL DELAYCLR P1.4lCALL DELAYMOV R0,#0AHRR0: SETB P1.2NOPCLR P1.2DJNZ R0,RR0lCALL DELAYMOV 50H,R6MOV R6,50HSETB P1.2NOPCLR P1.2MOV 50H,R6LCALL CIRMOV R6,50HMOV R0,#08HRR1: SETB P1.2NOPCLR P1.2MOV 50H,R7LCALL CIRMOV R7,50HDJNZ R0,RR1RETCIR: CLR CMOV C,P1.3MOV A,50HRLC AMOV 50H,ARET;;检查忙标志BF: MOV DPTR,#0AF01HMOVX A,@DPTRJB ACC.7,BFRET;写数据到指令寄存器;;R1暂存指令码WI: MOV DPTR,#0AF00HMOV A,R1MOVX @DPTR,ARET;;写数据到数据寄存器;;R2暂存字符码或字符字模数据WD: MOV DPTR,#0AF02HMOV A,R2MOVX @DPTR,ARET;;指令初始化模块INI: MOV R1,#38H ;;功能设置:8位数据 1/16DUTY 5X8字体LCALL BFMOV R1,#01H ;;清显示LCALL BFLCALL WIMOV R1,#06H ;;输入方式设置 AC自动加1 LCALL BFLCALL WIMOV R1,#0CH ;;开显示LCALL BFLCALL WIRET;;写显示字符的字符码到DDRAMWDD: MOV R5,#10H ;共显示16个字符LOOP2: MOV R1,#80HLCALL BFLCALL WIMOV R0,#40HMOV R5,#10HLOOP3: MOV DPTR,#3000HMOV A,@R0MOVC A,@A+DPTRMOV R2,ALCALL BFLCALL WDINC R0DJNZ R5,LOOP3RET;;显示主程序DPLAY: LCALL WDDMOV 5FH,#0FFHLOOP0: MOV 5EH,#0FFHDJNZ 5EH,$DJNZ 5FH,LOOP0RET;;显示字符的字符码表ORG 3000HDB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,20H,2EH,74H,3DH,54H;;自定义字符;;字模数据组ORG 2000HDB 42H,55H,53H,59H,21H,4FH,4BH,20HDB 54H,3DH,30H,2EH,20H,31H,73H,20HDB 57H,61H,69H,74H,65H,20H,20H,20HDB 52H,69H,67H,68H,74H,20H,20H,20HCHANGE: CLR C ;二进制与十进制的转换(2字节二进制变为五位bcd)CLR AMOV R3,AMOV R4,AMOV R5,AMOV R2,#10HLOP: MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,ADJNZ R2,LOPMOV A,R3ANL A,#0FHMOV 41H,AMOV A,R3SWAP AANL A,#0FHMOV 40H,AMOV A,R4ANL A,#0FHMOV 43H,AMOV A,R4SWAP AANL A,#0FHMOV 42H,AMOV A,R5ANL A,#0FHMOV 45H,AMOV A,R5SWAP AANL A,#0FHMOV 44H,AMOV 40H,#0CHMOV 41H,#0DHMOV 46H,45HMOV 45H,#0BHRETDELAY: MOV 2EH,#30H ;10MSDL: DJNZ 2EH,DLRET ;五位bcd非压缩5个字节放入显示缓存(40-47);;查键程序KS: MOV DPTR,#8000HMOV A,#0FHMOVX @DPTR,AMOVX A,@DPTRANL A,#0FHRETKINPUT: LCALL KSJZ NO_KEYLCALL DL10MSLCALL KSJNZ KPPNO_KEY: RETKPP: MOV 5AH,A ;5AH为列存放地址,退出查键程序时转为键值存放地址MOV 5BH,#80H ;5BH为临时行存放位K0: MOV A,5BHLCALL NEXTLJZ K1LJMP LKK1: MOV A,5BHLCALL NEXTLJZ K2LJMP LKK2: MOV A,5BHLCALL NEXTLJZ K3LJMP LKK3: MOV A,5BHLCALL NEXTLJNZ LKRETLK: MOV A,5BHSWAP AORL A,5AHMOV B,AMOV DPTR,#2200HMOV 5AH,#00HCKEY: MOV A,5AHMOVC A,@A+DPTRCJNE A,B,NEXTCOUTKEY: LCALL DL10MS ;键值在5AH中ACALL KSJNZ OUTKEYMOV A,#01HRETNEXTC: INC 5AHMOV A,5AHCJNE A,#10H,CKEYMOV A,#00HRETNEXTL: RL AMOV 5BH,AMOVX @DPTR,AMOVX A,@DPTRANL A,#0FHRET;;延时程序DL10MS: MOV 2EH,#08HDL3: MOV 2FH,#0AHDL4: DJNZ 2FH,DL4DJNZ 2EH,DL3RETORG 2100HDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0F7HORG 2200HDB 11H,12H,14H,18H,21H,22H,24H,28H,41H,42H,44H,48H,81H,82H,84H,88H END四、实验总结:通过这次试验,进一步加深了PID算法的了解,对于单片机的应用有了更深的体会。