[毕业设计精品]基于单片机热水机温度电路设计.doc

上传人:仙人指路1688 文档编号:4146880 上传时间:2023-04-07 格式:DOC 页数:40 大小:820.50KB
返回 下载 相关 举报
[毕业设计精品]基于单片机热水机温度电路设计.doc_第1页
第1页 / 共40页
[毕业设计精品]基于单片机热水机温度电路设计.doc_第2页
第2页 / 共40页
[毕业设计精品]基于单片机热水机温度电路设计.doc_第3页
第3页 / 共40页
[毕业设计精品]基于单片机热水机温度电路设计.doc_第4页
第4页 / 共40页
[毕业设计精品]基于单片机热水机温度电路设计.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《[毕业设计精品]基于单片机热水机温度电路设计.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]基于单片机热水机温度电路设计.doc(40页珍藏版)》请在三一办公上搜索。

1、毕 业 论 文 题 目 热水机温度控制电路设计 专 业 班 级 学生姓名 指导教师 答辩日期 摘要计算机的发展经历了从电子管、晶体管、集成电路到大规模集成电路四个发展阶段。微型计算机是大规模集成技术发展的直接产物。随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来应用。本文首先介绍了热水机温度控制系统的设计意义、开发环境及仿真系统。然后阐述了系统硬件设计方法,各部分电路的功能及I/O端口的分配,确定了技术指标及器件的选择。最后着重论述了系统软件设计的过程,各功能程序设计方法,电路

2、和程序的仿真调试过程,及系统电路的测试方法。文中详细阐述了热水机温度控制器硬件和软件设计方法,给出了完整的电路原理图和控制程序,将设计的控制程序下载到目标单片机中,经实际应用表明达到了设计任务要求。主要完成的设计工作有:1、 电路原理图设计2、 控制程序设计3、 电路和程序仿真调试4、 程序下载及电路运行关键词: 单片机;热水机数字温度控制器;系统设计;仿真调试 目录第1章 绪论11.1 设计任务11.2 单片机应用领域1第2章模数转换接口电路及其应用32.1模数转换器的主要性能指标32.2A/D转换器与单片机的接口4第3章 A/D转换器芯片ADC080963.1 ADC0809芯片简介63.

3、2 ADC0809与51系列单片机的接口8第4章 热水机温度计电路设计124.1 热水机温度控制部分的工作原理124.2 电路设计12第5章 系统软件设计175.1 编程思路175.2电路设计程序225.3热水机温度电路程序清单25小结33致谢34参考文献35第1章 绪论1.1 设计任务利用AT89C51单片机作为控制器,通过编程对外设电路进行控制,设计一个热水数字温度计电路,通过温度传感器进行温度采样,经ADC0809转换后输入给单片机,单片机处理后显示温度值,实现热水机的温度调节与保温过程控制。1.2 单片机应用领域由于单片机是应工业控制系统智能化的迫切要求而产生的,因此它必然以革命性的姿

4、态应用于工业测控系统。同时,家用电器、机电一体化以及仪器仪表行业也都是单片机大量应用的领域,主要表现在以下几个方面。 1.2.1单片机在家用电器中的应用 家用电器诸如电视机、录像机、电风扇和空调机等已普遍采用了单片机或者专用单片机集面电路控制。随着家用功能的日趋复杂化和节能化发展势头,不使用单片机控制的家用电器已无竞争能力。 单片机能对其所控制的家用电器以直观的数字显示,并对各键环节进行自检和运行中监视,发生故障立即报警。1.2.2单片机在机电一体化中的应用 机电一体化是综合计算机、微电子、光电通信、机械设计与制造、信息论和控制论等于一体,以最大限度挖掘机电设备的潜力为目的,形成了一项综合性并

5、且融合多种技术的有机体。机电一体化技术的应用领域在于制造业为主。实行在数控技术中,而某类数控系统直接从软、硬件库中进行模块选取,并在平台环境下对软、硬件模块进行优化组合配置,最终集成出所需的数控系统。面采用高性能的单片机芯片开发硬件模块直接完成实时控制任务,是最合理的并且切实可行的。从而单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。 1.2.3单片机在仪器仪表中的应用 仪器仪表是单片机广泛应用的领域。目前常将具有单片机的仪器仪表称为智能仪表。智能仪器表最主要的特点是提高了测量速度,改善了人机界面,简化了操作。许多智能仪器仪表还能自动

6、完成校正、补偿、测量值的误差分析和处理、对测量值进行各种数学运算、标准变换等等,使输出的数据与被测量值直接对应。有的还可以存储、联网等等。单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上。更重要的意义还在于,单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前继电接触器控制,模拟电路、数字电路实现的大部分控制功能,现在已能使用单片机通过软件方法现了。这种以软件取硬件并能提高系统性能的控制技术,称之为微控制技术。微控制技术标志着一种全新概念的出现,是针对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展,日益完善,更加充实,因此,了解单片机掌握其应

7、用技术,具有划时代的意义。第2章模数转换接口电路及其应用 在实际应用中,单片机控制系统经常要对各种现场信号,如温度、压力、流量、位移、速度等进行检测与控制。这些非电量信号通常要先经过各种相应的传感器检测变换后变为电压或电流等电信号,这些电信号是大小随时间连续变化的模拟信号。而单片机只能接收和处理数字信号,因此必须要把这些模拟信号转换为数字信号,将模拟信号转换成数字信号的电路称为模/数转换器,即A/D转换器或ADC(Analog to Digital Converter)2.1模数转换器的主要性能指标2.1.1分辨率A/D转换器的分辨率是指转换器对输入量微小变化的响应能力,习惯上以转换器输出的二

8、进制数的位数或BCD码的位数来表示。如一个8位二进制A/D转换器的分辨率为8位;一个3位半BCD码A/D转换器的分辨率为3(1/2)位,最大输出数据为1999。分辨率也可用绝对分辨率和相对分辨率来表示,绝对分辨率定义为输出数字量发生1LSB(最低有效位)变化所对应的输入模拟量的变化值,即等于输入模拟量满量程值/最大输出数据值,如满量程为5V时,8位二进制A/D转换器的绝对分辨率为5V/28=19.5mv,3位半BCD码A/D转换器的绝对分辨率为5V/1999=2.5mv。相对分辨率定义为1LSB(最低有效位)与最大输出数据值之比的百分数,即等于1/最大输出数据值,如8位二进制A/D转换器的相对

9、分辨率百分数表示为1/28100%=0.39%,3位半BCD码A/D转换器的相对分辨率百分数表示为1/1999100%=0.05%。绝对分辨率与相对分辨率之间的关系是:绝对分辨率=相对分辨率满量程,相对分辨率=绝对分辨率/满量程。显示A/D转换器转换输出数据位数越多,分辨率越高。使用时,应根据分辨率的需要来选择转换器的位数。2.1.2量化误差量化误差是由于A/D转换器有限数字对模拟量进行离散取值而引起的误差。因此,量化误差理论上为一个单位分辨率即。提高分辨率可减少量化误差。2.1.3转换精度一个实际A/D转换器的量化值与一个理想A/D转换器的量化值之间的差值。分为绝对精度与相对精度,绝对精度为

10、1LSB的误差值,相对精度是绝对精度与满量程值的比值。不同厂家给出的精度参数可能不完全相同,有的给出综合误差,有的给出分项误差。分项误差包括:非线性误差、失调误差或零点误差、增益误差或标度误差、微分误差等。2.1.4转换时间A/D转换器完成一次转换所需要的时间叫做转换时间,在ls内完成转换的次数叫做转换速率。即转换速率为转换时间的倒数。2.1.5温度系数表示A/D转换器受环境温度影响的程度。一般用环境温度变化1引起量化过程产生的相对误差来表示。ADC的种类繁多,特性各异,在选择ADC时,首先要根据用户需要,合理选择转换速度、精度及分辨率以满足设计任务所要求的技术指标。但要注意到,一般情况下,位

11、数愈多,精度愈高,其转换的时间越长。如果高速度又高精度,则芯片价格越高。2.2A/D转换器与单片机的接口A/D转换器芯片型号很多,在精度、速度和价格方面千差万别,较为常见的A/D转换器主要是逐次比较型和双积分型。双积分型A/D转换器,一般精度高,对周期变化干扰信号积分为零,因而具有抗干扰性好、价格便宜等优点,但转换速度慢。逐次比较型A/D转换器,在转换速度上与双积分型相比要快得多,精度较高,但价格较高。单片机读取A/D转换器转换数据,常采用定时、查询和中断3种方法。定时法是在单片机把启动命令送到A/D转换器之后,通过软件延时,等待Tc(Tc为A/D转换器转换所需时间)时间后,直接读取A/D转换

12、器转换数据。查询法是在单片机把启动命令送到A/D转换器之后,一直对A/D转换器的状态进行监视,以检查A/D转换器转换是否已经结束,如转换已结束,则读入转换数据。中断法是在启动信号送到A/D转换器之后,单片机执行其他程序;当A/D转换器转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,读入转换数据,并进行必要的数据处理,然后返回到原程序。中断法单片机无需进行变换时间的管理,CPU效率高,所以特别适合于变换时间较长的A/D转换器。第3章 A/D转换器芯片ADC0809 A/D转换器用于实现模拟量向数字量的转换,由于模数转换电路的种类很多,选择A/D转换器件主要从速度、精度和价格方面考虑的

13、。按转换原理可分为4种,即:1. 计数式A/D转换器。 2. 双积分式A/D转换器。 3. 逐次逼近式A/D转换器。 4. 并行式A/D转换器。 目前最常用的是双积分式和逐次逼近式。双积分式A/D转换器的优点是转换精度高,抗干扰性能好,价格便宜;但转换速度较慢。因此这种转换器主要用于速度要求不高的场合。逐次逼近式A/D转换器是一种速度较快、精度较高的转换器,其转换时间大约在几微秒到几百微秒之间。常用的这类芯片有:1. ADC0801ADC0805型8位MOS型A/D转换器; 2. ADC0808/0809型8位MOS型A/D转换器 8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道

14、抵制锁存用译码电路,其转换时间为100s左右。3.1 ADC0809芯片简介3.1.1 ADC0809的结构ADC0809是采用逐次逼近方法实现A/D转换的多路8位A/D转换芯片。ADC0809的内部结构图如图3-1所示。ADC0809由+5V电源供电;片内带有锁存功能的8路模拟多路开关,可对8路05V的输入模拟电压信号分时进行转换,完成一次转换约需100ms;片内具有多路开关地址译码器和锁存电路、高阻抗斩波器、稳定的比较器、256R电阻T型网络和树状电子开关以及逐次逼近锁存器;输出具有TTL三态锁存缓冲器,可直接接到单片机数据总线上;通过适当的外接电路,ADC0809可对05V的双极性模拟信

15、号进行转换。 图3-1 ADC0809的内部结构图3.1.2 ADC0809的引脚ADC0809是28脚双列直插式封装,引脚图如图3-2所示。各引脚的功能如下:IN0IN7:8路模拟量输入引脚。D0D7:8位数字量输出引脚。SC:转换启动信号,正脉冲有效。上升沿时,将内部逐次逼近寄存器清0;下降沿时,启动A/D转换;在A/D转换期间,SC应保持低电平。EOC:转换结束信号,高电平有效,表示一次A/D转换结束。EOC=0,正在进行转换;EOC=1,转换结束。该信号既可作为查询的状态标志,又可作为中断请求信号使用。OE:输出允许信号,高电平有效。用于控制三态输出锁存器向单片机输出转换得到的数据。O

16、E=0,输出数据线呈高阻;OE=1,输出转换得到的数据。ADDA、ADDB、ADDC:地址输入线,经译码后可选通IN0IN7八个通道中的一个通道进行转换。ADDA、ADDB、ADDC的输入与被选通的通道的关系如表6-1所示。ALE:地址锁存允许信号,高电平有效。当此信号有效时,ADDA、ADDB、ADDC三位地址信号送入地址锁存器中。CLK:时钟信号输入端,决定A/D转换的速度。ADC0809内部没有时钟电路,所需时钟信号由外部提供,频率范围为101280kHz。当频率为640kHz时,转换时间为100us。Vcc:+5V工作电压。GND:接地。VREF(+)、VREF():正负基准电压输入端

17、,决定了输入模拟电压的量程范围。VREF:参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(VREF(+)=+5V, VREF()=-5V).表3-1 通道地址表所 选 通 道ADDCADDBADDAIN0000IN1001IN2010IN3011IN4100IN5101IN6110IN7111 图3-2 ADC0809的引脚图3.2 ADC0809与51系列单片机的接口 ADC0809与MCS-51单片机的连接如图3-3所示。电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。3.2.1路模拟通道选择图3-3 ADC08

18、09与MCS-51的连接 如图3-4所示模拟通道选择信号A、B、C分别接最低三位地址A0、A1、A2即(P0.0、P0.1、P0.2),而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为0FEF8H0FEFFH.此外,通道地址选择以作写选通信号,这一部分电路连接如图3-5所示。图3-4 ADC0809的部分信号连接 图3-5 信号的时间配合 从图中可以看到,把ALE信号与START信号接在一起了,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。启动A/D转换只需要一条MOVX指令。在此之前,要将P2.0清零并将最低三位与所选择的通道好像对应的口地址送入数据指

19、针DPTR中。例如要选择IN0通道时,可采用如下两条指令,即可启动A/D转换:MOV DPTR , #FE00H ;送入0809的口地址MOVX DPTR , A ;启动A/D转换(IN0)注意:此处的A与A/D转换无关,可为任意值。3.2.2 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此

20、设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。(3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。所用的指令

21、为MOVX 读指令. 该指令在送出有效口地址的同时,发出有效信号,使0809的输出允许信号OE有效,从而打开三态门输出,是转换后的数据通过数据总线送入A累加器中。 这里需要说明的示,ADC0809的三个地址端A、B、C即可如前所述与地址线相连,也可与数据线相连,例如与D0D2相连。这是启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0IN7相一致。例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下: MOV DPTR,#FE00H ;送入0809的口地址 MOV A,#07H ;D2D1D0=111 选择IN7通道 MOV DPT

22、R,A ;启动A/D转换第4章 热水机温度计电路设计设计一个热水机数字温度计,通过温度传感器进行温度采样,经ADC0809转换后输入给单片机,单片机处理后显示温度值。温度传感器把温度转换成电信号,有热敏电阻、热电偶、集成温度传感器等。其中热敏电阻是最常用的温度传感器,使用简单,价格便宜,在许多场合中广泛应用。热敏电阻按电阻-温度特性可分为正温度系数(PTC)热敏电阻、负正温度系数(NTC)热敏电阻。PTC是Positive Temperature Coefficient的缩写,意思是正的温度系数,PTC热敏电阻随着温度的升高电阻值增大。NTC是Negative Temperature Coef

23、ficient的缩写,意思是负的温度系数,NTC热敏电阻随着温度的升高电阻值减小。4.1 热水机温度控制部分的工作原理 接通热水机电源时,温度显示器自动显示常温水的温度20。有加温按钮和减温按钮,还有开始/停止按钮。热水机的加温和减温按钮能根据所需设定水温,当设定好水温,按下开始按钮,热水机能加温与降温和保温功能。4.2 电路设计 本电路由AT89C51单片机、温度传感器、模数转换器ADC0808(Proteus仿真库中无ADC0809模型,故用芯片ADC0808代替)、两位数码管显示器等组成。单片机ALE输出用脉冲信号源代替,频率为1MHz。设计完成的仿真电路图如图4-1所示。本任务中使用的

24、NTC热敏电阻型号为NTSD0WD503,标称电阻值(25时测得的电阻值)为50kW。其阻值随温度的变化关系如表4-2所示。 图4-1 热水机温度计电路图热敏电阻温度传感器测量环境温度,将其上的电压值送入ADC0808模数转换器IN0通道进行模数转换,转换所得数字量由数据端OUT0OUT7输出到AT89C51的P0口,经软件处理后将测得的温度值显示在数码管显示器上。热敏电阻温度传感器的温度经一分压电路转换为电压后,通过ADC0808 IN0通道送入单片机,故ADC0808通道地址选择端ADDA,ADDB,ADDC接地。ADC0808转换启动信号START接P2.2,ADC0808转换结束信号E

25、OC接P2.1,输出允许信号接P2.0。表4-1 NTSD0WD503阻值和温度对应表温度()阻值(kW)ADC0809转换值0169.632291156.552272150.672263145.162254135.152235130.592226122.222207118.382198111.282179104.8821510101.902141196.362121291.302101386.672081482.402061578.462041674.812021771.432001868.281981965.331962061.271932158.771912256.421892354.2

26、01872451.111842550.001822646.491792744.811772842.441742940.951723038.851693137.531673235.651643334.471623432.781593531.201563630.201543728.761513827.411483926.551464025.311434124.521414223.391384322.311354421.631334520.631304619.691274719.081254818.211224917.651205016.831175116.311155215.561125315.0

27、71105414.361075513.911055613.461035712.821005812.41985912.00966011.41936111.03916210.66896310.3087649.9485659.6083669.2681678.9379688.6077698.2975707.9873717.6871727.5370737.2368746.9566756.6764766.5363776.2661786.1260795.8658805.7357815.4755825.3554835.1052844.9851854.8550864.7349874.5047884.384689

28、4.2745904.15444.3 电路仿真图图4-2 电路仿真图第5章 系统软件设计5.1 编程思路作为热水机温度控制,程序的关键任务有三点:实现ADC0809所采集的电压值与实际温度之间的对应转换;获得的实际温度数值与送往数码管显示器显示的数据之间的转换。实行可调节功能可根据需要调出各种温度等等。5.1.1主程序流程图如5-1 图5-1 主程序流程图5.1.2 T0中断服务程序流程图5-2图5-2 T0 中断服务程序流程图5.1.3温度采样及模数转换子程序流程图5-3 温度采样及模数转换子程序流程图5.1.4温度计算子程序流程图5-4 温度计算子程序流程图5.2电路设计程序5.2.1定时/

29、计数器0中断服务程序 T0INT:DJNZ R1,NEXT0 ;T0溢出1次,即100ms进行一次温度采 ;样及处理 LCALL KEY ;调用数字显示程序 JB P2.4,L ;判断S1是否按下 JNB P2.4,$ ;判断S1是否按下,是,等待释放 INC 30H ;将30H单元中的温度值加一 MOV A,30H LCALL M1 ;调用数字显示程序 L:JB P2.5,L1 ;判断S2是否按下 JNB P2.5,$ ;判断S2是否按下,是,等待释放 DEC 30H ;将30H单元中的温度值减一 MOV A,30H LCALL M1 ;调用数字显示程序 L1:JB P2.6,M0 ;判断S

30、3是否按下 JNB P2.6,$ ;判断S3是否按下,是,等待释放 KEY1:DJNZ R1,NEXT1 ;T0溢出1次,即100ms进行一次温度采 LCALL ADCON ;调用温度采样及模数转换子程序 LCALL CALCU ;调用温度计算子程序 LCALL DRVCON ;调用驱动控制子程序 LCALL METRICCON ;调用数码管显示程序 MOV R1,#1 ;R1重赋值1 NEXT1:MOV TL0,#0B0H ;T0重装初值 MOV TH0,#3CH SJMP KEY1 M0:MOV R1,#1 ;R1重赋值1 NEXT0:MOV TL0,#0B0H ;T0重装初值 MOV T

31、H0,#3CH RETI5.2.2 ADC0809的转换程序 MOV DPTR,#0F0FFH ;选通ADC0809通道0 MOV A,#00H ; MOVX DPTR,A ;启动A/D转换 HERE: JNB P3.3,HERE ;判断数据转换是否结束,没结束则等 ;待 MOVX A,DPTR ;读取转换后的数据 MOV 20H,A ;将从ADC0809中读取的当前温度下热 ;敏电阻上的电压值存于20H单元5.2.3驱动控制程序 DRVCON: MOV A,21H ;取出当前温度值 CJNE A,30H,J1 ;与调定温度值比较 LJMP GO J1: JNC DRV1 ;若高于定设值,则输

32、出驱动信号,同 ;时停止加热 DEC 30H CJNE A,30H,J2 ;少于设定一度温度,则输出驱动信号, ;同时处于保温状态,保温灯亮 LJMP GO J2: JC DRV2 ;若低于设定温度,则输出驱动信号, ;同时处于加热,加温灯亮 LJMP GO DRV1:CLR P3.5 SETB P2.7 LJMP OVER DRV2:SETB P3.5 CLR P2.7 LJMP OVER GO:CLR P2.7 SETB P3.5 OVER:RET5.2.4数码管显数程序 METRICcon: MOV A,21H CLR C SETB P3.1 SETB P3.2 MOV B,#10 ;将

33、温度值转换为BCD码 DIV AB ;温度十位BCD码在A中,温度个位 ;BCD码在B中 MOV R3,A ;温度十位BCD码暂存R3中 MOV R4,B ;温度个位BCD码暂存R4中 MOV DPTR,#TAB ;七段数码表首地址送DPTR MOV A,R3 MOVC A,A+DPTR ;查表取得温度十位数的七段码 MOV P1,A ;温度十位数送P1口 CLR P3.2 ;开十位显示 ACALL DELAY MOV A,R4 MOVC A,A+DPTR ;查表取得温度个位数的七段码 SETB P3.2 ;关闭十位显示 MOV P1,A ;温度个位数送P1口 CLR P3.1 ;开个位显示

34、ACALL DELAY RET5.3热水机温度电路程序清单 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH LJMP T0INT ;跳转到T0中断服务程序 ORG 0100H MAIN:SETB P3.5 ;将水机处于不加温状态 MOV 30H,#20 ;将水的查温度设为20度 MOV R1,#1 ;初值为1 MOV P1,#0FFH ;将P1口置1 MOV SP,#60H ;堆栈指针赋初值60H MOV TMOD,#01H ;T0定时、方式1、软启动 MOV TL0,#0B0H ;T0赋初值 MOV TH0,#3CH勤、 MOV IE,#82H ;开放T0中断 S

35、ETB TR0 ;启动T0 SJMP $ ORG 0200H T0INT:DJNZ R1,NEXT0 ;T0溢出1次,即100ms进行一次温度采 ;样及处理 LCALL KEY ;调用数字显示程序 JB P2.4,L ;判断S1是否按下 JNB P2.4,$ ;判断S1是否按下,是,等待释放 INC 30H ;将30H单元中的温度值加一 MOV A,30H LCALL M1 ;调用数字显示程序 L:JB P2.5,L1 ;判断S2是否按下 JNB P2.5,$ ;判断S2是否按下,是,等待释放 DEC 30H ;将30H单元中的温度值减一 MOV A,30H LCALL M1 ;调用数字显示程

36、序 L1:JB P2.6,M0 ;判断S3是否按下 JNB P2.6,$ ;判断S3是否按下,是,等待释放 KEY1:DJNZ R1,NEXT1 ;T0溢出1次,即100ms进行一次温度采 LCALL ADCON ;调用温度采样及模数转换子程序 LCALL CALCU ;调用温度计算子程序 LCALL DRVCON ;调用驱动控制子程序 LCALL METRICCON ;调用数码管显示程序 MOV R1,#1 ;R1重赋值1 NEXT1:MOV TL0,#0B0H ;T0重装初值 MOV TH0,#3CH SJMP KEY1 M0:MOV R1,#1 ;R1重赋值1 NEXT0:MOV TL0,#0B0H ;T0重装初值 MOV TH0,#3CH RETI ORG 0300H ADcon:MOV DPTR,#0F0FFH ;选通ADC0809通道0 MOV A,#00H ; MOVX DPTR,A ;启动A/D转换 HERE: JNB P3.3,HERE ;判断数据转换是否结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号